| PUT | /CreateVanOCA/ |
|---|
import Foundation
import ServiceStack
// @DataContract
public class CreateVanOCARequest : Codable
{
// @DataMember
public var username:String
// @DataMember
public var timestamp:String
// @DataMember
public var token:String
// @DataMember
public var generalDetails:GeneralDetails
// @DataMember
public var financeDetails:FinanceDetails
// @DataMember
public var vehicleDetails:VehicleDetails
// @DataMember
public var deliveryDetails:DeliveryDetails
// @DataMember
public var existingVehicleDetails:ExistingVehicleDetails
// @DataMember
public var creditApplicationIndividual:CreditApplicationIndividualVans
// @DataMember
public var creditApplicationBusiness:CreditApplicationBusinessVans
// @DataMember
public var paymentDetails:PaymentDetails
// @DataMember
public var notes:[NoteDetails]
required public init(){}
}
public class GeneralDetails : 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
required public init(){}
}
public class FinanceDetails : Codable
{
public var financialProduct:String
public var duration:Int
public var paymentRentalAmount:Double
public var annualMileage:Int
public var excessMileageRate:Double
public var customerDepositContribution:Double?
public var retailerDepositContribution:Double?
public var manufacturerDepositContribution:Double?
public var totalDepositContribution:Double?
public var costForCredit:Double?
public var purchaseActivationFee:Double?
public var totalAmountPayable:Double?
public var fixedInterestRate:Double?
public var representativeAPR:Double?
public var optionalPurchasePayment:Double?
public var advancedRentalAmount:Double
public var paymentProfile:String
public var randMIncluded:String
public var randMLevel:String
public var productType:String
public var frequency:String
public var pauseType:String
required public init(){}
}
public class VehicleDetails : 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 currentMileage:Int
public var firstRegistrationDate:String
public var newUsedFlag:String
public var newVehicleModelOptionDetails:[ModelOptionDetails]
required public init(){}
}
public class ModelOptionDetails : Codable
{
public var seq:Int
public var code:String
public var Description:String
public var price:Double
required public init(){}
}
public class DeliveryDetails : Codable
{
public var dealerCode:String
public var deliveryPreference:String
required public init(){}
}
public class ExistingVehicleDetails : Codable
{
public var tradeInFlag:String
public var tradeInValue:Double
public var tradeInRegNo:String
public var settlementFlag:String
public var settlementValue:Double
public var settlementRegNo:String
required public init(){}
}
public class CreditApplicationIndividualVans : 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:AddressWithTimeLine
public var previousAddresses:[PreviousAddress]
public var homePhone:String
public var mobilePhone:String
public var workPhone: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 drivingLicenceNumber:String
public var currentEmploymentDetails:CurrentEmploymentDetails
public var previousEmploymentDetails:[PreviousEmployment]
public var marketingPreference:MarketingPreference
required public init(){}
}
public class AddressWithTimeLine : 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
required public init(){}
}
public class PreviousAddress : Codable
{
public var seq:Int
public var address:AddressWithTimeLine
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 CurrentEmploymentDetails : Codable
{
public var employerDetails:EmployerDetails
public var monthsAtEmployer:String
public var dateEmploymentCommenced:String
public var annualIncome:String
required public init(){}
}
public class EmployerDetails : Codable
{
public var employmentType:String
public var employersName:String
public var occupation:String
public var employersAddress:AddressWithTimeLine
required public init(){}
}
public class PreviousEmployment : Codable
{
public var seq:Int
public var previousEmployment:EmployerDetails
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 CreditApplicationBusinessVans : 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:AddressWithTimeLine
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:[BusinessPartner]
public var marketingPreference:MarketingPreference
public var previousAddresses:[PreviousAddress]
required public init(){}
}
public class BusinessPartner : Codable
{
public var seq:Int
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:AddressWithTimeLine
public var previousAddresses:[PreviousAddress]
public var homePhone:String
public var mobilePhone:String
public var businessPhone:String
public var relationship:String
public var email:String
public var currentEmploymentDetails:CurrentEmploymentDetails
public var previousEmploymentDetails:[PreviousEmployment]
public var partnerType:String
required public init(){}
}
public class PaymentDetails : Codable
{
public var paymentDetails:[PaymentDetail]
required public init(){}
}
public class PaymentDetail : Codable
{
public var seq:Int
public var paymentType:String
public var amountPaid:Double
public var paymentTransactionID:String
public var Description:String
public var paymentDateTime:String
required public init(){}
}
public class NoteDetails : Codable
{
public var seq:Int
public var note:String
required public init(){}
}
// @DataContract
public class CreateVanOCARequestResponse : Codable
{
// @DataMember
public var code:String
// @DataMember
public var message:String
// @DataMember
public var urn:Int
required public init(){}
}
Swift CreateVanOCARequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PUT /CreateVanOCA/ HTTP/1.1
Host: webservices.mbukdatabase.co.uk
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"Username":"String","Timestamp":"String","Token":"String","GeneralDetails":{"OCAApprovalNumber":"String","EnquiryDateTime":"String","Brand":0,"CustomerReferenceNumber":"String","CustomerType":"String","SourceofBusiness":"String","TagURL":"String","RequestSource":0,"FormID":"String"},"FinanceDetails":{"FinancialProduct":"String","Duration":0,"PaymentRentalAmount":0,"AnnualMileage":0,"ExcessMileageRate":0,"CustomerDepositContribution":0,"RetailerDepositContribution":0,"ManufacturerDepositContribution":0,"TotalDepositContribution":0,"CostForCredit":0,"PurchaseActivationFee":0,"TotalAmountPayable":0,"FixedInterestRate":0,"RepresentativeAPR":0,"OptionalPurchasePayment":0,"AdvancedRentalAmount":0,"PaymentProfile":"String","RandMIncluded":"String","RandMLevel":"String","ProductType":"String","Frequency":"String","PauseType":"String"},"VehicleDetails":{"OnlineCode":"String","ModelClass":"String","ModelBody":"String","ModelDerivative":"String","TotalPrice":0,"OTRPrice":0,"VIN":"String","RegNo":"String","CurrentMileage":0,"FirstRegistrationDate":"String","NewUsedFlag":"String","NewVehicleModelOptionDetails":[{"Seq":0,"Code":"String","Description":"String","Price":0}]},"DeliveryDetails":{"DealerCode":"String","DeliveryPreference":"String"},"ExistingVehicleDetails":{"TradeInFlag":"String","TradeInValue":0,"TradeInRegNo":"String","SettlementFlag":"String","SettlementValue":0,"SettlementRegNo":"String"},"CreditApplicationIndividual":{"Title":"String","Initial":"String","FirstName":"String","Surname":"String","DateofBirth":"String","Gender":"String","MaritalStatus":"String","ResidentialStatus":"String","CurrentAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"},"PreviousAddresses":[{"Seq":0,"Address":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"}}],"HomePhone":"String","MobilePhone":"String","WorkPhone":"String","Email":"String","BankSortCode":"String","BankAccountNumber":"String","BankAccountName":"String","BankName":"String","BankAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","AddressLine4":"String","AddressLine5":"String","Postcode":"String"},"DrivingLicenceNumber":"String","CurrentEmploymentDetails":{"EmployerDetails":{"EmploymentType":"String","EmployersName":"String","Occupation":"String","EmployersAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"}},"MonthsAtEmployer":"String","DateEmploymentCommenced":"String","AnnualIncome":"String"},"PreviousEmploymentDetails":[{"Seq":0,"previousEmployment":{"EmploymentType":"String","EmployersName":"String","Occupation":"String","EmployersAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"}}}],"MarketingPreference":{"OptInMail":"String","OptInTelephone":"String","OptInEmail":"String","OptInSMS":"String"}},"CreditApplicationBusiness":{"TypeOfBusiness":"String","BusinessContactPosition":"String","Title":"String","Initial":"String","FirstName":"String","Surname":"String","CurrentHomeAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"},"HomePhone":"String","WorkPhone":"String","MobilePhone":"String","Email":"String","CompanyName":"String","CompanyRegistrationNumber":"String","TradingAs":"String","BusinessActivity":"String","NumberOfEmployees":0,"YearsTrading":0,"Position":"String","BankSortCode":"String","BankAccountNumber":"String","BankAccountName":"String","BankName":"String","BankAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","AddressLine4":"String","AddressLine5":"String","Postcode":"String"},"NumberofPartners":0,"BusinessPartners":[{"Seq":0,"Title":"String","Initial":"String","FirstName":"String","Surname":"String","DateofBirth":"String","Gender":"String","MaritalStatus":"String","ResidentialStatus":"String","CurrentAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"},"PreviousAddresses":[{"Seq":0,"Address":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"}}],"HomePhone":"String","MobilePhone":"String","BusinessPhone":"String","Relationship":"String","Email":"String","CurrentEmploymentDetails":{"EmployerDetails":{"EmploymentType":"String","EmployersName":"String","Occupation":"String","EmployersAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"}},"MonthsAtEmployer":"String","DateEmploymentCommenced":"String","AnnualIncome":"String"},"PreviousEmploymentDetails":[{"Seq":0,"previousEmployment":{"EmploymentType":"String","EmployersName":"String","Occupation":"String","EmployersAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"}}}],"PartnerType":"String"}],"MarketingPreference":{"OptInMail":"String","OptInTelephone":"String","OptInEmail":"String","OptInSMS":"String"},"PreviousAddresses":[{"Seq":0,"Address":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"}}]},"PaymentDetails":{"paymentDetails":[{"Seq":0,"PaymentType":"String","AmountPaid":0,"PaymentTransactionID":"String","Description":"String","PaymentDateTime":"String"}]},"Notes":[{"Seq":0,"Note":"String"}]}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"Code":"String","Message":"String","URN":0}