MBOnlineCreditApplicationService

<back to all web services

CreateVanOCARequest

The following routes are available for this service:
PUT/CreateVanOCA/
import 'package:servicestack/servicestack.dart';

// @DataContract
class CreateVanOCARequestResponse implements IConvertible
{
    // @DataMember
    String? Code;

    // @DataMember
    String? Message;

    // @DataMember
    int? URN;

    CreateVanOCARequestResponse({this.Code,this.Message,this.URN});
    CreateVanOCARequestResponse.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() => "CreateVanOCARequestResponse";
    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 MarketingPreference implements IConvertible
{
    String? OptInMail;
    String? OptInTelephone;
    String? OptInEmail;
    String? OptInSMS;

    MarketingPreference({this.OptInMail,this.OptInTelephone,this.OptInEmail,this.OptInSMS});
    MarketingPreference.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        OptInMail = json['OptInMail'];
        OptInTelephone = json['OptInTelephone'];
        OptInEmail = json['OptInEmail'];
        OptInSMS = json['OptInSMS'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'OptInMail': OptInMail,
        'OptInTelephone': OptInTelephone,
        'OptInEmail': OptInEmail,
        'OptInSMS': OptInSMS
    };

    getTypeName() => "MarketingPreference";
    TypeContext? context = _ctx;
}

class CreditApplicationIndividualVans 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? DrivingLicenceNumber;
    CurrentEmploymentDetails? CurrentEmploymentDetails;
    List<PreviousEmployment>? PreviousEmploymentDetails;
    MarketingPreference? MarketingPreference;

    CreditApplicationIndividualVans({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.DrivingLicenceNumber,this.CurrentEmploymentDetails,this.PreviousEmploymentDetails,this.MarketingPreference});
    CreditApplicationIndividualVans.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!);
        DrivingLicenceNumber = json['DrivingLicenceNumber'];
        CurrentEmploymentDetails = JsonConverters.fromJson(json['CurrentEmploymentDetails'],'CurrentEmploymentDetails',context!);
        PreviousEmploymentDetails = JsonConverters.fromJson(json['PreviousEmploymentDetails'],'List<PreviousEmployment>',context!);
        MarketingPreference = JsonConverters.fromJson(json['MarketingPreference'],'MarketingPreference',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!),
        'DrivingLicenceNumber': DrivingLicenceNumber,
        'CurrentEmploymentDetails': JsonConverters.toJson(CurrentEmploymentDetails,'CurrentEmploymentDetails',context!),
        'PreviousEmploymentDetails': JsonConverters.toJson(PreviousEmploymentDetails,'List<PreviousEmployment>',context!),
        'MarketingPreference': JsonConverters.toJson(MarketingPreference,'MarketingPreference',context!)
    };

    getTypeName() => "CreditApplicationIndividualVans";
    TypeContext? context = _ctx;
}

class CreditApplicationBusinessVans 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? 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;
    MarketingPreference? MarketingPreference;
    List<PreviousAddress>? PreviousAddresses;

    CreditApplicationBusinessVans({this.TypeOfBusiness,this.BusinessContactPosition,this.Title,this.Initial,this.FirstName,this.Surname,this.CurrentHomeAddress,this.HomePhone,this.WorkPhone,this.MobilePhone,this.Email,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,this.MarketingPreference,this.PreviousAddresses});
    CreditApplicationBusinessVans.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'];
        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!);
        MarketingPreference = JsonConverters.fromJson(json['MarketingPreference'],'MarketingPreference',context!);
        PreviousAddresses = JsonConverters.fromJson(json['PreviousAddresses'],'List<PreviousAddress>',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,
        '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!),
        'MarketingPreference': JsonConverters.toJson(MarketingPreference,'MarketingPreference',context!),
        'PreviousAddresses': JsonConverters.toJson(PreviousAddresses,'List<PreviousAddress>',context!)
    };

    getTypeName() => "CreditApplicationBusinessVans";
    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;
}

// @DataContract
class CreateVanOCARequest 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
    CreditApplicationIndividualVans? CreditApplicationIndividual;

    // @DataMember
    CreditApplicationBusinessVans? CreditApplicationBusiness;

    // @DataMember
    PaymentDetails? PaymentDetails;

    // @DataMember
    List<NoteDetails>? Notes;

    CreateVanOCARequest({this.Username,this.Timestamp,this.Token,this.GeneralDetails,this.FinanceDetails,this.VehicleDetails,this.DeliveryDetails,this.ExistingVehicleDetails,this.CreditApplicationIndividual,this.CreditApplicationBusiness,this.PaymentDetails,this.Notes});
    CreateVanOCARequest.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'],'CreditApplicationIndividualVans',context!);
        CreditApplicationBusiness = JsonConverters.fromJson(json['CreditApplicationBusiness'],'CreditApplicationBusinessVans',context!);
        PaymentDetails = JsonConverters.fromJson(json['PaymentDetails'],'PaymentDetails',context!);
        Notes = JsonConverters.fromJson(json['Notes'],'List<NoteDetails>',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,'CreditApplicationIndividualVans',context!),
        'CreditApplicationBusiness': JsonConverters.toJson(CreditApplicationBusiness,'CreditApplicationBusinessVans',context!),
        'PaymentDetails': JsonConverters.toJson(PaymentDetails,'PaymentDetails',context!),
        'Notes': JsonConverters.toJson(Notes,'List<NoteDetails>',context!)
    };

    getTypeName() => "CreateVanOCARequest";
    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 NoteDetails implements IConvertible
{
    int? Seq;
    String? Note;

    NoteDetails({this.Seq,this.Note});
    NoteDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Seq = json['Seq'];
        Note = json['Note'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Seq': Seq,
        'Note': Note
    };

    getTypeName() => "NoteDetails";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'webservices.mbukdatabase.co.uk', types: <String, TypeInfo> {
    'CreateVanOCARequestResponse': TypeInfo(TypeOf.Class, create:() => CreateVanOCARequestResponse()),
    '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()),
    'MarketingPreference': TypeInfo(TypeOf.Class, create:() => MarketingPreference()),
    'CreditApplicationIndividualVans': TypeInfo(TypeOf.Class, create:() => CreditApplicationIndividualVans()),
    '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()),
    'CreditApplicationBusinessVans': TypeInfo(TypeOf.Class, create:() => CreditApplicationBusinessVans()),
    '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()),
    'CreateVanOCARequest': TypeInfo(TypeOf.Class, create:() => CreateVanOCARequest()),
    'List<NoteDetails>': TypeInfo(TypeOf.Class, create:() => <NoteDetails>[]),
    'NoteDetails': TypeInfo(TypeOf.Class, create:() => NoteDetails()),
});

Dart CreateVanOCARequest 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 /CreateVanOCA/ 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"},"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"}}}],"MarketingPreference":{"OptInMail":"String","OptInTelephone":"String","OptInEmail":"String","OptInSMS":"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","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"}],"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"}}]},"PaymentDetails":{"paymentDetails":[{"Seq":0,"PaymentType":"String","AmountPaid":0,"PaymentTransactionID":"String","Description":"String","PaymentDateTime":"String"}]},"Notes":[{"Seq":0,"Note":"String"}]}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

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