PUT | /CreateOCA/ |
---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using MBOnlineCreditApplicationService.CreateOCA;
using MBOnlineCreditApplicationService.BusinessLib.DomainClasses;
namespace MBOnlineCreditApplicationService.BusinessLib.DomainClasses
{
public partial class Address
{
public virtual string AddressLine1 { get; set; }
public virtual string AddressLine2 { get; set; }
public virtual string AddressLine3 { get; set; }
public virtual string AddressLine4 { get; set; }
public virtual string AddressLine5 { get; set; }
public virtual string Postcode { get; set; }
}
public partial class AddressWithTimeLine
{
public virtual string AddressLine1 { get; set; }
public virtual string AddressLine2 { get; set; }
public virtual string AddressLine3 { get; set; }
public virtual string Town { get; set; }
public virtual string County { get; set; }
public virtual string Country { get; set; }
public virtual string Postcode { get; set; }
public virtual string Duration { get; set; }
public virtual string DateStarted { get; set; }
}
public partial class BusinessPartner
{
public BusinessPartner()
{
PreviousAddresses = new PreviousAddress[]{};
PreviousEmploymentDetails = new PreviousEmployment[]{};
}
public virtual int Seq { get; set; }
public virtual string Title { get; set; }
public virtual string Initial { get; set; }
public virtual string FirstName { get; set; }
public virtual string Surname { get; set; }
public virtual string DateofBirth { get; set; }
public virtual string Gender { get; set; }
public virtual string MaritalStatus { get; set; }
public virtual string ResidentialStatus { get; set; }
public virtual AddressWithTimeLine CurrentAddress { get; set; }
public virtual PreviousAddress[] PreviousAddresses { get; set; }
public virtual string HomePhone { get; set; }
public virtual string MobilePhone { get; set; }
public virtual string BusinessPhone { get; set; }
public virtual string Relationship { get; set; }
public virtual string Email { get; set; }
public virtual CurrentEmploymentDetails CurrentEmploymentDetails { get; set; }
public virtual PreviousEmployment[] PreviousEmploymentDetails { get; set; }
public virtual string PartnerType { get; set; }
}
public partial class CreditApplicationBusiness
{
public CreditApplicationBusiness()
{
BusinessPartners = new BusinessPartner[]{};
}
public virtual string TypeOfBusiness { get; set; }
public virtual string BusinessContactPosition { get; set; }
public virtual string Title { get; set; }
public virtual string Initial { get; set; }
public virtual string FirstName { get; set; }
public virtual string Surname { get; set; }
public virtual AddressWithTimeLine CurrentHomeAddress { get; set; }
public virtual string HomePhone { get; set; }
public virtual string WorkPhone { get; set; }
public virtual string MobilePhone { get; set; }
public virtual string Email { get; set; }
public virtual string DoNotEmail { get; set; }
public virtual string DoNotMail { get; set; }
public virtual string DoNotPhone { get; set; }
public virtual string DoNotSMS { get; set; }
public virtual string CompanyName { get; set; }
public virtual string CompanyRegistrationNumber { get; set; }
public virtual string TradingAs { get; set; }
public virtual string BusinessActivity { get; set; }
public virtual int NumberOfEmployees { get; set; }
public virtual int YearsTrading { get; set; }
public virtual string Position { get; set; }
public virtual string BankSortCode { get; set; }
public virtual string BankAccountNumber { get; set; }
public virtual string BankAccountName { get; set; }
public virtual string BankName { get; set; }
public virtual Address BankAddress { get; set; }
public virtual int NumberofPartners { get; set; }
public virtual BusinessPartner[] BusinessPartners { get; set; }
}
public partial class CreditApplicationIndividual
{
public CreditApplicationIndividual()
{
PreviousAddresses = new PreviousAddress[]{};
PreviousEmploymentDetails = new PreviousEmployment[]{};
}
public virtual string Title { get; set; }
public virtual string Initial { get; set; }
public virtual string FirstName { get; set; }
public virtual string Surname { get; set; }
public virtual string DateofBirth { get; set; }
public virtual string Gender { get; set; }
public virtual string MaritalStatus { get; set; }
public virtual string ResidentialStatus { get; set; }
public virtual AddressWithTimeLine CurrentAddress { get; set; }
public virtual PreviousAddress[] PreviousAddresses { get; set; }
public virtual string HomePhone { get; set; }
public virtual string MobilePhone { get; set; }
public virtual string WorkPhone { get; set; }
public virtual string Email { get; set; }
public virtual string BankSortCode { get; set; }
public virtual string BankAccountNumber { get; set; }
public virtual string BankAccountName { get; set; }
public virtual string BankName { get; set; }
public virtual Address BankAddress { get; set; }
public virtual string DoNotEmail { get; set; }
public virtual string DoNotMail { get; set; }
public virtual string DoNotPhone { get; set; }
public virtual string DoNotSMS { get; set; }
public virtual string DrivingLicenceNumber { get; set; }
public virtual CurrentEmploymentDetails CurrentEmploymentDetails { get; set; }
public virtual PreviousEmployment[] PreviousEmploymentDetails { get; set; }
}
public partial class CurrentEmploymentDetails
{
public virtual EmployerDetails EmployerDetails { get; set; }
public virtual string MonthsAtEmployer { get; set; }
public virtual string DateEmploymentCommenced { get; set; }
public virtual string AnnualIncome { get; set; }
}
public partial class DeliveryDetails
{
public virtual string DealerCode { get; set; }
public virtual string DeliveryPreference { get; set; }
}
public partial class DiPDetails
{
public DiPDetails()
{
diPReasons = new DiPReasons[]{};
}
public virtual string DiPCustomerId { get; set; }
public virtual string DiPTimestamp { get; set; }
public virtual string DiPRequestID { get; set; }
public virtual string DiPDecisionType { get; set; }
public virtual string DiPPrimaryDecisionCode { get; set; }
public virtual string DiPDecisionDescription { get; set; }
public virtual string DipDecisionDescriptionCode { get; set; }
public virtual string DipPrimaryDecisionReason { get; set; }
public virtual string DiPPrimaryDecisionReasonDealerMessage { get; set; }
public virtual DiPReasons[] diPReasons { get; set; }
}
public partial class DiPReasons
{
public virtual int DipReasonSeq { get; set; }
public virtual string DipDecisionCode { get; set; }
public virtual string DiPDecisionReason { get; set; }
public virtual string DiPDealerMessage { get; set; }
}
public partial class EmployerDetails
{
public virtual string EmploymentType { get; set; }
public virtual string EmployersName { get; set; }
public virtual string Occupation { get; set; }
public virtual AddressWithTimeLine EmployersAddress { get; set; }
}
public partial class ExistingVehicleDetails
{
public virtual string TradeInFlag { get; set; }
public virtual decimal TradeInValue { get; set; }
public virtual string TradeInRegNo { get; set; }
public virtual string SettlementFlag { get; set; }
public virtual decimal SettlementValue { get; set; }
public virtual string SettlementRegNo { get; set; }
}
public partial class FinanceDetails
{
public virtual string FinancialProduct { get; set; }
public virtual int Duration { get; set; }
public virtual decimal PaymentRentalAmount { get; set; }
public virtual int AnnualMileage { get; set; }
public virtual decimal ExcessMileageRate { get; set; }
public virtual decimal? CustomerDepositContribution { get; set; }
public virtual decimal? RetailerDepositContribution { get; set; }
public virtual decimal? ManufacturerDepositContribution { get; set; }
public virtual decimal? TotalDepositContribution { get; set; }
public virtual decimal? CostForCredit { get; set; }
public virtual decimal? PurchaseActivationFee { get; set; }
public virtual decimal? TotalAmountPayable { get; set; }
public virtual decimal? FixedInterestRate { get; set; }
public virtual decimal? RepresentativeAPR { get; set; }
public virtual decimal? OptionalPurchasePayment { get; set; }
public virtual decimal AdvancedRentalAmount { get; set; }
public virtual string PaymentProfile { get; set; }
public virtual string RandMIncluded { get; set; }
public virtual string RandMLevel { get; set; }
public virtual string ProductType { get; set; }
public virtual string Frequency { get; set; }
public virtual string PauseType { get; set; }
}
public partial class GeneralDetails
{
public virtual string OCAApprovalNumber { get; set; }
public virtual string EnquiryDateTime { get; set; }
public virtual int Brand { get; set; }
public virtual string CustomerReferenceNumber { get; set; }
public virtual string CustomerType { get; set; }
public virtual string SourceofBusiness { get; set; }
public virtual string TagURL { get; set; }
public virtual int RequestSource { get; set; }
public virtual string FormID { get; set; }
}
public partial class ModelOptionDetails
{
public virtual int Seq { get; set; }
public virtual string Code { get; set; }
public virtual string Description { get; set; }
public virtual decimal Price { get; set; }
}
public partial class PaymentDetail
{
public virtual int Seq { get; set; }
public virtual string PaymentType { get; set; }
public virtual decimal AmountPaid { get; set; }
public virtual string PaymentTransactionID { get; set; }
public virtual string Description { get; set; }
public virtual string PaymentDateTime { get; set; }
}
public partial class PaymentDetails
{
public PaymentDetails()
{
paymentDetails = new PaymentDetail[]{};
}
public virtual PaymentDetail[] paymentDetails { get; set; }
}
public partial class PreviousAddress
{
public virtual int Seq { get; set; }
public virtual AddressWithTimeLine Address { get; set; }
}
public partial class PreviousEmployment
{
public virtual int Seq { get; set; }
public virtual EmployerDetails previousEmployment { get; set; }
}
public partial class VehicleDetails
{
public VehicleDetails()
{
NewVehicleModelOptionDetails = new ModelOptionDetails[]{};
}
public virtual string OnlineCode { get; set; }
public virtual string ModelClass { get; set; }
public virtual string ModelBody { get; set; }
public virtual string ModelDerivative { get; set; }
public virtual decimal TotalPrice { get; set; }
public virtual decimal OTRPrice { get; set; }
public virtual string VIN { get; set; }
public virtual string RegNo { get; set; }
public virtual int CurrentMileage { get; set; }
public virtual string FirstRegistrationDate { get; set; }
public virtual string NewUsedFlag { get; set; }
public virtual ModelOptionDetails[] NewVehicleModelOptionDetails { get; set; }
}
}
namespace MBOnlineCreditApplicationService.CreateOCA
{
[DataContract]
public partial class CreateOCARequest
{
[DataMember]
public virtual string Username { get; set; }
[DataMember]
public virtual string Timestamp { get; set; }
[DataMember]
public virtual string Token { get; set; }
[DataMember]
public virtual GeneralDetails GeneralDetails { get; set; }
[DataMember]
public virtual FinanceDetails FinanceDetails { get; set; }
[DataMember]
public virtual VehicleDetails VehicleDetails { get; set; }
[DataMember]
public virtual DeliveryDetails DeliveryDetails { get; set; }
[DataMember]
public virtual ExistingVehicleDetails ExistingVehicleDetails { get; set; }
[DataMember]
public virtual CreditApplicationIndividual CreditApplicationIndividual { get; set; }
[DataMember]
public virtual CreditApplicationBusiness CreditApplicationBusiness { get; set; }
[DataMember]
public virtual PaymentDetails PaymentDetails { get; set; }
[DataMember]
public virtual DiPDetails DiPDetails { get; set; }
}
[DataContract]
public partial class CreateOCARequestResponse
{
[DataMember]
public virtual string Code { get; set; }
[DataMember]
public virtual string Message { get; set; }
[DataMember]
public virtual int URN { get; set; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PUT /CreateOCA/ HTTP/1.1
Host: webservices.mbukdatabase.co.uk
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"Username":"String","Timestamp":"String","Token":"String","GeneralDetails":{"OCAApprovalNumber":"String","EnquiryDateTime":"String","Brand":0,"CustomerReferenceNumber":"String","CustomerType":"String","SourceofBusiness":"String","TagURL":"String","RequestSource":0,"FormID":"String"},"FinanceDetails":{"FinancialProduct":"String","Duration":0,"PaymentRentalAmount":0,"AnnualMileage":0,"ExcessMileageRate":0,"CustomerDepositContribution":0,"RetailerDepositContribution":0,"ManufacturerDepositContribution":0,"TotalDepositContribution":0,"CostForCredit":0,"PurchaseActivationFee":0,"TotalAmountPayable":0,"FixedInterestRate":0,"RepresentativeAPR":0,"OptionalPurchasePayment":0,"AdvancedRentalAmount":0,"PaymentProfile":"String","RandMIncluded":"String","RandMLevel":"String","ProductType":"String","Frequency":"String","PauseType":"String"},"VehicleDetails":{"OnlineCode":"String","ModelClass":"String","ModelBody":"String","ModelDerivative":"String","TotalPrice":0,"OTRPrice":0,"VIN":"String","RegNo":"String","CurrentMileage":0,"FirstRegistrationDate":"String","NewUsedFlag":"String","NewVehicleModelOptionDetails":[{"Seq":0,"Code":"String","Description":"String","Price":0}]},"DeliveryDetails":{"DealerCode":"String","DeliveryPreference":"String"},"ExistingVehicleDetails":{"TradeInFlag":"String","TradeInValue":0,"TradeInRegNo":"String","SettlementFlag":"String","SettlementValue":0,"SettlementRegNo":"String"},"CreditApplicationIndividual":{"Title":"String","Initial":"String","FirstName":"String","Surname":"String","DateofBirth":"String","Gender":"String","MaritalStatus":"String","ResidentialStatus":"String","CurrentAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"},"PreviousAddresses":[{"Seq":0,"Address":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"}}],"HomePhone":"String","MobilePhone":"String","WorkPhone":"String","Email":"String","BankSortCode":"String","BankAccountNumber":"String","BankAccountName":"String","BankName":"String","BankAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","AddressLine4":"String","AddressLine5":"String","Postcode":"String"},"DoNotEmail":"String","DoNotMail":"String","DoNotPhone":"String","DoNotSMS":"String","DrivingLicenceNumber":"String","CurrentEmploymentDetails":{"EmployerDetails":{"EmploymentType":"String","EmployersName":"String","Occupation":"String","EmployersAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"}},"MonthsAtEmployer":"String","DateEmploymentCommenced":"String","AnnualIncome":"String"},"PreviousEmploymentDetails":[{"Seq":0,"previousEmployment":{"EmploymentType":"String","EmployersName":"String","Occupation":"String","EmployersAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"}}}]},"CreditApplicationBusiness":{"TypeOfBusiness":"String","BusinessContactPosition":"String","Title":"String","Initial":"String","FirstName":"String","Surname":"String","CurrentHomeAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"},"HomePhone":"String","WorkPhone":"String","MobilePhone":"String","Email":"String","DoNotEmail":"String","DoNotMail":"String","DoNotPhone":"String","DoNotSMS":"String","CompanyName":"String","CompanyRegistrationNumber":"String","TradingAs":"String","BusinessActivity":"String","NumberOfEmployees":0,"YearsTrading":0,"Position":"String","BankSortCode":"String","BankAccountNumber":"String","BankAccountName":"String","BankName":"String","BankAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","AddressLine4":"String","AddressLine5":"String","Postcode":"String"},"NumberofPartners":0,"BusinessPartners":[{"Seq":0,"Title":"String","Initial":"String","FirstName":"String","Surname":"String","DateofBirth":"String","Gender":"String","MaritalStatus":"String","ResidentialStatus":"String","CurrentAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"},"PreviousAddresses":[{"Seq":0,"Address":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"}}],"HomePhone":"String","MobilePhone":"String","BusinessPhone":"String","Relationship":"String","Email":"String","CurrentEmploymentDetails":{"EmployerDetails":{"EmploymentType":"String","EmployersName":"String","Occupation":"String","EmployersAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"}},"MonthsAtEmployer":"String","DateEmploymentCommenced":"String","AnnualIncome":"String"},"PreviousEmploymentDetails":[{"Seq":0,"previousEmployment":{"EmploymentType":"String","EmployersName":"String","Occupation":"String","EmployersAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"}}}],"PartnerType":"String"}]},"PaymentDetails":{"paymentDetails":[{"Seq":0,"PaymentType":"String","AmountPaid":0,"PaymentTransactionID":"String","Description":"String","PaymentDateTime":"String"}]},"DiPDetails":{"DiPCustomerId":"String","DiPTimestamp":"String","DiPRequestID":"String","DiPDecisionType":"String","DiPPrimaryDecisionCode":"String","DiPDecisionDescription":"String","DipDecisionDescriptionCode":"String","DipPrimaryDecisionReason":"String","DiPPrimaryDecisionReasonDealerMessage":"String","diPReasons":[{"DipReasonSeq":0,"DipDecisionCode":"String","DiPDecisionReason":"String","DiPDealerMessage":"String"}]}}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"Code":"String","Message":"String","URN":0}