MBOnlineCreditApplicationService

<back to all web services

CreateOCAv2Request

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

// @DataContract
export class CreateOCAv2RequestResponse
{
    // @DataMember
    public Code: string;

    // @DataMember
    public Message: string;

    // @DataMember
    public URN: number;

    public constructor(init?: Partial<CreateOCAv2RequestResponse>) { (Object as any).assign(this, init); }
}

export class GeneralDetailsv2
{
    public OCAApprovalNumber: string;
    public EnquiryDateTime: string;
    public Brand: number;
    public CustomerReferenceNumber: string;
    public CustomerType: string;
    public SourceofBusiness: string;
    public TagURL: string;
    public RequestSource: number;
    public FormID: string;
    public ProposalCreated: string;
    public LoadFullData: string;
    public ProposalNumber: string;
    public POSSystem: string;

    public constructor(init?: Partial<GeneralDetailsv2>) { (Object as any).assign(this, init); }
}

export class FinanceDetailsv2
{
    public FinancialProduct: string;
    public CampaignCode: string;
    public PhoenixFinanceProductCode: string;
    public Fixed: string;
    public FleetNonFleet: string;
    public RFLCover: string;
    public Duration: number;
    public PaymentRentalAmount: number;
    public RentalAmountExcVAT?: number;
    public AdvanceArrears: string;
    public AnnualMileage: number;
    public ExcessMileageRate: number;
    public CustomerDepositContribution?: number;
    public RetailerDepositContribution?: number;
    public RetailerDepositContributionNet?: number;
    public ManufacturerDepositContribution?: number;
    public ManufacturerDepositContributionNet?: number;
    public TotalDepositContribution?: number;
    public LumpSum?: number;
    public CostForCredit?: number;
    public PurchaseActivationFee?: number;
    public TotalAmountPayable?: number;
    public FixedInterestRate?: number;
    public RepresentativeAPR?: number;
    public TrueFlatRate: string;
    public RVReferenceNumber: string;
    public OptionalPurchasePayment?: number;
    public AdvancedRentalAmount: number;
    public NumberofAdvanceRentals: string;
    public PaymentProfile: string;
    public RandMIncluded: string;
    public RandMLevel: string;
    public ProductType: string;
    public Frequency: string;
    public PauseType: string;
    public EqualsFinance?: number;
    public AcceptanceFee?: number;

    public constructor(init?: Partial<FinanceDetailsv2>) { (Object as any).assign(this, init); }
}

export class ModelOptionDetailsv2
{
    public Seq: number;
    public Type: string;
    public Code: string;
    public Description: string;
    public Price: number;
    public PriceGross?: number;
    public VATCategory: string;
    public VATAmount?: number;

    public constructor(init?: Partial<ModelOptionDetailsv2>) { (Object as any).assign(this, init); }
}

export class VehicleDetailsv2
{
    public OnlineCode: string;
    public ModelClass: string;
    public ModelBody: string;
    public ModelDerivative: string;
    public TotalPrice: number;
    public OTRPrice: number;
    public VIN: string;
    public RegNo: string;
    public CommissionNumber: string;
    public EngineNumber: string;
    public CurrentMileage: number;
    public MilesKilometers: string;
    public FirstRegistrationDate: string;
    public NewUsedFlag: string;
    public NewVehicleModelOptionDetails: ModelOptionDetailsv2[];
    public VID: string;
    public Baumuster: string;
    public VehiclePrice?: number;
    public TotalVAT?: number;
    public OLEVGrant?: number;
    public ExtrasTotalExcVAT?: number;
    public CombinedCO2: string;
    public VehicleVATTickBox: string;
    public FirstYearRFLIncluded: string;
    public FirstYearRFLAmount?: number;
    public FirstRegFeeIncludedFlag: string;
    public FirstRegFeeAmount?: number;
    public HighLowVEDSupplementFlag: string;
    public LeaseRFLSubsequentYears: string;
    public LeaseRFLSubsequentYearsAmount?: number;

    public constructor(init?: Partial<VehicleDetailsv2>) { (Object as any).assign(this, init); }
}

export class DeliveryDetailsv2
{
    public DealerCode: string;
    public DeliveryPreference: string;
    public DeliveryDate: string;

    public constructor(init?: Partial<DeliveryDetailsv2>) { (Object as any).assign(this, init); }
}

