/* Options: Date: 2026-11-08 12:07:55 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: HeldPaymentChargeRq.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/integrations/api/{integrationType}/heldpayment/charge", "POST") public class HeldPaymentChargeRq : IReturn, IChargeRequest, Codable { public typealias Return = HeldPaymentChargeRs public var integrationType:String? public var nationalId:Int? public var chapterId:Int? public var storedAccountId:Int? public var contextIntegrationPartnerId:Int? public var callerIntegrationPartnerId:Int? public var authenticationId:Int? public var chargeType:String? public var token:String? public var amount:Double? public var Description:String? public var createdById:Int? public var transactionId:Int? public var storeChargeAccount:Bool? public var chargeItems:[HeldPaymentChargeItem] = [] public var createdBy:Int? required public init(){} } public class HeldPaymentChargeRs : Codable { public var transactionId:String? public var storedAccountId:Int? public var nationalId:Int? public var chapterId:Int? public var chargeType:String? public var integrationType:String? public var contextIntegrationPartnerId:Int? public var callerIntegrationPartnerId:Int? public var gatewayResponse:HeldPaymentGatewaySaleResponse? public var chargeDetails:HeldPaymentChargeDetails? public var chargeItems:[HeldPaymentChargeItem] = [] required public init(){} } public class HeldPaymentChargeItem : Codable { public var type:String? public var Description:String? public var amount:Double? public var clientInvoiceId:String? public var clientInvoiceOwnerTypeId:Int? required public init(){} } public protocol IChargeRequest { var integrationType:String? { get set } var nationalId:Int? { get set } var chapterId:Int? { get set } var storedAccountId:Int? { get set } var contextIntegrationPartnerId:Int? { get set } var callerIntegrationPartnerId:Int? { get set } var authenticationId:Int? { get set } var chargeType:String? { get set } var token:String? { get set } var amount:Double? { get set } var Description:String? { get set } var createdById:Int? { get set } var transactionId:Int? { get set } } public class HeldPaymentGatewaySaleResponse : Codable { public var failureType:String? public var isDuplicate:Bool? public var isSuccessful:Bool? public var errorCode:String? public var message:String? public var gatewayId:Int? public var confirmationNumber:String? public var networkTransactionId:String? required public init(){} } public class HeldPaymentChargeDetails : Codable { public var paymentType:String? public var amount:Double? public var integrationType:String? public var currency:String? public var cardDetails:HeldPaymentCreditCardChargeDetails? public var achDetails:HeldPaymentAchChargeDetails? required public init(){} } public class AttributeItem : Codable { public var name:String? public var value:String? required public init(){} } public class CreditCardBillingAddressItem : Codable { public var address1:String? public var address2:String? public var city:String? public var postalCode:String? public var region:String? public var country:String? public var attributes:[AttributeItem] = [] required public init(){} } public class HeldPaymentCreditCardChargeDetails : Codable { public var cardType:String? public var expMonth:Int? public var expYear:Int? public var last4:String? public var address:CreditCardBillingAddressItem? public var verificationResult:CreditCardChargeVerificationResult? required public init(){} } public class HeldPaymentAchChargeDetails : Codable { public var accountType:String? public var routingNumber:String? public var accountNumberLast4:String? public var bankName:String? public var verificationResult:AchChargeVerificationResult? required public init(){} } public class CreditCardChargeVerificationResult : Codable { public var networkVerificationAttempted:Bool? public var cvvVerificationResult:String? public var addressVerificationResult:String? public var postalCodeVerificationResult:String? required public init(){} } public class AchChargeVerificationResult : Codable { public var networkVerificationAttempted:Bool? public var result:String? required public init(){} } public class AttributeItem : Codable { public var name:String? public var value:String? required public init(){} }