POST | /v1/pricingdetails | Creates a detailed pricing of a vehicle |
---|
export enum Source
{
OnlineShowroom = 1,
OneAdmin = 2,
}
export class Address
{
public Property: string;
public Street: string;
public Town: string;
public County: string;
public Locality: string;
public Postcode: string;
public constructor(init?: Partial<Address>) { (Object as any).assign(this, init); }
}
export enum CustomerMode
{
Private = 1,
Business = 2,
Motability = 3,
}
export class SalesforceCustomer implements ICustomer
{
public CustomerId: string;
public IsCiam: boolean;
public CompanyName: string;
public Title: string;
public Firstname: string;
public Surname: string;
public EmailAddress: string;
public Telephone: string;
public Address: Address;
public Mode: CustomerMode;
public constructor(init?: Partial<SalesforceCustomer>) { (Object as any).assign(this, init); }
}
export class Preferences
{
public OptinEmail: boolean;
public OptinPost: boolean;
public OptinSMS: boolean;
public OptinTelephone: boolean;
public constructor(init?: Partial<Preferences>) { (Object as any).assign(this, init); }
}
export class Customer extends SalesforceCustomer
{
public ProfileId?: string;
public Preferences?: Preferences;
public constructor(init?: Partial<Customer>) { super(init); (Object as any).assign(this, init); }
}
export class Vehicle
{
public Vin?: string;
public constructor(init?: Partial<Vehicle>) { (Object as any).assign(this, init); }
}
export class Option
{
public IsDefault: boolean;
public Value: number;
public constructor(init?: Partial<Option>) { (Object as any).assign(this, init); }
}
export class Term
{
public Options: Option[] = [];
public constructor(init?: Partial<Term>) { (Object as any).assign(this, init); }
}
export class Deposit
{
public Default: string;
public constructor(init?: Partial<Deposit>) { (Object as any).assign(this, init); }
}
export class Mileage
{
public Options: Option[] = [];
public constructor(init?: Partial<Mileage>) { (Object as any).assign(this, init); }
}
export class AdvanceRentals
{
public Options: Option[] = [];
public constructor(init?: Partial<AdvanceRentals>) { (Object as any).assign(this, init); }
}
export enum VehicleType
{
UNASSIGNED = 'UNASSIGNED',
NEW = 'NEW',
USED = 'USED',
}
export class FinanceCriteria
{
public Key: string;
public Name: string;
public Type: string;
public IsDefault: boolean;
public Term: Term;
public Deposit: Deposit;
public Mileage: Mileage;
public AdvanceRentals: AdvanceRentals;
public IsPersonalised: boolean;
public RegularPayment: string;
public PartExchange: string;
public Settlement: string;
public CustomerType: string;
public VehicleType: VehicleType;
public constructor(init?: Partial<FinanceCriteria>) { (Object as any).assign(this, init); }
}
export class OutrightPurchase
{
public IsOutrightPurchase: boolean;
public Reference: string;
public DiscountRate: number;
public Bm7NST: string;
public IsBackOrder: boolean;
public IsCOPConverter: boolean;
public constructor(init?: Partial<OutrightPurchase>) { (Object as any).assign(this, init); }
}
export enum MotabilityType
{
PIP = 1,
WPMS = 2,
UNASSIGNED = 3,
}
export class CreateOrderBase
{
public Source: Source;
public GssnId: string;
public AdditionalInformation: string;
public Cash: boolean;
public Finance: boolean;
public Customer: Customer;
public Vehicle: Vehicle;
public FinanceCriteria: FinanceCriteria;
public BackOrderGuid?: string;
public TagUrl?: string;
public OutrightPurchase?: OutrightPurchase;
public Motability: boolean;
public MotabilityPricingId?: number;
public FinanceApplicationReference: string;
public Specialist: boolean;
public GasId: string;
public PersonalisedItemOfferIds?: number[];
public SuggestedVin?: string;
public NonOptimumReason?: string;
public MotabilityType: MotabilityType;
public EstimatedHandoverDate: string;
public constructor(init?: Partial<CreateOrderBase>) { (Object as any).assign(this, init); }
}
export enum OfferPriceProductType
{
LIST_PRICE = 'LIST_PRICE',
NUMBER_PLATE_FEE = 'NUMBER_PLATE_FEE',
DELIVERY_CHARGE = 'DELIVERY_CHARGE',
FUEL_CHARGE = 'FUEL_CHARGE',
MANUFACTURER_OFFER = 'MANUFACTURER_OFFER',
PERSONALISED_MONEYOFFER = 'PERSONALISED_MONEYOFFER',
PERSONALISED_NONMONEYOFFER = 'PERSONALISED_NONMONEYOFFER',
PERSONALISED_NONMONEYOFFER_NEG = 'PERSONALISED_NONMONEYOFFER_NEG',
SERVICE = 'SERVICE',
SERVICE_NEG = 'SERVICE_NEG',
GOVERNMENT_GRANT = 'GOVERNMENT_GRANT',
OUTRIGHT_PURCHASE_DISCOUNT = 'OUTRIGHT_PURCHASE_DISCOUNT',
VIP_OFFER = 'VIP_OFFER',
WALLBOX_OFFER = 'WALLBOX_OFFER',
WALLBOX_OFFER_NEG = 'WALLBOX_OFFER_NEG',
ROAD_FUND_LICENCE = 'ROAD_FUND_LICENCE',
FIRST_REGISTRATION_FEE = 'FIRST_REGISTRATION_FEE',
NOT_FOUND = 'NOT_FOUND',
ACCESSORY_OFFER = 'ACCESSORY_OFFER',
ACCESSORY_OFFER_NEG = 'ACCESSORY_OFFER_NEG',
MOTABILITY_DISCOUNT = 'MOTABILITY_DISCOUNT',
}
export class Price
{
public Id: string;
public Description: string;
public Net: number;
public VAT: number;
public Gross: number;
public Product: OfferPriceProductType;
public constructor(init?: Partial<Price>) { (Object as any).assign(this, init); }
}
export class GetPricingDetailsResponse
{
public Price: Price;
public constructor(init?: Partial<GetPricingDetailsResponse>) { (Object as any).assign(this, init); }
}
export class GetPricingDetailsRequest extends CreateOrderBase implements IPost
{
public constructor(init?: Partial<GetPricingDetailsRequest>) { super(init); (Object as any).assign(this, init); }
}
TypeScript GetPricingDetailsRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/pricingdetails HTTP/1.1
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<GetPricingDetailsRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.ServiceModel.Pricing">
<AdditionalInformation xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">String</AdditionalInformation>
<BackOrderGuid xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">00000000-0000-0000-0000-000000000000</BackOrderGuid>
<Cash xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">false</Cash>
<Customer xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">
<d2p1:Address>
<d2p1:County>String</d2p1:County>
<d2p1:Locality>String</d2p1:Locality>
<d2p1:Postcode>String</d2p1:Postcode>
<d2p1:Property>String</d2p1:Property>
<d2p1:Street>String</d2p1:Street>
<d2p1:Town>String</d2p1:Town>
</d2p1:Address>
<d2p1:CompanyName>String</d2p1:CompanyName>
<d2p1:CustomerId>String</d2p1:CustomerId>
<d2p1:EmailAddress>String</d2p1:EmailAddress>
<d2p1:Firstname>String</d2p1:Firstname>
<d2p1:IsCiam>false</d2p1:IsCiam>
<d2p1:Mode>Private</d2p1:Mode>
<d2p1:Surname>String</d2p1:Surname>
<d2p1:Telephone>String</d2p1:Telephone>
<d2p1:Title>String</d2p1:Title>
<d2p1:Preferences>
<d2p1:OptinEmail>false</d2p1:OptinEmail>
<d2p1:OptinPost>false</d2p1:OptinPost>
<d2p1:OptinSMS>false</d2p1:OptinSMS>
<d2p1:OptinTelephone>false</d2p1:OptinTelephone>
</d2p1:Preferences>
<d2p1:ProfileId>00000000-0000-0000-0000-000000000000</d2p1:ProfileId>
</Customer>
<EstimatedHandoverDate xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">String</EstimatedHandoverDate>
<Finance xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">false</Finance>
<FinanceApplicationReference xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">String</FinanceApplicationReference>
<FinanceCriteria xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">
<d2p1:AdvanceRentals>
<d2p1:Options>
<d2p1:Option>
<d2p1:IsDefault>false</d2p1:IsDefault>
<d2p1:Value>0</d2p1:Value>
</d2p1:Option>
</d2p1:Options>
</d2p1:AdvanceRentals>
<d2p1:CustomerType>String</d2p1:CustomerType>
<d2p1:Deposit>
<d2p1:Default>String</d2p1:Default>
</d2p1:Deposit>
<d2p1:IsDefault>false</d2p1:IsDefault>
<d2p1:IsPersonalised>false</d2p1:IsPersonalised>
<d2p1:Key>String</d2p1:Key>
<d2p1:Mileage>
<d2p1:Options>
<d2p1:Option>
<d2p1:IsDefault>false</d2p1:IsDefault>
<d2p1:Value>0</d2p1:Value>
</d2p1:Option>
</d2p1:Options>
</d2p1:Mileage>
<d2p1:Name>String</d2p1:Name>
<d2p1:PartExchange>String</d2p1:PartExchange>
<d2p1:RegularPayment>String</d2p1:RegularPayment>
<d2p1:Settlement>String</d2p1:Settlement>
<d2p1:Term>
<d2p1:Options>
<d2p1:Option>
<d2p1:IsDefault>false</d2p1:IsDefault>
<d2p1:Value>0</d2p1:Value>
</d2p1:Option>
</d2p1:Options>
</d2p1:Term>
<d2p1:Type>String</d2p1:Type>
<d2p1:VehicleType>UNASSIGNED</d2p1:VehicleType>
</FinanceCriteria>
<GasId xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">String</GasId>
<GssnId xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">String</GssnId>
<Motability xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">false</Motability>
<MotabilityPricingId xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">0</MotabilityPricingId>
<MotabilityType xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">PIP</MotabilityType>
<NonOptimumReason xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">String</NonOptimumReason>
<OutrightPurchase xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">
<d2p1:Bm7NST>String</d2p1:Bm7NST>
<d2p1:DiscountRate>0</d2p1:DiscountRate>
<d2p1:IsBackOrder>false</d2p1:IsBackOrder>
<d2p1:IsCOPConverter>false</d2p1:IsCOPConverter>
<d2p1:IsOutrightPurchase>false</d2p1:IsOutrightPurchase>
<d2p1:Reference>String</d2p1:Reference>
</OutrightPurchase>
<PersonalisedItemOfferIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">
<d2p1:int>0</d2p1:int>
</PersonalisedItemOfferIds>
<Source xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">OnlineShowroom</Source>
<Specialist xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">false</Specialist>
<SuggestedVin xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">String</SuggestedVin>
<TagUrl xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">String</TagUrl>
<Vehicle xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">
<d2p1:Vin>String</d2p1:Vin>
</Vehicle>
</GetPricingDetailsRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <GetPricingDetailsResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Clients.AgencyApi.Responses"> <Price xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO"> <d2p1:Description>String</d2p1:Description> <d2p1:Gross>0</d2p1:Gross> <d2p1:Id>String</d2p1:Id> <d2p1:Net>0</d2p1:Net> <d2p1:Product>LIST_PRICE</d2p1:Product> <d2p1:VAT>0</d2p1:VAT> </Price> </GetPricingDetailsResponse>