export class ExistingVehicleDetailsv2
{
    public TradeInFlag: string;
    public TradeInIncludedInCalc: string;
    public TradeInValue: number;
    public TradeInValueNet?: number;
    public TradeInRegNo: string;
    public TradeInVIN: string;
    public TradeInMileage?: number;
    public TradeInCondition: string;
    public SettlementFlag: string;
    public SettlementIncludedInCalc: string;
    public SettlementValue: number;
    public SettlementValueNet: number;
    public SettlementRegNo: string;
    public SettlementVIN: string;
    public SettlementMileage?: number;

    public constructor(init?: Partial<ExistingVehicleDetailsv2>) { (Object as any).assign(this, init); }
}

export class InsuranceDetails
{
    public InterestedInFirstCoverFlag: string;

    public constructor(init?: Partial<InsuranceDetails>) { (Object as any).assign(this, init); }
}

export class AddressWithTimeLinev2
{
    public AddressLine1: string;
    public AddressLine2: string;
    public AddressLine3: string;
    public Town: string;
    public County: string;
    public Country: string;
    public Postcode: string;
    public Duration: string;
    public DateStarted: string;
    public TotalNumberOfMonths: string;

    public constructor(init?: Partial<AddressWithTimeLinev2>) { (Object as any).assign(this, init); }
}

export class PreviousAddressv2
{
    public Seq: number;
    public Address: AddressWithTimeLinev2;

    public constructor(init?: Partial<PreviousAddressv2>) { (Object as any).assign(this, init); }
}

export class Address
{
    public AddressLine1: string;
    public AddressLine2: string;
    public AddressLine3: string;
    public AddressLine4: string;
    public AddressLine5: string;
    public Postcode: string;

    public constructor(init?: Partial<Address>) { (Object as any).assign(this, init); }
}

export class EmployerDetailsv2
{
    public EmploymentType: string;
    public EmployersName: string;
    public Occupation: string;
    public EmployersAddress: AddressWithTimeLinev2;

    public constructor(init?: Partial<EmployerDetailsv2>) { (Object as any).assign(this, init); }
}

export class CurrentEmploymentDetailsv2
{
    public EmployerDetails: EmployerDetailsv2;
    public MonthsAtEmployer: string;
    public DateEmploymentCommenced: string;
    public AnnualIncome: string;

    public constructor(init?: Partial<CurrentEmploymentDetailsv2>) { (Object as any).assign(this, init); }
}

export class PreviousEmploymentv2
{
    public Seq: number;
    public previousEmployment: EmployerDetailsv2;

    public constructor(init?: Partial<PreviousEmploymentv2>) { (Object as any).assign(this, init); }
}

export class MarketingPreference
{
    public OptInMail: string;
    public OptInTelephone: string;
    public OptInEmail: string;
    public OptInSMS: string;

    public constructor(init?: Partial<MarketingPreference>) { (Object as any).assign(this, init); }
}

export class CreditApplicationIndividualV2
{
    public Title: string;
    public Initial: string;
    public FirstName: string;
    public Surname: string;
    public DateofBirth: string;
    public Gender: string;
    public MaritalStatus: string;
    public ResidentialStatus: string;
    public CurrentAddress: AddressWithTimeLinev2;
    public PreviousAddresses: PreviousAddressv2[];
    public HomePhone: string;
    public MobilePhone: string;
    public WorkPhone: string;
    public ContactAtWork: string;
    public Email: string;
    public BankSortCode: string;
    public BankAccountNumber: string;
    public BankAccountName: string;
    public BankName: string;
    public BankAddress: Address;
    public BankPaymentType: string;
    public DrivingLicenceNumber: string;
    public CurrentEmploymentDetails: CurrentEmploymentDetailsv2;
    public PreviousEmploymentDetails: PreviousEmploymentv2[];
    public MarketingPreference: MarketingPreference;
    public CreditCheckConsent: string;

    public constructor(init?: Partial<CreditApplicationIndividualV2>) { (Object as any).assign(this, init); }
}

