PUT | /CreateOCA/ |
---|
import 'package:servicestack/servicestack.dart';
// @DataContract
class CreateOCARequestResponse implements IConvertible
{
// @DataMember
String? Code;
// @DataMember
String? Message;
// @DataMember
int? URN;
CreateOCARequestResponse({this.Code,this.Message,this.URN});
CreateOCARequestResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Code = json['Code'];
Message = json['Message'];
URN = json['URN'];
return this;
}
Map<String, dynamic> toJson() => {
'Code': Code,
'Message': Message,
'URN': URN
};
getTypeName() => "CreateOCARequestResponse";
TypeContext? context = _ctx;
}
class GeneralDetails implements IConvertible
{
String? OCAApprovalNumber;
String? EnquiryDateTime;
int? Brand;
String? CustomerReferenceNumber;
String? CustomerType;
String? SourceofBusiness;
String? TagURL;
int? RequestSource;
String? FormID;
GeneralDetails({this.OCAApprovalNumber,this.EnquiryDateTime,this.Brand,this.CustomerReferenceNumber,this.CustomerType,this.SourceofBusiness,this.TagURL,this.RequestSource,this.FormID});
GeneralDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
OCAApprovalNumber = json['OCAApprovalNumber'];
EnquiryDateTime = json['EnquiryDateTime'];
Brand = json['Brand'];
CustomerReferenceNumber = json['CustomerReferenceNumber'];
CustomerType = json['CustomerType'];
SourceofBusiness = json['SourceofBusiness'];
TagURL = json['TagURL'];
RequestSource = json['RequestSource'];
FormID = json['FormID'];
return this;
}
Map<String, dynamic> toJson() => {
'OCAApprovalNumber': OCAApprovalNumber,
'EnquiryDateTime': EnquiryDateTime,
'Brand': Brand,
'CustomerReferenceNumber': CustomerReferenceNumber,
'CustomerType': CustomerType,
'SourceofBusiness': SourceofBusiness,
'TagURL': TagURL,
'RequestSource': RequestSource,
'FormID': FormID
};
getTypeName() => "GeneralDetails";
TypeContext? context = _ctx;
}
class FinanceDetails implements IConvertible
{
String? FinancialProduct;
int? Duration;
double? PaymentRentalAmount;
int? AnnualMileage;
double? ExcessMileageRate;
double? CustomerDepositContribution;
double? RetailerDepositContribution;
double? ManufacturerDepositContribution;
double? TotalDepositContribution;
double? CostForCredit;
double? PurchaseActivationFee;
double? TotalAmountPayable;
double? FixedInterestRate;
double? RepresentativeAPR;
double? OptionalPurchasePayment;
double? AdvancedRentalAmount;
String? PaymentProfile;
String? RandMIncluded;
String? RandMLevel;
String? ProductType;
String? Frequency;
String? PauseType;
FinanceDetails({this.FinancialProduct,this.Duration,this.PaymentRentalAmount,this.AnnualMileage,this.ExcessMileageRate,this.CustomerDepositContribution,this.RetailerDepositContribution,this.ManufacturerDepositContribution,this.TotalDepositContribution,this.CostForCredit,this.PurchaseActivationFee,this.TotalAmountPayable,this.FixedInterestRate,this.RepresentativeAPR,this.OptionalPurchasePayment,this.AdvancedRentalAmount,this.PaymentProfile,this.RandMIncluded,this.RandMLevel,this.ProductType,this.Frequency,this.PauseType});
FinanceDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
FinancialProduct = json['FinancialProduct'];
Duration = json['Duration'];
PaymentRentalAmount = JsonConverters.toDouble(json['PaymentRentalAmount']);
AnnualMileage = json['AnnualMileage'];
ExcessMileageRate = JsonConverters.toDouble(json['ExcessMileageRate']);
CustomerDepositContribution = JsonConverters.toDouble(json['CustomerDepositContribution']);
RetailerDepositContribution = JsonConverters.toDouble(json['RetailerDepositContribution']);
ManufacturerDepositContribution = JsonConverters.toDouble(json['ManufacturerDepositContribution']);
TotalDepositContribution = JsonConverters.toDouble(json['TotalDepositContribution']);
CostForCredit = JsonConverters.toDouble(json['CostForCredit']);
PurchaseActivationFee = JsonConverters.toDouble(json['PurchaseActivationFee']);
TotalAmountPayable = JsonConverters.toDouble(json['TotalAmountPayable']);
FixedInterestRate = JsonConverters.toDouble(json['FixedInterestRate']);
RepresentativeAPR = JsonConverters.toDouble(json['RepresentativeAPR']);
OptionalPurchasePayment = JsonConverters.toDouble(json['OptionalPurchasePayment']);
AdvancedRentalAmount = JsonConverters.toDouble(json['AdvancedRentalAmount']);
PaymentProfile = json['PaymentProfile'];
RandMIncluded = json['RandMIncluded'];
RandMLevel = json['RandMLevel'];
ProductType = json['ProductType'];
Frequency = json['Frequency'];
PauseType = json['PauseType'];
return this;
}
Map<String, dynamic> toJson() => {
'FinancialProduct': FinancialProduct,
'Duration': Duration,
'PaymentRentalAmount': PaymentRentalAmount,
'AnnualMileage': AnnualMileage,
'ExcessMileageRate': ExcessMileageRate,
'CustomerDepositContribution': CustomerDepositContribution,
'RetailerDepositContribution': RetailerDepositContribution,
'ManufacturerDepositContribution': ManufacturerDepositContribution,
'TotalDepositContribution': TotalDepositContribution,
'CostForCredit': CostForCredit,
'PurchaseActivationFee': PurchaseActivationFee,
'TotalAmountPayable': TotalAmountPayable,
'FixedInterestRate': FixedInterestRate,
'RepresentativeAPR': RepresentativeAPR,
'OptionalPurchasePayment': OptionalPurchasePayment,
'AdvancedRentalAmount': AdvancedRentalAmount,
'PaymentProfile': PaymentProfile,
'RandMIncluded': RandMIncluded,
'RandMLevel': RandMLevel,
'ProductType': ProductType,
'Frequency': Frequency,
'PauseType': PauseType
};
getTypeName() => "FinanceDetails";
TypeContext? context = _ctx;
}
class VehicleDetails implements IConvertible
{
String? OnlineCode;
String? ModelClass;
String? ModelBody;
String? ModelDerivative;
double? TotalPrice;
double? OTRPrice;
String? VIN;
String? RegNo;
int? CurrentMileage;
String? FirstRegistrationDate;
String? NewUsedFlag;
List<ModelOptionDetails>? NewVehicleModelOptionDetails;
VehicleDetails({this.OnlineCode,this.ModelClass,this.ModelBody,this.ModelDerivative,this.TotalPrice,this.OTRPrice,this.VIN,this.RegNo,this.CurrentMileage,this.FirstRegistrationDate,this.NewUsedFlag,this.NewVehicleModelOptionDetails});
VehicleDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
OnlineCode = json['OnlineCode'];
ModelClass = json['ModelClass'];
ModelBody = json['ModelBody'];
ModelDerivative = json['ModelDerivative'];
TotalPrice = JsonConverters.toDouble(json['TotalPrice']);
OTRPrice = JsonConverters.toDouble(json['OTRPrice']);
VIN = json['VIN'];
RegNo = json['RegNo'];
CurrentMileage = json['CurrentMileage'];
FirstRegistrationDate = json['FirstRegistrationDate'];
NewUsedFlag = json['NewUsedFlag'];
NewVehicleModelOptionDetails = JsonConverters.fromJson(json['NewVehicleModelOptionDetails'],'List<ModelOptionDetails>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'OnlineCode': OnlineCode,
'ModelClass': ModelClass,
'ModelBody': ModelBody,
'ModelDerivative': ModelDerivative,
'TotalPrice': TotalPrice,
'OTRPrice': OTRPrice,
'VIN': VIN,
'RegNo': RegNo,
'CurrentMileage': CurrentMileage,
'FirstRegistrationDate': FirstRegistrationDate,
'NewUsedFlag': NewUsedFlag,
'NewVehicleModelOptionDetails': JsonConverters.toJson(NewVehicleModelOptionDetails,'List<ModelOptionDetails>',context!)
};
getTypeName() => "VehicleDetails";
TypeContext? context = _ctx;
}
class DeliveryDetails implements IConvertible
{
String? DealerCode;
String? DeliveryPreference;
DeliveryDetails({this.DealerCode,this.DeliveryPreference});
DeliveryDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
DealerCode = json['DealerCode'];
DeliveryPreference = json['DeliveryPreference'];
return this;
}
Map<String, dynamic> toJson() => {
'DealerCode': DealerCode,
'DeliveryPreference': DeliveryPreference
};
getTypeName() => "DeliveryDetails";
TypeContext? context = _ctx;
}
class ExistingVehicleDetails implements IConvertible
{
String? TradeInFlag;
double? TradeInValue;
String? TradeInRegNo;
String? SettlementFlag;
double? SettlementValue;
String? SettlementRegNo;
ExistingVehicleDetails({this.TradeInFlag,this.TradeInValue,this.TradeInRegNo,this.SettlementFlag,this.SettlementValue,this.SettlementRegNo});
ExistingVehicleDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
TradeInFlag = json['TradeInFlag'];
TradeInValue = JsonConverters.toDouble(json['TradeInValue']);
TradeInRegNo = json['TradeInRegNo'];
SettlementFlag = json['SettlementFlag'];
SettlementValue = JsonConverters.toDouble(json['SettlementValue']);
SettlementRegNo = json['SettlementRegNo'];
return this;
}
Map<String, dynamic> toJson() => {
'TradeInFlag': TradeInFlag,
'TradeInValue': TradeInValue,
'TradeInRegNo': TradeInRegNo,
'SettlementFlag': SettlementFlag,
'SettlementValue': SettlementValue,
'SettlementRegNo': SettlementRegNo
};
getTypeName() => "ExistingVehicleDetails";
TypeContext? context = _ctx;
}
class AddressWithTimeLine implements IConvertible
{
String? AddressLine1;
String? AddressLine2;
String? AddressLine3;
String? Town;
String? County;
String? Country;
String? Postcode;
String? Duration;
String? DateStarted;
AddressWithTimeLine({this.AddressLine1,this.AddressLine2,this.AddressLine3,this.Town,this.County,this.Country,this.Postcode,this.Duration,this.DateStarted});
AddressWithTimeLine.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
AddressLine1 = json['AddressLine1'];
AddressLine2 = json['AddressLine2'];
AddressLine3 = json['AddressLine3'];
Town = json['Town'];
County = json['County'];
Country = json['Country'];
Postcode = json['Postcode'];
Duration = json['Duration'];
DateStarted = json['DateStarted'];
return this;
}
Map<String, dynamic> toJson() => {
'AddressLine1': AddressLine1,
'AddressLine2': AddressLine2,
'AddressLine3': AddressLine3,
'Town': Town,
'County': County,
'Country': Country,
'Postcode': Postcode,
'Duration': Duration,
'DateStarted': DateStarted
};
getTypeName() => "AddressWithTimeLine";
TypeContext? context = _ctx;
}
class Address implements IConvertible
{
String? AddressLine1;
String? AddressLine2;
String? AddressLine3;
String? AddressLine4;
String? AddressLine5;
String? Postcode;
Address({this.AddressLine1,this.AddressLine2,this.AddressLine3,this.AddressLine4,this.AddressLine5,this.Postcode});
Address.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
AddressLine1 = json['AddressLine1'];
AddressLine2 = json['AddressLine2'];
AddressLine3 = json['AddressLine3'];
AddressLine4 = json['AddressLine4'];
AddressLine5 = json['AddressLine5'];
Postcode = json['Postcode'];
return this;
}
Map<String, dynamic> toJson() => {
'AddressLine1': AddressLine1,
'AddressLine2': AddressLine2,
'AddressLine3': AddressLine3,
'AddressLine4': AddressLine4,
'AddressLine5': AddressLine5,
'Postcode': Postcode
};
getTypeName() => "Address";
TypeContext? context = _ctx;
}
class EmployerDetails implements IConvertible
{
String? EmploymentType;
String? EmployersName;
String? Occupation;
AddressWithTimeLine? EmployersAddress;
EmployerDetails({this.EmploymentType,this.EmployersName,this.Occupation,this.EmployersAddress});
EmployerDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
EmploymentType = json['EmploymentType'];
EmployersName = json['EmployersName'];
Occupation = json['Occupation'];
EmployersAddress = JsonConverters.fromJson(json['EmployersAddress'],'AddressWithTimeLine',context!);
return this;
}
Map<String, dynamic> toJson() => {
'EmploymentType': EmploymentType,
'EmployersName': EmployersName,
'Occupation': Occupation,
'EmployersAddress': JsonConverters.toJson(EmployersAddress,'AddressWithTimeLine',context!)
};
getTypeName() => "EmployerDetails";
TypeContext? context = _ctx;
}
class CurrentEmploymentDetails implements IConvertible
{
EmployerDetails? EmployerDetails;
String? MonthsAtEmployer;
String? DateEmploymentCommenced;
String? AnnualIncome;
CurrentEmploymentDetails({this.EmployerDetails,this.MonthsAtEmployer,this.DateEmploymentCommenced,this.AnnualIncome});
CurrentEmploymentDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
EmployerDetails = JsonConverters.fromJson(json['EmployerDetails'],'EmployerDetails',context!);
MonthsAtEmployer = json['MonthsAtEmployer'];
DateEmploymentCommenced = json['DateEmploymentCommenced'];
AnnualIncome = json['AnnualIncome'];
return this;
}
Map<String, dynamic> toJson() => {
'EmployerDetails': JsonConverters.toJson(EmployerDetails,'EmployerDetails',context!),
'MonthsAtEmployer': MonthsAtEmployer,
'DateEmploymentCommenced': DateEmploymentCommenced,
'AnnualIncome': AnnualIncome
};
getTypeName() => "CurrentEmploymentDetails";
TypeContext? context = _ctx;
}
class CreditApplicationIndividual implements IConvertible
{
String? Title;
String? Initial;
String? FirstName;
String? Surname;
String? DateofBirth;
String? Gender;
String? MaritalStatus;
String? ResidentialStatus;
AddressWithTimeLine? CurrentAddress;
List<PreviousAddress>? PreviousAddresses;
String? HomePhone;
String? MobilePhone;
String? WorkPhone;
String? Email;
String? BankSortCode;
String? BankAccountNumber;
String? BankAccountName;
String? BankName;
Address? BankAddress;
String? DoNotEmail;
String? DoNotMail;
String? DoNotPhone;
String? DoNotSMS;
String? DrivingLicenceNumber;
CurrentEmploymentDetails? CurrentEmploymentDetails;
List<PreviousEmployment>? PreviousEmploymentDetails;
CreditApplicationIndividual({this.Title,this.Initial,this.FirstName,this.Surname,this.DateofBirth,this.Gender,this.MaritalStatus,this.ResidentialStatus,this.CurrentAddress,this.PreviousAddresses,this.HomePhone,this.MobilePhone,this.WorkPhone,this.Email,this.BankSortCode,this.BankAccountNumber,this.BankAccountName,this.BankName,this.BankAddress,this.DoNotEmail,this.DoNotMail,this.DoNotPhone,this.DoNotSMS,this.DrivingLicenceNumber,this.CurrentEmploymentDetails,this.PreviousEmploymentDetails});
CreditApplicationIndividual.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Title = json['Title'];
Initial = json['Initial'];
FirstName = json['FirstName'];
Surname = json['Surname'];
DateofBirth = json['DateofBirth'];
Gender = json['Gender'];
MaritalStatus = json['MaritalStatus'];
ResidentialStatus = json['ResidentialStatus'];
CurrentAddress = JsonConverters.fromJson(json['CurrentAddress'],'AddressWithTimeLine',context!);
PreviousAddresses = JsonConverters.fromJson(json['PreviousAddresses'],'List<PreviousAddress>',context!);
HomePhone = json['HomePhone'];
MobilePhone = json['MobilePhone'];
WorkPhone = json['WorkPhone'];
Email = json['Email'];
BankSortCode = json['BankSortCode'];
BankAccountNumber = json['BankAccountNumber'];
BankAccountName = json['BankAccountName'];
BankName = json['BankName'];
BankAddress = JsonConverters.fromJson(json['BankAddress'],'Address',context!);
DoNotEmail = json['DoNotEmail'];
DoNotMail = json['DoNotMail'];
DoNotPhone = json['DoNotPhone'];
DoNotSMS = json['DoNotSMS'];
DrivingLicenceNumber = json['DrivingLicenceNumber'];
CurrentEmploymentDetails = JsonConverters.fromJson(json['CurrentEmploymentDetails'],'CurrentEmploymentDetails',context!);
PreviousEmploymentDetails = JsonConverters.fromJson(json['PreviousEmploymentDetails'],'List<PreviousEmployment>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Title': Title,
'Initial': Initial,
'FirstName': FirstName,
'Surname': Surname,
'DateofBirth': DateofBirth,
'Gender': Gender,
'MaritalStatus': MaritalStatus,
'ResidentialStatus': ResidentialStatus,
'CurrentAddress': JsonConverters.toJson(CurrentAddress,'AddressWithTimeLine',context!),
'PreviousAddresses': JsonConverters.toJson(PreviousAddresses,'List<PreviousAddress>',context!),
'HomePhone': HomePhone,
'MobilePhone': MobilePhone,
'WorkPhone': WorkPhone,
'Email': Email,
'BankSortCode': BankSortCode,
'BankAccountNumber': BankAccountNumber,
'BankAccountName': BankAccountName,
'BankName': BankName,
'BankAddress': JsonConverters.toJson(BankAddress,'Address',context!),
'DoNotEmail': DoNotEmail,
'DoNotMail': DoNotMail,
'DoNotPhone': DoNotPhone,
'DoNotSMS': DoNotSMS,
'DrivingLicenceNumber': DrivingLicenceNumber,
'CurrentEmploymentDetails': JsonConverters.toJson(CurrentEmploymentDetails,'CurrentEmploymentDetails',context!),
'PreviousEmploymentDetails': JsonConverters.toJson(PreviousEmploymentDetails,'List<PreviousEmployment>',context!)
};
getTypeName() => "CreditApplicationIndividual";
TypeContext? context = _ctx;
}
class CreditApplicationBusiness implements IConvertible
{
String? TypeOfBusiness;
String? BusinessContactPosition;
String? Title;
String? Initial;
String? FirstName;
String? Surname;
AddressWithTimeLine? CurrentHomeAddress;
String? HomePhone;
String? WorkPhone;
String? MobilePhone;
String? Email;
String? DoNotEmail;
String? DoNotMail;
String? DoNotPhone;
String? DoNotSMS;
String? CompanyName;
String? CompanyRegistrationNumber;
String? TradingAs;
String? BusinessActivity;
int? NumberOfEmployees;
int? YearsTrading;
String? Position;
String? BankSortCode;
String? BankAccountNumber;
String? BankAccountName;
String? BankName;
Address? BankAddress;
int? NumberofPartners;
List<BusinessPartner>? BusinessPartners;
CreditApplicationBusiness({this.TypeOfBusiness,this.BusinessContactPosition,this.Title,this.Initial,this.FirstName,this.Surname,this.CurrentHomeAddress,this.HomePhone,this.WorkPhone,this.MobilePhone,this.Email,this.DoNotEmail,this.DoNotMail,this.DoNotPhone,this.DoNotSMS,this.CompanyName,this.CompanyRegistrationNumber,this.TradingAs,this.BusinessActivity,this.NumberOfEmployees,this.YearsTrading,this.Position,this.BankSortCode,this.BankAccountNumber,this.BankAccountName,this.BankName,this.BankAddress,this.NumberofPartners,this.BusinessPartners});
CreditApplicationBusiness.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
TypeOfBusiness = json['TypeOfBusiness'];
BusinessContactPosition = json['BusinessContactPosition'];
Title = json['Title'];
Initial = json['Initial'];
FirstName = json['FirstName'];
Surname = json['Surname'];
CurrentHomeAddress = JsonConverters.fromJson(json['CurrentHomeAddress'],'AddressWithTimeLine',context!);
HomePhone = json['HomePhone'];
WorkPhone = json['WorkPhone'];
MobilePhone = json['MobilePhone'];
Email = json['Email'];
DoNotEmail = json['DoNotEmail'];
DoNotMail = json['DoNotMail'];
DoNotPhone = json['DoNotPhone'];
DoNotSMS = json['DoNotSMS'];
CompanyName = json['CompanyName'];
CompanyRegistrationNumber = json['CompanyRegistrationNumber'];
TradingAs = json['TradingAs'];
BusinessActivity = json['BusinessActivity'];
NumberOfEmployees = json['NumberOfEmployees'];
YearsTrading = json['YearsTrading'];
Position = json['Position'];
BankSortCode = json['BankSortCode'];
BankAccountNumber = json['BankAccountNumber'];
BankAccountName = json['BankAccountName'];
BankName = json['BankName'];
BankAddress = JsonConverters.fromJson(json['BankAddress'],'Address',context!);
NumberofPartners = json['NumberofPartners'];
BusinessPartners = JsonConverters.fromJson(json['BusinessPartners'],'List<BusinessPartner>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'TypeOfBusiness': TypeOfBusiness,
'BusinessContactPosition': BusinessContactPosition,
'Title': Title,
'Initial': Initial,
'FirstName': FirstName,
'Surname': Surname,
'CurrentHomeAddress': JsonConverters.toJson(CurrentHomeAddress,'AddressWithTimeLine',context!),
'HomePhone': HomePhone,
'WorkPhone': WorkPhone,
'MobilePhone': MobilePhone,
'Email': Email,
'DoNotEmail': DoNotEmail,
'DoNotMail': DoNotMail,
'DoNotPhone': DoNotPhone,
'DoNotSMS': DoNotSMS,
'CompanyName': CompanyName,
'CompanyRegistrationNumber': CompanyRegistrationNumber,
'TradingAs': TradingAs,
'BusinessActivity': BusinessActivity,
'NumberOfEmployees': NumberOfEmployees,
'YearsTrading': YearsTrading,
'Position': Position,
'BankSortCode': BankSortCode,
'BankAccountNumber': BankAccountNumber,
'BankAccountName': BankAccountName,
'BankName': BankName,
'BankAddress': JsonConverters.toJson(BankAddress,'Address',context!),
'NumberofPartners': NumberofPartners,
'BusinessPartners': JsonConverters.toJson(BusinessPartners,'List<BusinessPartner>',context!)
};
getTypeName() => "CreditApplicationBusiness";
TypeContext? context = _ctx;
}
class PaymentDetails implements IConvertible
{
List<PaymentDetail>? paymentDetails;
PaymentDetails({this.paymentDetails});
PaymentDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
paymentDetails = JsonConverters.fromJson(json['paymentDetails'],'List<PaymentDetail>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'paymentDetails': JsonConverters.toJson(paymentDetails,'List<PaymentDetail>',context!)
};
getTypeName() => "PaymentDetails";
TypeContext? context = _ctx;
}
class DiPDetails implements IConvertible
{
String? DiPCustomerId;
String? DiPTimestamp;
String? DiPRequestID;
String? DiPDecisionType;
String? DiPPrimaryDecisionCode;
String? DiPDecisionDescription;
String? DipDecisionDescriptionCode;
String? DipPrimaryDecisionReason;
String? DiPPrimaryDecisionReasonDealerMessage;
List<DiPReasons>? diPReasons;
DiPDetails({this.DiPCustomerId,this.DiPTimestamp,this.DiPRequestID,this.DiPDecisionType,this.DiPPrimaryDecisionCode,this.DiPDecisionDescription,this.DipDecisionDescriptionCode,this.DipPrimaryDecisionReason,this.DiPPrimaryDecisionReasonDealerMessage,this.diPReasons});
DiPDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
DiPCustomerId = json['DiPCustomerId'];
DiPTimestamp = json['DiPTimestamp'];
DiPRequestID = json['DiPRequestID'];
DiPDecisionType = json['DiPDecisionType'];
DiPPrimaryDecisionCode = json['DiPPrimaryDecisionCode'];
DiPDecisionDescription = json['DiPDecisionDescription'];
DipDecisionDescriptionCode = json['DipDecisionDescriptionCode'];
DipPrimaryDecisionReason = json['DipPrimaryDecisionReason'];
DiPPrimaryDecisionReasonDealerMessage = json['DiPPrimaryDecisionReasonDealerMessage'];
diPReasons = JsonConverters.fromJson(json['diPReasons'],'List<DiPReasons>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'DiPCustomerId': DiPCustomerId,
'DiPTimestamp': DiPTimestamp,
'DiPRequestID': DiPRequestID,
'DiPDecisionType': DiPDecisionType,
'DiPPrimaryDecisionCode': DiPPrimaryDecisionCode,
'DiPDecisionDescription': DiPDecisionDescription,
'DipDecisionDescriptionCode': DipDecisionDescriptionCode,
'DipPrimaryDecisionReason': DipPrimaryDecisionReason,
'DiPPrimaryDecisionReasonDealerMessage': DiPPrimaryDecisionReasonDealerMessage,
'diPReasons': JsonConverters.toJson(diPReasons,'List<DiPReasons>',context!)
};
getTypeName() => "DiPDetails";
TypeContext? context = _ctx;
}
// @DataContract
class CreateOCARequest implements IConvertible
{
// @DataMember
String? Username;
// @DataMember
String? Timestamp;
// @DataMember
String? Token;
// @DataMember
GeneralDetails? GeneralDetails;
// @DataMember
FinanceDetails? FinanceDetails;
// @DataMember
VehicleDetails? VehicleDetails;
// @DataMember
DeliveryDetails? DeliveryDetails;
// @DataMember
ExistingVehicleDetails? ExistingVehicleDetails;
// @DataMember
CreditApplicationIndividual? CreditApplicationIndividual;
// @DataMember
CreditApplicationBusiness? CreditApplicationBusiness;
// @DataMember
PaymentDetails? PaymentDetails;
// @DataMember
DiPDetails? DiPDetails;
CreateOCARequest({this.Username,this.Timestamp,this.Token,this.GeneralDetails,this.FinanceDetails,this.VehicleDetails,this.DeliveryDetails,this.ExistingVehicleDetails,this.CreditApplicationIndividual,this.CreditApplicationBusiness,this.PaymentDetails,this.DiPDetails});
CreateOCARequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Username = json['Username'];
Timestamp = json['Timestamp'];
Token = json['Token'];
GeneralDetails = JsonConverters.fromJson(json['GeneralDetails'],'GeneralDetails',context!);
FinanceDetails = JsonConverters.fromJson(json['FinanceDetails'],'FinanceDetails',context!);
VehicleDetails = JsonConverters.fromJson(json['VehicleDetails'],'VehicleDetails',context!);
DeliveryDetails = JsonConverters.fromJson(json['DeliveryDetails'],'DeliveryDetails',context!);
ExistingVehicleDetails = JsonConverters.fromJson(json['ExistingVehicleDetails'],'ExistingVehicleDetails',context!);
CreditApplicationIndividual = JsonConverters.fromJson(json['CreditApplicationIndividual'],'CreditApplicationIndividual',context!);
CreditApplicationBusiness = JsonConverters.fromJson(json['CreditApplicationBusiness'],'CreditApplicationBusiness',context!);
PaymentDetails = JsonConverters.fromJson(json['PaymentDetails'],'PaymentDetails',context!);
DiPDetails = JsonConverters.fromJson(json['DiPDetails'],'DiPDetails',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Username': Username,
'Timestamp': Timestamp,
'Token': Token,
'GeneralDetails': JsonConverters.toJson(GeneralDetails,'GeneralDetails',context!),
'FinanceDetails': JsonConverters.toJson(FinanceDetails,'FinanceDetails',context!),
'VehicleDetails': JsonConverters.toJson(VehicleDetails,'VehicleDetails',context!),
'DeliveryDetails': JsonConverters.toJson(DeliveryDetails,'DeliveryDetails',context!),
'ExistingVehicleDetails': JsonConverters.toJson(ExistingVehicleDetails,'ExistingVehicleDetails',context!),
'CreditApplicationIndividual': JsonConverters.toJson(CreditApplicationIndividual,'CreditApplicationIndividual',context!),
'CreditApplicationBusiness': JsonConverters.toJson(CreditApplicationBusiness,'CreditApplicationBusiness',context!),
'PaymentDetails': JsonConverters.toJson(PaymentDetails,'PaymentDetails',context!),
'DiPDetails': JsonConverters.toJson(DiPDetails,'DiPDetails',context!)
};
getTypeName() => "CreateOCARequest";
TypeContext? context = _ctx;
}
class ModelOptionDetails implements IConvertible
{
int? Seq;
String? Code;
String? Description;
double? Price;
ModelOptionDetails({this.Seq,this.Code,this.Description,this.Price});
ModelOptionDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Seq = json['Seq'];
Code = json['Code'];
Description = json['Description'];
Price = JsonConverters.toDouble(json['Price']);
return this;
}
Map<String, dynamic> toJson() => {
'Seq': Seq,
'Code': Code,
'Description': Description,
'Price': Price
};
getTypeName() => "ModelOptionDetails";
TypeContext? context = _ctx;
}
class PreviousAddress implements IConvertible
{
int? Seq;
AddressWithTimeLine? Address;
PreviousAddress({this.Seq,this.Address});
PreviousAddress.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Seq = json['Seq'];
Address = JsonConverters.fromJson(json['Address'],'AddressWithTimeLine',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Seq': Seq,
'Address': JsonConverters.toJson(Address,'AddressWithTimeLine',context!)
};
getTypeName() => "PreviousAddress";
TypeContext? context = _ctx;
}
class PreviousEmployment implements IConvertible
{
int? Seq;
EmployerDetails? previousEmployment;
PreviousEmployment({this.Seq,this.previousEmployment});
PreviousEmployment.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Seq = json['Seq'];
previousEmployment = JsonConverters.fromJson(json['previousEmployment'],'EmployerDetails',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Seq': Seq,
'previousEmployment': JsonConverters.toJson(previousEmployment,'EmployerDetails',context!)
};
getTypeName() => "PreviousEmployment";
TypeContext? context = _ctx;
}
class BusinessPartner implements IConvertible
{
int? Seq;
String? Title;
String? Initial;
String? FirstName;
String? Surname;
String? DateofBirth;
String? Gender;
String? MaritalStatus;
String? ResidentialStatus;
AddressWithTimeLine? CurrentAddress;
List<PreviousAddress>? PreviousAddresses;
String? HomePhone;
String? MobilePhone;
String? BusinessPhone;
String? Relationship;
String? Email;
CurrentEmploymentDetails? CurrentEmploymentDetails;
List<PreviousEmployment>? PreviousEmploymentDetails;
String? PartnerType;
BusinessPartner({this.Seq,this.Title,this.Initial,this.FirstName,this.Surname,this.DateofBirth,this.Gender,this.MaritalStatus,this.ResidentialStatus,this.CurrentAddress,this.PreviousAddresses,this.HomePhone,this.MobilePhone,this.BusinessPhone,this.Relationship,this.Email,this.CurrentEmploymentDetails,this.PreviousEmploymentDetails,this.PartnerType});
BusinessPartner.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Seq = json['Seq'];
Title = json['Title'];
Initial = json['Initial'];
FirstName = json['FirstName'];
Surname = json['Surname'];
DateofBirth = json['DateofBirth'];
Gender = json['Gender'];
MaritalStatus = json['MaritalStatus'];
ResidentialStatus = json['ResidentialStatus'];
CurrentAddress = JsonConverters.fromJson(json['CurrentAddress'],'AddressWithTimeLine',context!);
PreviousAddresses = JsonConverters.fromJson(json['PreviousAddresses'],'List<PreviousAddress>',context!);
HomePhone = json['HomePhone'];
MobilePhone = json['MobilePhone'];
BusinessPhone = json['BusinessPhone'];
Relationship = json['Relationship'];
Email = json['Email'];
CurrentEmploymentDetails = JsonConverters.fromJson(json['CurrentEmploymentDetails'],'CurrentEmploymentDetails',context!);
PreviousEmploymentDetails = JsonConverters.fromJson(json['PreviousEmploymentDetails'],'List<PreviousEmployment>',context!);
PartnerType = json['PartnerType'];
return this;
}
Map<String, dynamic> toJson() => {
'Seq': Seq,
'Title': Title,
'Initial': Initial,
'FirstName': FirstName,
'Surname': Surname,
'DateofBirth': DateofBirth,
'Gender': Gender,
'MaritalStatus': MaritalStatus,
'ResidentialStatus': ResidentialStatus,
'CurrentAddress': JsonConverters.toJson(CurrentAddress,'AddressWithTimeLine',context!),
'PreviousAddresses': JsonConverters.toJson(PreviousAddresses,'List<PreviousAddress>',context!),
'HomePhone': HomePhone,
'MobilePhone': MobilePhone,
'BusinessPhone': BusinessPhone,
'Relationship': Relationship,
'Email': Email,
'CurrentEmploymentDetails': JsonConverters.toJson(CurrentEmploymentDetails,'CurrentEmploymentDetails',context!),
'PreviousEmploymentDetails': JsonConverters.toJson(PreviousEmploymentDetails,'List<PreviousEmployment>',context!),
'PartnerType': PartnerType
};
getTypeName() => "BusinessPartner";
TypeContext? context = _ctx;
}
class PaymentDetail implements IConvertible
{
int? Seq;
String? PaymentType;
double? AmountPaid;
String? PaymentTransactionID;
String? Description;
String? PaymentDateTime;
PaymentDetail({this.Seq,this.PaymentType,this.AmountPaid,this.PaymentTransactionID,this.Description,this.PaymentDateTime});
PaymentDetail.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Seq = json['Seq'];
PaymentType = json['PaymentType'];
AmountPaid = JsonConverters.toDouble(json['AmountPaid']);
PaymentTransactionID = json['PaymentTransactionID'];
Description = json['Description'];
PaymentDateTime = json['PaymentDateTime'];
return this;
}
Map<String, dynamic> toJson() => {
'Seq': Seq,
'PaymentType': PaymentType,
'AmountPaid': AmountPaid,
'PaymentTransactionID': PaymentTransactionID,
'Description': Description,
'PaymentDateTime': PaymentDateTime
};
getTypeName() => "PaymentDetail";
TypeContext? context = _ctx;
}
class DiPReasons implements IConvertible
{
int? DipReasonSeq;
String? DipDecisionCode;
String? DiPDecisionReason;
String? DiPDealerMessage;
DiPReasons({this.DipReasonSeq,this.DipDecisionCode,this.DiPDecisionReason,this.DiPDealerMessage});
DiPReasons.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
DipReasonSeq = json['DipReasonSeq'];
DipDecisionCode = json['DipDecisionCode'];
DiPDecisionReason = json['DiPDecisionReason'];
DiPDealerMessage = json['DiPDealerMessage'];
return this;
}
Map<String, dynamic> toJson() => {
'DipReasonSeq': DipReasonSeq,
'DipDecisionCode': DipDecisionCode,
'DiPDecisionReason': DiPDecisionReason,
'DiPDealerMessage': DiPDealerMessage
};
getTypeName() => "DiPReasons";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'webservices.mbukdatabase.co.uk', types: <String, TypeInfo> {
'CreateOCARequestResponse': TypeInfo(TypeOf.Class, create:() => CreateOCARequestResponse()),
'GeneralDetails': TypeInfo(TypeOf.Class, create:() => GeneralDetails()),
'FinanceDetails': TypeInfo(TypeOf.Class, create:() => FinanceDetails()),
'VehicleDetails': TypeInfo(TypeOf.Class, create:() => VehicleDetails()),
'List<ModelOptionDetails>': TypeInfo(TypeOf.Class, create:() => <ModelOptionDetails>[]),
'ModelOptionDetails': TypeInfo(TypeOf.Class, create:() => ModelOptionDetails()),
'DeliveryDetails': TypeInfo(TypeOf.Class, create:() => DeliveryDetails()),
'ExistingVehicleDetails': TypeInfo(TypeOf.Class, create:() => ExistingVehicleDetails()),
'AddressWithTimeLine': TypeInfo(TypeOf.Class, create:() => AddressWithTimeLine()),
'Address': TypeInfo(TypeOf.Class, create:() => Address()),
'EmployerDetails': TypeInfo(TypeOf.Class, create:() => EmployerDetails()),
'CurrentEmploymentDetails': TypeInfo(TypeOf.Class, create:() => CurrentEmploymentDetails()),
'CreditApplicationIndividual': TypeInfo(TypeOf.Class, create:() => CreditApplicationIndividual()),
'List<PreviousAddress>': TypeInfo(TypeOf.Class, create:() => <PreviousAddress>[]),
'PreviousAddress': TypeInfo(TypeOf.Class, create:() => PreviousAddress()),
'List<PreviousEmployment>': TypeInfo(TypeOf.Class, create:() => <PreviousEmployment>[]),
'PreviousEmployment': TypeInfo(TypeOf.Class, create:() => PreviousEmployment()),
'CreditApplicationBusiness': TypeInfo(TypeOf.Class, create:() => CreditApplicationBusiness()),
'List<BusinessPartner>': TypeInfo(TypeOf.Class, create:() => <BusinessPartner>[]),
'BusinessPartner': TypeInfo(TypeOf.Class, create:() => BusinessPartner()),
'PaymentDetails': TypeInfo(TypeOf.Class, create:() => PaymentDetails()),
'List<PaymentDetail>': TypeInfo(TypeOf.Class, create:() => <PaymentDetail>[]),
'PaymentDetail': TypeInfo(TypeOf.Class, create:() => PaymentDetail()),
'DiPDetails': TypeInfo(TypeOf.Class, create:() => DiPDetails()),
'List<DiPReasons>': TypeInfo(TypeOf.Class, create:() => <DiPReasons>[]),
'DiPReasons': TypeInfo(TypeOf.Class, create:() => DiPReasons()),
'CreateOCARequest': TypeInfo(TypeOf.Class, create:() => CreateOCARequest()),
});
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
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: 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"},"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: application/json Content-Length: length {"Code":"String","Message":"String","URN":0}