/* Options: Date: 2025-06-26 04:32:04 Version: 6.00 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: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route(Path="/CreateVanOCA/", Verbs="PUT") @DataContract open class CreateVanOCARequest : IReturn { @DataMember var Username:String? = null @DataMember var Timestamp:String? = null @DataMember var Token:String? = null @DataMember var GeneralDetails:GeneralDetails? = null @DataMember var FinanceDetails:FinanceDetails? = null @DataMember var VehicleDetails:VehicleDetails? = null @DataMember var DeliveryDetails:DeliveryDetails? = null @DataMember var ExistingVehicleDetails:ExistingVehicleDetails? = null @DataMember var CreditApplicationIndividual:CreditApplicationIndividualVans? = null @DataMember var CreditApplicationBusiness:CreditApplicationBusinessVans? = null @DataMember var PaymentDetails:PaymentDetails? = null @DataMember var Notes:ArrayList? = null companion object { private val responseType = CreateVanOCARequestResponse::class.java } override fun getResponseType(): Any? = CreateVanOCARequest.responseType } @DataContract open class CreateVanOCARequestResponse { @DataMember var Code:String? = null @DataMember var Message:String? = null @DataMember var URN:Int? = null } open class GeneralDetails { var OCAApprovalNumber:String? = null var EnquiryDateTime:String? = null var Brand:Int? = null var CustomerReferenceNumber:String? = null var CustomerType:String? = null var SourceofBusiness:String? = null var TagURL:String? = null var RequestSource:Int? = null var FormID:String? = null } open class FinanceDetails { var FinancialProduct:String? = null var Duration:Int? = null var PaymentRentalAmount:BigDecimal? = null var AnnualMileage:Int? = null var ExcessMileageRate:BigDecimal? = null var CustomerDepositContribution:BigDecimal? = null var RetailerDepositContribution:BigDecimal? = null var ManufacturerDepositContribution:BigDecimal? = null var TotalDepositContribution:BigDecimal? = null var CostForCredit:BigDecimal? = null var PurchaseActivationFee:BigDecimal? = null var TotalAmountPayable:BigDecimal? = null var FixedInterestRate:BigDecimal? = null var RepresentativeAPR:BigDecimal? = null var OptionalPurchasePayment:BigDecimal? = null var AdvancedRentalAmount:BigDecimal? = null var PaymentProfile:String? = null var RandMIncluded:String? = null var RandMLevel:String? = null var ProductType:String? = null var Frequency:String? = null var PauseType:String? = null } open class VehicleDetails { var OnlineCode:String? = null var ModelClass:String? = null var ModelBody:String? = null var ModelDerivative:String? = null var TotalPrice:BigDecimal? = null var OTRPrice:BigDecimal? = null var VIN:String? = null var RegNo:String? = null var CurrentMileage:Int? = null var FirstRegistrationDate:String? = null var NewUsedFlag:String? = null var NewVehicleModelOptionDetails:ArrayList? = null } open class DeliveryDetails { var DealerCode:String? = null var DeliveryPreference:String? = null } open class ExistingVehicleDetails { var TradeInFlag:String? = null var TradeInValue:BigDecimal? = null var TradeInRegNo:String? = null var SettlementFlag:String? = null var SettlementValue:BigDecimal? = null var SettlementRegNo:String? = null } open class CreditApplicationIndividualVans { var Title:String? = null var Initial:String? = null var FirstName:String? = null var Surname:String? = null var DateofBirth:String? = null var Gender:String? = null var MaritalStatus:String? = null var ResidentialStatus:String? = null var CurrentAddress:AddressWithTimeLine? = null var PreviousAddresses:ArrayList? = null var HomePhone:String? = null var MobilePhone:String? = null var WorkPhone:String? = null var Email:String? = null var BankSortCode:String? = null var BankAccountNumber:String? = null var BankAccountName:String? = null var BankName:String? = null var BankAddress:Address? = null var DrivingLicenceNumber:String? = null var CurrentEmploymentDetails:CurrentEmploymentDetails? = null var PreviousEmploymentDetails:ArrayList? = null var MarketingPreference:MarketingPreference? = null } open class CreditApplicationBusinessVans { var TypeOfBusiness:String? = null var BusinessContactPosition:String? = null var Title:String? = null var Initial:String? = null var FirstName:String? = null var Surname:String? = null var CurrentHomeAddress:AddressWithTimeLine? = null var HomePhone:String? = null var WorkPhone:String? = null var MobilePhone:String? = null var Email:String? = null var CompanyName:String? = null var CompanyRegistrationNumber:String? = null var TradingAs:String? = null var BusinessActivity:String? = null var NumberOfEmployees:Int? = null var YearsTrading:Int? = null var Position:String? = null var BankSortCode:String? = null var BankAccountNumber:String? = null var BankAccountName:String? = null var BankName:String? = null var BankAddress:Address? = null var NumberofPartners:Int? = null var BusinessPartners:ArrayList? = null var MarketingPreference:MarketingPreference? = null var PreviousAddresses:ArrayList? = null } open class PaymentDetails { var paymentDetails:ArrayList? = null } open class AddressWithTimeLine { var AddressLine1:String? = null var AddressLine2:String? = null var AddressLine3:String? = null var Town:String? = null var County:String? = null var Country:String? = null var Postcode:String? = null var Duration:String? = null var DateStarted:String? = null } open class Address { var AddressLine1:String? = null var AddressLine2:String? = null var AddressLine3:String? = null var AddressLine4:String? = null var AddressLine5:String? = null var Postcode:String? = null } open class CurrentEmploymentDetails { var EmployerDetails:EmployerDetails? = null var MonthsAtEmployer:String? = null var DateEmploymentCommenced:String? = null var AnnualIncome:String? = null } open class MarketingPreference { var OptInMail:String? = null var OptInTelephone:String? = null var OptInEmail:String? = null var OptInSMS:String? = null } open class EmployerDetails { var EmploymentType:String? = null var EmployersName:String? = null var Occupation:String? = null var EmployersAddress:AddressWithTimeLine? = null }