POST | /v1/{VehicleType}/Vehicle/Central | Filter central vehicle data |
---|
import 'package:servicestack/servicestack.dart';
class VehicleDataBase implements IConvertible
{
String? vin;
String? description;
String? model;
String? otr;
String? retailPriceExVAT;
String? actualPrice;
String? fuelType;
String? transmission;
String? transmissionType;
String? colour;
String? colourCode;
String? colourDescription;
String? commissionNumber;
bool? offerAvailable;
int? campaignDiscountOfferTotal;
int? campaignDiscountOfferTotalCurrent;
int? campaignDiscountOfferTotalPending;
int? campaignServiceOfferTotal;
int? campaignServiceOfferTotalCurrent;
int? campaignServiceOfferTotalPending;
int? campaignCustomOfferTotal;
int? campaignPersonalisedOfferTotalCurrent;
int? campaignPersonalisedOfferTotalPending;
int? campaignPersonalisedOfferTotal;
int? campaignCustomOfferTotalCurrent;
int? campaignCustomOfferTotalPending;
int? campaignOtherOfferTotal;
int? campaignOtherOfferTotalCurrent;
int? campaignOtherOfferTotalPending;
int? retailerDiscountOfferTotal;
int? retailerDiscountOfferTotalCurrent;
int? retailerDiscountOfferTotalPending;
int? retailerServiceOfferTotal;
int? retailerServiceOfferTotalCurrent;
int? retailerServiceOfferTotalPending;
int? retailerCustomOfferTotal;
int? retailerCustomOfferTotalCurrent;
int? retailerCustomOfferTotalPending;
int? retailerWarrantyOfferTotal;
int? retailerWarrantyOfferTotalCurrent;
int? retailerWarrantyOfferTotalPending;
int? retailerOfferTotal;
int? retailerOfferTotalCurrent;
int? retailerOfferTotalPending;
int? campaignOfferTotal;
int? campaignOfferTotalCurrent;
int? campaignOfferTotalPending;
int? campaignAndOfferTotal;
int? campaignAndOfferTotalCurrent;
int? campaignAndOfferTotalPending;
int? offerTotal;
int? offerTotalCurrent;
int? offerTotalPending;
String? creation;
String? modified;
int? electricRange;
int? electricConsumption;
DateTime? portArrivalDate;
int? daysSincePortArrival;
double? retailPriceIncVAT;
String? bodyStyle;
String? upholstery;
String? upholsteryCode;
String? upholsteryType;
List<String>? packageNames = [];
String? line;
double? currentRetailerOfferPrice;
String? retailPrice;
bool? vatQualifying;
int? retailerId;
String? gssnId;
bool? noImage;
String? imageUrl;
bool? isAvailableOnline;
bool? isBackOrdered;
String? creationDate;
String? maintenanceDate;
String? registrationNumber;
DateTime? registrationDate;
int? mileage;
DateTime? tradeInDate;
String? source;
String? vehicleType;
String? offerAmount;
String? offerExpiry;
List<int>? activeOffers = [];
int? campaignMessagesTotal;
bool? underOffer;
bool? isDisplayStock;
String? displayRetailer;
String? displayRetailerGssnId;
String? location;
String? account;
String? accountType;
String? usageCode;
String? bm7NST;
bool? isSellable;
bool? secured;
bool? specialist;
bool? isMotabilityRetailer;
String? upholsteryDescription;
bool? inBackOrderAccount;
String? fullModelYearCode;
DateTime? productionDate;
String? baumuster;
bool? isMotability;
double? pipAdvanceRentalGross;
double? wpmsAdvanceRentalGross;
List<String>? ispVehicleCustomerDescriptions;
VehicleDataBase({this.vin,this.description,this.model,this.otr,this.retailPriceExVAT,this.actualPrice,this.fuelType,this.transmission,this.transmissionType,this.colour,this.colourCode,this.colourDescription,this.commissionNumber,this.offerAvailable,this.campaignDiscountOfferTotal,this.campaignDiscountOfferTotalCurrent,this.campaignDiscountOfferTotalPending,this.campaignServiceOfferTotal,this.campaignServiceOfferTotalCurrent,this.campaignServiceOfferTotalPending,this.campaignCustomOfferTotal,this.campaignPersonalisedOfferTotalCurrent,this.campaignPersonalisedOfferTotalPending,this.campaignPersonalisedOfferTotal,this.campaignCustomOfferTotalCurrent,this.campaignCustomOfferTotalPending,this.campaignOtherOfferTotal,this.campaignOtherOfferTotalCurrent,this.campaignOtherOfferTotalPending,this.retailerDiscountOfferTotal,this.retailerDiscountOfferTotalCurrent,this.retailerDiscountOfferTotalPending,this.retailerServiceOfferTotal,this.retailerServiceOfferTotalCurrent,this.retailerServiceOfferTotalPending,this.retailerCustomOfferTotal,this.retailerCustomOfferTotalCurrent,this.retailerCustomOfferTotalPending,this.retailerWarrantyOfferTotal,this.retailerWarrantyOfferTotalCurrent,this.retailerWarrantyOfferTotalPending,this.retailerOfferTotal,this.retailerOfferTotalCurrent,this.retailerOfferTotalPending,this.campaignOfferTotal,this.campaignOfferTotalCurrent,this.campaignOfferTotalPending,this.campaignAndOfferTotal,this.campaignAndOfferTotalCurrent,this.campaignAndOfferTotalPending,this.offerTotal,this.offerTotalCurrent,this.offerTotalPending,this.creation,this.modified,this.electricRange,this.electricConsumption,this.portArrivalDate,this.daysSincePortArrival,this.retailPriceIncVAT,this.bodyStyle,this.upholstery,this.upholsteryCode,this.upholsteryType,this.packageNames,this.line,this.currentRetailerOfferPrice,this.retailPrice,this.vatQualifying,this.retailerId,this.gssnId,this.noImage,this.imageUrl,this.isAvailableOnline,this.isBackOrdered,this.creationDate,this.maintenanceDate,this.registrationNumber,this.registrationDate,this.mileage,this.tradeInDate,this.source,this.vehicleType,this.offerAmount,this.offerExpiry,this.activeOffers,this.campaignMessagesTotal,this.underOffer,this.isDisplayStock,this.displayRetailer,this.displayRetailerGssnId,this.location,this.account,this.accountType,this.usageCode,this.bm7NST,this.isSellable,this.secured,this.specialist,this.isMotabilityRetailer,this.upholsteryDescription,this.inBackOrderAccount,this.fullModelYearCode,this.productionDate,this.baumuster,this.isMotability,this.pipAdvanceRentalGross,this.wpmsAdvanceRentalGross,this.ispVehicleCustomerDescriptions});
VehicleDataBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
vin = json['vin'];
description = json['description'];
model = json['model'];
otr = json['otr'];
retailPriceExVAT = json['retailPriceExVAT'];
actualPrice = json['actualPrice'];
fuelType = json['fuelType'];
transmission = json['transmission'];
transmissionType = json['transmissionType'];
colour = json['colour'];
colourCode = json['colourCode'];
colourDescription = json['colourDescription'];
commissionNumber = json['commissionNumber'];
offerAvailable = json['offerAvailable'];
campaignDiscountOfferTotal = json['campaignDiscountOfferTotal'];
campaignDiscountOfferTotalCurrent = json['campaignDiscountOfferTotalCurrent'];
campaignDiscountOfferTotalPending = json['campaignDiscountOfferTotalPending'];
campaignServiceOfferTotal = json['campaignServiceOfferTotal'];
campaignServiceOfferTotalCurrent = json['campaignServiceOfferTotalCurrent'];
campaignServiceOfferTotalPending = json['campaignServiceOfferTotalPending'];
campaignCustomOfferTotal = json['campaignCustomOfferTotal'];
campaignPersonalisedOfferTotalCurrent = json['campaignPersonalisedOfferTotalCurrent'];
campaignPersonalisedOfferTotalPending = json['campaignPersonalisedOfferTotalPending'];
campaignPersonalisedOfferTotal = json['campaignPersonalisedOfferTotal'];
campaignCustomOfferTotalCurrent = json['campaignCustomOfferTotalCurrent'];
campaignCustomOfferTotalPending = json['campaignCustomOfferTotalPending'];
campaignOtherOfferTotal = json['campaignOtherOfferTotal'];
campaignOtherOfferTotalCurrent = json['campaignOtherOfferTotalCurrent'];
campaignOtherOfferTotalPending = json['campaignOtherOfferTotalPending'];
retailerDiscountOfferTotal = json['retailerDiscountOfferTotal'];
retailerDiscountOfferTotalCurrent = json['retailerDiscountOfferTotalCurrent'];
retailerDiscountOfferTotalPending = json['retailerDiscountOfferTotalPending'];
retailerServiceOfferTotal = json['retailerServiceOfferTotal'];
retailerServiceOfferTotalCurrent = json['retailerServiceOfferTotalCurrent'];
retailerServiceOfferTotalPending = json['retailerServiceOfferTotalPending'];
retailerCustomOfferTotal = json['retailerCustomOfferTotal'];
retailerCustomOfferTotalCurrent = json['retailerCustomOfferTotalCurrent'];
retailerCustomOfferTotalPending = json['retailerCustomOfferTotalPending'];
retailerWarrantyOfferTotal = json['retailerWarrantyOfferTotal'];
retailerWarrantyOfferTotalCurrent = json['retailerWarrantyOfferTotalCurrent'];
retailerWarrantyOfferTotalPending = json['retailerWarrantyOfferTotalPending'];
retailerOfferTotal = json['retailerOfferTotal'];
retailerOfferTotalCurrent = json['retailerOfferTotalCurrent'];
retailerOfferTotalPending = json['retailerOfferTotalPending'];
campaignOfferTotal = json['campaignOfferTotal'];
campaignOfferTotalCurrent = json['campaignOfferTotalCurrent'];
campaignOfferTotalPending = json['campaignOfferTotalPending'];
campaignAndOfferTotal = json['campaignAndOfferTotal'];
campaignAndOfferTotalCurrent = json['campaignAndOfferTotalCurrent'];
campaignAndOfferTotalPending = json['campaignAndOfferTotalPending'];
offerTotal = json['offerTotal'];
offerTotalCurrent = json['offerTotalCurrent'];
offerTotalPending = json['offerTotalPending'];
creation = json['creation'];
modified = json['modified'];
electricRange = json['electricRange'];
electricConsumption = json['electricConsumption'];
portArrivalDate = JsonConverters.fromJson(json['portArrivalDate'],'DateTime',context!);
daysSincePortArrival = json['daysSincePortArrival'];
retailPriceIncVAT = JsonConverters.toDouble(json['retailPriceIncVAT']);
bodyStyle = json['bodyStyle'];
upholstery = json['upholstery'];
upholsteryCode = json['upholsteryCode'];
upholsteryType = json['upholsteryType'];
packageNames = JsonConverters.fromJson(json['packageNames'],'List<String>',context!);
line = json['line'];
currentRetailerOfferPrice = JsonConverters.toDouble(json['currentRetailerOfferPrice']);
retailPrice = json['retailPrice'];
vatQualifying = json['vatQualifying'];
retailerId = json['retailerId'];
gssnId = json['gssnId'];
noImage = json['noImage'];
imageUrl = json['imageUrl'];
isAvailableOnline = json['isAvailableOnline'];
isBackOrdered = json['isBackOrdered'];
creationDate = json['creationDate'];
maintenanceDate = json['maintenanceDate'];
registrationNumber = json['registrationNumber'];
registrationDate = JsonConverters.fromJson(json['registrationDate'],'DateTime',context!);
mileage = json['mileage'];
tradeInDate = JsonConverters.fromJson(json['tradeInDate'],'DateTime',context!);
source = json['source'];
vehicleType = json['vehicleType'];
offerAmount = json['offerAmount'];
offerExpiry = json['offerExpiry'];
activeOffers = JsonConverters.fromJson(json['activeOffers'],'List<int>',context!);
campaignMessagesTotal = json['campaignMessagesTotal'];
underOffer = json['underOffer'];
isDisplayStock = json['isDisplayStock'];
displayRetailer = json['displayRetailer'];
displayRetailerGssnId = json['displayRetailerGssnId'];
location = json['location'];
account = json['account'];
accountType = json['accountType'];
usageCode = json['usageCode'];
bm7NST = json['bm7NST'];
isSellable = json['isSellable'];
secured = json['secured'];
specialist = json['specialist'];
isMotabilityRetailer = json['isMotabilityRetailer'];
upholsteryDescription = json['upholsteryDescription'];
inBackOrderAccount = json['inBackOrderAccount'];
fullModelYearCode = json['fullModelYearCode'];
productionDate = JsonConverters.fromJson(json['productionDate'],'DateTime',context!);
baumuster = json['baumuster'];
isMotability = json['isMotability'];
pipAdvanceRentalGross = JsonConverters.toDouble(json['pipAdvanceRentalGross']);
wpmsAdvanceRentalGross = JsonConverters.toDouble(json['wpmsAdvanceRentalGross']);
ispVehicleCustomerDescriptions = JsonConverters.fromJson(json['ispVehicleCustomerDescriptions'],'List<String>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'vin': vin,
'description': description,
'model': model,
'otr': otr,
'retailPriceExVAT': retailPriceExVAT,
'actualPrice': actualPrice,
'fuelType': fuelType,
'transmission': transmission,
'transmissionType': transmissionType,
'colour': colour,
'colourCode': colourCode,
'colourDescription': colourDescription,
'commissionNumber': commissionNumber,
'offerAvailable': offerAvailable,
'campaignDiscountOfferTotal': campaignDiscountOfferTotal,
'campaignDiscountOfferTotalCurrent': campaignDiscountOfferTotalCurrent,
'campaignDiscountOfferTotalPending': campaignDiscountOfferTotalPending,
'campaignServiceOfferTotal': campaignServiceOfferTotal,
'campaignServiceOfferTotalCurrent': campaignServiceOfferTotalCurrent,
'campaignServiceOfferTotalPending': campaignServiceOfferTotalPending,
'campaignCustomOfferTotal': campaignCustomOfferTotal,
'campaignPersonalisedOfferTotalCurrent': campaignPersonalisedOfferTotalCurrent,
'campaignPersonalisedOfferTotalPending': campaignPersonalisedOfferTotalPending,
'campaignPersonalisedOfferTotal': campaignPersonalisedOfferTotal,
'campaignCustomOfferTotalCurrent': campaignCustomOfferTotalCurrent,
'campaignCustomOfferTotalPending': campaignCustomOfferTotalPending,
'campaignOtherOfferTotal': campaignOtherOfferTotal,
'campaignOtherOfferTotalCurrent': campaignOtherOfferTotalCurrent,
'campaignOtherOfferTotalPending': campaignOtherOfferTotalPending,
'retailerDiscountOfferTotal': retailerDiscountOfferTotal,
'retailerDiscountOfferTotalCurrent': retailerDiscountOfferTotalCurrent,
'retailerDiscountOfferTotalPending': retailerDiscountOfferTotalPending,
'retailerServiceOfferTotal': retailerServiceOfferTotal,
'retailerServiceOfferTotalCurrent': retailerServiceOfferTotalCurrent,
'retailerServiceOfferTotalPending': retailerServiceOfferTotalPending,
'retailerCustomOfferTotal': retailerCustomOfferTotal,
'retailerCustomOfferTotalCurrent': retailerCustomOfferTotalCurrent,
'retailerCustomOfferTotalPending': retailerCustomOfferTotalPending,
'retailerWarrantyOfferTotal': retailerWarrantyOfferTotal,
'retailerWarrantyOfferTotalCurrent': retailerWarrantyOfferTotalCurrent,
'retailerWarrantyOfferTotalPending': retailerWarrantyOfferTotalPending,
'retailerOfferTotal': retailerOfferTotal,
'retailerOfferTotalCurrent': retailerOfferTotalCurrent,
'retailerOfferTotalPending': retailerOfferTotalPending,
'campaignOfferTotal': campaignOfferTotal,
'campaignOfferTotalCurrent': campaignOfferTotalCurrent,
'campaignOfferTotalPending': campaignOfferTotalPending,
'campaignAndOfferTotal': campaignAndOfferTotal,
'campaignAndOfferTotalCurrent': campaignAndOfferTotalCurrent,
'campaignAndOfferTotalPending': campaignAndOfferTotalPending,
'offerTotal': offerTotal,
'offerTotalCurrent': offerTotalCurrent,
'offerTotalPending': offerTotalPending,
'creation': creation,
'modified': modified,
'electricRange': electricRange,
'electricConsumption': electricConsumption,
'portArrivalDate': JsonConverters.toJson(portArrivalDate,'DateTime',context!),
'daysSincePortArrival': daysSincePortArrival,
'retailPriceIncVAT': retailPriceIncVAT,
'bodyStyle': bodyStyle,
'upholstery': upholstery,
'upholsteryCode': upholsteryCode,
'upholsteryType': upholsteryType,
'packageNames': JsonConverters.toJson(packageNames,'List<String>',context!),
'line': line,
'currentRetailerOfferPrice': currentRetailerOfferPrice,
'retailPrice': retailPrice,
'vatQualifying': vatQualifying,
'retailerId': retailerId,
'gssnId': gssnId,
'noImage': noImage,
'imageUrl': imageUrl,
'isAvailableOnline': isAvailableOnline,
'isBackOrdered': isBackOrdered,
'creationDate': creationDate,
'maintenanceDate': maintenanceDate,
'registrationNumber': registrationNumber,
'registrationDate': JsonConverters.toJson(registrationDate,'DateTime',context!),
'mileage': mileage,
'tradeInDate': JsonConverters.toJson(tradeInDate,'DateTime',context!),
'source': source,
'vehicleType': vehicleType,
'offerAmount': offerAmount,
'offerExpiry': offerExpiry,
'activeOffers': JsonConverters.toJson(activeOffers,'List<int>',context!),
'campaignMessagesTotal': campaignMessagesTotal,
'underOffer': underOffer,
'isDisplayStock': isDisplayStock,
'displayRetailer': displayRetailer,
'displayRetailerGssnId': displayRetailerGssnId,
'location': location,
'account': account,
'accountType': accountType,
'usageCode': usageCode,
'bm7NST': bm7NST,
'isSellable': isSellable,
'secured': secured,
'specialist': specialist,
'isMotabilityRetailer': isMotabilityRetailer,
'upholsteryDescription': upholsteryDescription,
'inBackOrderAccount': inBackOrderAccount,
'fullModelYearCode': fullModelYearCode,
'productionDate': JsonConverters.toJson(productionDate,'DateTime',context!),
'baumuster': baumuster,
'isMotability': isMotability,
'pipAdvanceRentalGross': pipAdvanceRentalGross,
'wpmsAdvanceRentalGross': wpmsAdvanceRentalGross,
'ispVehicleCustomerDescriptions': JsonConverters.toJson(ispVehicleCustomerDescriptions,'List<String>',context!)
};
getTypeName() => "VehicleDataBase";
TypeContext? context = _ctx;
}
class VehicleData extends VehicleDataBase implements IConvertible
{
String? engine;
VehicleData({this.engine});
VehicleData.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
engine = json['engine'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'engine': engine
});
getTypeName() => "VehicleData";
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 VehicleIdentifierData extends VehicleData implements IConvertible
{
String? retailer;
bool? hasMotabilityError;
List<Equipment>? equipment = [];
VehicleIdentifierData({this.retailer,this.hasMotabilityError,this.equipment});
VehicleIdentifierData.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
retailer = json['retailer'];
hasMotabilityError = json['hasMotabilityError'];
equipment = JsonConverters.fromJson(json['equipment'],'List<Equipment>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'retailer': retailer,
'hasMotabilityError': hasMotabilityError,
'equipment': JsonConverters.toJson(equipment,'List<Equipment>',context!)
});
getTypeName() => "VehicleIdentifierData";
TypeContext? context = _ctx;
}
class VehiclesByRetailerResponse implements IConvertible
{
List<VehicleIdentifierData>? vehicles = [];
VehiclesByRetailerResponse({this.vehicles});
VehiclesByRetailerResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
vehicles = JsonConverters.fromJson(json['vehicles'],'List<VehicleIdentifierData>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'vehicles': JsonConverters.toJson(vehicles,'List<VehicleIdentifierData>',context!)
};
getTypeName() => "VehiclesByRetailerResponse";
TypeContext? context = _ctx;
}
class CentralVehiclesFilterRequest implements IPost, IDataShapedRequest, IConvertible
{
int? min;
int? max;
bool? noPortArrivalDate;
String? vehicleType;
/**
* If specified, the API will shape the data in the response to only include the specified fields
*/
// @ApiMember(Description="If specified, the API will shape the data in the response to only include the specified fields", ParameterType="model")
String? fields;
CentralVehiclesFilterRequest({this.min,this.max,this.noPortArrivalDate,this.vehicleType,this.fields});
CentralVehiclesFilterRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
min = json['min'];
max = json['max'];
noPortArrivalDate = json['noPortArrivalDate'];
vehicleType = json['vehicleType'];
fields = json['fields'];
return this;
}
Map<String, dynamic> toJson() => {
'min': min,
'max': max,
'noPortArrivalDate': noPortArrivalDate,
'vehicleType': vehicleType,
'fields': fields
};
getTypeName() => "CentralVehiclesFilterRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'uat_api_vehicle_mgt_mb_dhc.rapp_customers.co.uk', types: <String, TypeInfo> {
'VehicleDataBase': TypeInfo(TypeOf.Class, create:() => VehicleDataBase()),
'VehicleData': TypeInfo(TypeOf.Class, create:() => VehicleData()),
'Equipment': TypeInfo(TypeOf.Class, create:() => Equipment()),
'VehicleIdentifierData': TypeInfo(TypeOf.Class, create:() => VehicleIdentifierData()),
'List<Equipment>': TypeInfo(TypeOf.Class, create:() => <Equipment>[]),
'VehiclesByRetailerResponse': TypeInfo(TypeOf.Class, create:() => VehiclesByRetailerResponse()),
'List<VehicleIdentifierData>': TypeInfo(TypeOf.Class, create:() => <VehicleIdentifierData>[]),
'CentralVehiclesFilterRequest': TypeInfo(TypeOf.Class, create:() => CentralVehiclesFilterRequest()),
});
Dart CentralVehiclesFilterRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/{VehicleType}/Vehicle/Central HTTP/1.1
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
min: 0,
max: 0,
noPortArrivalDate: False,
vehicleType: String,
fields: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { vehicles: [ { retailer: String, hasMotabilityError: False, equipment: [ { id: 0, code: String, description: String } ], engine: String, vin: String, description: String, model: String, otr: String, retailPriceExVAT: String, actualPrice: String, fuelType: String, transmission: String, transmissionType: String, colour: String, colourCode: String, colourDescription: String, commissionNumber: String, offerAvailable: False, campaignDiscountOfferTotal: 0, campaignDiscountOfferTotalCurrent: 0, campaignDiscountOfferTotalPending: 0, campaignServiceOfferTotal: 0, campaignServiceOfferTotalCurrent: 0, campaignServiceOfferTotalPending: 0, campaignCustomOfferTotal: 0, campaignPersonalisedOfferTotalCurrent: 0, campaignPersonalisedOfferTotalPending: 0, campaignPersonalisedOfferTotal: 0, campaignCustomOfferTotalCurrent: 0, campaignCustomOfferTotalPending: 0, campaignOtherOfferTotal: 0, campaignOtherOfferTotalCurrent: 0, campaignOtherOfferTotalPending: 0, retailerDiscountOfferTotal: 0, retailerDiscountOfferTotalCurrent: 0, retailerDiscountOfferTotalPending: 0, retailerServiceOfferTotal: 0, retailerServiceOfferTotalCurrent: 0, retailerServiceOfferTotalPending: 0, retailerCustomOfferTotal: 0, retailerCustomOfferTotalCurrent: 0, retailerCustomOfferTotalPending: 0, retailerWarrantyOfferTotal: 0, retailerWarrantyOfferTotalCurrent: 0, retailerWarrantyOfferTotalPending: 0, retailerOfferTotal: 0, retailerOfferTotalCurrent: 0, retailerOfferTotalPending: 0, campaignOfferTotal: 0, campaignOfferTotalCurrent: 0, campaignOfferTotalPending: 0, campaignAndOfferTotal: 0, campaignAndOfferTotalCurrent: 0, campaignAndOfferTotalPending: 0, offerTotal: 0, offerTotalCurrent: 0, offerTotalPending: 0, creation: String, modified: String, electricRange: 0, electricConsumption: 0, portArrivalDate: 0001-01-01, daysSincePortArrival: 0, retailPriceIncVAT: 0, bodyStyle: String, upholstery: String, upholsteryCode: String, upholsteryType: String, packageNames: [ String ], line: String, currentRetailerOfferPrice: 0, retailPrice: String, vatQualifying: False, retailerId: 0, gssnId: String, noImage: False, imageUrl: String, isAvailableOnline: False, isBackOrdered: False, creationDate: String, maintenanceDate: String, registrationNumber: String, registrationDate: 0001-01-01, mileage: 0, tradeInDate: 0001-01-01, source: String, vehicleType: String, offerAmount: String, offerExpiry: String, activeOffers: [ 0 ], campaignMessagesTotal: 0, underOffer: False, isDisplayStock: False, displayRetailer: String, displayRetailerGssnId: String, location: String, account: String, accountType: String, usageCode: String, bm7NST: String, isSellable: False, secured: False, specialist: False, isMotabilityRetailer: False, upholsteryDescription: String, inBackOrderAccount: False, fullModelYearCode: String, productionDate: 0001-01-01, baumuster: String, isMotability: False, pipAdvanceRentalGross: 0, wpmsAdvanceRentalGross: 0, ispVehicleCustomerDescriptions: [ String ] } ] }