| POST | /v1/DisplayStockOverview | Filter Display Stock vehicle data with usedCode and MBUKSecured |
|---|
import 'package:servicestack/servicestack.dart';
class VehicleDisplayStock implements IConvertible
{
String? vin;
String vehicleDescription = "";
String commissionNumber = "";
String retailer = "";
String model = "";
String fuelType = "";
String transmission = "";
String colour = "";
String actualPrice = "";
DateTime? gbDestDate;
String vehicleUsage = "";
bool? underOffer;
bool? isSellable;
String vehicleType = "";
String vid = "";
String fin = "";
String chassisNumber = "";
String line = "";
String modelYear = "";
String modelYearCode = "";
String vehicleClass = "";
String retailPrice_ExVAT = "";
String retailPrice_IncVAT = "";
String otr = "";
String bodyStyle = "";
String productRange = "";
String engine = "";
bool? isAMG;
String colourGroup = "";
String upholstery = "";
String packages = "";
String nst = "";
String bM7NST = "";
String acceleration = "";
String bootCapacity = "";
String topSpeed = "";
String driveConcept = "";
String combustionPowerHp = "";
String electricPowerKw = "";
String electricPowerHp = "";
String combinedPowerKw = "";
String combinedPowerHP = "";
String electricRange = "";
String electricConsumption = "";
String emissionCombined = "";
String emissionExtraUrban = "";
String emissionUrban = "";
String emission = "";
String emissionDirective = "";
String energyEfficiencyClass = "";
String wltpCombined = "";
String wltpLow = "";
String wltpMedium = "";
String wltpHigh = "";
String wltpExtraHigh = "";
String wltpEmissionCombined = "";
DateTime? portArrivalDate;
DateTime? creationDate;
DateTime? lastUpdated;
bool? isDisplayStock;
String displayStockAgent = "";
bool? isSpecialistCar;
String account = "";
String location = "";
String cesarIdShipToParty = "";
String vehicleUsageCode = "";
bool? mbukSecured;
bool? isAllocatedToBackOrder;
String? backOrderReference;
String? marketAreaName;
int? marketAreaId;
String? daysAtSite;
bool? eligibleForMaTransfer;
VehicleDisplayStock({this.vin,this.vehicleDescription="",this.commissionNumber="",this.retailer="",this.model="",this.fuelType="",this.transmission="",this.colour="",this.actualPrice="",this.gbDestDate,this.vehicleUsage="",this.underOffer,this.isSellable,this.vehicleType="",this.vid="",this.fin="",this.chassisNumber="",this.line="",this.modelYear="",this.modelYearCode="",this.vehicleClass="",this.retailPrice_ExVAT="",this.retailPrice_IncVAT="",this.otr="",this.bodyStyle="",this.productRange="",this.engine="",this.isAMG,this.colourGroup="",this.upholstery="",this.packages="",this.nst="",this.bM7NST="",this.acceleration="",this.bootCapacity="",this.topSpeed="",this.driveConcept="",this.combustionPowerHp="",this.electricPowerKw="",this.electricPowerHp="",this.combinedPowerKw="",this.combinedPowerHP="",this.electricRange="",this.electricConsumption="",this.emissionCombined="",this.emissionExtraUrban="",this.emissionUrban="",this.emission="",this.emissionDirective="",this.energyEfficiencyClass="",this.wltpCombined="",this.wltpLow="",this.wltpMedium="",this.wltpHigh="",this.wltpExtraHigh="",this.wltpEmissionCombined="",this.portArrivalDate,this.creationDate,this.lastUpdated,this.isDisplayStock,this.displayStockAgent="",this.isSpecialistCar,this.account="",this.location="",this.cesarIdShipToParty="",this.vehicleUsageCode="",this.mbukSecured,this.isAllocatedToBackOrder,this.backOrderReference,this.marketAreaName,this.marketAreaId,this.daysAtSite,this.eligibleForMaTransfer});
VehicleDisplayStock.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
vin = json['vin'];
vehicleDescription = json['vehicleDescription'] ?? "";
commissionNumber = json['commissionNumber'] ?? "";
retailer = json['retailer'] ?? "";
model = json['model'] ?? "";
fuelType = json['fuelType'] ?? "";
transmission = json['transmission'] ?? "";
colour = json['colour'] ?? "";
actualPrice = json['actualPrice'] ?? "";
gbDestDate = JsonConverters.fromJson(json['gbDestDate'],'DateTime',context!);
vehicleUsage = json['vehicleUsage'] ?? "";
underOffer = json['underOffer'];
isSellable = json['isSellable'];
vehicleType = json['vehicleType'] ?? "";
vid = json['vid'] ?? "";
fin = json['fin'] ?? "";
chassisNumber = json['chassisNumber'] ?? "";
line = json['line'] ?? "";
modelYear = json['modelYear'] ?? "";
modelYearCode = json['modelYearCode'] ?? "";
vehicleClass = json['vehicleClass'] ?? "";
retailPrice_ExVAT = json['retailPrice_ExVAT'] ?? "";
retailPrice_IncVAT = json['retailPrice_IncVAT'] ?? "";
otr = json['otr'] ?? "";
bodyStyle = json['bodyStyle'] ?? "";
productRange = json['productRange'] ?? "";
engine = json['engine'] ?? "";
isAMG = json['isAMG'];
colourGroup = json['colourGroup'] ?? "";
upholstery = json['upholstery'] ?? "";
packages = json['packages'] ?? "";
nst = json['nst'] ?? "";
bM7NST = json['bM7NST'] ?? "";
acceleration = json['acceleration'] ?? "";
bootCapacity = json['bootCapacity'] ?? "";
topSpeed = json['topSpeed'] ?? "";
driveConcept = json['driveConcept'] ?? "";
combustionPowerHp = json['combustionPowerHp'] ?? "";
electricPowerKw = json['electricPowerKw'] ?? "";
electricPowerHp = json['electricPowerHp'] ?? "";
combinedPowerKw = json['combinedPowerKw'] ?? "";
combinedPowerHP = json['combinedPowerHP'] ?? "";
electricRange = json['electricRange'] ?? "";
electricConsumption = json['electricConsumption'] ?? "";
emissionCombined = json['emissionCombined'] ?? "";
emissionExtraUrban = json['emissionExtraUrban'] ?? "";
emissionUrban = json['emissionUrban'] ?? "";
emission = json['emission'] ?? "";
emissionDirective = json['emissionDirective'] ?? "";
energyEfficiencyClass = json['energyEfficiencyClass'] ?? "";
wltpCombined = json['wltpCombined'] ?? "";
wltpLow = json['wltpLow'] ?? "";
wltpMedium = json['wltpMedium'] ?? "";
wltpHigh = json['wltpHigh'] ?? "";
wltpExtraHigh = json['wltpExtraHigh'] ?? "";
wltpEmissionCombined = json['wltpEmissionCombined'] ?? "";
portArrivalDate = JsonConverters.fromJson(json['portArrivalDate'],'DateTime',context!);
creationDate = JsonConverters.fromJson(json['creationDate'],'DateTime',context!);
lastUpdated = JsonConverters.fromJson(json['lastUpdated'],'DateTime',context!);
isDisplayStock = json['isDisplayStock'];
displayStockAgent = json['displayStockAgent'] ?? "";
isSpecialistCar = json['isSpecialistCar'];
account = json['account'] ?? "";
location = json['location'] ?? "";
cesarIdShipToParty = json['cesarIdShipToParty'] ?? "";
vehicleUsageCode = json['vehicleUsageCode'] ?? "";
mbukSecured = json['mbukSecured'];
isAllocatedToBackOrder = json['isAllocatedToBackOrder'];
backOrderReference = json['backOrderReference'];
marketAreaName = json['marketAreaName'];
marketAreaId = json['marketAreaId'];
daysAtSite = json['daysAtSite'];
eligibleForMaTransfer = json['eligibleForMaTransfer'];
return this;
}
Map<String, dynamic> toJson() => {
'vin': vin,
'vehicleDescription': vehicleDescription,
'commissionNumber': commissionNumber,
'retailer': retailer,
'model': model,
'fuelType': fuelType,
'transmission': transmission,
'colour': colour,
'actualPrice': actualPrice,
'gbDestDate': JsonConverters.toJson(gbDestDate,'DateTime',context!),
'vehicleUsage': vehicleUsage,
'underOffer': underOffer,
'isSellable': isSellable,
'vehicleType': vehicleType,
'vid': vid,
'fin': fin,
'chassisNumber': chassisNumber,
'line': line,
'modelYear': modelYear,
'modelYearCode': modelYearCode,
'vehicleClass': vehicleClass,
'retailPrice_ExVAT': retailPrice_ExVAT,
'retailPrice_IncVAT': retailPrice_IncVAT,
'otr': otr,
'bodyStyle': bodyStyle,
'productRange': productRange,
'engine': engine,
'isAMG': isAMG,
'colourGroup': colourGroup,
'upholstery': upholstery,
'packages': packages,
'nst': nst,
'bM7NST': bM7NST,
'acceleration': acceleration,
'bootCapacity': bootCapacity,
'topSpeed': topSpeed,
'driveConcept': driveConcept,
'combustionPowerHp': combustionPowerHp,
'electricPowerKw': electricPowerKw,
'electricPowerHp': electricPowerHp,
'combinedPowerKw': combinedPowerKw,
'combinedPowerHP': combinedPowerHP,
'electricRange': electricRange,
'electricConsumption': electricConsumption,
'emissionCombined': emissionCombined,
'emissionExtraUrban': emissionExtraUrban,
'emissionUrban': emissionUrban,
'emission': emission,
'emissionDirective': emissionDirective,
'energyEfficiencyClass': energyEfficiencyClass,
'wltpCombined': wltpCombined,
'wltpLow': wltpLow,
'wltpMedium': wltpMedium,
'wltpHigh': wltpHigh,
'wltpExtraHigh': wltpExtraHigh,
'wltpEmissionCombined': wltpEmissionCombined,
'portArrivalDate': JsonConverters.toJson(portArrivalDate,'DateTime',context!),
'creationDate': JsonConverters.toJson(creationDate,'DateTime',context!),
'lastUpdated': JsonConverters.toJson(lastUpdated,'DateTime',context!),
'isDisplayStock': isDisplayStock,
'displayStockAgent': displayStockAgent,
'isSpecialistCar': isSpecialistCar,
'account': account,
'location': location,
'cesarIdShipToParty': cesarIdShipToParty,
'vehicleUsageCode': vehicleUsageCode,
'mbukSecured': mbukSecured,
'isAllocatedToBackOrder': isAllocatedToBackOrder,
'backOrderReference': backOrderReference,
'marketAreaName': marketAreaName,
'marketAreaId': marketAreaId,
'daysAtSite': daysAtSite,
'eligibleForMaTransfer': eligibleForMaTransfer
};
getTypeName() => "VehicleDisplayStock";
TypeContext? context = _ctx;
}
class DisplayStockOverviewResponse implements IConvertible
{
List<VehicleDisplayStock> vehicles = [];
DisplayStockOverviewResponse({this.vehicles=const []});
DisplayStockOverviewResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
vehicles = JsonConverters.fromJson(json['vehicles'],'List<VehicleDisplayStock>',context!) ?? [];
return this;
}
Map<String, dynamic> toJson() => {
'vehicles': JsonConverters.toJson(vehicles,'List<VehicleDisplayStock>',context!)
};
getTypeName() => "DisplayStockOverviewResponse";
TypeContext? context = _ctx;
}
class DisplayStockOverviewRequest implements IPost, IConvertible
{
/**
* Is vehicle secured
*/
// @ApiMember(Description="Is vehicle secured", IsRequired=true)
bool? isSecured;
/**
* Usage codes
*/
// @ApiMember(Description="Usage codes", IsRequired=true)
List<String> usageCode = [];
DisplayStockOverviewRequest({this.isSecured,this.usageCode=const []});
DisplayStockOverviewRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
isSecured = json['isSecured'];
usageCode = JsonConverters.fromJson(json['usageCode'],'List<String>',context!) ?? [];
return this;
}
Map<String, dynamic> toJson() => {
'isSecured': isSecured,
'usageCode': JsonConverters.toJson(usageCode,'List<String>',context!)
};
getTypeName() => "DisplayStockOverviewRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'uat_api_vehicle_mgt_mb_dhc.rapp_customers.co.uk', types: <String, TypeInfo> {
'VehicleDisplayStock': TypeInfo(TypeOf.Class, create:() => VehicleDisplayStock()),
'DisplayStockOverviewResponse': TypeInfo(TypeOf.Class, create:() => DisplayStockOverviewResponse()),
'List<VehicleDisplayStock>': TypeInfo(TypeOf.Class, create:() => <VehicleDisplayStock>[]),
'DisplayStockOverviewRequest': TypeInfo(TypeOf.Class, create:() => DisplayStockOverviewRequest()),
});
Dart DisplayStockOverviewRequest 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/DisplayStockOverview HTTP/1.1
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"isSecured":false,"usageCode":["String"]}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"vehicles":[{"vin":"String","vehicleDescription":"String","commissionNumber":"String","retailer":"String","model":"String","fuelType":"String","transmission":"String","colour":"String","actualPrice":"String","gbDestDate":"\/Date(-62135596800000-0000)\/","vehicleUsage":"String","underOffer":false,"isSellable":false,"vehicleType":"String","vid":"String","fin":"String","chassisNumber":"String","line":"String","modelYear":"String","modelYearCode":"String","vehicleClass":"String","retailPrice_ExVAT":"String","retailPrice_IncVAT":"String","otr":"String","bodyStyle":"String","productRange":"String","engine":"String","isAMG":false,"colourGroup":"String","upholstery":"String","packages":"String","nst":"String","bM7NST":"String","acceleration":"String","bootCapacity":"String","topSpeed":"String","driveConcept":"String","combustionPowerHp":"String","electricPowerKw":"String","electricPowerHp":"String","combinedPowerKw":"String","combinedPowerHP":"String","electricRange":"String","electricConsumption":"String","emissionCombined":"String","emissionExtraUrban":"String","emissionUrban":"String","emission":"String","emissionDirective":"String","energyEfficiencyClass":"String","wltpCombined":"String","wltpLow":"String","wltpMedium":"String","wltpHigh":"String","wltpExtraHigh":"String","wltpEmissionCombined":"String","portArrivalDate":"\/Date(-62135596800000-0000)\/","creationDate":"\/Date(-62135596800000-0000)\/","lastUpdated":"\/Date(-62135596800000-0000)\/","isDisplayStock":false,"displayStockAgent":"String","isSpecialistCar":false,"account":"String","location":"String","cesarIdShipToParty":"String","vehicleUsageCode":"String","mbukSecured":false,"isAllocatedToBackOrder":false,"backOrderReference":"String","marketAreaName":"String","marketAreaId":0,"daysAtSite":"String","eligibleForMaTransfer":false}]}