| PUT | /CreateOCA/ |
|---|
"use strict";
export class CreateOCARequestResponse {
/** @param {{Code?:string,Message?:string,URN?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Code;
/** @type {string} */
Message;
/** @type {number} */
URN;
}
export class GeneralDetails {
/** @param {{OCAApprovalNumber?:string,EnquiryDateTime?:string,Brand?:number,CustomerReferenceNumber?:string,CustomerType?:string,SourceofBusiness?:string,TagURL?:string,RequestSource?:number,FormID?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
OCAApprovalNumber;
/** @type {string} */
EnquiryDateTime;
/** @type {number} */
Brand;
/** @type {string} */
CustomerReferenceNumber;
/** @type {string} */
CustomerType;
/** @type {string} */
SourceofBusiness;
/** @type {string} */
TagURL;
/** @type {number} */
RequestSource;
/** @type {string} */
FormID;
}
export class FinanceDetails {
/** @param {{FinancialProduct?:string,Duration?:number,PaymentRentalAmount?:number,AnnualMileage?:number,ExcessMileageRate?:number,CustomerDepositContribution?:number,RetailerDepositContribution?:number,ManufacturerDepositContribution?:number,TotalDepositContribution?:number,CostForCredit?:number,PurchaseActivationFee?:number,TotalAmountPayable?:number,FixedInterestRate?:number,RepresentativeAPR?:number,OptionalPurchasePayment?:number,AdvancedRentalAmount?:number,PaymentProfile?:string,RandMIncluded?:string,RandMLevel?:string,ProductType?:string,Frequency?:string,PauseType?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
FinancialProduct;
/** @type {number} */
Duration;
/** @type {number} */
PaymentRentalAmount;
/** @type {number} */
AnnualMileage;
/** @type {number} */
ExcessMileageRate;
/** @type {?number} */
CustomerDepositContribution;
/** @type {?number} */
RetailerDepositContribution;
/** @type {?number} */
ManufacturerDepositContribution;
/** @type {?number} */
TotalDepositContribution;
/** @type {?number} */
CostForCredit;
/** @type {?number} */
PurchaseActivationFee;
/** @type {?number} */
TotalAmountPayable;
/** @type {?number} */
FixedInterestRate;
/** @type {?number} */
RepresentativeAPR;
/** @type {?number} */
OptionalPurchasePayment;
/** @type {number} */
AdvancedRentalAmount;
/** @type {string} */
PaymentProfile;
/** @type {string} */
RandMIncluded;
/** @type {string} */
RandMLevel;
/** @type {string} */
ProductType;
/** @type {string} */
Frequency;
/** @type {string} */
PauseType;
}
export class ModelOptionDetails {
/** @param {{Seq?:number,Code?:string,Description?:string,Price?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Seq;
/** @type {string} */
Code;
/** @type {string} */
Description;
/** @type {number} */
Price;
}
export class VehicleDetails {
/** @param {{OnlineCode?:string,ModelClass?:string,ModelBody?:string,ModelDerivative?:string,TotalPrice?:number,OTRPrice?:number,VIN?:string,RegNo?:string,CurrentMileage?:number,FirstRegistrationDate?:string,NewUsedFlag?:string,NewVehicleModelOptionDetails?:ModelOptionDetails[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
OnlineCode;
/** @type {string} */
ModelClass;
/** @type {string} */
ModelBody;
/** @type {string} */
ModelDerivative;
/** @type {number} */
TotalPrice;
/** @type {number} */
OTRPrice;
/** @type {string} */
VIN;
/** @type {string} */
RegNo;
/** @type {number} */
CurrentMileage;
/** @type {string} */
FirstRegistrationDate;
/** @type {string} */
NewUsedFlag;
/** @type {ModelOptionDetails[]} */
NewVehicleModelOptionDetails;
}
export class DeliveryDetails {
/** @param {{DealerCode?:string,DeliveryPreference?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
DealerCode;
/** @type {string} */
DeliveryPreference;
}
export class ExistingVehicleDetails {
/** @param {{TradeInFlag?:string,TradeInValue?:number,TradeInRegNo?:string,SettlementFlag?:string,SettlementValue?:number,SettlementRegNo?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
TradeInFlag;
/** @type {number} */
TradeInValue;
/** @type {string} */
TradeInRegNo;
/** @type {string} */
SettlementFlag;
/** @type {number} */
SettlementValue;
/** @type {string} */
SettlementRegNo;
}
export class AddressWithTimeLine {
/** @param {{AddressLine1?:string,AddressLine2?:string,AddressLine3?:string,Town?:string,County?:string,Country?:string,Postcode?:string,Duration?:string,DateStarted?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
AddressLine1;
/** @type {string} */
AddressLine2;
/** @type {string} */
AddressLine3;
/** @type {string} */
Town;
/** @type {string} */
County;
/** @type {string} */
Country;
/** @type {string} */
Postcode;
/** @type {string} */
Duration;
/** @type {string} */
DateStarted;
}
export class PreviousAddress {
/** @param {{Seq?:number,Address?:AddressWithTimeLine}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Seq;
/** @type {AddressWithTimeLine} */
Address;
}
export class Address {
/** @param {{AddressLine1?:string,AddressLine2?:string,AddressLine3?:string,AddressLine4?:string,AddressLine5?:string,Postcode?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
AddressLine1;
/** @type {string} */
AddressLine2;
/** @type {string} */
AddressLine3;
/** @type {string} */
AddressLine4;
/** @type {string} */
AddressLine5;
/** @type {string} */
Postcode;
}
export class EmployerDetails {
/** @param {{EmploymentType?:string,EmployersName?:string,Occupation?:string,EmployersAddress?:AddressWithTimeLine}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
EmploymentType;
/** @type {string} */
EmployersName;
/** @type {string} */
Occupation;
/** @type {AddressWithTimeLine} */
EmployersAddress;
}
export class CurrentEmploymentDetails {
/** @param {{EmployerDetails?:EmployerDetails,MonthsAtEmployer?:string,DateEmploymentCommenced?:string,AnnualIncome?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {EmployerDetails} */
EmployerDetails;
/** @type {string} */
MonthsAtEmployer;
/** @type {string} */
DateEmploymentCommenced;
/** @type {string} */
AnnualIncome;
}
export class PreviousEmployment {
/** @param {{Seq?:number,previousEmployment?:EmployerDetails}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Seq;
/** @type {EmployerDetails} */
previousEmployment;
}
export class CreditApplicationIndividual {
/** @param {{Title?:string,Initial?:string,FirstName?:string,Surname?:string,DateofBirth?:string,Gender?:string,MaritalStatus?:string,ResidentialStatus?:string,CurrentAddress?:AddressWithTimeLine,PreviousAddresses?:PreviousAddress[],HomePhone?:string,MobilePhone?:string,WorkPhone?:string,Email?:string,BankSortCode?:string,BankAccountNumber?:string,BankAccountName?:string,BankName?:string,BankAddress?:Address,DoNotEmail?:string,DoNotMail?:string,DoNotPhone?:string,DoNotSMS?:string,DrivingLicenceNumber?:string,CurrentEmploymentDetails?:CurrentEmploymentDetails,PreviousEmploymentDetails?:PreviousEmployment[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Title;
/** @type {string} */
Initial;
/** @type {string} */
FirstName;
/** @type {string} */
Surname;
/** @type {string} */
DateofBirth;
/** @type {string} */
Gender;
/** @type {string} */
MaritalStatus;
/** @type {string} */
ResidentialStatus;
/** @type {AddressWithTimeLine} */
CurrentAddress;
/** @type {PreviousAddress[]} */
PreviousAddresses;
/** @type {string} */
HomePhone;
/** @type {string} */
MobilePhone;
/** @type {string} */
WorkPhone;
/** @type {string} */
Email;
/** @type {string} */
BankSortCode;
/** @type {string} */
BankAccountNumber;
/** @type {string} */
BankAccountName;
/** @type {string} */
BankName;
/** @type {Address} */
BankAddress;
/** @type {string} */
DoNotEmail;
/** @type {string} */
DoNotMail;
/** @type {string} */
DoNotPhone;
/** @type {string} */
DoNotSMS;
/** @type {string} */
DrivingLicenceNumber;
/** @type {CurrentEmploymentDetails} */
CurrentEmploymentDetails;
/** @type {PreviousEmployment[]} */
PreviousEmploymentDetails;
}
export class BusinessPartner {
/** @param {{Seq?:number,Title?:string,Initial?:string,FirstName?:string,Surname?:string,DateofBirth?:string,Gender?:string,MaritalStatus?:string,ResidentialStatus?:string,CurrentAddress?:AddressWithTimeLine,PreviousAddresses?:PreviousAddress[],HomePhone?:string,MobilePhone?:string,BusinessPhone?:string,Relationship?:string,Email?:string,CurrentEmploymentDetails?:CurrentEmploymentDetails,PreviousEmploymentDetails?:PreviousEmployment[],PartnerType?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Seq;
/** @type {string} */
Title;
/** @type {string} */
Initial;
/** @type {string} */
FirstName;
/** @type {string} */
Surname;
/** @type {string} */
DateofBirth;
/** @type {string} */
Gender;
/** @type {string} */
MaritalStatus;
/** @type {string} */
ResidentialStatus;
/** @type {AddressWithTimeLine} */
CurrentAddress;
/** @type {PreviousAddress[]} */
PreviousAddresses;
/** @type {string} */
HomePhone;
/** @type {string} */
MobilePhone;
/** @type {string} */
BusinessPhone;
/** @type {string} */
Relationship;
/** @type {string} */
Email;
/** @type {CurrentEmploymentDetails} */
CurrentEmploymentDetails;
/** @type {PreviousEmployment[]} */
PreviousEmploymentDetails;
/** @type {string} */
PartnerType;
}
export class CreditApplicationBusiness {
/** @param {{TypeOfBusiness?:string,BusinessContactPosition?:string,Title?:string,Initial?:string,FirstName?:string,Surname?:string,CurrentHomeAddress?:AddressWithTimeLine,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?:number,YearsTrading?:number,Position?:string,BankSortCode?:string,BankAccountNumber?:string,BankAccountName?:string,BankName?:string,BankAddress?:Address,NumberofPartners?:number,BusinessPartners?:BusinessPartner[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
TypeOfBusiness;
/** @type {string} */
BusinessContactPosition;
/** @type {string} */
Title;
/** @type {string} */
Initial;
/** @type {string} */
FirstName;
/** @type {string} */
Surname;
/** @type {AddressWithTimeLine} */
CurrentHomeAddress;
/** @type {string} */
HomePhone;
/** @type {string} */
WorkPhone;
/** @type {string} */
MobilePhone;
/** @type {string} */
Email;
/** @type {string} */
DoNotEmail;
/** @type {string} */
DoNotMail;
/** @type {string} */
DoNotPhone;
/** @type {string} */
DoNotSMS;
/** @type {string} */
CompanyName;
/** @type {string} */
CompanyRegistrationNumber;
/** @type {string} */
TradingAs;
/** @type {string} */
BusinessActivity;
/** @type {number} */
NumberOfEmployees;
/** @type {number} */
YearsTrading;
/** @type {string} */
Position;
/** @type {string} */
BankSortCode;
/** @type {string} */
BankAccountNumber;
/** @type {string} */
BankAccountName;
/** @type {string} */
BankName;
/** @type {Address} */
BankAddress;
/** @type {number} */
NumberofPartners;
/** @type {BusinessPartner[]} */
BusinessPartners;
}
export class PaymentDetail {
/** @param {{Seq?:number,PaymentType?:string,AmountPaid?:number,PaymentTransactionID?:string,Description?:string,PaymentDateTime?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Seq;
/** @type {string} */
PaymentType;
/** @type {number} */
AmountPaid;
/** @type {string} */
PaymentTransactionID;
/** @type {string} */
Description;
/** @type {string} */
PaymentDateTime;
}
export class PaymentDetails {
/** @param {{paymentDetails?:PaymentDetail[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {PaymentDetail[]} */
paymentDetails;
}
export class DiPReasons {
/** @param {{DipReasonSeq?:number,DipDecisionCode?:string,DiPDecisionReason?:string,DiPDealerMessage?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
DipReasonSeq;
/** @type {string} */
DipDecisionCode;
/** @type {string} */
DiPDecisionReason;
/** @type {string} */
DiPDealerMessage;
}
export class DiPDetails {
/** @param {{DiPCustomerId?:string,DiPTimestamp?:string,DiPRequestID?:string,DiPDecisionType?:string,DiPPrimaryDecisionCode?:string,DiPDecisionDescription?:string,DipDecisionDescriptionCode?:string,DipPrimaryDecisionReason?:string,DiPPrimaryDecisionReasonDealerMessage?:string,diPReasons?:DiPReasons[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
DiPCustomerId;
/** @type {string} */
DiPTimestamp;
/** @type {string} */
DiPRequestID;
/** @type {string} */
DiPDecisionType;
/** @type {string} */
DiPPrimaryDecisionCode;
/** @type {string} */
DiPDecisionDescription;
/** @type {string} */
DipDecisionDescriptionCode;
/** @type {string} */
DipPrimaryDecisionReason;
/** @type {string} */
DiPPrimaryDecisionReasonDealerMessage;
/** @type {DiPReasons[]} */
diPReasons;
}
export class CreateOCARequest {
/** @param {{Username?:string,Timestamp?:string,Token?:string,GeneralDetails?:GeneralDetails,FinanceDetails?:FinanceDetails,VehicleDetails?:VehicleDetails,DeliveryDetails?:DeliveryDetails,ExistingVehicleDetails?:ExistingVehicleDetails,CreditApplicationIndividual?:CreditApplicationIndividual,CreditApplicationBusiness?:CreditApplicationBusiness,PaymentDetails?:PaymentDetails,DiPDetails?:DiPDetails}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Username;
/** @type {string} */
Timestamp;
/** @type {string} */
Token;
/** @type {GeneralDetails} */
GeneralDetails;
/** @type {FinanceDetails} */
FinanceDetails;
/** @type {VehicleDetails} */
VehicleDetails;
/** @type {DeliveryDetails} */
DeliveryDetails;
/** @type {ExistingVehicleDetails} */
ExistingVehicleDetails;
/** @type {CreditApplicationIndividual} */
CreditApplicationIndividual;
/** @type {CreditApplicationBusiness} */
CreditApplicationBusiness;
/** @type {PaymentDetails} */
PaymentDetails;
/** @type {DiPDetails} */
DiPDetails;
}
JavaScript CreateOCARequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
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/jsonl
Content-Type: text/jsonl
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/jsonl
Content-Length: length
{"Code":"String","Message":"String","URN":0}