/* Options: Date: 2025-06-26 02:08:53 SwiftVersion: 5.0 Version: 6.00 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: http://webservices.mbukdatabase.co.uk/MBOnlineCreditApplicationService //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: CreateOCAv2Request.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/CreateOCAv2/", "PUT") // @DataContract public class CreateOCAv2Request : IReturn, Codable { public typealias Return = CreateOCAv2RequestResponse // @DataMember public var username:String? // @DataMember public var timestamp:String? // @DataMember public var token:String? // @DataMember public var generalDetails:GeneralDetailsv2? // @DataMember public var financeDetails:FinanceDetailsv2? // @DataMember public var vehicleDetails:VehicleDetailsv2? // @DataMember public var deliveryDetails:DeliveryDetailsv2? // @DataMember public var existingVehicleDetails:ExistingVehicleDetailsv2? // @DataMember public var insuranceDetails:InsuranceDetails? // @DataMember public var creditApplicationIndividual:CreditApplicationIndividualV2? // @DataMember public var creditApplicationBusiness:CreditApplicationBusinessV2? // @DataMember public var paymentDetails:PaymentDetails? // @DataMember public var notes:[NoteDetails] = [] // @DataMember public var diPDetails:DiPDetails? required public init(){} } // @DataContract public class CreateOCAv2RequestResponse : Codable { // @DataMember public var code:String? // @DataMember public var message:String? // @DataMember public var urn:Int? required public init(){} } public class PaymentDetails : Codable { public var paymentDetails:[PaymentDetail] = [] required public init(){} } public class DiPDetails : Codable { public var diPCustomerId:String? public var diPTimestamp:String? public var diPRequestID:String? public var diPDecisionType:String? public var diPPrimaryDecisionCode:String? public var diPDecisionDescription:String? public var dipDecisionDescriptionCode:String? public var dipPrimaryDecisionReason:String? public var diPPrimaryDecisionReasonDealerMessage:String? public var diPReasons:[DiPReasons] = [] required public init(){} } public class GeneralDetailsv2 : Codable { public var ocaApprovalNumber:String? public var enquiryDateTime:String? public var brand:Int? public var customerReferenceNumber:String? public var customerType:String? public var sourceofBusiness:String? public var tagURL:String? public var requestSource:Int? public var formID:String? public var proposalCreated:String? public var loadFullData:String? public var proposalNumber:String? public var posSystem:String? required public init(){} } public class FinanceDetailsv2 : Codable { public var financialProduct:String? public var campaignCode:String? public var phoenixFinanceProductCode:String? public var fixed:String? public var fleetNonFleet:String? public var rflCover:String? public var duration:Int? public var paymentRentalAmount:Double? public var rentalAmountExcVAT:Double? public var advanceArrears:String? public var annualMileage:Int? public var excessMileageRate:Double? public var customerDepositContribution:Double? public var retailerDepositContribution:Double? public var retailerDepositContributionNet:Double? public var manufacturerDepositContribution:Double? public var manufacturerDepositContributionNet:Double? public var totalDepositContribution:Double? public var lumpSum:Double? public var costForCredit:Double? public var purchaseActivationFee:Double? public var totalAmountPayable:Double? public var fixedInterestRate:Double? public var representativeAPR:Double? public var trueFlatRate:String? public var rvReferenceNumber:String? public var optionalPurchasePayment:Double? public var advancedRentalAmount:Double? public var numberofAdvanceRentals:String? public var paymentProfile:String? public var randMIncluded:String? public var randMLevel:String? public var productType:String? public var frequency:String? public var pauseType:String? public var equalsFinance:Double? public var acceptanceFee:Double? required public init(){} } public class VehicleDetailsv2 : Codable { public var onlineCode:String? public var modelClass:String? public var modelBody:String? public var modelDerivative:String? public var totalPrice:Double? public var otrPrice:Double? public var vin:String? public var regNo:String? public var commissionNumber:String? public var engineNumber:String? public var currentMileage:Int? public var milesKilometers:String? public var firstRegistrationDate:String? public var newUsedFlag:String? public var newVehicleModelOptionDetails:[ModelOptionDetailsv2] = [] public var vid:String? public var baumuster:String? public var vehiclePrice:Double? public var totalVAT:Double? public var olevGrant:Double? public var extrasTotalExcVAT:Double? public var combinedCO2:String? public var vehicleVATTickBox:String? public var firstYearRFLIncluded:String? public var firstYearRFLAmount:Double? public var firstRegFeeIncludedFlag:String? public var firstRegFeeAmount:Double? public var highLowVEDSupplementFlag:String? public var leaseRFLSubsequentYears:String? public var leaseRFLSubsequentYearsAmount:Double? required public init(){} } public class DeliveryDetailsv2 : Codable { public var dealerCode:String? public var deliveryPreference:String? public var deliveryDate:String? required public init(){} } public class ExistingVehicleDetailsv2 : Codable { public var tradeInFlag:String? public var tradeInIncludedInCalc:String? public var tradeInValue:Double? public var tradeInValueNet:Double? public var tradeInRegNo:String? public var tradeInVIN:String? public var tradeInMileage:Int? public var tradeInCondition:String? public var settlementFlag:String? public var settlementIncludedInCalc:String? public var settlementValue:Double? public var settlementValueNet:Double? public var settlementRegNo:String? public var settlementVIN:String? public var settlementMileage:Int? required public init(){} } public class InsuranceDetails : Codable { public var interestedInFirstCoverFlag:String? required public init(){} } public class CreditApplicationIndividualV2 : Codable { public var title:String? public var initial:String? public var firstName:String? public var surname:String? public var dateofBirth:String? public var gender:String? public var maritalStatus:String? public var residentialStatus:String? public var currentAddress:AddressWithTimeLinev2? public var previousAddresses:[PreviousAddressv2] = [] public var homePhone:String? public var mobilePhone:String? public var workPhone:String? public var contactAtWork:String? public var email:String? public var bankSortCode:String? public var bankAccountNumber:String? public var bankAccountName:String? public var bankName:String? public var bankAddress:Address? public var bankPaymentType:String? public var drivingLicenceNumber:String? public var currentEmploymentDetails:CurrentEmploymentDetailsv2? public var previousEmploymentDetails:[PreviousEmploymentv2] = [] public var marketingPreference:MarketingPreference? public var creditCheckConsent:String? required public init(){} } public class CreditApplicationBusinessV2 : Codable { public var typeOfBusiness:String? public var businessContactPosition:String? public var title:String? public var initial:String? public var firstName:String? public var surname:String? public var currentHomeAddress:AddressWithTimeLinev2? public var homePhone:String? public var workPhone:String? public var mobilePhone:String? public var email:String? public var companyName:String? public var companyRegistrationNumber:String? public var tradingAs:String? public var businessActivity:String? public var numberOfEmployees:Int? public var yearsTrading:Int? public var position:String? public var bankSortCode:String? public var bankAccountNumber:String? public var bankAccountName:String? public var bankName:String? public var bankAddress:Address? public var numberofPartners:Int? public var businessPartners:[BusinessPartnerv2] = [] public var marketingPreference:MarketingPreference? public var previousAddresses:[PreviousAddressv2] = [] required public init(){} } public class Address : Codable { public var addressLine1:String? public var addressLine2:String? public var addressLine3:String? public var addressLine4:String? public var addressLine5:String? public var postcode:String? required public init(){} } public class MarketingPreference : Codable { public var optInMail:String? public var optInTelephone:String? public var optInEmail:String? public var optInSMS:String? required public init(){} } public class AddressWithTimeLinev2 : Codable { public var addressLine1:String? public var addressLine2:String? public var addressLine3:String? public var town:String? public var county:String? public var country:String? public var postcode:String? public var duration:String? public var dateStarted:String? public var totalNumberOfMonths:String? required public init(){} } public class CurrentEmploymentDetailsv2 : Codable { public var employerDetails:EmployerDetailsv2? public var monthsAtEmployer:String? public var dateEmploymentCommenced:String? public var annualIncome:String? required public init(){} } public class EmployerDetailsv2 : Codable { public var employmentType:String? public var employersName:String? public var occupation:String? public var employersAddress:AddressWithTimeLinev2? required public init(){} }