/* Options: Date: 2026-11-08 11:52:00 SwiftVersion: 5.0 Version: 5.140 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://devapi.billhighway.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: Smp.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/SMP", "POST") public class Smp : IReturn, Codable { public typealias Return = SmpReply public var uniqueId:String? public var createdDateTime:Date? public var clientId:Int? public var groupId:String? public var userId:Int? public var adminId:Int? public var memberInfo:Member? public var ccPaymentInfo:CreditCardPayment? public var achPaymentInfo:AchPayment? public var subscription:Subscription? public var billMeLaterInfo:BillMeLaterInformation? required public init(){} } // @Route("/api/CreditCard/Payment", "POST") public class CreditCardPayment : CreditCardPayment, IReturn { public typealias Return = CreditCardPaymentResult public var subscriptionInfo:SubscriptionParameters? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case subscriptionInfo } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) subscriptionInfo = try container.decodeIfPresent(SubscriptionParameters.self, forKey: .subscriptionInfo) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if subscriptionInfo != nil { try container.encode(subscriptionInfo, forKey: .subscriptionInfo) } } } // @Route("/api/CreditCard/Payment", "POST") public class CreditCardPayment : CreditCardPayment, IReturn { public typealias Return = CreditCardPaymentResponse required public init(){ super.init() } required public init(from decoder: Decoder) throws { try super.init(from: decoder) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) } } public class SmpReply : IHaveErrorField, Codable { public var uniqueId:String? public var createdDateTime:Date? public var clientId:Int? public var billhighwayUserId:Int? public var confirmationNumber:String? public var paymentConfirmationNumber:Int? public var subscriptionConfirmationNumber:Int? public var errorCode:Int? public var errorMessage:String? public var isError:Bool? required public init(){} } public class AchPayment : Codable { public var className:String? public var uniqueId:String? public var createdDateTime:Date? public var clientId:Int? public var groupId:String? public var userId:String? public var bhUserId:Int? public var amount:Double? public var currencyType:String? public var country:String? public var routingNumber:String? public var accountNumber:String? public var achReference:String? public var accountType:String? public var isSavingsAccount:Bool? public var payerName:String? public var checkNumber:String? public var preferredEmailAddress:String? public var memo:String? public var invoiceList:[SalesForceMemberPaymentInvoiceDetail] = [] public var autoPay:Bool? public var storeAchInfo:Bool? public var encryptionTypeId:Int? required public init(){} } public class CampaignInformation : Codable { public var campaignId:Int? public var campaignName:String? public var amount:Double? public var chapPayID:String? required public init(){} } public class Member : Codable { public var className:String? public var uniqueId:String? public var createdDateTime:Date? public var clientId:Int? public var groupId:String? public var userId:String? public var alternateUserId:String? public var bhUserId:Int? public var firstName:String? public var lastName:String? public var middleName:String? public var preferredEmailAddress:String? public var otherEmailAddress:String? public var preferredPhoneNumber:String? public var preferredAddress1:String? public var preferredAddress2:String? public var preferredCity:String? public var preferredState:String? public var preferredZip:String? public var preferredCountry:String? public var accessLevel:String? public var memberStatus:String? public var memberTypeClient:String? public var billingType:String? public var fiscalYear:Int? public var workLocation:String? public var dob:Date? public var paperless:String? public var displayName:String? public var disableLogin:String? public var recurringInvoiceSettings:RecurringInvoiceSettings? public var formFields:[SubscriberFormField] = [] public var attributes:[AttributeItem] = [] public var groupList:[Chapter] = [] required public init(){} } public class CreditCardPayment : Codable { public var className:String? public var uniqueId:String? public var createdDateTime:Date? public var clientId:Int? public var groupId:String? public var userId:String? public var bhUserId:Int? public var amount:String? public var autoPay:Bool? public var currencyType:String? public var country:String? public var cardReferenceOrCardNumber:String? public var storeCardInfo:Bool? public var address1:String? public var address2:String? public var billingCity:String? public var billingState:String? public var preferredEmailAddress:String? public var memo:String? public var opportunityId:String? public var expMonth:Int? public var expYear:Int? public var cvv:String? public var postalCode:String? public var location:String? public var nameOnCard:String? public var cardType:String? public var invoiceList:[SalesForceMemberPaymentInvoiceDetail] = [] required public init(){} } public class Subscription : Codable { public var uniqueId:String? public var formTemplateID:Int? public var subscriptionInvoiceID:Int? public var clientSubscriberId:String? public var signupTypeID:Int? public var frequencyID:Int? public var autoRenew:Bool? public var userID:Int? public var chapMemPayID:Int? public var fields:[SubscriberFormField] = [] public var createdBy:Int? public var updatedBy:Int? public var renewedMemberSubscriptionInvID:Int? public var subscriptionTypeId:String? required public init(){} } public class BillMeLaterInformation : Codable { public var isBillMeLaterPayment:Bool? public var isBillMeLaterSubscription:Bool? public var memberSubscriptionInvId:Int? public var campaigns:[CampaignInformation] = [] required public init(){} } public class CreditCardPayment : Codable { public var header:ApiClientHeader? public var billingAddress:AddressInformation? public var cardInfo:CreditCardInformation? public var paymentInfo:PaymentInformation? required public init(){} } // @DataContract(Namespace="www.billhighway.com/api") public class CreditCardPayment : IDTOHasApiKey, Codable { // @DataMember(Name="apiKey", Order=1) public var apiKey:String? // @DataMember(Name="clientId", Order=2) public var clientID:Int? // @DataMember(Name="groupId", Order=3) public var groupId:Int? // @DataMember(Name="amount", Order=4) public var amount:Double? // @DataMember(Name="nameOnCard", Order=5) public var nameOnCard:String? // @DataMember(Name="cardNumber", Order=6) public var cardNumber:String? // @DataMember(Name="cvv", Order=7) public var cvv:String? // @DataMember(Name="expMonth", Order=8) public var expMonth:Int? // @DataMember(Name="expYear", Order=9) public var expYear:Int? // @DataMember(Name="address", Order=10) public var address:String? // @DataMember(Name="city", Order=11) public var city:String? // @DataMember(Name="state", Order=12) public var state:String? // @DataMember(Name="postalCode", Order=13) public var postalCode:String? // @DataMember(Name="emailAddress", Order=14) public var emailAddress:String? // @DataMember(Name="memo", Order=15) public var memo:String? // @DataMember(Name="occurs", Order=16) public var occurs:String? // @DataMember(Name="numberOfOccurences", Order=17) public var numberOfOccurences:String? required public init(){} } public protocol IHaveErrorField { var isError:Bool? { get set } } public protocol IHaveErrorField { var isError:Bool? { get set } } public class SalesForceMemberPaymentInvoiceDetail : Codable { public var className:String? public var uniqueId:String? public var createdDateTime:Date? public var clientId:Int? public var invoice:Int? public var amountPaid:String? required public init(){} } public class SubscriberFormField : Codable { public var name:String? public var value:String? required public init(){} } public class RecurringInvoiceSettings : Codable { public var donationAmount:String? required public init(){} } public class AttributeItem : Codable { public var name:String? public var value:String? required public init(){} } public class Chapter : Codable { public var groupId:String? required public init(){} } public class SubscriberFormField : Codable { public var formTemplateFieldID:Int? public var name:String? public var value:String? required public init(){} } public class AttributeItem : Codable { public var name:String? public var value:String? required public init(){} }