/* Options: Date: 2026-11-08 11:37:53 Version: 5.140 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://devapi.billhighway.com //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: Pmi.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class SalesForceMemberPaymentInvoiceDetail { public ClassName: string; public UniqueId: string; public CreatedDateTime: string; public ClientId: number; public Invoice: number; public AmountPaid: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AchPayment { public ClassName: string; public UniqueId: string; public CreatedDateTime: string; public ClientId: number; public GroupId: string; public UserId: string; public BhUserId: number; public Amount: number; public CurrencyType: string; public Country: string; public RoutingNumber: string; public AccountNumber: string; public AchReference: string; public AccountType: string; public IsSavingsAccount: boolean; public PayerName: string; public CheckNumber: string; public PreferredEmailAddress: string; public Memo: string; public InvoiceList: SalesForceMemberPaymentInvoiceDetail[]; public AutoPay: boolean; public StoreAchInfo: boolean; public EncryptionTypeId: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RecurringInvoiceSettings { public DonationAmount: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SubscriberFormField { public FormTemplateFieldID: number; public Name: string; public Value: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AttributeItem { public Name: string; public Value: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Chapter { public GroupId: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Member { public ClassName: string; public UniqueId: string; public CreatedDateTime: string; public ClientId: number; public GroupId: string; public UserId: string; public AlternateUserId: string; public BhUserId: number; public FirstName: string; public LastName: string; public MiddleName: string; public PreferredEmailAddress: string; public OtherEmailAddress: string; public PreferredPhoneNumber: string; public PreferredAddress1: string; public PreferredAddress2: string; public PreferredCity: string; public PreferredState: string; public PreferredZip: string; public PreferredCountry: string; public AccessLevel: string; public MemberStatus: string; public MemberTypeClient: string; public BillingType: string; public FiscalYear: number; public WorkLocation: string; public DOB: string; public Paperless: string; public DisplayName: string; public DisableLogin: string; public RecurringInvoiceSettings: RecurringInvoiceSettings; public FormFields: SubscriberFormField[]; public Attributes: AttributeItem[]; public GroupList: Chapter[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/api/CreditCard/Payment", "POST") export class CreditCardPayment extends CreditCardPayment implements IReturn { public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'CreditCardPayment'; } public getMethod() { return 'POST'; } public createResponse() { return new CreditCardPaymentResponse(); } } export class CreditCardPayment { public ClassName: string; public UniqueId: string; public CreatedDateTime: string; public ClientId: number; public GroupId: string; public UserId: string; public BhUserId: number; public Amount: string; public AutoPay: boolean; public CurrencyType: string; public Country: string; public CardReferenceOrCardNumber: string; public StoreCardInfo: boolean; public Address1: string; public Address2: string; public BillingCity: string; public BillingState: string; public PreferredEmailAddress: string; public Memo: string; public OpportunityId: string; public ExpMonth: number; public ExpYear: number; public Cvv: string; public PostalCode: string; public Location: string; public NameOnCard: string; public CardType: string; public InvoiceList: SalesForceMemberPaymentInvoiceDetail[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CreditCardPayment { public Header: ApiClientHeader; public BillingAddress: AddressInformation; public CardInfo: CreditCardInformation; public PaymentInfo: PaymentInformation; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract(Namespace="www.billhighway.com/api") export class CreditCardPayment implements IDTOHasApiKey { // @DataMember(Name="apiKey", Order=1) public APIKey: string; // @DataMember(Name="clientId", Order=2) public ClientID: number; // @DataMember(Name="groupId", Order=3) public GroupId: number; // @DataMember(Name="amount", Order=4) public Amount: number; // @DataMember(Name="nameOnCard", Order=5) public NameOnCard: string; // @DataMember(Name="cardNumber", Order=6) public CardNumber: string; // @DataMember(Name="cvv", Order=7) public CVV: string; // @DataMember(Name="expMonth", Order=8) public ExpMonth: number; // @DataMember(Name="expYear", Order=9) public ExpYear: number; // @DataMember(Name="address", Order=10) public Address: string; // @DataMember(Name="city", Order=11) public City: string; // @DataMember(Name="state", Order=12) public State: string; // @DataMember(Name="postalCode", Order=13) public PostalCode: string; // @DataMember(Name="emailAddress", Order=14) public EmailAddress: string; // @DataMember(Name="memo", Order=15) public Memo: string; // @DataMember(Name="occurs", Order=16) public Occurs: string; // @DataMember(Name="numberOfOccurences", Order=17) public NumberOfOccurences: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export interface IHaveErrorField { IsError: boolean; } export interface IHaveErrorField { IsError: boolean; } export class SubscriberFormField { public Name: string; public Value: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AttributeItem { public Name: string; public Value: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class PmiReply implements IHaveErrorField { public UniqueId: string; public CreatedDateTime: string; public ClientId: number; public BillhighwayPaymentConfirmationNumber: string; public BillhighwayUserId: number; public BhInvoiceBatchId: number[]; public ChapMemPayid: number; public ErrorCode: number; public ErrorMessage: string; public IsError: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Invoice implements IInvoiceValidation { public UniqueId: string; public ClientId: number; public GroupId: string; public UserId: string; public OpportunityId: string; public InvoiceDueDate: string; public Installments: number; public Frequency: number; public BhUserId: number; public Description: string; public Deliver: boolean; public CurrencyType: string; public InvoiceItems: InvoiceItem[]; public InvoiceNo: number; public InvoiceAmt: number; public ExternalInvBatchNo: string; public ExemptFromLateFee: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'Invoice'; } public getMethod() { return 'POST'; } public createResponse() {} } // @Route("/payments/credit", "POST") export class CreateApplyCredit implements IReturn { public ClassName: string; public UniqueId: string; public CreatedDateTime: string; public ClientId: number; public GroupId: string; public UserId: string; public BhUserId: number; public CreditId: number; public CurrencyType: string; public CreditType: string; public Notes: string; public InvoiceDetails: SalesForceCreditInvoiceDetails[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'CreateApplyCredit'; } public getMethod() { return 'POST'; } public createResponse() { return new CreateApplyCreditReply(); } } // @Route("/PMI", "POST") export class Pmi implements IReturn { public UniqueId: string; public CreatedDateTime: string; public ClientId: number; public GroupId: number; public MemberInfo: Member; public InvoiceCollection: Invoice[]; public CcPaymentInfo: CreditCardPayment; public CreditInfo: CreateApplyCredit; public AchPaymentInfo: AchPayment; public LockboxId: number; public MemberSubscriptionInvoiceId: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'Pmi'; } public getMethod() { return 'POST'; } public createResponse() { return new PmiReply(); } } // @Route("/api/CreditCard/Payment", "POST") export class CreditCardPayment extends CreditCardPayment implements IReturn { public SubscriptionInfo: SubscriptionParameters; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'CreditCardPayment'; } public getMethod() { return 'POST'; } public createResponse() { return new CreditCardPaymentResult(); } } export class Invoice implements IInvoiceValidation { public UniqueId: string; public ClientId: number; public GroupId: string; public Description: string; public OpportunityId: string; public Installments: number; public Frequency: number; public InvoiceDueDate: string; public Deliver: boolean; public UserId: string; public BhUserId: number; public CurrencyType: string; public InvoiceItems: InvoiceItem[]; public InvoiceNo: number; public InvoiceAmt: number; public ExternalInvBatchNo: string; public ExemptFromLateFee: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'Invoice'; } public getMethod() { return 'POST'; } public createResponse() {} }