MBOnlineCreditApplicationService

<back to all web services

CreateOCAv2Request

The following routes are available for this service:
PUT/CreateOCAv2/
import Foundation
import ServiceStack

// @DataContract
public class CreateOCAv2Request : Codable
{
    // @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(){}
}

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 ModelOptionDetailsv2 : Codable
{
    public var seq:Int?
    public var type:String?
    public var code:String?
    public var Description:String?
    public var price:Double?
    public var priceGross:Double?
    public var vatCategory:String?
    public var vatAmount: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 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 PreviousAddressv2 : Codable
{
    public var seq:Int?
    public var address:AddressWithTimeLinev2?

    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 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(){}
}

public class PreviousEmploymentv2 : Codable
{
    public var seq:Int?
    public var previousEmployment:EmployerDetailsv2?

    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 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 BusinessPartnerv2 : 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:AddressWithTimeLinev2?
    public var previousAddresses:[PreviousAddressv2] = []
    public var homePhone:String?
    public var mobilePhone:String?
    public var businessPhone:String?
    public var relationship:String?
    public var email:String?
    public var currentEmploymentDetails:CurrentEmploymentDetailsv2?
    public var previousEmploymentDetails:[PreviousEmploymentv2] = []
    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(){}
}

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 DiPReasons : Codable
{
    public var dipReasonSeq:Int?
    public var dipDecisionCode:String?
    public var diPDecisionReason:String?
    public var diPDealerMessage:String?

    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(){}
}


Swift CreateOCAv2Request DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

PUT /CreateOCAv2/ HTTP/1.1 
Host: webservices.mbukdatabase.co.uk 
Accept: application/json
Content-Type: application/json
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","ProposalCreated":"String","LoadFullData":"String","ProposalNumber":"String","POSSystem":"String"},"FinanceDetails":{"FinancialProduct":"String","CampaignCode":"String","PhoenixFinanceProductCode":"String","Fixed":"String","FleetNonFleet":"String","RFLCover":"String","Duration":0,"PaymentRentalAmount":0,"RentalAmountExcVAT":0,"AdvanceArrears":"String","AnnualMileage":0,"ExcessMileageRate":0,"CustomerDepositContribution":0,"RetailerDepositContribution":0,"RetailerDepositContributionNet":0,"ManufacturerDepositContribution":0,"ManufacturerDepositContributionNet":0,"TotalDepositContribution":0,"LumpSum":0,"CostForCredit":0,"PurchaseActivationFee":0,"TotalAmountPayable":0,"FixedInterestRate":0,"RepresentativeAPR":0,"TrueFlatRate":"String","RVReferenceNumber":"String","OptionalPurchasePayment":0,"AdvancedRentalAmount":0,"NumberofAdvanceRentals":"String","PaymentProfile":"String","RandMIncluded":"String","RandMLevel":"String","ProductType":"String","Frequency":"String","PauseType":"String","EqualsFinance":0,"AcceptanceFee":0},"VehicleDetails":{"OnlineCode":"String","ModelClass":"String","ModelBody":"String","ModelDerivative":"String","TotalPrice":0,"OTRPrice":0,"VIN":"String","RegNo":"String","CommissionNumber":"String","EngineNumber":"String","CurrentMileage":0,"MilesKilometers":"String","FirstRegistrationDate":"String","NewUsedFlag":"String","NewVehicleModelOptionDetails":[{"Seq":0,"Type":"String","Code":"String","Description":"String","Price":0,"PriceGross":0,"VATCategory":"String","VATAmount":0}],"VID":"String","Baumuster":"String","VehiclePrice":0,"TotalVAT":0,"OLEVGrant":0,"ExtrasTotalExcVAT":0,"CombinedCO2":"String","VehicleVATTickBox":"String","FirstYearRFLIncluded":"String","FirstYearRFLAmount":0,"FirstRegFeeIncludedFlag":"String","FirstRegFeeAmount":0,"HighLowVEDSupplementFlag":"String","LeaseRFLSubsequentYears":"String","LeaseRFLSubsequentYearsAmount":0},"DeliveryDetails":{"DealerCode":"String","DeliveryPreference":"String","DeliveryDate":"String"},"ExistingVehicleDetails":{"TradeInFlag":"String","TradeInIncludedInCalc":"String","TradeInValue":0,"TradeInValueNet":0,"TradeInRegNo":"String","TradeInVIN":"String","TradeInMileage":0,"TradeInCondition":"String","SettlementFlag":"String","SettlementIncludedInCalc":"String","SettlementValue":0,"SettlementValueNet":0,"SettlementRegNo":"String","SettlementVIN":"String","SettlementMileage":0},"InsuranceDetails":{"InterestedInFirstCoverFlag":"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","TotalNumberOfMonths":"String"},"PreviousAddresses":[{"Seq":0,"Address":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String","TotalNumberOfMonths":"String"}}],"HomePhone":"String","MobilePhone":"String","WorkPhone":"String","ContactAtWork":"String","Email":"String","BankSortCode":"String","BankAccountNumber":"String","BankAccountName":"String","BankName":"String","BankAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","AddressLine4":"String","AddressLine5":"String","Postcode":"String"},"BankPaymentType":"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","TotalNumberOfMonths":"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","TotalNumberOfMonths":"String"}}}],"MarketingPreference":{"OptInMail":"String","OptInTelephone":"String","OptInEmail":"String","OptInSMS":"String"},"CreditCheckConsent":"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","TotalNumberOfMonths":"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","TotalNumberOfMonths":"String"},"PreviousAddresses":[{"Seq":0,"Address":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String","TotalNumberOfMonths":"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","TotalNumberOfMonths":"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","TotalNumberOfMonths":"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","TotalNumberOfMonths":"String"}}]},"PaymentDetails":{"paymentDetails":[{"Seq":0,"PaymentType":"String","AmountPaid":0,"PaymentTransactionID":"String","Description":"String","PaymentDateTime":"String"}]},"Notes":[{"Seq":0,"Note":"String"}],"DiPDetails":{"DiPCustomerId":"String","DiPTimestamp":"String","DiPRequestID":"String","DiPDecisionType":"String","DiPPrimaryDecisionCode":"String","DiPDecisionDescription":"String","DipDecisionDescriptionCode":"String","DipPrimaryDecisionReason":"String","DiPPrimaryDecisionReasonDealerMessage":"String","diPReasons":[{"DipReasonSeq":0,"DipDecisionCode":"String","DiPDecisionReason":"String","DiPDealerMessage":"String"}]}}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Code":"String","Message":"String","URN":0}