MBOnlineCreditApplicationService

<back to all web services

CreateOCARequest

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

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

    // @DataMember
    public Message?: string;

    // @DataMember
    public URN?: number;

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

export class GeneralDetails
{
    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 constructor(init?: Partial<GeneralDetails>) { (Object as any).assign(this, init); }
}

export class FinanceDetails
{
    public FinancialProduct?: string;
    public Duration?: number;
    public PaymentRentalAmount?: number;
    public AnnualMileage?: number;
    public ExcessMileageRate?: number;
    public CustomerDepositContribution?: number;
    public RetailerDepositContribution?: number;
    public ManufacturerDepositContribution?: number;
    public TotalDepositContribution?: number;
    public CostForCredit?: number;
    public PurchaseActivationFee?: number;
    public TotalAmountPayable?: number;
    public FixedInterestRate?: number;
    public RepresentativeAPR?: number;
    public OptionalPurchasePayment?: number;
    public AdvancedRentalAmount?: number;
    public PaymentProfile?: string;
    public RandMIncluded?: string;
    public RandMLevel?: string;
    public ProductType?: string;
    public Frequency?: string;
    public PauseType?: string;

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

export class VehicleDetails
{
    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 CurrentMileage?: number;
    public FirstRegistrationDate?: string;
    public NewUsedFlag?: string;
    public NewVehicleModelOptionDetails?: ModelOptionDetails[];

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

export class DeliveryDetails
{
    public DealerCode?: string;
    public DeliveryPreference?: string;

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

export class ExistingVehicleDetails
{
    public TradeInFlag?: string;
    public TradeInValue?: number;
    public TradeInRegNo?: string;
    public SettlementFlag?: string;
    public SettlementValue?: number;
    public SettlementRegNo?: string;

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

export class AddressWithTimeLine
{
    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 constructor(init?: Partial<AddressWithTimeLine>) { (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 EmployerDetails
{
    public EmploymentType?: string;
    public EmployersName?: string;
    public Occupation?: string;
    public EmployersAddress?: AddressWithTimeLine;

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

export class CurrentEmploymentDetails
{
    public EmployerDetails?: EmployerDetails;
    public MonthsAtEmployer?: string;
    public DateEmploymentCommenced?: string;
    public AnnualIncome?: string;

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

export class CreditApplicationIndividual
{
    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?: AddressWithTimeLine;
    public PreviousAddresses?: PreviousAddress[];
    public HomePhone?: string;
    public MobilePhone?: string;
    public WorkPhone?: string;
    public Email?: string;
    public BankSortCode?: string;
    public BankAccountNumber?: string;
    public BankAccountName?: string;
    public BankName?: string;
    public BankAddress?: Address;
    public DoNotEmail?: string;
    public DoNotMail?: string;
    public DoNotPhone?: string;
    public DoNotSMS?: string;
    public DrivingLicenceNumber?: string;
    public CurrentEmploymentDetails?: CurrentEmploymentDetails;
    public PreviousEmploymentDetails?: PreviousEmployment[];

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

export class CreditApplicationBusiness
{
    public TypeOfBusiness?: string;
    public BusinessContactPosition?: string;
    public Title?: string;
    public Initial?: string;
    public FirstName?: string;
    public Surname?: string;
    public CurrentHomeAddress?: AddressWithTimeLine;
    public HomePhone?: string;
    public WorkPhone?: string;
    public MobilePhone?: string;
    public Email?: string;
    public DoNotEmail?: string;
    public DoNotMail?: string;
    public DoNotPhone?: string;
    public DoNotSMS?: 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?: BusinessPartner[];

    public constructor(init?: Partial<CreditApplicationBusiness>) { (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 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 CreateOCARequest
{
    // @DataMember
    public Username?: string;

    // @DataMember
    public Timestamp?: string;

    // @DataMember
    public Token?: string;

    // @DataMember
    public GeneralDetails?: GeneralDetails;

    // @DataMember
    public FinanceDetails?: FinanceDetails;

    // @DataMember
    public VehicleDetails?: VehicleDetails;

    // @DataMember
    public DeliveryDetails?: DeliveryDetails;

    // @DataMember
    public ExistingVehicleDetails?: ExistingVehicleDetails;

    // @DataMember
    public CreditApplicationIndividual?: CreditApplicationIndividual;

    // @DataMember
    public CreditApplicationBusiness?: CreditApplicationBusiness;

    // @DataMember
    public PaymentDetails?: PaymentDetails;

    // @DataMember
    public DiPDetails?: DiPDetails;

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

export class ModelOptionDetails
{
    public Seq?: number;
    public Code?: string;
    public Description?: string;
    public Price?: number;

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

export class PreviousAddress
{
    public Seq?: number;
    public Address?: AddressWithTimeLine;

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

export class PreviousEmployment
{
    public Seq?: number;
    public previousEmployment?: EmployerDetails;

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

export class BusinessPartner
{
    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?: AddressWithTimeLine;
    public PreviousAddresses?: PreviousAddress[];
    public HomePhone?: string;
    public MobilePhone?: string;
    public BusinessPhone?: string;
    public Relationship?: string;
    public Email?: string;
    public CurrentEmploymentDetails?: CurrentEmploymentDetails;
    public PreviousEmploymentDetails?: PreviousEmployment[];
    public PartnerType?: string;

    public constructor(init?: Partial<BusinessPartner>) { (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 DiPReasons
{
    public DipReasonSeq?: number;
    public DipDecisionCode?: string;
    public DiPDecisionReason?: string;
    public DiPDealerMessage?: string;

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

TypeScript CreateOCARequest DTOs

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

HTTP + CSV

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

PUT /CreateOCA/ 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"},"DoNotEmail":"String","DoNotMail":"String","DoNotPhone":"String","DoNotSMS":"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"}}}]},"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","DoNotEmail":"String","DoNotMail":"String","DoNotPhone":"String","DoNotSMS":"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"}]},"PaymentDetails":{"paymentDetails":[{"Seq":0,"PaymentType":"String","AmountPaid":0,"PaymentTransactionID":"String","Description":"String","PaymentDateTime":"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: text/csv
Content-Length: length

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