POST | /v1/pricingdetails | Creates a detailed pricing of a vehicle |
---|
"use strict";
/** @typedef {number} */
export var Source;
(function (Source) {
Source[Source["OnlineShowroom"] = 1] = "OnlineShowroom"
Source[Source["OneAdmin"] = 2] = "OneAdmin"
})(Source || (Source = {}));
export class Address {
/** @param {{Property?:string,Street?:string,Town?:string,County?:string,Locality?:string,Postcode?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Property;
/** @type {string} */
Street;
/** @type {string} */
Town;
/** @type {string} */
County;
/** @type {string} */
Locality;
/** @type {string} */
Postcode;
}
/** @typedef {number} */
export var CustomerMode;
(function (CustomerMode) {
CustomerMode[CustomerMode["Private"] = 1] = "Private"
CustomerMode[CustomerMode["Business"] = 2] = "Business"
CustomerMode[CustomerMode["Motability"] = 3] = "Motability"
})(CustomerMode || (CustomerMode = {}));
export class SalesforceCustomer {
/** @param {{CustomerId?:string,IsCiam?:boolean,CompanyName?:string,Title?:string,Firstname?:string,Surname?:string,EmailAddress?:string,Telephone?:string,Address?:Address,Mode?:CustomerMode}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
CustomerId;
/** @type {boolean} */
IsCiam;
/** @type {string} */
CompanyName;
/** @type {string} */
Title;
/** @type {string} */
Firstname;
/** @type {string} */
Surname;
/** @type {string} */
EmailAddress;
/** @type {string} */
Telephone;
/** @type {Address} */
Address;
/** @type {CustomerMode} */
Mode;
}
export class Preferences {
/** @param {{OptinEmail?:boolean,OptinPost?:boolean,OptinSMS?:boolean,OptinTelephone?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {boolean} */
OptinEmail;
/** @type {boolean} */
OptinPost;
/** @type {boolean} */
OptinSMS;
/** @type {boolean} */
OptinTelephone;
}
export class Customer extends SalesforceCustomer {
/** @param {{ProfileId?:string,Preferences?:Preferences,CustomerId?:string,IsCiam?:boolean,CompanyName?:string,Title?:string,Firstname?:string,Surname?:string,EmailAddress?:string,Telephone?:string,Address?:Address,Mode?:CustomerMode}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {?string} */
ProfileId;
/** @type {?Preferences} */
Preferences;
}
export class Vehicle {
/** @param {{Vin?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?string} */
Vin;
}
export class Option {
/** @param {{IsDefault?:boolean,Value?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {boolean} */
IsDefault;
/** @type {number} */
Value;
}
export class Term {
/** @param {{Options?:Option[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {Option[]} */
Options = [];
}
export class Deposit {
/** @param {{Default?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Default;
}
export class Mileage {
/** @param {{Options?:Option[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {Option[]} */
Options = [];
}
export class AdvanceRentals {
/** @param {{Options?:Option[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {Option[]} */
Options = [];
}
/** @typedef {'UNASSIGNED'|'NEW'|'USED'} */
export var VehicleType;
(function (VehicleType) {
VehicleType["UNASSIGNED"] = "UNASSIGNED"
VehicleType["NEW"] = "NEW"
VehicleType["USED"] = "USED"
})(VehicleType || (VehicleType = {}));
export class FinanceCriteria {
/** @param {{Key?:string,Name?:string,Type?:string,IsDefault?:boolean,Term?:Term,Deposit?:Deposit,Mileage?:Mileage,AdvanceRentals?:AdvanceRentals,IsPersonalised?:boolean,RegularPayment?:string,PartExchange?:string,Settlement?:string,CustomerType?:string,VehicleType?:VehicleType}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Key;
/** @type {string} */
Name;
/** @type {string} */
Type;
/** @type {boolean} */
IsDefault;
/** @type {Term} */
Term;
/** @type {Deposit} */
Deposit;
/** @type {Mileage} */
Mileage;
/** @type {AdvanceRentals} */
AdvanceRentals;
/** @type {boolean} */
IsPersonalised;
/** @type {string} */
RegularPayment;
/** @type {string} */
PartExchange;
/** @type {string} */
Settlement;
/** @type {string} */
CustomerType;
/** @type {VehicleType} */
VehicleType;
}
export class OutrightPurchase {
/** @param {{IsOutrightPurchase?:boolean,Reference?:string,DiscountRate?:number,Bm7NST?:string,IsBackOrder?:boolean,IsCOPConverter?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {boolean} */
IsOutrightPurchase;
/** @type {string} */
Reference;
/** @type {number} */
DiscountRate;
/** @type {string} */
Bm7NST;
/** @type {boolean} */
IsBackOrder;
/** @type {boolean} */
IsCOPConverter;
}
/** @typedef {number} */
export var MotabilityType;
(function (MotabilityType) {
MotabilityType[MotabilityType["PIP"] = 1] = "PIP"
MotabilityType[MotabilityType["WPMS"] = 2] = "WPMS"
MotabilityType[MotabilityType["UNASSIGNED"] = 3] = "UNASSIGNED"
})(MotabilityType || (MotabilityType = {}));
export class CreateOrderBase {
/** @param {{Source?:Source,GssnId?:string,AdditionalInformation?:string,Cash?:boolean,Finance?:boolean,Customer?:Customer,Vehicle?:Vehicle,FinanceCriteria?:FinanceCriteria,BackOrderGuid?:string,TagUrl?:string,OutrightPurchase?:OutrightPurchase,Motability?:boolean,MotabilityPricingId?:number,FinanceApplicationReference?:string,Specialist?:boolean,GasId?:string,PersonalisedItemOfferIds?:number[],SuggestedVin?:string,NonOptimumReason?:string,MotabilityType?:MotabilityType,EstimatedHandoverDate?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {Source} */
Source;
/** @type {string} */
GssnId;
/** @type {string} */
AdditionalInformation;
/** @type {boolean} */
Cash;
/** @type {boolean} */
Finance;
/** @type {Customer} */
Customer;
/** @type {Vehicle} */
Vehicle;
/** @type {FinanceCriteria} */
FinanceCriteria;
/** @type {?string} */
BackOrderGuid;
/** @type {?string} */
TagUrl;
/** @type {?OutrightPurchase} */
OutrightPurchase;
/** @type {boolean} */
Motability;
/** @type {?number} */
MotabilityPricingId;
/** @type {string} */
FinanceApplicationReference;
/** @type {boolean} */
Specialist;
/** @type {string} */
GasId;
/** @type {?number[]} */
PersonalisedItemOfferIds;
/** @type {?string} */
SuggestedVin;
/** @type {?string} */
NonOptimumReason;
/** @type {MotabilityType} */
MotabilityType;
/** @type {string} */
EstimatedHandoverDate;
}
/** @typedef {'LIST_PRICE'|'NUMBER_PLATE_FEE'|'DELIVERY_CHARGE'|'FUEL_CHARGE'|'MANUFACTURER_OFFER'|'PERSONALISED_MONEYOFFER'|'PERSONALISED_NONMONEYOFFER'|'PERSONALISED_NONMONEYOFFER_NEG'|'SERVICE'|'SERVICE_NEG'|'GOVERNMENT_GRANT'|'OUTRIGHT_PURCHASE_DISCOUNT'|'VIP_OFFER'|'WALLBOX_OFFER'|'WALLBOX_OFFER_NEG'|'ROAD_FUND_LICENCE'|'FIRST_REGISTRATION_FEE'|'NOT_FOUND'|'ACCESSORY_OFFER'|'ACCESSORY_OFFER_NEG'|'MOTABILITY_DISCOUNT'} */
export var OfferPriceProductType;
(function (OfferPriceProductType) {
OfferPriceProductType["LIST_PRICE"] = "LIST_PRICE"
OfferPriceProductType["NUMBER_PLATE_FEE"] = "NUMBER_PLATE_FEE"
OfferPriceProductType["DELIVERY_CHARGE"] = "DELIVERY_CHARGE"
OfferPriceProductType["FUEL_CHARGE"] = "FUEL_CHARGE"
OfferPriceProductType["MANUFACTURER_OFFER"] = "MANUFACTURER_OFFER"
OfferPriceProductType["PERSONALISED_MONEYOFFER"] = "PERSONALISED_MONEYOFFER"
OfferPriceProductType["PERSONALISED_NONMONEYOFFER"] = "PERSONALISED_NONMONEYOFFER"
OfferPriceProductType["PERSONALISED_NONMONEYOFFER_NEG"] = "PERSONALISED_NONMONEYOFFER_NEG"
OfferPriceProductType["SERVICE"] = "SERVICE"
OfferPriceProductType["SERVICE_NEG"] = "SERVICE_NEG"
OfferPriceProductType["GOVERNMENT_GRANT"] = "GOVERNMENT_GRANT"
OfferPriceProductType["OUTRIGHT_PURCHASE_DISCOUNT"] = "OUTRIGHT_PURCHASE_DISCOUNT"
OfferPriceProductType["VIP_OFFER"] = "VIP_OFFER"
OfferPriceProductType["WALLBOX_OFFER"] = "WALLBOX_OFFER"
OfferPriceProductType["WALLBOX_OFFER_NEG"] = "WALLBOX_OFFER_NEG"
OfferPriceProductType["ROAD_FUND_LICENCE"] = "ROAD_FUND_LICENCE"
OfferPriceProductType["FIRST_REGISTRATION_FEE"] = "FIRST_REGISTRATION_FEE"
OfferPriceProductType["NOT_FOUND"] = "NOT_FOUND"
OfferPriceProductType["ACCESSORY_OFFER"] = "ACCESSORY_OFFER"
OfferPriceProductType["ACCESSORY_OFFER_NEG"] = "ACCESSORY_OFFER_NEG"
OfferPriceProductType["MOTABILITY_DISCOUNT"] = "MOTABILITY_DISCOUNT"
})(OfferPriceProductType || (OfferPriceProductType = {}));
export class Price {
/** @param {{Id?:string,Description?:string,Net?:number,VAT?:number,Gross?:number,Product?:OfferPriceProductType}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Id;
/** @type {string} */
Description;
/** @type {number} */
Net;
/** @type {number} */
VAT;
/** @type {number} */
Gross;
/** @type {OfferPriceProductType} */
Product;
}
export class GetPricingDetailsResponse {
/** @param {{Price?:Price}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {Price} */
Price;
}
export class GetPricingDetailsRequest extends CreateOrderBase {
/** @param {{Source?:Source,GssnId?:string,AdditionalInformation?:string,Cash?:boolean,Finance?:boolean,Customer?:Customer,Vehicle?:Vehicle,FinanceCriteria?:FinanceCriteria,BackOrderGuid?:string,TagUrl?:string,OutrightPurchase?:OutrightPurchase,Motability?:boolean,MotabilityPricingId?:number,FinanceApplicationReference?:string,Specialist?:boolean,GasId?:string,PersonalisedItemOfferIds?:number[],SuggestedVin?:string,NonOptimumReason?:string,MotabilityType?:MotabilityType,EstimatedHandoverDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
}
JavaScript 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>