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