| 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 |
|---|
import 'package:servicestack/servicestack.dart';
class KeyInformation implements IConvertible
{
String? BM7NST;
String? ConfigurationDate;
String? ModelYear;
String? HalfYear;
KeyInformation({this.BM7NST,this.ConfigurationDate,this.ModelYear,this.HalfYear});
KeyInformation.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
BM7NST = json['BM7NST'];
ConfigurationDate = json['ConfigurationDate'];
ModelYear = json['ModelYear'];
HalfYear = json['HalfYear'];
return this;
}
Map<String, dynamic> toJson() => {
'BM7NST': BM7NST,
'ConfigurationDate': ConfigurationDate,
'ModelYear': ModelYear,
'HalfYear': HalfYear
};
getTypeName() => "KeyInformation";
TypeContext? context = _ctx;
}
class EquipmentCache implements IConvertible
{
String? Code;
String? Description;
String? StandardFlag;
double? Price;
String? Category;
String? Importance;
EquipmentCache({this.Code,this.Description,this.StandardFlag,this.Price,this.Category,this.Importance});
EquipmentCache.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Code = json['Code'];
Description = json['Description'];
StandardFlag = json['StandardFlag'];
Price = JsonConverters.toDouble(json['Price']);
Category = json['Category'];
Importance = json['Importance'];
return this;
}
Map<String, dynamic> toJson() => {
'Code': Code,
'Description': Description,
'StandardFlag': StandardFlag,
'Price': Price,
'Category': Category,
'Importance': Importance
};
getTypeName() => "EquipmentCache";
TypeContext? context = _ctx;
}
class OrderingOptions implements IConvertible
{
List<String>? Interior;
List<String>? Exterior;
List<String>? Options;
List<EquipmentCache>? WheelOptions = [];
List<EquipmentCache>? TrimOptions = [];
List<EquipmentCache>? OptionCodes = [];
OrderingOptions({this.Interior,this.Exterior,this.Options,this.WheelOptions,this.TrimOptions,this.OptionCodes});
OrderingOptions.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Interior = JsonConverters.fromJson(json['Interior'],'List<String>',context!);
Exterior = JsonConverters.fromJson(json['Exterior'],'List<String>',context!);
Options = JsonConverters.fromJson(json['Options'],'List<String>',context!);
WheelOptions = JsonConverters.fromJson(json['WheelOptions'],'List<EquipmentCache>',context!);
TrimOptions = JsonConverters.fromJson(json['TrimOptions'],'List<EquipmentCache>',context!);
OptionCodes = JsonConverters.fromJson(json['OptionCodes'],'List<EquipmentCache>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Interior': JsonConverters.toJson(Interior,'List<String>',context!),
'Exterior': JsonConverters.toJson(Exterior,'List<String>',context!),
'Options': JsonConverters.toJson(Options,'List<String>',context!),
'WheelOptions': JsonConverters.toJson(WheelOptions,'List<EquipmentCache>',context!),
'TrimOptions': JsonConverters.toJson(TrimOptions,'List<EquipmentCache>',context!),
'OptionCodes': JsonConverters.toJson(OptionCodes,'List<EquipmentCache>',context!)
};
getTypeName() => "OrderingOptions";
TypeContext? context = _ctx;
}
class CarConfiguratorResponse implements IConvertible
{
String? Name;
KeyInformation? KeyInformation;
OrderingOptions? OrderingOptions;
ResponseStatus? ResponseStatus;
String? ConfiguratorCode;
CarConfiguratorResponse({this.Name,this.KeyInformation,this.OrderingOptions,this.ResponseStatus,this.ConfiguratorCode});
CarConfiguratorResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Name = json['Name'];
KeyInformation = JsonConverters.fromJson(json['KeyInformation'],'KeyInformation',context!);
OrderingOptions = JsonConverters.fromJson(json['OrderingOptions'],'OrderingOptions',context!);
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
ConfiguratorCode = json['ConfiguratorCode'];
return this;
}
Map<String, dynamic> toJson() => {
'Name': Name,
'KeyInformation': JsonConverters.toJson(KeyInformation,'KeyInformation',context!),
'OrderingOptions': JsonConverters.toJson(OrderingOptions,'OrderingOptions',context!),
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'ConfiguratorCode': ConfiguratorCode
};
getTypeName() => "CarConfiguratorResponse";
TypeContext? context = _ctx;
}
class BackOrderVehicleDetailsBrand implements IConvertible
{
String? Description;
BackOrderVehicleDetailsBrand({this.Description});
BackOrderVehicleDetailsBrand.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Description = json['Description'];
return this;
}
Map<String, dynamic> toJson() => {
'Description': Description
};
getTypeName() => "BackOrderVehicleDetailsBrand";
TypeContext? context = _ctx;
}
class Engine implements IConvertible
{
int? Id;
String? Badge;
int? CubicCapacity;
int? Cyclinders;
String? HorsePower;
String? Kw;
bool? Selected;
Engine({this.Id,this.Badge,this.CubicCapacity,this.Cyclinders,this.HorsePower,this.Kw,this.Selected});
Engine.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Badge = json['Badge'];
CubicCapacity = json['CubicCapacity'];
Cyclinders = json['Cyclinders'];
HorsePower = json['HorsePower'];
Kw = json['Kw'];
Selected = json['Selected'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Badge': Badge,
'CubicCapacity': CubicCapacity,
'Cyclinders': Cyclinders,
'HorsePower': HorsePower,
'Kw': Kw,
'Selected': Selected
};
getTypeName() => "Engine";
TypeContext? context = _ctx;
}
class VehicleAuditDetails implements IConvertible
{
String? UserId;
bool? Status;
String? Notes;
String? CreationDate;
VehicleAuditDetails({this.UserId,this.Status,this.Notes,this.CreationDate});
VehicleAuditDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
UserId = json['UserId'];
Status = json['Status'];
Notes = json['Notes'];
CreationDate = json['CreationDate'];
return this;
}
Map<String, dynamic> toJson() => {
'UserId': UserId,
'Status': Status,
'Notes': Notes,
'CreationDate': CreationDate
};
getTypeName() => "VehicleAuditDetails";
TypeContext? context = _ctx;
}
class RetailerService implements IConvertible
{
int? Id;
String? Description;
bool? Priority;
RetailerService({this.Id,this.Description,this.Priority});
RetailerService.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Description = json['Description'];
Priority = json['Priority'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Description': Description,
'Priority': Priority
};
getTypeName() => "RetailerService";
TypeContext? context = _ctx;
}
class RetailerServices implements IConvertible
{
List<RetailerService>? New;
List<RetailerService>? Used;
RetailerServices({this.New,this.Used});
RetailerServices.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
New = JsonConverters.fromJson(json['New'],'List<RetailerService>',context!);
Used = JsonConverters.fromJson(json['Used'],'List<RetailerService>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'New': JsonConverters.toJson(New,'List<RetailerService>',context!),
'Used': JsonConverters.toJson(Used,'List<RetailerService>',context!)
};
getTypeName() => "RetailerServices";
TypeContext? context = _ctx;
}
class RetailerOpeningTime implements IConvertible
{
String? Day;
String? OpenFrom;
String? OpenTo;
String? Special;
RetailerOpeningTime({this.Day,this.OpenFrom,this.OpenTo,this.Special});
RetailerOpeningTime.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Day = json['Day'];
OpenFrom = json['OpenFrom'];
OpenTo = json['OpenTo'];
Special = json['Special'];
return this;
}
Map<String, dynamic> toJson() => {
'Day': Day,
'OpenFrom': OpenFrom,
'OpenTo': OpenTo,
'Special': Special
};
getTypeName() => "RetailerOpeningTime";
TypeContext? context = _ctx;
}
class RetailerOpeningTimes implements IConvertible
{
List<RetailerOpeningTime>? New = [];
List<RetailerOpeningTime>? Used = [];
RetailerOpeningTimes({this.New,this.Used});
RetailerOpeningTimes.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
New = JsonConverters.fromJson(json['New'],'List<RetailerOpeningTime>',context!);
Used = JsonConverters.fromJson(json['Used'],'List<RetailerOpeningTime>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'New': JsonConverters.toJson(New,'List<RetailerOpeningTime>',context!),
'Used': JsonConverters.toJson(Used,'List<RetailerOpeningTime>',context!)
};
getTypeName() => "RetailerOpeningTimes";
TypeContext? context = _ctx;
}
class Retailer implements IConvertible
{
int? Id;
String? GssnId;
String? Description;
String? Street;
String? City;
String? District;
String? Postcode;
String? GoogleMapPostcode;
String? Phone;
String? Fax;
String? Email;
String? Website;
double? Latitude;
double? Longitude;
int? RetailerGroup_Id;
String? RetailerGroupId;
String? RetailerGroupName;
double? Distance;
String? PaymentServiceGuid;
bool? IsOnline;
bool? IsNewCarRetailer;
bool? IsUsedCarRetailer;
bool? IsCentralRetailer;
bool? ChatEnabled;
bool? TradeInEnabled;
String? DisplayPhoneNumberNew;
String? DisplayPhoneNumberUsed;
RetailerServices? Services;
bool? smart;
String? smartDescription;
String? smartWebsite;
String? smartEmail;
String? smartPhone;
String? AdditionalInformation;
String? LegacyId;
double? DriveTime;
bool? Agent;
int? Port;
String? PortName;
int? MarketAreaId;
String? MarketAreaName;
String? MaintenanceDate;
String? MaintenanceSource;
String? STPAccountNumbers;
bool? CampaignExcluded;
String? DigitalLoungeParentGssnId;
bool? SendLeadsToDigitalLoungeParent;
bool? IsExcludedFromImport;
RetailerOpeningTimes? OpeningTimes;
Retailer({this.Id,this.GssnId,this.Description,this.Street,this.City,this.District,this.Postcode,this.GoogleMapPostcode,this.Phone,this.Fax,this.Email,this.Website,this.Latitude,this.Longitude,this.RetailerGroup_Id,this.RetailerGroupId,this.RetailerGroupName,this.Distance,this.PaymentServiceGuid,this.IsOnline,this.IsNewCarRetailer,this.IsUsedCarRetailer,this.IsCentralRetailer,this.ChatEnabled,this.TradeInEnabled,this.DisplayPhoneNumberNew,this.DisplayPhoneNumberUsed,this.Services,this.smart,this.smartDescription,this.smartWebsite,this.smartEmail,this.smartPhone,this.AdditionalInformation,this.LegacyId,this.DriveTime,this.Agent,this.Port,this.PortName,this.MarketAreaId,this.MarketAreaName,this.MaintenanceDate,this.MaintenanceSource,this.STPAccountNumbers,this.CampaignExcluded,this.DigitalLoungeParentGssnId,this.SendLeadsToDigitalLoungeParent,this.IsExcludedFromImport,this.OpeningTimes});
Retailer.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
GssnId = json['GssnId'];
Description = json['Description'];
Street = json['Street'];
City = json['City'];
District = json['District'];
Postcode = json['Postcode'];
GoogleMapPostcode = json['GoogleMapPostcode'];
Phone = json['Phone'];
Fax = json['Fax'];
Email = json['Email'];
Website = json['Website'];
Latitude = JsonConverters.toDouble(json['Latitude']);
Longitude = JsonConverters.toDouble(json['Longitude']);
RetailerGroup_Id = json['RetailerGroup_Id'];
RetailerGroupId = json['RetailerGroupId'];
RetailerGroupName = json['RetailerGroupName'];
Distance = JsonConverters.toDouble(json['Distance']);
PaymentServiceGuid = json['PaymentServiceGuid'];
IsOnline = json['IsOnline'];
IsNewCarRetailer = json['IsNewCarRetailer'];
IsUsedCarRetailer = json['IsUsedCarRetailer'];
IsCentralRetailer = json['IsCentralRetailer'];
ChatEnabled = json['ChatEnabled'];
TradeInEnabled = json['TradeInEnabled'];
DisplayPhoneNumberNew = json['DisplayPhoneNumberNew'];
DisplayPhoneNumberUsed = json['DisplayPhoneNumberUsed'];
Services = JsonConverters.fromJson(json['Services'],'RetailerServices',context!);
smart = json['smart'];
smartDescription = json['smartDescription'];
smartWebsite = json['smartWebsite'];
smartEmail = json['smartEmail'];
smartPhone = json['smartPhone'];
AdditionalInformation = json['AdditionalInformation'];
LegacyId = json['LegacyId'];
DriveTime = JsonConverters.toDouble(json['DriveTime']);
Agent = json['Agent'];
Port = json['Port'];
PortName = json['PortName'];
MarketAreaId = json['MarketAreaId'];
MarketAreaName = json['MarketAreaName'];
MaintenanceDate = json['MaintenanceDate'];
MaintenanceSource = json['MaintenanceSource'];
STPAccountNumbers = json['STPAccountNumbers'];
CampaignExcluded = json['CampaignExcluded'];
DigitalLoungeParentGssnId = json['DigitalLoungeParentGssnId'];
SendLeadsToDigitalLoungeParent = json['SendLeadsToDigitalLoungeParent'];
IsExcludedFromImport = json['IsExcludedFromImport'];
OpeningTimes = JsonConverters.fromJson(json['OpeningTimes'],'RetailerOpeningTimes',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'GssnId': GssnId,
'Description': Description,
'Street': Street,
'City': City,
'District': District,
'Postcode': Postcode,
'GoogleMapPostcode': GoogleMapPostcode,
'Phone': Phone,
'Fax': Fax,
'Email': Email,
'Website': Website,
'Latitude': Latitude,
'Longitude': Longitude,
'RetailerGroup_Id': RetailerGroup_Id,
'RetailerGroupId': RetailerGroupId,
'RetailerGroupName': RetailerGroupName,
'Distance': Distance,
'PaymentServiceGuid': PaymentServiceGuid,
'IsOnline': IsOnline,
'IsNewCarRetailer': IsNewCarRetailer,
'IsUsedCarRetailer': IsUsedCarRetailer,
'IsCentralRetailer': IsCentralRetailer,
'ChatEnabled': ChatEnabled,
'TradeInEnabled': TradeInEnabled,
'DisplayPhoneNumberNew': DisplayPhoneNumberNew,
'DisplayPhoneNumberUsed': DisplayPhoneNumberUsed,
'Services': JsonConverters.toJson(Services,'RetailerServices',context!),
'smart': smart,
'smartDescription': smartDescription,
'smartWebsite': smartWebsite,
'smartEmail': smartEmail,
'smartPhone': smartPhone,
'AdditionalInformation': AdditionalInformation,
'LegacyId': LegacyId,
'DriveTime': DriveTime,
'Agent': Agent,
'Port': Port,
'PortName': PortName,
'MarketAreaId': MarketAreaId,
'MarketAreaName': MarketAreaName,
'MaintenanceDate': MaintenanceDate,
'MaintenanceSource': MaintenanceSource,
'STPAccountNumbers': STPAccountNumbers,
'CampaignExcluded': CampaignExcluded,
'DigitalLoungeParentGssnId': DigitalLoungeParentGssnId,
'SendLeadsToDigitalLoungeParent': SendLeadsToDigitalLoungeParent,
'IsExcludedFromImport': IsExcludedFromImport,
'OpeningTimes': JsonConverters.toJson(OpeningTimes,'RetailerOpeningTimes',context!)
};
getTypeName() => "Retailer";
TypeContext? context = _ctx;
}
class Media implements IConvertible
{
int? ImageCount;
String? MainImageUrl;
String? MainImageUrlMobile;
bool? NoImage;
List<String>? ThreeSixtyDegreeImageUrls;
List<String>? ThreeSixtyDegreeMobileImageUrls;
List<String>? VehicleImageUrls;
List<String>? VehicleMobileImageUrls;
Media({this.ImageCount,this.MainImageUrl,this.MainImageUrlMobile,this.NoImage,this.ThreeSixtyDegreeImageUrls,this.ThreeSixtyDegreeMobileImageUrls,this.VehicleImageUrls,this.VehicleMobileImageUrls});
Media.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ImageCount = json['ImageCount'];
MainImageUrl = json['MainImageUrl'];
MainImageUrlMobile = json['MainImageUrlMobile'];
NoImage = json['NoImage'];
ThreeSixtyDegreeImageUrls = JsonConverters.fromJson(json['ThreeSixtyDegreeImageUrls'],'List<String>',context!);
ThreeSixtyDegreeMobileImageUrls = JsonConverters.fromJson(json['ThreeSixtyDegreeMobileImageUrls'],'List<String>',context!);
VehicleImageUrls = JsonConverters.fromJson(json['VehicleImageUrls'],'List<String>',context!);
VehicleMobileImageUrls = JsonConverters.fromJson(json['VehicleMobileImageUrls'],'List<String>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ImageCount': ImageCount,
'MainImageUrl': MainImageUrl,
'MainImageUrlMobile': MainImageUrlMobile,
'NoImage': NoImage,
'ThreeSixtyDegreeImageUrls': JsonConverters.toJson(ThreeSixtyDegreeImageUrls,'List<String>',context!),
'ThreeSixtyDegreeMobileImageUrls': JsonConverters.toJson(ThreeSixtyDegreeMobileImageUrls,'List<String>',context!),
'VehicleImageUrls': JsonConverters.toJson(VehicleImageUrls,'List<String>',context!),
'VehicleMobileImageUrls': JsonConverters.toJson(VehicleMobileImageUrls,'List<String>',context!)
};
getTypeName() => "Media";
TypeContext? context = _ctx;
}
enum OfferPriceProductType
{
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,
}
class Price implements IConvertible
{
String? Id;
String? Description;
double? Net;
double? VAT;
double? Gross;
OfferPriceProductType? Product;
Price({this.Id,this.Description,this.Net,this.VAT,this.Gross,this.Product});
Price.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Description = json['Description'];
Net = JsonConverters.toDouble(json['Net']);
VAT = JsonConverters.toDouble(json['VAT']);
Gross = JsonConverters.toDouble(json['Gross']);
Product = JsonConverters.fromJson(json['Product'],'OfferPriceProductType',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Description': Description,
'Net': Net,
'VAT': VAT,
'Gross': Gross,
'Product': JsonConverters.toJson(Product,'OfferPriceProductType',context!)
};
getTypeName() => "Price";
TypeContext? context = _ctx;
}
class Consumption implements IConvertible
{
int? Id;
double? Lkm;
double? Mpg;
Consumption({this.Id,this.Lkm,this.Mpg});
Consumption.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Lkm = JsonConverters.toDouble(json['Lkm']);
Mpg = JsonConverters.toDouble(json['Mpg']);
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Lkm': Lkm,
'Mpg': Mpg
};
getTypeName() => "Consumption";
TypeContext? context = _ctx;
}
class EmissionClass implements IConvertible
{
String? Colour;
String? Rating;
EmissionClass({this.Colour,this.Rating});
EmissionClass.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Colour = json['Colour'];
Rating = json['Rating'];
return this;
}
Map<String, dynamic> toJson() => {
'Colour': Colour,
'Rating': Rating
};
getTypeName() => "EmissionClass";
TypeContext? context = _ctx;
}
class Equipment implements IConvertible
{
int? Id;
String? Code;
String? Description;
Equipment({this.Id,this.Code,this.Description});
Equipment.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Code = json['Code'];
Description = json['Description'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Code': Code,
'Description': Description
};
getTypeName() => "Equipment";
TypeContext? context = _ctx;
}
class Equipmentv2 extends Equipment implements IConvertible
{
int? Importance;
bool? IsAdditional;
Equipmentv2({this.Importance,this.IsAdditional});
Equipmentv2.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
Importance = json['Importance'];
IsAdditional = json['IsAdditional'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'Importance': Importance,
'IsAdditional': IsAdditional
});
getTypeName() => "Equipmentv2";
TypeContext? context = _ctx;
}
class EquipmentCategoryv2 implements IConvertible
{
int? Order;
String? Code;
String? Description;
List<Equipmentv2>? Equipment;
EquipmentCategoryv2({this.Order,this.Code,this.Description,this.Equipment});
EquipmentCategoryv2.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Order = json['Order'];
Code = json['Code'];
Description = json['Description'];
Equipment = JsonConverters.fromJson(json['Equipment'],'List<Equipmentv2>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Order': Order,
'Code': Code,
'Description': Description,
'Equipment': JsonConverters.toJson(Equipment,'List<Equipmentv2>',context!)
};
getTypeName() => "EquipmentCategoryv2";
TypeContext? context = _ctx;
}
class VehicleAttribute implements IConvertible
{
String? Description;
String? Value;
VehicleAttribute({this.Description,this.Value});
VehicleAttribute.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Description = json['Description'];
Value = json['Value'];
return this;
}
Map<String, dynamic> toJson() => {
'Description': Description,
'Value': Value
};
getTypeName() => "VehicleAttribute";
TypeContext? context = _ctx;
}
class IntegratedServiceCareOptions implements IConvertible
{
String? OptionCode;
String? BM7NST;
String? FullModelYear;
String? IntegratedProductType;
String? CustomerDescription;
String? OneAgentProductType;
IntegratedServiceCareOptions({this.OptionCode,this.BM7NST,this.FullModelYear,this.IntegratedProductType,this.CustomerDescription,this.OneAgentProductType});
IntegratedServiceCareOptions.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
OptionCode = json['OptionCode'];
BM7NST = json['BM7NST'];
FullModelYear = json['FullModelYear'];
IntegratedProductType = json['IntegratedProductType'];
CustomerDescription = json['CustomerDescription'];
OneAgentProductType = json['OneAgentProductType'];
return this;
}
Map<String, dynamic> toJson() => {
'OptionCode': OptionCode,
'BM7NST': BM7NST,
'FullModelYear': FullModelYear,
'IntegratedProductType': IntegratedProductType,
'CustomerDescription': CustomerDescription,
'OneAgentProductType': OneAgentProductType
};
getTypeName() => "IntegratedServiceCareOptions";
TypeContext? context = _ctx;
}
class BackOrderVehicleDetails implements IVehiclePrices, IVehiclePriceCollection, IImageUrl, IVehicleDetails, IConvertible
{
String? Vin;
String? CommissionNumber;
String? Description;
String? ShortDescription;
int? ModelId;
String? Model;
String? FullModelYearCode;
int? BrandId;
BackOrderVehicleDetailsBrand? Brand;
int? RetailerId;
String? ImageUrl;
String? Colour;
String? ColourCode;
String? FuelType;
int? FuelTypeId;
String? Transmission;
String? TransmissionType;
Engine? Engine;
String? EngineBadge;
String? Package;
String? Line;
String? Upholstery;
String? UpholsteryCode;
String? UsageCode;
String? Account;
String? AccountType;
String? NST;
String? Baumuster;
double? ElectricRange;
double? ElectricConsumption;
double? ActualPrice;
double? OTRPrice;
double? RetailPriceExVat;
double? P11D;
String? VehicleType;
String? UpholsteryDescription;
String? UpholsteryType;
String? BodyStyle;
String? BodyStyleStyleCode;
String? BodyStyleStyleCodeElectric;
String? BodyStyleStyleCodeHybrid;
List<String>? AvailablePackages;
int? Mapped_Line;
bool? Secured;
String? Bm7NST;
bool? IsAvailableOnline;
bool? IsSpecialistCar;
bool? IsSellable;
bool? UnderOffer;
List<VehicleAuditDetails>? VehicleAuditDetails;
Retailer? Retailer;
Media? Media;
double? Emission;
String? ColourGroup;
String? VehicleClass;
String? ProductRange;
bool? IsHOBackOrderAccountVehicle;
bool? IsAllocatedToBackOrder;
bool? InBackOrderAccount;
double? DeliveryCharge;
double? DeliveryChargeNet;
double? DeliveryChargeVAT;
double? Plates;
double? PlatesNet;
double? PlatesVAT;
double? FuelCharge;
double? FuelChargeNet;
double? FuelChargeVAT;
double? RetailPrice_ExVAT;
double? RetailPrice_IncVAT;
double? VED_Year1;
double? VED_Year2;
double? FirstRegFee;
double? OTR_Value;
double? OTR;
List<Price>? Prices;
String? ProductionDate;
DateTime? PortArrivalDate;
String? Location;
bool? IsDisplayStock;
int? DisplayRetailerId;
String? DisplayRetailer;
String? DisplayRetailerGssnId;
int? DisplayRetailerMarketAreaId;
bool? IsSmartDisplayRetailer;
String? ColourDescription;
DateTime? Creation;
DateTime? Modified;
int? VATQualifyingNumber;
bool? VATQualifying;
double? CurrentRetailerOfferPrice;
String? GssnId;
bool? NoImage;
String? RegistrationNumber;
DateTime? RegistrationDate;
int? Mileage;
DateTime? TradeInDate;
String? VID;
String? EmissionCombined;
String? EmissionDirective;
String? NormalisedEmissionDirective;
bool? HasMildHybridEquipmentCode;
double? Acceleration;
String? ChassisNumber;
String? NumberOfDoors;
String? NumberOfSeats;
bool? SpecialInfo;
bool? EligibleForIntegratedServiceCare;
Consumption? ConsumptionCombined;
Consumption? ConsumptionExtraUrban;
Consumption? ConsumptionUrban;
Consumption? WltpFuelConsumptionCombined;
Consumption? WltpFuelConsumptionExtraHigh;
Consumption? WltpFuelConsumptionHigh;
Consumption? WltpFuelConsumptionLow;
Consumption? WltpFuelConsumptionMedium;
EmissionClass? EnergyEfficiencyClass;
List<Equipmentv2>? Equipment;
List<Equipment>? EquipmentAdditional;
List<EquipmentCategoryv2>? EquipmentCategories;
List<VehicleAttribute>? VehicleData;
List<IntegratedServiceCareOptions>? IntegratedServiceCareOptions;
List<String>? IspVehicleCustomerDescriptions;
String? MarketingCode;
bool? EligibleForMaTransfer;
String? ConfirmedProductionDate;
String? ForecastedArrivalDate;
BackOrderVehicleDetails({this.Vin,this.CommissionNumber,this.Description,this.ShortDescription,this.ModelId,this.Model,this.FullModelYearCode,this.BrandId,this.Brand,this.RetailerId,this.ImageUrl,this.Colour,this.ColourCode,this.FuelType,this.FuelTypeId,this.Transmission,this.TransmissionType,this.Engine,this.EngineBadge,this.Package,this.Line,this.Upholstery,this.UpholsteryCode,this.UsageCode,this.Account,this.AccountType,this.NST,this.Baumuster,this.ElectricRange,this.ElectricConsumption,this.ActualPrice,this.OTRPrice,this.RetailPriceExVat,this.P11D,this.VehicleType,this.UpholsteryDescription,this.UpholsteryType,this.BodyStyle,this.BodyStyleStyleCode,this.BodyStyleStyleCodeElectric,this.BodyStyleStyleCodeHybrid,this.AvailablePackages,this.Mapped_Line,this.Secured,this.Bm7NST,this.IsAvailableOnline,this.IsSpecialistCar,this.IsSellable,this.UnderOffer,this.VehicleAuditDetails,this.Retailer,this.Media,this.Emission,this.ColourGroup,this.VehicleClass,this.ProductRange,this.IsHOBackOrderAccountVehicle,this.IsAllocatedToBackOrder,this.InBackOrderAccount,this.DeliveryCharge,this.DeliveryChargeNet,this.DeliveryChargeVAT,this.Plates,this.PlatesNet,this.PlatesVAT,this.FuelCharge,this.FuelChargeNet,this.FuelChargeVAT,this.RetailPrice_ExVAT,this.RetailPrice_IncVAT,this.VED_Year1,this.VED_Year2,this.FirstRegFee,this.OTR_Value,this.OTR,this.Prices,this.ProductionDate,this.PortArrivalDate,this.Location,this.IsDisplayStock,this.DisplayRetailerId,this.DisplayRetailer,this.DisplayRetailerGssnId,this.DisplayRetailerMarketAreaId,this.IsSmartDisplayRetailer,this.ColourDescription,this.Creation,this.Modified,this.VATQualifyingNumber,this.VATQualifying,this.CurrentRetailerOfferPrice,this.GssnId,this.NoImage,this.RegistrationNumber,this.RegistrationDate,this.Mileage,this.TradeInDate,this.VID,this.EmissionCombined,this.EmissionDirective,this.NormalisedEmissionDirective,this.HasMildHybridEquipmentCode,this.Acceleration,this.ChassisNumber,this.NumberOfDoors,this.NumberOfSeats,this.SpecialInfo,this.EligibleForIntegratedServiceCare,this.ConsumptionCombined,this.ConsumptionExtraUrban,this.ConsumptionUrban,this.WltpFuelConsumptionCombined,this.WltpFuelConsumptionExtraHigh,this.WltpFuelConsumptionHigh,this.WltpFuelConsumptionLow,this.WltpFuelConsumptionMedium,this.EnergyEfficiencyClass,this.Equipment,this.EquipmentAdditional,this.EquipmentCategories,this.VehicleData,this.IntegratedServiceCareOptions,this.IspVehicleCustomerDescriptions,this.MarketingCode,this.EligibleForMaTransfer,this.ConfirmedProductionDate,this.ForecastedArrivalDate});
BackOrderVehicleDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Vin = json['Vin'];
CommissionNumber = json['CommissionNumber'];
Description = json['Description'];
ShortDescription = json['ShortDescription'];
ModelId = json['ModelId'];
Model = json['Model'];
FullModelYearCode = json['FullModelYearCode'];
BrandId = json['BrandId'];
Brand = JsonConverters.fromJson(json['Brand'],'BackOrderVehicleDetailsBrand',context!);
RetailerId = json['RetailerId'];
ImageUrl = json['ImageUrl'];
Colour = json['Colour'];
ColourCode = json['ColourCode'];
FuelType = json['FuelType'];
FuelTypeId = json['FuelTypeId'];
Transmission = json['Transmission'];
TransmissionType = json['TransmissionType'];
Engine = JsonConverters.fromJson(json['Engine'],'Engine',context!);
EngineBadge = json['EngineBadge'];
Package = json['Package'];
Line = json['Line'];
Upholstery = json['Upholstery'];
UpholsteryCode = json['UpholsteryCode'];
UsageCode = json['UsageCode'];
Account = json['Account'];
AccountType = json['AccountType'];
NST = json['NST'];
Baumuster = json['Baumuster'];
ElectricRange = JsonConverters.toDouble(json['ElectricRange']);
ElectricConsumption = JsonConverters.toDouble(json['ElectricConsumption']);
ActualPrice = JsonConverters.toDouble(json['ActualPrice']);
OTRPrice = JsonConverters.toDouble(json['OTRPrice']);
RetailPriceExVat = JsonConverters.toDouble(json['RetailPriceExVat']);
P11D = JsonConverters.toDouble(json['P11D']);
VehicleType = json['VehicleType'];
UpholsteryDescription = json['UpholsteryDescription'];
UpholsteryType = json['UpholsteryType'];
BodyStyle = json['BodyStyle'];
BodyStyleStyleCode = json['BodyStyleStyleCode'];
BodyStyleStyleCodeElectric = json['BodyStyleStyleCodeElectric'];
BodyStyleStyleCodeHybrid = json['BodyStyleStyleCodeHybrid'];
AvailablePackages = JsonConverters.fromJson(json['AvailablePackages'],'List<String>',context!);
Mapped_Line = json['Mapped_Line'];
Secured = json['Secured'];
Bm7NST = json['Bm7NST'];
IsAvailableOnline = json['IsAvailableOnline'];
IsSpecialistCar = json['IsSpecialistCar'];
IsSellable = json['IsSellable'];
UnderOffer = json['UnderOffer'];
VehicleAuditDetails = JsonConverters.fromJson(json['VehicleAuditDetails'],'List<VehicleAuditDetails>',context!);
Retailer = JsonConverters.fromJson(json['Retailer'],'Retailer',context!);
Media = JsonConverters.fromJson(json['Media'],'Media',context!);
Emission = JsonConverters.toDouble(json['Emission']);
ColourGroup = json['ColourGroup'];
VehicleClass = json['VehicleClass'];
ProductRange = json['ProductRange'];
IsHOBackOrderAccountVehicle = json['IsHOBackOrderAccountVehicle'];
IsAllocatedToBackOrder = json['IsAllocatedToBackOrder'];
InBackOrderAccount = json['InBackOrderAccount'];
DeliveryCharge = JsonConverters.toDouble(json['DeliveryCharge']);
DeliveryChargeNet = JsonConverters.toDouble(json['DeliveryChargeNet']);
DeliveryChargeVAT = JsonConverters.toDouble(json['DeliveryChargeVAT']);
Plates = JsonConverters.toDouble(json['Plates']);
PlatesNet = JsonConverters.toDouble(json['PlatesNet']);
PlatesVAT = JsonConverters.toDouble(json['PlatesVAT']);
FuelCharge = JsonConverters.toDouble(json['FuelCharge']);
FuelChargeNet = JsonConverters.toDouble(json['FuelChargeNet']);
FuelChargeVAT = JsonConverters.toDouble(json['FuelChargeVAT']);
RetailPrice_ExVAT = JsonConverters.toDouble(json['RetailPrice_ExVAT']);
RetailPrice_IncVAT = JsonConverters.toDouble(json['RetailPrice_IncVAT']);
VED_Year1 = JsonConverters.toDouble(json['VED_Year1']);
VED_Year2 = JsonConverters.toDouble(json['VED_Year2']);
FirstRegFee = JsonConverters.toDouble(json['FirstRegFee']);
OTR_Value = JsonConverters.toDouble(json['OTR_Value']);
OTR = JsonConverters.toDouble(json['OTR']);
Prices = JsonConverters.fromJson(json['Prices'],'List<Price>',context!);
ProductionDate = json['ProductionDate'];
PortArrivalDate = JsonConverters.fromJson(json['PortArrivalDate'],'DateTime',context!);
Location = json['Location'];
IsDisplayStock = json['IsDisplayStock'];
DisplayRetailerId = json['DisplayRetailerId'];
DisplayRetailer = json['DisplayRetailer'];
DisplayRetailerGssnId = json['DisplayRetailerGssnId'];
DisplayRetailerMarketAreaId = json['DisplayRetailerMarketAreaId'];
IsSmartDisplayRetailer = json['IsSmartDisplayRetailer'];
ColourDescription = json['ColourDescription'];
Creation = JsonConverters.fromJson(json['Creation'],'DateTime',context!);
Modified = JsonConverters.fromJson(json['Modified'],'DateTime',context!);
VATQualifyingNumber = json['VATQualifyingNumber'];
VATQualifying = json['VATQualifying'];
CurrentRetailerOfferPrice = JsonConverters.toDouble(json['CurrentRetailerOfferPrice']);
GssnId = json['GssnId'];
NoImage = json['NoImage'];
RegistrationNumber = json['RegistrationNumber'];
RegistrationDate = JsonConverters.fromJson(json['RegistrationDate'],'DateTime',context!);
Mileage = json['Mileage'];
TradeInDate = JsonConverters.fromJson(json['TradeInDate'],'DateTime',context!);
VID = json['VID'];
EmissionCombined = json['EmissionCombined'];
EmissionDirective = json['EmissionDirective'];
NormalisedEmissionDirective = json['NormalisedEmissionDirective'];
HasMildHybridEquipmentCode = json['HasMildHybridEquipmentCode'];
Acceleration = JsonConverters.toDouble(json['Acceleration']);
ChassisNumber = json['ChassisNumber'];
NumberOfDoors = json['NumberOfDoors'];
NumberOfSeats = json['NumberOfSeats'];
SpecialInfo = json['SpecialInfo'];
EligibleForIntegratedServiceCare = json['EligibleForIntegratedServiceCare'];
ConsumptionCombined = JsonConverters.fromJson(json['ConsumptionCombined'],'Consumption',context!);
ConsumptionExtraUrban = JsonConverters.fromJson(json['ConsumptionExtraUrban'],'Consumption',context!);
ConsumptionUrban = JsonConverters.fromJson(json['ConsumptionUrban'],'Consumption',context!);
WltpFuelConsumptionCombined = JsonConverters.fromJson(json['WltpFuelConsumptionCombined'],'Consumption',context!);
WltpFuelConsumptionExtraHigh = JsonConverters.fromJson(json['WltpFuelConsumptionExtraHigh'],'Consumption',context!);
WltpFuelConsumptionHigh = JsonConverters.fromJson(json['WltpFuelConsumptionHigh'],'Consumption',context!);
WltpFuelConsumptionLow = JsonConverters.fromJson(json['WltpFuelConsumptionLow'],'Consumption',context!);
WltpFuelConsumptionMedium = JsonConverters.fromJson(json['WltpFuelConsumptionMedium'],'Consumption',context!);
EnergyEfficiencyClass = JsonConverters.fromJson(json['EnergyEfficiencyClass'],'EmissionClass',context!);
Equipment = JsonConverters.fromJson(json['Equipment'],'List<Equipmentv2>',context!);
EquipmentAdditional = JsonConverters.fromJson(json['EquipmentAdditional'],'List<Equipment>',context!);
EquipmentCategories = JsonConverters.fromJson(json['EquipmentCategories'],'List<EquipmentCategoryv2>',context!);
VehicleData = JsonConverters.fromJson(json['VehicleData'],'List<VehicleAttribute>',context!);
IntegratedServiceCareOptions = JsonConverters.fromJson(json['IntegratedServiceCareOptions'],'List<IntegratedServiceCareOptions>',context!);
IspVehicleCustomerDescriptions = JsonConverters.fromJson(json['IspVehicleCustomerDescriptions'],'List<String>',context!);
MarketingCode = json['MarketingCode'];
EligibleForMaTransfer = json['EligibleForMaTransfer'];
ConfirmedProductionDate = json['ConfirmedProductionDate'];
ForecastedArrivalDate = json['ForecastedArrivalDate'];
return this;
}
Map<String, dynamic> toJson() => {
'Vin': Vin,
'CommissionNumber': CommissionNumber,
'Description': Description,
'ShortDescription': ShortDescription,
'ModelId': ModelId,
'Model': Model,
'FullModelYearCode': FullModelYearCode,
'BrandId': BrandId,
'Brand': JsonConverters.toJson(Brand,'BackOrderVehicleDetailsBrand',context!),
'RetailerId': RetailerId,
'ImageUrl': ImageUrl,
'Colour': Colour,
'ColourCode': ColourCode,
'FuelType': FuelType,
'FuelTypeId': FuelTypeId,
'Transmission': Transmission,
'TransmissionType': TransmissionType,
'Engine': JsonConverters.toJson(Engine,'Engine',context!),
'EngineBadge': EngineBadge,
'Package': Package,
'Line': Line,
'Upholstery': Upholstery,
'UpholsteryCode': UpholsteryCode,
'UsageCode': UsageCode,
'Account': Account,
'AccountType': AccountType,
'NST': NST,
'Baumuster': Baumuster,
'ElectricRange': ElectricRange,
'ElectricConsumption': ElectricConsumption,
'ActualPrice': ActualPrice,
'OTRPrice': OTRPrice,
'RetailPriceExVat': RetailPriceExVat,
'P11D': P11D,
'VehicleType': VehicleType,
'UpholsteryDescription': UpholsteryDescription,
'UpholsteryType': UpholsteryType,
'BodyStyle': BodyStyle,
'BodyStyleStyleCode': BodyStyleStyleCode,
'BodyStyleStyleCodeElectric': BodyStyleStyleCodeElectric,
'BodyStyleStyleCodeHybrid': BodyStyleStyleCodeHybrid,
'AvailablePackages': JsonConverters.toJson(AvailablePackages,'List<String>',context!),
'Mapped_Line': Mapped_Line,
'Secured': Secured,
'Bm7NST': Bm7NST,
'IsAvailableOnline': IsAvailableOnline,
'IsSpecialistCar': IsSpecialistCar,
'IsSellable': IsSellable,
'UnderOffer': UnderOffer,
'VehicleAuditDetails': JsonConverters.toJson(VehicleAuditDetails,'List<VehicleAuditDetails>',context!),
'Retailer': JsonConverters.toJson(Retailer,'Retailer',context!),
'Media': JsonConverters.toJson(Media,'Media',context!),
'Emission': Emission,
'ColourGroup': ColourGroup,
'VehicleClass': VehicleClass,
'ProductRange': ProductRange,
'IsHOBackOrderAccountVehicle': IsHOBackOrderAccountVehicle,
'IsAllocatedToBackOrder': IsAllocatedToBackOrder,
'InBackOrderAccount': InBackOrderAccount,
'DeliveryCharge': DeliveryCharge,
'DeliveryChargeNet': DeliveryChargeNet,
'DeliveryChargeVAT': DeliveryChargeVAT,
'Plates': Plates,
'PlatesNet': PlatesNet,
'PlatesVAT': PlatesVAT,
'FuelCharge': FuelCharge,
'FuelChargeNet': FuelChargeNet,
'FuelChargeVAT': FuelChargeVAT,
'RetailPrice_ExVAT': RetailPrice_ExVAT,
'RetailPrice_IncVAT': RetailPrice_IncVAT,
'VED_Year1': VED_Year1,
'VED_Year2': VED_Year2,
'FirstRegFee': FirstRegFee,
'OTR_Value': OTR_Value,
'OTR': OTR,
'Prices': JsonConverters.toJson(Prices,'List<Price>',context!),
'ProductionDate': ProductionDate,
'PortArrivalDate': JsonConverters.toJson(PortArrivalDate,'DateTime',context!),
'Location': Location,
'IsDisplayStock': IsDisplayStock,
'DisplayRetailerId': DisplayRetailerId,
'DisplayRetailer': DisplayRetailer,
'DisplayRetailerGssnId': DisplayRetailerGssnId,
'DisplayRetailerMarketAreaId': DisplayRetailerMarketAreaId,
'IsSmartDisplayRetailer': IsSmartDisplayRetailer,
'ColourDescription': ColourDescription,
'Creation': JsonConverters.toJson(Creation,'DateTime',context!),
'Modified': JsonConverters.toJson(Modified,'DateTime',context!),
'VATQualifyingNumber': VATQualifyingNumber,
'VATQualifying': VATQualifying,
'CurrentRetailerOfferPrice': CurrentRetailerOfferPrice,
'GssnId': GssnId,
'NoImage': NoImage,
'RegistrationNumber': RegistrationNumber,
'RegistrationDate': JsonConverters.toJson(RegistrationDate,'DateTime',context!),
'Mileage': Mileage,
'TradeInDate': JsonConverters.toJson(TradeInDate,'DateTime',context!),
'VID': VID,
'EmissionCombined': EmissionCombined,
'EmissionDirective': EmissionDirective,
'NormalisedEmissionDirective': NormalisedEmissionDirective,
'HasMildHybridEquipmentCode': HasMildHybridEquipmentCode,
'Acceleration': Acceleration,
'ChassisNumber': ChassisNumber,
'NumberOfDoors': NumberOfDoors,
'NumberOfSeats': NumberOfSeats,
'SpecialInfo': SpecialInfo,
'EligibleForIntegratedServiceCare': EligibleForIntegratedServiceCare,
'ConsumptionCombined': JsonConverters.toJson(ConsumptionCombined,'Consumption',context!),
'ConsumptionExtraUrban': JsonConverters.toJson(ConsumptionExtraUrban,'Consumption',context!),
'ConsumptionUrban': JsonConverters.toJson(ConsumptionUrban,'Consumption',context!),
'WltpFuelConsumptionCombined': JsonConverters.toJson(WltpFuelConsumptionCombined,'Consumption',context!),
'WltpFuelConsumptionExtraHigh': JsonConverters.toJson(WltpFuelConsumptionExtraHigh,'Consumption',context!),
'WltpFuelConsumptionHigh': JsonConverters.toJson(WltpFuelConsumptionHigh,'Consumption',context!),
'WltpFuelConsumptionLow': JsonConverters.toJson(WltpFuelConsumptionLow,'Consumption',context!),
'WltpFuelConsumptionMedium': JsonConverters.toJson(WltpFuelConsumptionMedium,'Consumption',context!),
'EnergyEfficiencyClass': JsonConverters.toJson(EnergyEfficiencyClass,'EmissionClass',context!),
'Equipment': JsonConverters.toJson(Equipment,'List<Equipmentv2>',context!),
'EquipmentAdditional': JsonConverters.toJson(EquipmentAdditional,'List<Equipment>',context!),
'EquipmentCategories': JsonConverters.toJson(EquipmentCategories,'List<EquipmentCategoryv2>',context!),
'VehicleData': JsonConverters.toJson(VehicleData,'List<VehicleAttribute>',context!),
'IntegratedServiceCareOptions': JsonConverters.toJson(IntegratedServiceCareOptions,'List<IntegratedServiceCareOptions>',context!),
'IspVehicleCustomerDescriptions': JsonConverters.toJson(IspVehicleCustomerDescriptions,'List<String>',context!),
'MarketingCode': MarketingCode,
'EligibleForMaTransfer': EligibleForMaTransfer,
'ConfirmedProductionDate': ConfirmedProductionDate,
'ForecastedArrivalDate': ForecastedArrivalDate
};
getTypeName() => "BackOrderVehicleDetails";
TypeContext? context = _ctx;
}
class Package implements IConvertible
{
int? Id;
String? Description;
Package({this.Id,this.Description});
Package.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Description = json['Description'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Description': Description
};
getTypeName() => "Package";
TypeContext? context = _ctx;
}
class BackOrderVehicleDetailsWithPackages extends BackOrderVehicleDetails implements IPackages, IConvertible
{
List<Package>? Packages;
String? PackageNames;
BackOrderVehicleDetailsWithPackages({this.Packages,this.PackageNames});
BackOrderVehicleDetailsWithPackages.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
Packages = JsonConverters.fromJson(json['Packages'],'List<Package>',context!);
PackageNames = json['PackageNames'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'Packages': JsonConverters.toJson(Packages,'List<Package>',context!),
'PackageNames': PackageNames
});
getTypeName() => "BackOrderVehicleDetailsWithPackages";
TypeContext? context = _ctx;
}
class CarConfiguratorVehicle extends BackOrderVehicleDetailsWithPackages implements IConvertible
{
String? ModelYearCode;
String? HalfModelYearCode;
List<int>? ActiveOffers = [];
bool? EligibleForMotability;
bool? NearestPort;
CarConfiguratorVehicle({this.ModelYearCode,this.HalfModelYearCode,this.ActiveOffers,this.EligibleForMotability,this.NearestPort});
CarConfiguratorVehicle.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
ModelYearCode = json['ModelYearCode'];
HalfModelYearCode = json['HalfModelYearCode'];
ActiveOffers = JsonConverters.fromJson(json['ActiveOffers'],'List<int>',context!);
EligibleForMotability = json['EligibleForMotability'];
NearestPort = json['NearestPort'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'ModelYearCode': ModelYearCode,
'HalfModelYearCode': HalfModelYearCode,
'ActiveOffers': JsonConverters.toJson(ActiveOffers,'List<int>',context!),
'EligibleForMotability': EligibleForMotability,
'NearestPort': NearestPort
});
getTypeName() => "CarConfiguratorVehicle";
TypeContext? context = _ctx;
}
class CarConfiguratorStockMatch implements IConvertible
{
CarConfiguratorVehicle? Vehicle;
bool? IsSellable;
String? VehicleWheels;
String? VehicleTrim;
List<String>? VehicleAdditionalOptionCodes = [];
List<String>? FullModelYearDifferences = [];
List<String>? PaintDifferences = [];
List<String>? UpholsteryDifferences = [];
List<String>? WheelDifferences = [];
List<String>? TrimDifferences = [];
List<String>? EquipmentDifferences = [];
List<String>? Differences = [];
bool? ExactMatch;
CarConfiguratorStockMatch({this.Vehicle,this.IsSellable,this.VehicleWheels,this.VehicleTrim,this.VehicleAdditionalOptionCodes,this.FullModelYearDifferences,this.PaintDifferences,this.UpholsteryDifferences,this.WheelDifferences,this.TrimDifferences,this.EquipmentDifferences,this.Differences,this.ExactMatch});
CarConfiguratorStockMatch.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Vehicle = JsonConverters.fromJson(json['Vehicle'],'CarConfiguratorVehicle',context!);
IsSellable = json['IsSellable'];
VehicleWheels = json['VehicleWheels'];
VehicleTrim = json['VehicleTrim'];
VehicleAdditionalOptionCodes = JsonConverters.fromJson(json['VehicleAdditionalOptionCodes'],'List<String>',context!);
FullModelYearDifferences = JsonConverters.fromJson(json['FullModelYearDifferences'],'List<String>',context!);
PaintDifferences = JsonConverters.fromJson(json['PaintDifferences'],'List<String>',context!);
UpholsteryDifferences = JsonConverters.fromJson(json['UpholsteryDifferences'],'List<String>',context!);
WheelDifferences = JsonConverters.fromJson(json['WheelDifferences'],'List<String>',context!);
TrimDifferences = JsonConverters.fromJson(json['TrimDifferences'],'List<String>',context!);
EquipmentDifferences = JsonConverters.fromJson(json['EquipmentDifferences'],'List<String>',context!);
Differences = JsonConverters.fromJson(json['Differences'],'List<String>',context!);
ExactMatch = json['ExactMatch'];
return this;
}
Map<String, dynamic> toJson() => {
'Vehicle': JsonConverters.toJson(Vehicle,'CarConfiguratorVehicle',context!),
'IsSellable': IsSellable,
'VehicleWheels': VehicleWheels,
'VehicleTrim': VehicleTrim,
'VehicleAdditionalOptionCodes': JsonConverters.toJson(VehicleAdditionalOptionCodes,'List<String>',context!),
'FullModelYearDifferences': JsonConverters.toJson(FullModelYearDifferences,'List<String>',context!),
'PaintDifferences': JsonConverters.toJson(PaintDifferences,'List<String>',context!),
'UpholsteryDifferences': JsonConverters.toJson(UpholsteryDifferences,'List<String>',context!),
'WheelDifferences': JsonConverters.toJson(WheelDifferences,'List<String>',context!),
'TrimDifferences': JsonConverters.toJson(TrimDifferences,'List<String>',context!),
'EquipmentDifferences': JsonConverters.toJson(EquipmentDifferences,'List<String>',context!),
'Differences': JsonConverters.toJson(Differences,'List<String>',context!),
'ExactMatch': ExactMatch
};
getTypeName() => "CarConfiguratorStockMatch";
TypeContext? context = _ctx;
}
class CarConfiguratorStockMatches implements IConvertible
{
List<CarConfiguratorStockMatch>? SellableMatches = [];
List<CarConfiguratorStockMatch>? NonSellableMatches = [];
CarConfiguratorStockMatches({this.SellableMatches,this.NonSellableMatches});
CarConfiguratorStockMatches.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
SellableMatches = JsonConverters.fromJson(json['SellableMatches'],'List<CarConfiguratorStockMatch>',context!);
NonSellableMatches = JsonConverters.fromJson(json['NonSellableMatches'],'List<CarConfiguratorStockMatch>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'SellableMatches': JsonConverters.toJson(SellableMatches,'List<CarConfiguratorStockMatch>',context!),
'NonSellableMatches': JsonConverters.toJson(NonSellableMatches,'List<CarConfiguratorStockMatch>',context!)
};
getTypeName() => "CarConfiguratorStockMatches";
TypeContext? context = _ctx;
}
class CarConfiguratorStockResponse implements IConvertible
{
int? TotalVehicles;
CarConfiguratorResponse? CarConfiguratorResponse;
CarConfiguratorStockMatches? ExactMatches;
CarConfiguratorStockMatches? CloseMatches;
CarConfiguratorStockResponse({this.TotalVehicles,this.CarConfiguratorResponse,this.ExactMatches,this.CloseMatches});
CarConfiguratorStockResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
TotalVehicles = json['TotalVehicles'];
CarConfiguratorResponse = JsonConverters.fromJson(json['CarConfiguratorResponse'],'CarConfiguratorResponse',context!);
ExactMatches = JsonConverters.fromJson(json['ExactMatches'],'CarConfiguratorStockMatches',context!);
CloseMatches = JsonConverters.fromJson(json['CloseMatches'],'CarConfiguratorStockMatches',context!);
return this;
}
Map<String, dynamic> toJson() => {
'TotalVehicles': TotalVehicles,
'CarConfiguratorResponse': JsonConverters.toJson(CarConfiguratorResponse,'CarConfiguratorResponse',context!),
'ExactMatches': JsonConverters.toJson(ExactMatches,'CarConfiguratorStockMatches',context!),
'CloseMatches': JsonConverters.toJson(CloseMatches,'CarConfiguratorStockMatches',context!)
};
getTypeName() => "CarConfiguratorStockResponse";
TypeContext? context = _ctx;
}
class CarConfiguratorStockRequest implements IPost, IConvertible
{
/**
* The configurator code to search on
*/
// @ApiMember(Description="The configurator code to search on", IsRequired=true)
String? ConfiguratorCode;
/**
* Whether to return sellable vehicles
*/
// @ApiMember(Description="Whether to return sellable vehicles")
bool? IsSellable;
/**
* Whether to only get exact matches
*/
// @ApiMember(Description="Whether to only get exact matches")
bool? ExactMatch;
/**
* Whether to restrict vehicles response to a GSSN
*/
// @ApiMember(Description="Whether to restrict vehicles response to a GSSN")
String? GSSN;
CarConfiguratorStockRequest({this.ConfiguratorCode,this.IsSellable,this.ExactMatch,this.GSSN});
CarConfiguratorStockRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ConfiguratorCode = json['ConfiguratorCode'];
IsSellable = json['IsSellable'];
ExactMatch = json['ExactMatch'];
GSSN = json['GSSN'];
return this;
}
Map<String, dynamic> toJson() => {
'ConfiguratorCode': ConfiguratorCode,
'IsSellable': IsSellable,
'ExactMatch': ExactMatch,
'GSSN': GSSN
};
getTypeName() => "CarConfiguratorStockRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'prod_api_agency_orch_mb_dhc.rapp_customers.co.uk', types: <String, TypeInfo> {
'KeyInformation': TypeInfo(TypeOf.Class, create:() => KeyInformation()),
'EquipmentCache': TypeInfo(TypeOf.Class, create:() => EquipmentCache()),
'OrderingOptions': TypeInfo(TypeOf.Class, create:() => OrderingOptions()),
'List<EquipmentCache>': TypeInfo(TypeOf.Class, create:() => <EquipmentCache>[]),
'CarConfiguratorResponse': TypeInfo(TypeOf.Class, create:() => CarConfiguratorResponse()),
'BackOrderVehicleDetailsBrand': TypeInfo(TypeOf.Class, create:() => BackOrderVehicleDetailsBrand()),
'Engine': TypeInfo(TypeOf.Class, create:() => Engine()),
'VehicleAuditDetails': TypeInfo(TypeOf.Class, create:() => VehicleAuditDetails()),
'RetailerService': TypeInfo(TypeOf.Class, create:() => RetailerService()),
'RetailerServices': TypeInfo(TypeOf.Class, create:() => RetailerServices()),
'List<RetailerService>': TypeInfo(TypeOf.Class, create:() => <RetailerService>[]),
'RetailerOpeningTime': TypeInfo(TypeOf.Class, create:() => RetailerOpeningTime()),
'RetailerOpeningTimes': TypeInfo(TypeOf.Class, create:() => RetailerOpeningTimes()),
'List<RetailerOpeningTime>': TypeInfo(TypeOf.Class, create:() => <RetailerOpeningTime>[]),
'Retailer': TypeInfo(TypeOf.Class, create:() => Retailer()),
'Media': TypeInfo(TypeOf.Class, create:() => Media()),
'OfferPriceProductType': TypeInfo(TypeOf.Enum, enumValues:OfferPriceProductType.values),
'Price': TypeInfo(TypeOf.Class, create:() => Price()),
'Consumption': TypeInfo(TypeOf.Class, create:() => Consumption()),
'EmissionClass': TypeInfo(TypeOf.Class, create:() => EmissionClass()),
'Equipment': TypeInfo(TypeOf.Class, create:() => Equipment()),
'Equipmentv2': TypeInfo(TypeOf.Class, create:() => Equipmentv2()),
'EquipmentCategoryv2': TypeInfo(TypeOf.Class, create:() => EquipmentCategoryv2()),
'List<Equipmentv2>': TypeInfo(TypeOf.Class, create:() => <Equipmentv2>[]),
'VehicleAttribute': TypeInfo(TypeOf.Class, create:() => VehicleAttribute()),
'IntegratedServiceCareOptions': TypeInfo(TypeOf.Class, create:() => IntegratedServiceCareOptions()),
'BackOrderVehicleDetails': TypeInfo(TypeOf.Class, create:() => BackOrderVehicleDetails()),
'List<VehicleAuditDetails>': TypeInfo(TypeOf.Class, create:() => <VehicleAuditDetails>[]),
'List<Price>': TypeInfo(TypeOf.Class, create:() => <Price>[]),
'List<Equipment>': TypeInfo(TypeOf.Class, create:() => <Equipment>[]),
'List<EquipmentCategoryv2>': TypeInfo(TypeOf.Class, create:() => <EquipmentCategoryv2>[]),
'List<VehicleAttribute>': TypeInfo(TypeOf.Class, create:() => <VehicleAttribute>[]),
'List<IntegratedServiceCareOptions>': TypeInfo(TypeOf.Class, create:() => <IntegratedServiceCareOptions>[]),
'Package': TypeInfo(TypeOf.Class, create:() => Package()),
'BackOrderVehicleDetailsWithPackages': TypeInfo(TypeOf.Class, create:() => BackOrderVehicleDetailsWithPackages()),
'List<Package>': TypeInfo(TypeOf.Class, create:() => <Package>[]),
'CarConfiguratorVehicle': TypeInfo(TypeOf.Class, create:() => CarConfiguratorVehicle()),
'CarConfiguratorStockMatch': TypeInfo(TypeOf.Class, create:() => CarConfiguratorStockMatch()),
'CarConfiguratorStockMatches': TypeInfo(TypeOf.Class, create:() => CarConfiguratorStockMatches()),
'List<CarConfiguratorStockMatch>': TypeInfo(TypeOf.Class, create:() => <CarConfiguratorStockMatch>[]),
'CarConfiguratorStockResponse': TypeInfo(TypeOf.Class, create:() => CarConfiguratorStockResponse()),
'CarConfiguratorStockRequest': TypeInfo(TypeOf.Class, create:() => CarConfiguratorStockRequest()),
});
Dart 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":[{}]}}