export class BusinessPartnerv2
{
    public Seq: number;
    public Title: string;
    public Initial: string;
    public FirstName: string;
    public Surname: string;
    public DateofBirth: string;
    public Gender: string;
    public MaritalStatus: string;
    public ResidentialStatus: string;
    public CurrentAddress: AddressWithTimeLinev2;
    public PreviousAddresses: PreviousAddressv2[];
    public HomePhone: string;
    public MobilePhone: string;
    public BusinessPhone: string;
    public Relationship: string;
    public Email: string;
    public CurrentEmploymentDetails: CurrentEmploymentDetailsv2;
    public PreviousEmploymentDetails: PreviousEmploymentv2[];
    public PartnerType: string;

    public constructor(init?: Partial<BusinessPartnerv2>) { (Object as any).assign(this, init); }
}

export class CreditApplicationBusinessV2
{
    public TypeOfBusiness: string;
    public BusinessContactPosition: string;
    public Title: string;
    public Initial: string;
    public FirstName: string;
    public Surname: string;
    public CurrentHomeAddress: AddressWithTimeLinev2;
    public HomePhone: string;
    public WorkPhone: string;
    public MobilePhone: string;
    public Email: string;
    public CompanyName: string;
    public CompanyRegistrationNumber: string;
    public TradingAs: string;
    public BusinessActivity: string;
    public NumberOfEmployees: number;
    public YearsTrading: number;
    public Position: string;
    public BankSortCode: string;
    public BankAccountNumber: string;
    public BankAccountName: string;
    public BankName: string;
    public BankAddress: Address;
    public NumberofPartners: number;
    public BusinessPartners: BusinessPartnerv2[];
    public MarketingPreference: MarketingPreference;
    public PreviousAddresses: PreviousAddressv2[];

    public constructor(init?: Partial<CreditApplicationBusinessV2>) { (Object as any).assign(this, init); }
}

export class PaymentDetail
{
    public Seq: number;
    public PaymentType: string;
    public AmountPaid: number;
    public PaymentTransactionID: string;
    public Description: string;
    public PaymentDateTime: string;

    public constructor(init?: Partial<PaymentDetail>) { (Object as any).assign(this, init); }
}

export class PaymentDetails
{
    public paymentDetails: PaymentDetail[];

    public constructor(init?: Partial<PaymentDetails>) { (Object as any).assign(this, init); }
}

export class NoteDetails
{
    public Seq: number;
    public Note: string;

    public constructor(init?: Partial<NoteDetails>) { (Object as any).assign(this, init); }
}

export class DiPReasons
{
    public DipReasonSeq: number;
    public DipDecisionCode: string;
    public DiPDecisionReason: string;
    public DiPDealerMessage: string;

    public constructor(init?: Partial<DiPReasons>) { (Object as any).assign(this, init); }
}

export class DiPDetails
{
    public DiPCustomerId: string;
    public DiPTimestamp: string;
    public DiPRequestID: string;
    public DiPDecisionType: string;
    public DiPPrimaryDecisionCode: string;
    public DiPDecisionDescription: string;
    public DipDecisionDescriptionCode: string;
    public DipPrimaryDecisionReason: string;
    public DiPPrimaryDecisionReasonDealerMessage: string;
    public diPReasons: DiPReasons[];

    public constructor(init?: Partial<DiPDetails>) { (Object as any).assign(this, init); }
}

// @DataContract
export class CreateOCAv2Request
{
    // @DataMember
    public Username: string;

    // @DataMember
    public Timestamp: string;

    // @DataMember
    public Token: string;

    // @DataMember
    public GeneralDetails: GeneralDetailsv2;

    // @DataMember
    public FinanceDetails: FinanceDetailsv2;

    // @DataMember
    public VehicleDetails: VehicleDetailsv2;

    // @DataMember
    public DeliveryDetails: DeliveryDetailsv2;

    // @DataMember
    public ExistingVehicleDetails: ExistingVehicleDetailsv2;

    // @DataMember
    public InsuranceDetails: InsuranceDetails;

    // @DataMember
    public CreditApplicationIndividual: CreditApplicationIndividualV2;

    // @DataMember
    public CreditApplicationBusiness: CreditApplicationBusinessV2;

    // @DataMember
    public PaymentDetails: PaymentDetails;

    // @DataMember
    public Notes: NoteDetails[];

    // @DataMember
    public DiPDetails: DiPDetails;

    public constructor(init?: Partial<CreateOCAv2Request>) { (Object as any).assign(this, init); }
}

TypeScript 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}