/* Options: Date: 2026-09-19 14:15:18 Version: 8.10 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: http://webservices.mbukdatabase.co.uk/MBOnlineCreditApplicationService //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateVanOCARequest.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* @Route(Path="/CreateVanOCA/", Verbs="PUT") @DataContract open class CreateVanOCARequest : IReturn { @DataMember open var Username:String? = null @DataMember open var Timestamp:String? = null @DataMember open var Token:String? = null @DataMember open var GeneralDetails:GeneralDetails? = null @DataMember open var FinanceDetails:FinanceDetails? = null @DataMember open var VehicleDetails:VehicleDetails? = null @DataMember open var DeliveryDetails:DeliveryDetails? = null @DataMember open var ExistingVehicleDetails:ExistingVehicleDetails? = null @DataMember open var CreditApplicationIndividual:CreditApplicationIndividualVans? = null @DataMember open var CreditApplicationBusiness:CreditApplicationBusinessVans? = null @DataMember open var PaymentDetails:PaymentDetails? = null @DataMember open var Notes:ArrayList? = null companion object { private val responseType = CreateVanOCARequestResponse::class.java } override fun getResponseType(): Any? = CreateVanOCARequest.responseType } @DataContract open class CreateVanOCARequestResponse { @DataMember open var Code:String? = null @DataMember open var Message:String? = null @DataMember open var URN:Int? = null } open class GeneralDetails { open var OCAApprovalNumber:String? = null open var EnquiryDateTime:String? = null open var Brand:Int? = null open var CustomerReferenceNumber:String? = null open var CustomerType:String? = null open var SourceofBusiness:String? = null open var TagURL:String? = null open var RequestSource:Int? = null open var FormID:String? = null } open class FinanceDetails { open var FinancialProduct:String? = null open var Duration:Int? = null open var PaymentRentalAmount:BigDecimal? = null open var AnnualMileage:Int? = null open var ExcessMileageRate:BigDecimal? = null open var CustomerDepositContribution:BigDecimal? = null open var RetailerDepositContribution:BigDecimal? = null open var ManufacturerDepositContribution:BigDecimal? = null open var TotalDepositContribution:BigDecimal? = null open var CostForCredit:BigDecimal? = null open var PurchaseActivationFee:BigDecimal? = null open var TotalAmountPayable:BigDecimal? = null open var FixedInterestRate:BigDecimal? = null open var RepresentativeAPR:BigDecimal? = null open var OptionalPurchasePayment:BigDecimal? = null open var AdvancedRentalAmount:BigDecimal? = null open var PaymentProfile:String? = null open var RandMIncluded:String? = null open var RandMLevel:String? = null open var ProductType:String? = null open var Frequency:String? = null open var PauseType:String? = null } open class VehicleDetails { open var OnlineCode:String? = null open var ModelClass:String? = null open var ModelBody:String? = null open var ModelDerivative:String? = null open var TotalPrice:BigDecimal? = null open var OTRPrice:BigDecimal? = null open var VIN:String? = null open var RegNo:String? = null open var CurrentMileage:Int? = null open var FirstRegistrationDate:String? = null open var NewUsedFlag:String? = null open var NewVehicleModelOptionDetails:ArrayList? = null } open class DeliveryDetails { open var DealerCode:String? = null open var DeliveryPreference:String? = null } open class ExistingVehicleDetails { open var TradeInFlag:String? = null open var TradeInValue:BigDecimal? = null open var TradeInRegNo:String? = null open var SettlementFlag:String? = null open var SettlementValue:BigDecimal? = null open var SettlementRegNo:String? = null } open class CreditApplicationIndividualVans { open var Title:String? = null open var Initial:String? = null open var FirstName:String? = null open var Surname:String? = null open var DateofBirth:String? = null open var Gender:String? = null open var MaritalStatus:String? = null open var ResidentialStatus:String? = null open var CurrentAddress:AddressWithTimeLine? = null open var PreviousAddresses:ArrayList? = null open var HomePhone:String? = null open var MobilePhone:String? = null open var WorkPhone:String? = null open var Email:String? = null open var BankSortCode:String? = null open var BankAccountNumber:String? = null open var BankAccountName:String? = null open var BankName:String? = null open var BankAddress:Address? = null open var DrivingLicenceNumber:String? = null open var CurrentEmploymentDetails:CurrentEmploymentDetails? = null open var PreviousEmploymentDetails:ArrayList? = null open var MarketingPreference:MarketingPreference? = null } open class CreditApplicationBusinessVans { open var TypeOfBusiness:String? = null open var BusinessContactPosition:String? = null open var Title:String? = null open var Initial:String? = null open var FirstName:String? = null open var Surname:String? = null open var CurrentHomeAddress:AddressWithTimeLine? = null open var HomePhone:String? = null open var WorkPhone:String? = null open var MobilePhone:String? = null open var Email:String? = null open var CompanyName:String? = null open var CompanyRegistrationNumber:String? = null open var TradingAs:String? = null open var BusinessActivity:String? = null open var NumberOfEmployees:Int? = null open var YearsTrading:Int? = null open var Position:String? = null open var BankSortCode:String? = null open var BankAccountNumber:String? = null open var BankAccountName:String? = null open var BankName:String? = null open var BankAddress:Address? = null open var NumberofPartners:Int? = null open var BusinessPartners:ArrayList? = null open var MarketingPreference:MarketingPreference? = null open var PreviousAddresses:ArrayList? = null } open class PaymentDetails { open var paymentDetails:ArrayList? = null } open class AddressWithTimeLine { open var AddressLine1:String? = null open var AddressLine2:String? = null open var AddressLine3:String? = null open var Town:String? = null open var County:String? = null open var Country:String? = null open var Postcode:String? = null open var Duration:String? = null open var DateStarted:String? = null } open class Address { open var AddressLine1:String? = null open var AddressLine2:String? = null open var AddressLine3:String? = null open var AddressLine4:String? = null open var AddressLine5:String? = null open var Postcode:String? = null } open class CurrentEmploymentDetails { open var EmployerDetails:EmployerDetails? = null open var MonthsAtEmployer:String? = null open var DateEmploymentCommenced:String? = null open var AnnualIncome:String? = null } open class MarketingPreference { open var OptInMail:String? = null open var OptInTelephone:String? = null open var OptInEmail:String? = null open var OptInSMS:String? = null } open class EmployerDetails { open var EmploymentType:String? = null open var EmployersName:String? = null open var Occupation:String? = null open var EmployersAddress:AddressWithTimeLine? = null }