| POST | /v1/CarConfiguratorStock | Validate and save a car configurator code for a vehicle search | This endpoint calls Agency API to validate and save a car configurator code. The code is validated and saved in the database and returns a response from a third party CCS which provides car configuration details. These get saved to open search and used to perform a vehicle search |
|---|
"use strict";
export class KeyInformation {
/** @param {{BM7NST?:string,ConfigurationDate?:string,ModelYear?:string,HalfYear?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?string} */
BM7NST;
/** @type {?string} */
ConfigurationDate;
/** @type {?string} */
ModelYear;
/** @type {?string} */
HalfYear;
}
export class EquipmentCache {
/** @param {{Code?:string,Description?:string,StandardFlag?:string,Price?:number,Category?:string,Importance?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Code;
/** @type {string} */
Description;
/** @type {string} */
StandardFlag;
/** @type {number} */
Price;
/** @type {string} */
Category;
/** @type {string} */
Importance;
}
export class OrderingOptions {
/** @param {{Interior?:string[],Exterior?:string[],Options?:string[],WheelOptions?:EquipmentCache[],TrimOptions?:EquipmentCache[],OptionCodes?:EquipmentCache[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?string[]} */
Interior;
/** @type {?string[]} */
Exterior;
/** @type {?string[]} */
Options;
/** @type {EquipmentCache[]} */
WheelOptions = [];
/** @type {EquipmentCache[]} */
TrimOptions = [];
/** @type {EquipmentCache[]} */
OptionCodes = [];
}
export class CarConfiguratorResponse {
/** @param {{Name?:string,KeyInformation?:KeyInformation,OrderingOptions?:OrderingOptions,ResponseStatus?:ResponseStatus,ConfiguratorCode?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?string} */
Name;
/** @type {?KeyInformation} */
KeyInformation;
/** @type {?OrderingOptions} */
OrderingOptions;
/** @type {ResponseStatus} */
ResponseStatus;
/** @type {?string} */
ConfiguratorCode;
}
export class BackOrderVehicleDetailsBrand {
/** @param {{Description?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?string} */
Description;
}
export class Engine {
/** @param {{Id?:number,Badge?:string,CubicCapacity?:number,Cyclinders?:number,HorsePower?:string,Kw?:string,Selected?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {?string} */
Badge;
/** @type {number} */
CubicCapacity;
/** @type {number} */
Cyclinders;
/** @type {?string} */
HorsePower;
/** @type {?string} */
Kw;
/** @type {boolean} */
Selected;
}
export class VehicleAuditDetails {
/** @param {{UserId?:string,Status?:boolean,Notes?:string,CreationDate?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?string} */
UserId;
/** @type {boolean} */
Status;
/** @type {?string} */
Notes;
/** @type {?string} */
CreationDate;
}
export class RetailerService {
/** @param {{Id?:number,Description?:string,Priority?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {?string} */
Description;
/** @type {boolean} */
Priority;
}
export class RetailerServices {
/** @param {{New?:RetailerService[],Used?:RetailerService[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?RetailerService[]} */
New;
/** @type {?RetailerService[]} */
Used;
}
export class RetailerOpeningTime {
/** @param {{Day?:string,OpenFrom?:string,OpenTo?:string,Special?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Day;
/** @type {string} */
OpenFrom;
/** @type {string} */
OpenTo;
/** @type {string} */
Special;
}
export class RetailerOpeningTimes {
/** @param {{New?:RetailerOpeningTime[],Used?:RetailerOpeningTime[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {RetailerOpeningTime[]} */
New = [];
/** @type {RetailerOpeningTime[]} */
Used = [];
}
export class Retailer {
/** @param {{Id?:number,GssnId?:string,Description?:string,Street?:string,City?:string,District?:string,Postcode?:string,GoogleMapPostcode?:string,Phone?:string,Fax?:string,Email?:string,Website?:string,Latitude?:number,Longitude?:number,RetailerGroup_Id?:number,RetailerGroupId?:string,RetailerGroupName?:string,Distance?:number,PaymentServiceGuid?:string,IsOnline?:boolean,IsNewCarRetailer?:boolean,IsUsedCarRetailer?:boolean,IsCentralRetailer?:boolean,ChatEnabled?:boolean,TradeInEnabled?:boolean,DisplayPhoneNumberNew?:string,DisplayPhoneNumberUsed?:string,Services?:RetailerServices,smart?:boolean,smartDescription?:string,smartWebsite?:string,smartEmail?:string,smartPhone?:string,AdditionalInformation?:string,LegacyId?:string,DriveTime?:number,Agent?:boolean,Port?:number,PortName?:string,MarketAreaId?:number,MarketAreaName?:string,MaintenanceDate?:string,MaintenanceSource?:string,STPAccountNumbers?:string,CampaignExcluded?:boolean,DigitalLoungeParentGssnId?:string,SendLeadsToDigitalLoungeParent?:boolean,IsExcludedFromImport?:boolean,OpeningTimes?:RetailerOpeningTimes}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {?string} */
GssnId;
/** @type {?string} */
Description;
/** @type {?string} */
Street;
/** @type {?string} */
City;
/** @type {?string} */
District;
/** @type {?string} */
Postcode;
/** @type {?string} */
GoogleMapPostcode;
/** @type {?string} */
Phone;
/** @type {?string} */
Fax;
/** @type {?string} */
Email;
/** @type {?string} */
Website;
/** @type {number} */
Latitude;
/** @type {number} */
Longitude;
/** @type {?number} */
RetailerGroup_Id;
/** @type {?string} */
RetailerGroupId;
/** @type {?string} */
RetailerGroupName;
/** @type {number} */
Distance;
/** @type {?string} */
PaymentServiceGuid;
/** @type {?boolean} */
IsOnline;
/** @type {?boolean} */
IsNewCarRetailer;
/** @type {?boolean} */
IsUsedCarRetailer;
/** @type {boolean} */
IsCentralRetailer;
/** @type {boolean} */
ChatEnabled;
/** @type {boolean} */
TradeInEnabled;
/** @type {?string} */
DisplayPhoneNumberNew;
/** @type {?string} */
DisplayPhoneNumberUsed;
/** @type {?RetailerServices} */
Services;
/** @type {boolean} */
smart;
/** @type {?string} */
smartDescription;
/** @type {?string} */
smartWebsite;
/** @type {?string} */
smartEmail;
/** @type {?string} */
smartPhone;
/** @type {?string} */
AdditionalInformation;
/** @type {?string} */
LegacyId;
/** @type {number} */
DriveTime;
/** @type {boolean} */
Agent;
/** @type {?number} */
Port;
/** @type {?string} */
PortName;
/** @type {?number} */
MarketAreaId;
/** @type {?string} */
MarketAreaName;
/** @type {?string} */
MaintenanceDate;
/** @type {?string} */
MaintenanceSource;
/** @type {?string} */
STPAccountNumbers;
/** @type {?boolean} */
CampaignExcluded;
/** @type {?string} */
DigitalLoungeParentGssnId;
/** @type {boolean} */
SendLeadsToDigitalLoungeParent;
/** @type {boolean} */
IsExcludedFromImport;
/** @type {?RetailerOpeningTimes} */
OpeningTimes;
}
export class Media {
/** @param {{ImageCount?:number,MainImageUrl?:string,MainImageUrlMobile?:string,NoImage?:boolean,ThreeSixtyDegreeImageUrls?:string[],ThreeSixtyDegreeMobileImageUrls?:string[],VehicleImageUrls?:string[],VehicleMobileImageUrls?:string[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
ImageCount;
/** @type {?string} */
MainImageUrl;
/** @type {?string} */
MainImageUrlMobile;
/** @type {boolean} */
NoImage;
/** @type {?string[]} */
ThreeSixtyDegreeImageUrls;
/** @type {?string[]} */
ThreeSixtyDegreeMobileImageUrls;
/** @type {?string[]} */
VehicleImageUrls;
/** @type {?string[]} */
VehicleMobileImageUrls;
}
/** @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 Consumption {
/** @param {{Id?:number,Lkm?:number,Mpg?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {number} */
Lkm;
/** @type {number} */
Mpg;
}
export class EmissionClass {
/** @param {{Colour?:string,Rating?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?string} */
Colour;
/** @type {?string} */
Rating;
}
export class Equipment {
/** @param {{Id?:number,Code?:string,Description?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?number} */
Id;
/** @type {?string} */
Code;
/** @type {?string} */
Description;
}
export class Equipmentv2 extends Equipment {
/** @param {{Importance?:number,IsAdditional?:boolean,Id?:number,Code?:string,Description?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {number} */
Importance;
/** @type {boolean} */
IsAdditional;
}
export class EquipmentCategoryv2 {
/** @param {{Order?:number,Code?:string,Description?:string,Equipment?:Equipmentv2[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Order;
/** @type {?string} */
Code;
/** @type {?string} */
Description;
/** @type {?Equipmentv2[]} */
Equipment;
}
export class VehicleAttribute {
/** @param {{Description?:string,Value?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?string} */
Description;
/** @type {?string} */
Value;
}
export class IntegratedServiceCareOptions {
/** @param {{OptionCode?:string,BM7NST?:string,FullModelYear?:string,IntegratedProductType?:string,CustomerDescription?:string,OneAgentProductType?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?string} */
OptionCode;
/** @type {?string} */
BM7NST;
/** @type {?string} */
FullModelYear;
/** @type {?string} */
IntegratedProductType;
/** @type {?string} */
CustomerDescription;
/** @type {?string} */
OneAgentProductType;
}
export class BackOrderVehicleDetails {
/** @param {{Vin?:string,CommissionNumber?:string,Description?:string,ShortDescription?:string,ModelId?:number,Model?:string,FullModelYearCode?:string,BrandId?:number,Brand?:BackOrderVehicleDetailsBrand,RetailerId?:number,ImageUrl?:string,Colour?:string,ColourCode?:string,FuelType?:string,FuelTypeId?:number,Transmission?:string,TransmissionType?:string,Engine?:Engine,EngineBadge?:string,Package?:string,Line?:string,Upholstery?:string,UpholsteryCode?:string,UsageCode?:string,Account?:string,AccountType?:string,NST?:string,Baumuster?:string,ElectricRange?:number,ElectricConsumption?:number,ActualPrice?:number,OTRPrice?:number,RetailPriceExVat?:number,P11D?:number,VehicleType?:string,UpholsteryDescription?:string,UpholsteryType?:string,BodyStyle?:string,BodyStyleStyleCode?:string,BodyStyleStyleCodeElectric?:string,BodyStyleStyleCodeHybrid?:string,AvailablePackages?:string[],Mapped_Line?:number,Secured?:boolean,Bm7NST?:string,IsAvailableOnline?:boolean,IsSpecialistCar?:boolean,IsSellable?:boolean,UnderOffer?:boolean,VehicleAuditDetails?:VehicleAuditDetails[],Retailer?:Retailer,Media?:Media,Emission?:number,ColourGroup?:string,VehicleClass?:string,ProductRange?:string,IsHOBackOrderAccountVehicle?:boolean,IsAllocatedToBackOrder?:boolean,InBackOrderAccount?:boolean,DeliveryCharge?:number,DeliveryChargeNet?:number,DeliveryChargeVAT?:number,Plates?:number,PlatesNet?:number,PlatesVAT?:number,FuelCharge?:number,FuelChargeNet?:number,FuelChargeVAT?:number,RetailPrice_ExVAT?:number,RetailPrice_IncVAT?:number,VED_Year1?:number,VED_Year2?:number,FirstRegFee?:number,OTR_Value?:number,OTR?:number,Prices?:Price[],ProductionDate?:string,PortArrivalDate?:string,Location?:string,IsDisplayStock?:boolean,DisplayRetailerId?:number,DisplayRetailer?:string,DisplayRetailerGssnId?:string,DisplayRetailerMarketAreaId?:number,IsSmartDisplayRetailer?:boolean,ColourDescription?:string,Creation?:string,Modified?:string,VATQualifyingNumber?:number,VATQualifying?:boolean,CurrentRetailerOfferPrice?:number,GssnId?:string,NoImage?:boolean,RegistrationNumber?:string,RegistrationDate?:string,Mileage?:number,TradeInDate?:string,VID?:string,EmissionCombined?:string,EmissionDirective?:string,NormalisedEmissionDirective?:string,HasMildHybridEquipmentCode?:boolean,Acceleration?:number,ChassisNumber?:string,NumberOfDoors?:string,NumberOfSeats?:string,SpecialInfo?:boolean,EligibleForIntegratedServiceCare?:boolean,ConsumptionCombined?:Consumption,ConsumptionExtraUrban?:Consumption,ConsumptionUrban?:Consumption,WltpFuelConsumptionCombined?:Consumption,WltpFuelConsumptionExtraHigh?:Consumption,WltpFuelConsumptionHigh?:Consumption,WltpFuelConsumptionLow?:Consumption,WltpFuelConsumptionMedium?:Consumption,EnergyEfficiencyClass?:EmissionClass,Equipment?:Equipmentv2[],EquipmentAdditional?:Equipment[],EquipmentCategories?:EquipmentCategoryv2[],VehicleData?:VehicleAttribute[],IntegratedServiceCareOptions?:IntegratedServiceCareOptions[],IspVehicleCustomerDescriptions?:string[],MarketingCode?:string,EligibleForMaTransfer?:boolean,ConfirmedProductionDate?:string,ForecastedArrivalDate?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?string} */
Vin;
/** @type {?string} */
CommissionNumber;
/** @type {?string} */
Description;
/** @type {?string} */
ShortDescription;
/** @type {number} */
ModelId;
/** @type {?string} */
Model;
/** @type {?string} */
FullModelYearCode;
/** @type {?number} */
BrandId;
/** @type {?BackOrderVehicleDetailsBrand} */
Brand;
/** @type {number} */
RetailerId;
/** @type {?string} */
ImageUrl;
/** @type {?string} */
Colour;
/** @type {?string} */
ColourCode;
/** @type {?string} */
FuelType;
/** @type {number} */
FuelTypeId;
/** @type {?string} */
Transmission;
/** @type {?string} */
TransmissionType;
/** @type {?Engine} */
Engine;
/** @type {?string} */
EngineBadge;
/** @type {?string} */
Package;
/** @type {?string} */
Line;
/** @type {?string} */
Upholstery;
/** @type {?string} */
UpholsteryCode;
/** @type {?string} */
UsageCode;
/** @type {?string} */
Account;
/** @type {?string} */
AccountType;
/** @type {?string} */
NST;
/** @type {?string} */
Baumuster;
/** @type {?number} */
ElectricRange;
/** @type {?number} */
ElectricConsumption;
/** @type {?number} */
ActualPrice;
/** @type {number} */
OTRPrice;
/** @type {number} */
RetailPriceExVat;
/** @type {number} */
P11D;
/** @type {?string} */
VehicleType;
/** @type {?string} */
UpholsteryDescription;
/** @type {?string} */
UpholsteryType;
/** @type {?string} */
BodyStyle;
/** @type {?string} */
BodyStyleStyleCode;
/** @type {?string} */
BodyStyleStyleCodeElectric;
/** @type {?string} */
BodyStyleStyleCodeHybrid;
/** @type {?string[]} */
AvailablePackages;
/** @type {?number} */
Mapped_Line;
/** @type {boolean} */
Secured;
/** @type {?string} */
Bm7NST;
/** @type {boolean} */
IsAvailableOnline;
/** @type {boolean} */
IsSpecialistCar;
/** @type {boolean} */
IsSellable;
/** @type {boolean} */
UnderOffer;
/** @type {?VehicleAuditDetails[]} */
VehicleAuditDetails;
/** @type {?Retailer} */
Retailer;
/** @type {?Media} */
Media;
/** @type {?number} */
Emission;
/** @type {?string} */
ColourGroup;
/** @type {?string} */
VehicleClass;
/** @type {?string} */
ProductRange;
/** @type {boolean} */
IsHOBackOrderAccountVehicle;
/** @type {boolean} */
IsAllocatedToBackOrder;
/** @type {boolean} */
InBackOrderAccount;
/** @type {number} */
DeliveryCharge;
/** @type {?number} */
DeliveryChargeNet;
/** @type {?number} */
DeliveryChargeVAT;
/** @type {number} */
Plates;
/** @type {?number} */
PlatesNet;
/** @type {?number} */
PlatesVAT;
/** @type {number} */
FuelCharge;
/** @type {?number} */
FuelChargeNet;
/** @type {?number} */
FuelChargeVAT;
/** @type {number} */
RetailPrice_ExVAT;
/** @type {number} */
RetailPrice_IncVAT;
/** @type {number} */
VED_Year1;
/** @type {number} */
VED_Year2;
/** @type {number} */
FirstRegFee;
/** @type {number} */
OTR_Value;
/** @type {number} */
OTR;
/** @type {?Price[]} */
Prices;
/** @type {?string} */
ProductionDate;
/** @type {?string} */
PortArrivalDate;
/** @type {?string} */
Location;
/** @type {boolean} */
IsDisplayStock;
/** @type {?number} */
DisplayRetailerId;
/** @type {?string} */
DisplayRetailer;
/** @type {?string} */
DisplayRetailerGssnId;
/** @type {?number} */
DisplayRetailerMarketAreaId;
/** @type {?boolean} */
IsSmartDisplayRetailer;
/** @type {?string} */
ColourDescription;
/** @type {?string} */
Creation;
/** @type {?string} */
Modified;
/** @type {?number} */
VATQualifyingNumber;
/** @type {boolean} */
VATQualifying;
/** @type {number} */
CurrentRetailerOfferPrice;
/** @type {?string} */
GssnId;
/** @type {boolean} */
NoImage;
/** @type {?string} */
RegistrationNumber;
/** @type {?string} */
RegistrationDate;
/** @type {?number} */
Mileage;
/** @type {?string} */
TradeInDate;
/** @type {?string} */
VID;
/** @type {?string} */
EmissionCombined;
/** @type {?string} */
EmissionDirective;
/** @type {?string} */
NormalisedEmissionDirective;
/** @type {boolean} */
HasMildHybridEquipmentCode;
/** @type {?number} */
Acceleration;
/** @type {?string} */
ChassisNumber;
/** @type {?string} */
NumberOfDoors;
/** @type {?string} */
NumberOfSeats;
/** @type {boolean} */
SpecialInfo;
/** @type {boolean} */
EligibleForIntegratedServiceCare;
/** @type {?Consumption} */
ConsumptionCombined;
/** @type {?Consumption} */
ConsumptionExtraUrban;
/** @type {?Consumption} */
ConsumptionUrban;
/** @type {?Consumption} */
WltpFuelConsumptionCombined;
/** @type {?Consumption} */
WltpFuelConsumptionExtraHigh;
/** @type {?Consumption} */
WltpFuelConsumptionHigh;
/** @type {?Consumption} */
WltpFuelConsumptionLow;
/** @type {?Consumption} */
WltpFuelConsumptionMedium;
/** @type {?EmissionClass} */
EnergyEfficiencyClass;
/** @type {?Equipmentv2[]} */
Equipment;
/** @type {?Equipment[]} */
EquipmentAdditional;
/** @type {?EquipmentCategoryv2[]} */
EquipmentCategories;
/** @type {?VehicleAttribute[]} */
VehicleData;
/** @type {?IntegratedServiceCareOptions[]} */
IntegratedServiceCareOptions;
/** @type {?string[]} */
IspVehicleCustomerDescriptions;
/** @type {?string} */
MarketingCode;
/** @type {boolean} */
EligibleForMaTransfer;
/** @type {?string} */
ConfirmedProductionDate;
/** @type {?string} */
ForecastedArrivalDate;
}
export class Package {
/** @param {{Id?:number,Description?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {?string} */
Description;
}
export class BackOrderVehicleDetailsWithPackages extends BackOrderVehicleDetails {
/** @param {{Packages?:Package[],PackageNames?:string,Vin?:string,CommissionNumber?:string,Description?:string,ShortDescription?:string,ModelId?:number,Model?:string,FullModelYearCode?:string,BrandId?:number,Brand?:BackOrderVehicleDetailsBrand,RetailerId?:number,ImageUrl?:string,Colour?:string,ColourCode?:string,FuelType?:string,FuelTypeId?:number,Transmission?:string,TransmissionType?:string,Engine?:Engine,EngineBadge?:string,Package?:string,Line?:string,Upholstery?:string,UpholsteryCode?:string,UsageCode?:string,Account?:string,AccountType?:string,NST?:string,Baumuster?:string,ElectricRange?:number,ElectricConsumption?:number,ActualPrice?:number,OTRPrice?:number,RetailPriceExVat?:number,P11D?:number,VehicleType?:string,UpholsteryDescription?:string,UpholsteryType?:string,BodyStyle?:string,BodyStyleStyleCode?:string,BodyStyleStyleCodeElectric?:string,BodyStyleStyleCodeHybrid?:string,AvailablePackages?:string[],Mapped_Line?:number,Secured?:boolean,Bm7NST?:string,IsAvailableOnline?:boolean,IsSpecialistCar?:boolean,IsSellable?:boolean,UnderOffer?:boolean,VehicleAuditDetails?:VehicleAuditDetails[],Retailer?:Retailer,Media?:Media,Emission?:number,ColourGroup?:string,VehicleClass?:string,ProductRange?:string,IsHOBackOrderAccountVehicle?:boolean,IsAllocatedToBackOrder?:boolean,InBackOrderAccount?:boolean,DeliveryCharge?:number,DeliveryChargeNet?:number,DeliveryChargeVAT?:number,Plates?:number,PlatesNet?:number,PlatesVAT?:number,FuelCharge?:number,FuelChargeNet?:number,FuelChargeVAT?:number,RetailPrice_ExVAT?:number,RetailPrice_IncVAT?:number,VED_Year1?:number,VED_Year2?:number,FirstRegFee?:number,OTR_Value?:number,OTR?:number,Prices?:Price[],ProductionDate?:string,PortArrivalDate?:string,Location?:string,IsDisplayStock?:boolean,DisplayRetailerId?:number,DisplayRetailer?:string,DisplayRetailerGssnId?:string,DisplayRetailerMarketAreaId?:number,IsSmartDisplayRetailer?:boolean,ColourDescription?:string,Creation?:string,Modified?:string,VATQualifyingNumber?:number,VATQualifying?:boolean,CurrentRetailerOfferPrice?:number,GssnId?:string,NoImage?:boolean,RegistrationNumber?:string,RegistrationDate?:string,Mileage?:number,TradeInDate?:string,VID?:string,EmissionCombined?:string,EmissionDirective?:string,NormalisedEmissionDirective?:string,HasMildHybridEquipmentCode?:boolean,Acceleration?:number,ChassisNumber?:string,NumberOfDoors?:string,NumberOfSeats?:string,SpecialInfo?:boolean,EligibleForIntegratedServiceCare?:boolean,ConsumptionCombined?:Consumption,ConsumptionExtraUrban?:Consumption,ConsumptionUrban?:Consumption,WltpFuelConsumptionCombined?:Consumption,WltpFuelConsumptionExtraHigh?:Consumption,WltpFuelConsumptionHigh?:Consumption,WltpFuelConsumptionLow?:Consumption,WltpFuelConsumptionMedium?:Consumption,EnergyEfficiencyClass?:EmissionClass,Equipment?:Equipmentv2[],EquipmentAdditional?:Equipment[],EquipmentCategories?:EquipmentCategoryv2[],VehicleData?:VehicleAttribute[],IntegratedServiceCareOptions?:IntegratedServiceCareOptions[],IspVehicleCustomerDescriptions?:string[],MarketingCode?:string,EligibleForMaTransfer?:boolean,ConfirmedProductionDate?:string,ForecastedArrivalDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {Package[]} */
Packages;
/** @type {string} */
PackageNames;
}
export class CarConfiguratorVehicle extends BackOrderVehicleDetailsWithPackages {
/** @param {{ModelYearCode?:string,HalfModelYearCode?:string,ActiveOffers?:number[],EligibleForMotability?:boolean,NearestPort?:boolean,Packages?:Package[],PackageNames?:string,Vin?:string,CommissionNumber?:string,Description?:string,ShortDescription?:string,ModelId?:number,Model?:string,FullModelYearCode?:string,BrandId?:number,Brand?:BackOrderVehicleDetailsBrand,RetailerId?:number,ImageUrl?:string,Colour?:string,ColourCode?:string,FuelType?:string,FuelTypeId?:number,Transmission?:string,TransmissionType?:string,Engine?:Engine,EngineBadge?:string,Package?:string,Line?:string,Upholstery?:string,UpholsteryCode?:string,UsageCode?:string,Account?:string,AccountType?:string,NST?:string,Baumuster?:string,ElectricRange?:number,ElectricConsumption?:number,ActualPrice?:number,OTRPrice?:number,RetailPriceExVat?:number,P11D?:number,VehicleType?:string,UpholsteryDescription?:string,UpholsteryType?:string,BodyStyle?:string,BodyStyleStyleCode?:string,BodyStyleStyleCodeElectric?:string,BodyStyleStyleCodeHybrid?:string,AvailablePackages?:string[],Mapped_Line?:number,Secured?:boolean,Bm7NST?:string,IsAvailableOnline?:boolean,IsSpecialistCar?:boolean,IsSellable?:boolean,UnderOffer?:boolean,VehicleAuditDetails?:VehicleAuditDetails[],Retailer?:Retailer,Media?:Media,Emission?:number,ColourGroup?:string,VehicleClass?:string,ProductRange?:string,IsHOBackOrderAccountVehicle?:boolean,IsAllocatedToBackOrder?:boolean,InBackOrderAccount?:boolean,DeliveryCharge?:number,DeliveryChargeNet?:number,DeliveryChargeVAT?:number,Plates?:number,PlatesNet?:number,PlatesVAT?:number,FuelCharge?:number,FuelChargeNet?:number,FuelChargeVAT?:number,RetailPrice_ExVAT?:number,RetailPrice_IncVAT?:number,VED_Year1?:number,VED_Year2?:number,FirstRegFee?:number,OTR_Value?:number,OTR?:number,Prices?:Price[],ProductionDate?:string,PortArrivalDate?:string,Location?:string,IsDisplayStock?:boolean,DisplayRetailerId?:number,DisplayRetailer?:string,DisplayRetailerGssnId?:string,DisplayRetailerMarketAreaId?:number,IsSmartDisplayRetailer?:boolean,ColourDescription?:string,Creation?:string,Modified?:string,VATQualifyingNumber?:number,VATQualifying?:boolean,CurrentRetailerOfferPrice?:number,GssnId?:string,NoImage?:boolean,RegistrationNumber?:string,RegistrationDate?:string,Mileage?:number,TradeInDate?:string,VID?:string,EmissionCombined?:string,EmissionDirective?:string,NormalisedEmissionDirective?:string,HasMildHybridEquipmentCode?:boolean,Acceleration?:number,ChassisNumber?:string,NumberOfDoors?:string,NumberOfSeats?:string,SpecialInfo?:boolean,EligibleForIntegratedServiceCare?:boolean,ConsumptionCombined?:Consumption,ConsumptionExtraUrban?:Consumption,ConsumptionUrban?:Consumption,WltpFuelConsumptionCombined?:Consumption,WltpFuelConsumptionExtraHigh?:Consumption,WltpFuelConsumptionHigh?:Consumption,WltpFuelConsumptionLow?:Consumption,WltpFuelConsumptionMedium?:Consumption,EnergyEfficiencyClass?:EmissionClass,Equipment?:Equipmentv2[],EquipmentAdditional?:Equipment[],EquipmentCategories?:EquipmentCategoryv2[],VehicleData?:VehicleAttribute[],IntegratedServiceCareOptions?:IntegratedServiceCareOptions[],IspVehicleCustomerDescriptions?:string[],MarketingCode?:string,EligibleForMaTransfer?:boolean,ConfirmedProductionDate?:string,ForecastedArrivalDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {?string} */
ModelYearCode;
/** @type {?string} */
HalfModelYearCode;
/** @type {number[]} */
ActiveOffers = [];
/** @type {boolean} */
EligibleForMotability;
/** @type {?boolean} */
NearestPort;
}
export class CarConfiguratorStockMatch {
/** @param {{Vehicle?:CarConfiguratorVehicle,IsSellable?:boolean,VehicleWheels?:string,VehicleTrim?:string,VehicleAdditionalOptionCodes?:string[],FullModelYearDifferences?:string[],PaintDifferences?:string[],UpholsteryDifferences?:string[],WheelDifferences?:string[],TrimDifferences?:string[],EquipmentDifferences?:string[],Differences?:string[],ExactMatch?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {CarConfiguratorVehicle} */
Vehicle;
/** @type {boolean} */
IsSellable;
/** @type {?string} */
VehicleWheels;
/** @type {?string} */
VehicleTrim;
/** @type {string[]} */
VehicleAdditionalOptionCodes = [];
/** @type {string[]} */
FullModelYearDifferences = [];
/** @type {string[]} */
PaintDifferences = [];
/** @type {string[]} */
UpholsteryDifferences = [];
/** @type {string[]} */
WheelDifferences = [];
/** @type {string[]} */
TrimDifferences = [];
/** @type {string[]} */
EquipmentDifferences = [];
/** @type {string[]} */
Differences = [];
/** @type {boolean} */
ExactMatch;
}
export class CarConfiguratorStockMatches {
/** @param {{SellableMatches?:CarConfiguratorStockMatch[],NonSellableMatches?:CarConfiguratorStockMatch[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {CarConfiguratorStockMatch[]} */
SellableMatches = [];
/** @type {CarConfiguratorStockMatch[]} */
NonSellableMatches = [];
}
export class CarConfiguratorStockResponse {
/** @param {{TotalVehicles?:number,CarConfiguratorResponse?:CarConfiguratorResponse,ExactMatches?:CarConfiguratorStockMatches,CloseMatches?:CarConfiguratorStockMatches}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
TotalVehicles;
/** @type {CarConfiguratorResponse} */
CarConfiguratorResponse;
/** @type {CarConfiguratorStockMatches} */
ExactMatches;
/** @type {CarConfiguratorStockMatches} */
CloseMatches;
}
export class CarConfiguratorStockRequest {
/** @param {{ConfiguratorCode?:string,IsSellable?:boolean,ExactMatch?:boolean,GSSN?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The configurator code to search on */
ConfiguratorCode;
/**
* @type {?boolean}
* @description Whether to return sellable vehicles */
IsSellable;
/**
* @type {boolean}
* @description Whether to only get exact matches */
ExactMatch;
/**
* @type {?string}
* @description Whether to restrict vehicles response to a GSSN */
GSSN;
}
JavaScript CarConfiguratorStockRequest DTOs
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.
POST /v1/CarConfiguratorStock HTTP/1.1
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"ConfiguratorCode":"String","IsSellable":false,"ExactMatch":false,"GSSN":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"TotalVehicles":4,"CarConfiguratorResponse":{"Name":"String","KeyInformation":{"BM7NST":"String","ConfigurationDate":"String","ModelYear":"String","HalfYear":"String"},"OrderingOptions":{"Interior":["String"],"Exterior":["String"],"Options":["String"],"WheelOptions":[{"Code":"String","Description":"String","StandardFlag":"String","Price":0,"Category":"String","Importance":"String"}],"TrimOptions":[{"Code":"String","Description":"String","StandardFlag":"String","Price":0,"Category":"String","Importance":"String"}],"OptionCodes":[{"Code":"String","Description":"String","StandardFlag":"String","Price":0,"Category":"String","Importance":"String"}]},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"ConfiguratorCode":"String"},"ExactMatches":{"SellableMatches":[{}],"NonSellableMatches":[{}]},"CloseMatches":{"SellableMatches":[{}],"NonSellableMatches":[{}]}}