/* Options: Date: 2024-07-06 11:51:44 Version: 5.140 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: http://wpcdd-featuretest-ws.worldpay.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: AllChecksApplicationDataRequest.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route(Path="/allchecks/submit/json", Verbs="POST") open class AllChecksApplicationDataRequest : IReturn { var Application:Application? = null var CorrelationId:String? = null var NapPartyId:String? = null var LEID:String? = null var OrderId:String? = null var PartyIndividuals:ArrayList = ArrayList() companion object { private val responseType = StandardResponse::class.java } override fun getResponseType(): Any? = AllChecksApplicationDataRequest.responseType } open class StandardResponse { var Status:Int? = null var CorrelationId:String? = null var Message:String? = null } open class Application { var ApplicationDetails:ApplicationDetails? = null var MerchantDetails:MerchantDetails? = null var Acquiring:Acquiring? = null var Products:Products? = null } open class ApplicationDetails { var specialInstructions:String? = null var typeAcquiring:Boolean? = null var typePOS_F2F:Boolean? = null var typePOS_MOTO:Boolean? = null var typeOnlinePayments:Boolean? = null var typeVirtualTerminal:Boolean? = null var sellerCode:String? = null var numOutlets:Int? = null var mccCode:String? = null var offerDescription:String? = null var pricingPackage:String? = null var contractLength:Int? = null var settlementPeriodTPlus:String? = null var ecomPSP:String? = null var posPSP:String? = null } open class ApplicationDetails { var SourceSystem:SourceSystemType? = null var SourceSystemIdentifier:String? = null var CustomerType:CustomerType? = null var Csr:String? = null var Partner:Partner? = null var SellerCode:String? = null var PricingPackage:PricingPackageType? = null var ContactPerson:AuthorisedSigner? = null var SpecialInstructions:String? = null var OfferDetails:String? = null var DateContractAccepted:Date? = null var WorldpayBusinessFinanceInterest:Boolean? = null var Sar:Boolean? = null var SellerEmail:String? = null var AnticipatedGoLiveDate:Date? = null var AccessibilityOptions:AccessibilityOptions? = null var UltimateParentId:String? = null } open class MerchantDetails { var Business:Business? = null var Principals:ArrayList = ArrayList() var Outlets:ArrayList = ArrayList() var GoodsAndServices:GoodsAndServices? = null } open class Acquiring { var SettlementPeriodTPlus:Int? = null var Rates:Rates? = null var Services:Services? = null var TradingCurrencies:ArrayList = ArrayList() } open class Products { var PosProducts:PosProducts? = null var EcomProducts:EcomProducts? = null var WptProducts:WptProducts? = null var IpProducts:IpProducts? = null } open class Business { var LegalName:String? = null var LegalAddress:BusinessAddress? = null var WebsiteAddress:String? = null var CompanyType:CompanyType? = null var CompanyTypeOther:String? = null var CompanyRegistrationNumber:String? = null var CharityNumber:String? = null var MerchantCategoryCode:String? = null var MerchantCategoryDescription:String? = null var DescriptionOfGoodsAndServices:String? = null var VatNumber:String? = null var DateStartedTrading:Date? = null var CountryOfIncorporation:String? = null var RegionOfIncorporation:String? = null var Financials:Financials? = null var NewToCards:Boolean? = null var TradeAssociation:TradeAssociation? = null } open class Principal { var Title:String? = null var FirstName:String? = null var MiddleName:String? = null var LastName:String? = null var DateOfBirth:Date? = null var Nationality:String? = null var HomeAddresses:ArrayList = ArrayList() var OwnershipPercentage:BigDecimal? = null var Position:PositionType? = null var IsFinancialController:Boolean? = null } open class Outlet { var TradingName:String? = null var TradingAddress:BusinessAddress? = null var ContactPerson:ContactPerson? = null var TerminalDeliveryAddress:BusinessAddress? = null var CorrespondenceAddress:BusinessAddress? = null var SettlementBankAccount:BankAccount? = null var ChargesBankAccount:BankAccount? = null var DirectDebitCorrespondenceEmail:String? = null var ClearingDetails:ClearingDetails? = null var ProductAllocation:ArrayList = ArrayList() } open class GoodsAndServices { var GoodsProvidedByThirdParty:Boolean? = null var Deposits:Deposits? = null var WarrantiesAndGuarantees:WarrantiesAndGuarantees? = null var Prepayments:Prepayments? = null var MembershipsSubscriptionAndInsurancePremiums:MembershipsSubscriptionAndInsurancePremiums? = null var StockHeldAtAnotherAddressLocation:Address? = null } open class PosProducts { var Term:Int? = null var RenewalLength:Int? = null var Products:ArrayList = ArrayList() } open class EcomProducts { var Term:Int? = null var RenewalLength:Int? = null var Products:ArrayList = ArrayList() var Options:ArrayList = ArrayList() } open class WptProducts { var Term:Int? = null var RenewalLength:Int? = null var PosInstallationDate:Date? = null var IntegratedSolutionProvider:IntegratedSolutionProvider? = null var Products:ArrayList = ArrayList() } open class IpProducts { var Term:Int? = null var RenewalLength:Int? = null var IntegratedSolutionProvider:IntegratedSolutionProvider? = null var Products:ArrayList = ArrayList() } open class BankAccount { var SortCode:String? = null var AccountNumber:String? = null var BankName:String? = null var BankAccountName:String? = null var SwiftCode:String? = null var InternationalBankAccountNumber:String? = null } open class Financials { var Annual:BigDecimal? = null var CardPercentage:BigDecimal? = null var CreditCardPercentage:BigDecimal? = null var AverageTransactionValue:BigDecimal? = null var CardNotPresentPercentage:BigDecimal? = null } open class TradeAssociation { var GroupName:String? = null var MemberNumber:String? = null } open class Principal : Person() { var Position:String? = null var IsFinancialController:Boolean? = null var DateOfBirth:Date? = null var Nationality:String? = null var OwnershipPercentage:BigDecimal? = null var HomeAddresses:ArrayList = ArrayList() var PrincipalIdDocuments:ArrayList = ArrayList() } open class GoodsAndServices { var GoodsProvidedByThirdParty:Boolean? = null var Deposits:Deposits? = null var WarrantiesAndGuarantees:WarrantiesAndGuarantees? = null var Prepayments:Prepayments? = null var MembershipsSubscriptionAndInsurancePremiums:MembershipsSubscriptionAndInsurancePremiums? = null var StockHeldAtAnotherAddressLocation:Address? = null } open class ClearingDetails { var MerchantUrl:String? = null var Telephone:String? = null var Email:String? = null } open class Acquiring { var SettlementPeriod:Int? = null var FundingMode:String? = null var Rates:Rates? = null var TradingCurrencies:ArrayList = ArrayList() } enum class PreferredContactMethodType { Email, Telephone, Any, } open class ContactPerson { var Title:String? = null var FirstName:String? = null var MiddleName:String? = null var LastName:String? = null var TelephoneNumber:String? = null var AltTelephoneNumber:String? = null var Email:String? = null var Position:String? = null var PreferredContactMethod:PreferredContactMethodType? = null var PreferredContactBestTime:String? = null } open class BusinessAddress : Address() { var IsCommercial:Boolean? = null } enum class CompanyType { SoleTrader, Partnership, LimitedCompany, Trust, RegisteredCharity, PublicLimitedCompany, LimitedByGuarantee, ClubSocietyAssociation, CommunityInterestCompanyOrIndustrialProvident, LimitedLiabilityPartnership, Other, } open class Financials { var Annual:BigDecimal? = null var CardPercentage:BigDecimal? = null var CreditCardPercentage:BigDecimal? = null var AverageTransactionValue:BigDecimal? = null } open class TradeAssociation { var GroupName:String? = null var MemberNumber:String? = null } open class BankAccount { var SortCode:String? = null var AccountNumber:String? = null var BankName:String? = null var BankAccountName:String? = null } open class ClearingDetails { var MerchantUrl:String? = null var Telephone:String? = null var Email:String? = null } open class OutletAllocatedProduct { var Id:Int? = null var Quantity:Int? = null } open class Address { var Address1:String? = null var Address2:String? = null var Address3:String? = null var Postcode:String? = null var City:String? = null var State:String? = null var Countrycode:String? = null } open class PosProduct { var Id:Int? = null var Type:PosProductType? = null var Quantity:Int? = null var RelatedFees:ArrayList = ArrayList() var Options:ArrayList = ArrayList() } open class EcomProduct { var Id:Int? = null var Type:EcomProductType? = null var Quantity:Int? = null var RelatedFees:ArrayList = ArrayList() var Options:ArrayList = ArrayList() } open class EcomOption { var Type:EcomOptionType? = null var RelatedFees:ArrayList = ArrayList() } open class IntegratedSolutionProvider { var Name:String? = null var Address:Address? = null var Telephone:String? = null var PrimaryContact:IspContact? = null var TechnicalContact:IspContact? = null var ProviderType:String? = null var ProviderSoftware:String? = null } open class WptProduct { var Type:WptProductType? = null var Id:Int? = null var Variant:WptVariantType? = null var Quantity:Int? = null var RelatedFees:ArrayList = ArrayList() } open class IpProduct { var Id:Int? = null var Type:IpProductType? = null var Quantity:Int? = null var RelatedFees:ArrayList = ArrayList() var Variant:IpVariantType? = null } open class Address { var Address1:String? = null var Address2:String? = null var Address3:String? = null var Postcode:String? = null var City:String? = null var State:String? = null var CountryCode:String? = null } enum class PosProductType { Mobile, Wifi, Bluetooth, Fixed, PosMidOnly, } open class ProductFee { var Type:ProductFeeType? = null var Cost:BigDecimal? = null } open class PosProductOption { var Type:PosProductOptionType? = null var Value:String? = null } enum class EcomProductType { Gateway, VirtualTerminal, PayByLink, EcomMidOnly, } open class EcomProductOption { var Type:EcomProductOptionType? = null var Value:String? = null } enum class EcomOptionType { Paypal, FuturePay, Rmm, } open class IspContact { var Title:String? = null var FirstName:String? = null var LastName:String? = null var Position:String? = null var EmailAddress:String? = null } enum class WptProductType { VerifoneP400, IngenicoWL258, VerifoneV240, } enum class WptVariantType { Serial, Usb, Ethernet, None, } enum class IpProductType { PaxA920, MiuraM020, } enum class IpVariantType { Sdk, Cloud, None, } open class ProductFee { var Type:String? = null var Cost:BigDecimal? = null var BillingParty:String? = null } enum class PosProductOptionType { Psp, } enum class EcomProductOptionType { Psp, FreeTransactions, }