/* Options: Date: 2025-06-26 01:44:28 Version: 6.00 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: http://webservices.mbukdatabase.co.uk/MBOnlineCreditApplicationService //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateOCAv2Request.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class PaymentDetails { public paymentDetails: PaymentDetail[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class DiPDetails { public DiPCustomerId: string; public DiPTimestamp: string; public DiPRequestID: string; public DiPDecisionType: string; public DiPPrimaryDecisionCode: string; public DiPDecisionDescription: string; public DipDecisionDescriptionCode: string; public DipPrimaryDecisionReason: string; public DiPPrimaryDecisionReasonDealerMessage: string; public diPReasons: DiPReasons[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class GeneralDetailsv2 { public OCAApprovalNumber: string; public EnquiryDateTime: string; public Brand: number; public CustomerReferenceNumber: string; public CustomerType: string; public SourceofBusiness: string; public TagURL: string; public RequestSource: number; public FormID: string; public ProposalCreated: string; public LoadFullData: string; public ProposalNumber: string; public POSSystem: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class FinanceDetailsv2 { public FinancialProduct: string; public CampaignCode: string; public PhoenixFinanceProductCode: string; public Fixed: string; public FleetNonFleet: string; public RFLCover: string; public Duration: number; public PaymentRentalAmount: number; public RentalAmountExcVAT?: number; public AdvanceArrears: string; public AnnualMileage: number; public ExcessMileageRate: number; public CustomerDepositContribution?: number; public RetailerDepositContribution?: number; public RetailerDepositContributionNet?: number; public ManufacturerDepositContribution?: number; public ManufacturerDepositContributionNet?: number; public TotalDepositContribution?: number; public LumpSum?: number; public CostForCredit?: number; public PurchaseActivationFee?: number; public TotalAmountPayable?: number; public FixedInterestRate?: number; public RepresentativeAPR?: number; public TrueFlatRate: string; public RVReferenceNumber: string; public OptionalPurchasePayment?: number; public AdvancedRentalAmount: number; public NumberofAdvanceRentals: string; public PaymentProfile: string; public RandMIncluded: string; public RandMLevel: string; public ProductType: string; public Frequency: string; public PauseType: string; public EqualsFinance?: number; public AcceptanceFee?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class VehicleDetailsv2 { public OnlineCode: string; public ModelClass: string; public ModelBody: string; public ModelDerivative: string; public TotalPrice: number; public OTRPrice: number; public VIN: string; public RegNo: string; public CommissionNumber: string; public EngineNumber: string; public CurrentMileage: number; public MilesKilometers: string; public FirstRegistrationDate: string; public NewUsedFlag: string; public NewVehicleModelOptionDetails: ModelOptionDetailsv2[]; public VID: string; public Baumuster: string; public VehiclePrice?: number; public TotalVAT?: number; public OLEVGrant?: number; public ExtrasTotalExcVAT?: number; public CombinedCO2: string; public VehicleVATTickBox: string; public FirstYearRFLIncluded: string; public FirstYearRFLAmount?: number; public FirstRegFeeIncludedFlag: string; public FirstRegFeeAmount?: number; public HighLowVEDSupplementFlag: string; public LeaseRFLSubsequentYears: string; public LeaseRFLSubsequentYearsAmount?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class DeliveryDetailsv2 { public DealerCode: string; public DeliveryPreference: string; public DeliveryDate: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ExistingVehicleDetailsv2 { public TradeInFlag: string; public TradeInIncludedInCalc: string; public TradeInValue: number; public TradeInValueNet?: number; public TradeInRegNo: string; public TradeInVIN: string; public TradeInMileage?: number; public TradeInCondition: string; public SettlementFlag: string; public SettlementIncludedInCalc: string; public SettlementValue: number; public SettlementValueNet: number; public SettlementRegNo: string; public SettlementVIN: string; public SettlementMileage?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class InsuranceDetails { public InterestedInFirstCoverFlag: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AddressWithTimeLinev2 { public AddressLine1: string; public AddressLine2: string; public AddressLine3: string; public Town: string; public County: string; public Country: string; public Postcode: string; public Duration: string; public DateStarted: string; public TotalNumberOfMonths: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Address { public AddressLine1: string; public AddressLine2: string; public AddressLine3: string; public AddressLine4: string; public AddressLine5: string; public Postcode: string; public constructor(init?: Partial
) { (Object as any).assign(this, init); } } export class EmployerDetailsv2 { public EmploymentType: string; public EmployersName: string; public Occupation: string; public EmployersAddress: AddressWithTimeLinev2; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CurrentEmploymentDetailsv2 { public EmployerDetails: EmployerDetailsv2; public MonthsAtEmployer: string; public DateEmploymentCommenced: string; public AnnualIncome: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class MarketingPreference { public OptInMail: string; public OptInTelephone: string; public OptInEmail: string; public OptInSMS: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CreditApplicationIndividualV2 { public Title: string; public Initial: string; public FirstName: string; public Surname: string; public DateofBirth: string; public Gender: string; public MaritalStatus: string; public ResidentialStatus: string; public CurrentAddress: AddressWithTimeLinev2; public PreviousAddresses: PreviousAddressv2[]; public HomePhone: string; public MobilePhone: string; public WorkPhone: string; public ContactAtWork: string; public Email: string; public BankSortCode: string; public BankAccountNumber: string; public BankAccountName: string; public BankName: string; public BankAddress: Address; public BankPaymentType: string; public DrivingLicenceNumber: string; public CurrentEmploymentDetails: CurrentEmploymentDetailsv2; public PreviousEmploymentDetails: PreviousEmploymentv2[]; public MarketingPreference: MarketingPreference; public CreditCheckConsent: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CreditApplicationBusinessV2 { public TypeOfBusiness: string; public BusinessContactPosition: string; public Title: string; public Initial: string; public FirstName: string; public Surname: string; public CurrentHomeAddress: AddressWithTimeLinev2; public HomePhone: string; public WorkPhone: string; public MobilePhone: string; public Email: string; public CompanyName: string; public CompanyRegistrationNumber: string; public TradingAs: string; public BusinessActivity: string; public NumberOfEmployees: number; public YearsTrading: number; public Position: string; public BankSortCode: string; public BankAccountNumber: string; public BankAccountName: string; public BankName: string; public BankAddress: Address; public NumberofPartners: number; public BusinessPartners: BusinessPartnerv2[]; public MarketingPreference: MarketingPreference; public PreviousAddresses: PreviousAddressv2[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class CreateOCAv2RequestResponse { // @DataMember public Code: string; // @DataMember public Message: string; // @DataMember public URN: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/CreateOCAv2/", "PUT") // @DataContract export class CreateOCAv2Request implements IReturn { // @DataMember public Username: string; // @DataMember public Timestamp: string; // @DataMember public Token: string; // @DataMember public GeneralDetails: GeneralDetailsv2; // @DataMember public FinanceDetails: FinanceDetailsv2; // @DataMember public VehicleDetails: VehicleDetailsv2; // @DataMember public DeliveryDetails: DeliveryDetailsv2; // @DataMember public ExistingVehicleDetails: ExistingVehicleDetailsv2; // @DataMember public InsuranceDetails: InsuranceDetails; // @DataMember public CreditApplicationIndividual: CreditApplicationIndividualV2; // @DataMember public CreditApplicationBusiness: CreditApplicationBusinessV2; // @DataMember public PaymentDetails: PaymentDetails; // @DataMember public Notes: NoteDetails[]; // @DataMember public DiPDetails: DiPDetails; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'CreateOCAv2Request'; } public getMethod() { return 'PUT'; } public createResponse() { return new CreateOCAv2RequestResponse(); } }