/* Options: Date: 2026-11-08 11:51:43 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: SalesForcePmi.* //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 SalesForceMember { 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); } } export class SalesForceInvoiceItem { public ClassName: string; public UniqueId: string; public CreatedDateTime: string; public ClientId: number; public ProductName: string; public AmountDue: string; public ProductType: string; public ActPatternTypeId: number; public TermStartDate: string; public TermEndDate: string; public RecognitionPeriod: number; public RevenueAccount: string; public AccountsReceivableAccount: string; public LiabilityAccount: string; public CreditExpenseAccount: string; public InvoiceClearingAccount: string; public CostCenter: string; public Region: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SalesForceInvoice { public ClassName: string; public UniqueId: string; public CreatedDateTime: 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: SalesForceInvoiceItem[]; public InvoiceNo: number; public InvoiceAmt: number; public ExternalInvBatchNo: string; public ExemptFromLateFee: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SalesForceCreditCardPayment { 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 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 SalesForcePmiReply implements IHaveErrorField { public ClassName: string; 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); } } // @Route("/api/SalesForce/CreateApplyCredit", "POST") export class SalesForceCreateApplyCredit 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 'SalesForceCreateApplyCredit'; } public getMethod() { return 'POST'; } public createResponse() { return new SalesForceCreateApplyCreditReply(); } } // @Route("/api/SalesForce/PMI", "POST") export class SalesForcePmi implements IReturn { public ClassName: string; public UniqueId: string; public CreatedDateTime: string; public ClientId: number; public GroupId: number; public MemberInfo: SalesForceMember; public InvoiceCollection: SalesForceInvoice[]; public CcPaymentInfo: SalesForceCreditCardPayment; public CreditInfo: SalesForceCreateApplyCredit; public AchPaymentInfo: AchPayment; public LockboxId: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'SalesForcePmi'; } public getMethod() { return 'POST'; } public createResponse() { return new SalesForcePmiReply(); } }