/* Options: Date: 2026-09-19 14:14:13 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: CreateOCAv2Request.* //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="/CreateOCAv2/", Verbs="PUT") @DataContract open class CreateOCAv2Request : IReturn { @DataMember open var Username:String? = null @DataMember open var Timestamp:String? = null @DataMember open var Token:String? = null @DataMember open var GeneralDetails:GeneralDetailsv2? = null @DataMember open var FinanceDetails:FinanceDetailsv2? = null @DataMember open var VehicleDetails:VehicleDetailsv2? = null @DataMember open var DeliveryDetails:DeliveryDetailsv2? = null @DataMember open var ExistingVehicleDetails:ExistingVehicleDetailsv2? = null @DataMember open var InsuranceDetails:InsuranceDetails? = null @DataMember open var CreditApplicationIndividual:CreditApplicationIndividualV2? = null @DataMember open var CreditApplicationBusiness:CreditApplicationBusinessV2? = null @DataMember open var PaymentDetails:PaymentDetails? = null @DataMember open var Notes:ArrayList? = null @DataMember open var DiPDetails:DiPDetails? = null companion object { private val responseType = CreateOCAv2RequestResponse::class.java } override fun getResponseType(): Any? = CreateOCAv2Request.responseType } @DataContract open class CreateOCAv2RequestResponse { @DataMember open var Code:String? = null @DataMember open var Message:String? = null @DataMember open var URN:Int? = null } open class PaymentDetails { open var paymentDetails:ArrayList? = null } open class DiPDetails { open var DiPCustomerId:String? = null open var DiPTimestamp:String? = null open var DiPRequestID:String? = null open var DiPDecisionType:String? = null open var DiPPrimaryDecisionCode:String? = null open var DiPDecisionDescription:String? = null open var DipDecisionDescriptionCode:String? = null open var DipPrimaryDecisionReason:String? = null open var DiPPrimaryDecisionReasonDealerMessage:String? = null open var diPReasons:ArrayList? = null } open class GeneralDetailsv2 { 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 var ProposalCreated:String? = null open var LoadFullData:String? = null open var ProposalNumber:String? = null open var POSSystem:String? = null } open class FinanceDetailsv2 { open var FinancialProduct:String? = null open var CampaignCode:String? = null open var PhoenixFinanceProductCode:String? = null open var Fixed:String? = null open var FleetNonFleet:String? = null open var RFLCover:String? = null open var Duration:Int? = null open var PaymentRentalAmount:BigDecimal? = null open var RentalAmountExcVAT:BigDecimal? = null open var AdvanceArrears:String? = null open var AnnualMileage:Int? = null open var ExcessMileageRate:BigDecimal? = null open var CustomerDepositContribution:BigDecimal? = null open var RetailerDepositContribution:BigDecimal? = null open var RetailerDepositContributionNet:BigDecimal? = null open var ManufacturerDepositContribution:BigDecimal? = null open var ManufacturerDepositContributionNet:BigDecimal? = null open var TotalDepositContribution:BigDecimal? = null open var LumpSum: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 TrueFlatRate:String? = null open var RVReferenceNumber:String? = null open var OptionalPurchasePayment:BigDecimal? = null open var AdvancedRentalAmount:BigDecimal? = null open var NumberofAdvanceRentals:String? = 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 var EqualsFinance:BigDecimal? = null open var AcceptanceFee:BigDecimal? = null } open class VehicleDetailsv2 { 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 CommissionNumber:String? = null open var EngineNumber:String? = null open var CurrentMileage:Int? = null open var MilesKilometers:String? = null open var FirstRegistrationDate:String? = null open var NewUsedFlag:String? = null open var NewVehicleModelOptionDetails:ArrayList? = null open var VID:String? = null open var Baumuster:String? = null open var VehiclePrice:BigDecimal? = null open var TotalVAT:BigDecimal? = null open var OLEVGrant:BigDecimal? = null open var ExtrasTotalExcVAT:BigDecimal? = null open var CombinedCO2:String? = null open var VehicleVATTickBox:String? = null open var FirstYearRFLIncluded:String? = null open var FirstYearRFLAmount:BigDecimal? = null open var FirstRegFeeIncludedFlag:String? = null open var FirstRegFeeAmount:BigDecimal? = null open var HighLowVEDSupplementFlag:String? = null open var LeaseRFLSubsequentYears:String? = null open var LeaseRFLSubsequentYearsAmount:BigDecimal? = null } open class DeliveryDetailsv2 { open var DealerCode:String? = null open var DeliveryPreference:String? = null open var DeliveryDate:String? = null } open class ExistingVehicleDetailsv2 { open var TradeInFlag:String? = null open var TradeInIncludedInCalc:String? = null open var TradeInValue:BigDecimal? = null open var TradeInValueNet:BigDecimal? = null open var TradeInRegNo:String? = null open var TradeInVIN:String? = null open var TradeInMileage:Int? = null open var TradeInCondition:String? = null open var SettlementFlag:String? = null open var SettlementIncludedInCalc:String? = null open var SettlementValue:BigDecimal? = null open var SettlementValueNet:BigDecimal? = null open var SettlementRegNo:String? = null open var SettlementVIN:String? = null open var SettlementMileage:Int? = null } open class InsuranceDetails { open var InterestedInFirstCoverFlag:String? = null } open class CreditApplicationIndividualV2 { 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:AddressWithTimeLinev2? = null open var PreviousAddresses:ArrayList? = null open var HomePhone:String? = null open var MobilePhone:String? = null open var WorkPhone:String? = null open var ContactAtWork: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 BankPaymentType:String? = null open var DrivingLicenceNumber:String? = null open var CurrentEmploymentDetails:CurrentEmploymentDetailsv2? = null open var PreviousEmploymentDetails:ArrayList? = null open var MarketingPreference:MarketingPreference? = null open var CreditCheckConsent:String? = null } open class CreditApplicationBusinessV2 { 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:AddressWithTimeLinev2? = 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 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 MarketingPreference { open var OptInMail:String? = null open var OptInTelephone:String? = null open var OptInEmail:String? = null open var OptInSMS:String? = null } open class AddressWithTimeLinev2 { 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 var TotalNumberOfMonths:String? = null } open class CurrentEmploymentDetailsv2 { open var EmployerDetails:EmployerDetailsv2? = null open var MonthsAtEmployer:String? = null open var DateEmploymentCommenced:String? = null open var AnnualIncome:String? = null } open class EmployerDetailsv2 { open var EmploymentType:String? = null open var EmployersName:String? = null open var Occupation:String? = null open var EmployersAddress:AddressWithTimeLinev2? = null }