POST | /v1/AllAvailableVehicles/{vehicleType}/{includeBackOrderAccounts} | Get all available vehicles |
---|
import 'package:servicestack/servicestack.dart';
abstract class BaseAllAvailableVehiclesRequest
{
String? vehicleType;
bool? includeBackOrderAccounts;
BaseAllAvailableVehiclesRequest({this.vehicleType,this.includeBackOrderAccounts});
BaseAllAvailableVehiclesRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
vehicleType = json['vehicleType'];
includeBackOrderAccounts = json['includeBackOrderAccounts'];
return this;
}
Map<String, dynamic> toJson() => {
'vehicleType': vehicleType,
'includeBackOrderAccounts': includeBackOrderAccounts
};
getTypeName() => "BaseAllAvailableVehiclesRequest";
TypeContext? context = _ctx;
}
class BasicBackOrderVehicle implements IConvertible
{
String? commissionNumber;
String? description;
String? model;
String? colour;
String? fuelType;
String? transmission;
String? packages;
String? lines;
String? upholstery;
String? emissionCombined;
double? actualPrice;
String? usageCode;
bool? secured;
String? account;
String? securedTime;
String? securedReason;
String? securedByGasId;
DateTime? securedDate;
BasicBackOrderVehicle({this.commissionNumber,this.description,this.model,this.colour,this.fuelType,this.transmission,this.packages,this.lines,this.upholstery,this.emissionCombined,this.actualPrice,this.usageCode,this.secured,this.account,this.securedTime,this.securedReason,this.securedByGasId,this.securedDate});
BasicBackOrderVehicle.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
commissionNumber = json['commissionNumber'];
description = json['description'];
model = json['model'];
colour = json['colour'];
fuelType = json['fuelType'];
transmission = json['transmission'];
packages = json['packages'];
lines = json['lines'];
upholstery = json['upholstery'];
emissionCombined = json['emissionCombined'];
actualPrice = JsonConverters.toDouble(json['actualPrice']);
usageCode = json['usageCode'];
secured = json['secured'];
account = json['account'];
securedTime = json['securedTime'];
securedReason = json['securedReason'];
securedByGasId = json['securedByGasId'];
securedDate = JsonConverters.fromJson(json['securedDate'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'commissionNumber': commissionNumber,
'description': description,
'model': model,
'colour': colour,
'fuelType': fuelType,
'transmission': transmission,
'packages': packages,
'lines': lines,
'upholstery': upholstery,
'emissionCombined': emissionCombined,
'actualPrice': actualPrice,
'usageCode': usageCode,
'secured': secured,
'account': account,
'securedTime': securedTime,
'securedReason': securedReason,
'securedByGasId': securedByGasId,
'securedDate': JsonConverters.toJson(securedDate,'DateTime',context!)
};
getTypeName() => "BasicBackOrderVehicle";
TypeContext? context = _ctx;
}
class BackOrderVehicle extends BasicBackOrderVehicle implements IConvertible
{
int? id;
String? vin;
String? vehicleType;
String? vid;
String? fin;
String? chassisNumber;
String? modelYear;
String? modelYearCode;
String? halfModelYearCode;
String? fullModelYearCode;
String? salesDescriptionLong;
String? vehicleClass;
double? retailPrice_ExVAT;
double? retailPrice_IncVAT;
double? otr;
String? bodyStyle;
String? productRange;
String? engine;
bool? isAMG;
String? colourGroup;
String? upholsteryCode;
String? nst;
String? bm7NST;
double? acceleration;
int? bootCapacity;
double? topSpeed;
String? driveConcept;
double? combustionPowerHp;
double? electricPowerKw;
double? electricPowerHp;
double? combinedPowerKw;
double? combinedPowerHP;
double? electricRange;
double? electricConsumption;
double? emission;
String? emissionDirective;
String? emissionExtraUrban;
String? emissionUrban;
String? energyEfficiencyClass;
String? wltpEmissionCombined;
String? wltpCombined;
String? wltpLow;
String? wltpMedium;
String? wltpHigh;
String? wltpExtraHigh;
DateTime? productionDate;
DateTime? portArrivalDate;
DateTime? creationDate;
DateTime? lastUpdated;
bool? isDisplayStock;
String? displayStockAgent;
bool? isSpecialistCar;
String? location;
String? cesarIdShipToParty;
bool? isSellable;
bool? underOffer;
String? baumuster;
BackOrderVehicle({this.id,this.vin,this.vehicleType,this.vid,this.fin,this.chassisNumber,this.modelYear,this.modelYearCode,this.halfModelYearCode,this.fullModelYearCode,this.salesDescriptionLong,this.vehicleClass,this.retailPrice_ExVAT,this.retailPrice_IncVAT,this.otr,this.bodyStyle,this.productRange,this.engine,this.isAMG,this.colourGroup,this.upholsteryCode,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.emission,this.emissionDirective,this.emissionExtraUrban,this.emissionUrban,this.energyEfficiencyClass,this.wltpEmissionCombined,this.wltpCombined,this.wltpLow,this.wltpMedium,this.wltpHigh,this.wltpExtraHigh,this.productionDate,this.portArrivalDate,this.creationDate,this.lastUpdated,this.isDisplayStock,this.displayStockAgent,this.isSpecialistCar,this.location,this.cesarIdShipToParty,this.isSellable,this.underOffer,this.baumuster});
BackOrderVehicle.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
id = json['id'];
vin = json['vin'];
vehicleType = json['vehicleType'];
vid = json['vid'];
fin = json['fin'];
chassisNumber = json['chassisNumber'];
modelYear = json['modelYear'];
modelYearCode = json['modelYearCode'];
halfModelYearCode = json['halfModelYearCode'];
fullModelYearCode = json['fullModelYearCode'];
salesDescriptionLong = json['salesDescriptionLong'];
vehicleClass = json['vehicleClass'];
retailPrice_ExVAT = JsonConverters.toDouble(json['retailPrice_ExVAT']);
retailPrice_IncVAT = JsonConverters.toDouble(json['retailPrice_IncVAT']);
otr = JsonConverters.toDouble(json['otr']);
bodyStyle = json['bodyStyle'];
productRange = json['productRange'];
engine = json['engine'];
isAMG = json['isAMG'];
colourGroup = json['colourGroup'];
upholsteryCode = json['upholsteryCode'];
nst = json['nst'];
bm7NST = json['bm7NST'];
acceleration = JsonConverters.toDouble(json['acceleration']);
bootCapacity = json['bootCapacity'];
topSpeed = JsonConverters.toDouble(json['topSpeed']);
driveConcept = json['driveConcept'];
combustionPowerHp = JsonConverters.toDouble(json['combustionPowerHp']);
electricPowerKw = JsonConverters.toDouble(json['electricPowerKw']);
electricPowerHp = JsonConverters.toDouble(json['electricPowerHp']);
combinedPowerKw = JsonConverters.toDouble(json['combinedPowerKw']);
combinedPowerHP = JsonConverters.toDouble(json['combinedPowerHP']);
electricRange = JsonConverters.toDouble(json['electricRange']);
electricConsumption = JsonConverters.toDouble(json['electricConsumption']);
emission = JsonConverters.toDouble(json['emission']);
emissionDirective = json['emissionDirective'];
emissionExtraUrban = json['emissionExtraUrban'];
emissionUrban = json['emissionUrban'];
energyEfficiencyClass = json['energyEfficiencyClass'];
wltpEmissionCombined = json['wltpEmissionCombined'];
wltpCombined = json['wltpCombined'];
wltpLow = json['wltpLow'];
wltpMedium = json['wltpMedium'];
wltpHigh = json['wltpHigh'];
wltpExtraHigh = json['wltpExtraHigh'];
productionDate = JsonConverters.fromJson(json['productionDate'],'DateTime',context!);
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'];
location = json['location'];
cesarIdShipToParty = json['cesarIdShipToParty'];
isSellable = json['isSellable'];
underOffer = json['underOffer'];
baumuster = json['baumuster'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'id': id,
'vin': vin,
'vehicleType': vehicleType,
'vid': vid,
'fin': fin,
'chassisNumber': chassisNumber,
'modelYear': modelYear,
'modelYearCode': modelYearCode,
'halfModelYearCode': halfModelYearCode,
'fullModelYearCode': fullModelYearCode,
'salesDescriptionLong': salesDescriptionLong,
'vehicleClass': vehicleClass,
'retailPrice_ExVAT': retailPrice_ExVAT,
'retailPrice_IncVAT': retailPrice_IncVAT,
'otr': otr,
'bodyStyle': bodyStyle,
'productRange': productRange,
'engine': engine,
'isAMG': isAMG,
'colourGroup': colourGroup,
'upholsteryCode': upholsteryCode,
'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,
'emission': emission,
'emissionDirective': emissionDirective,
'emissionExtraUrban': emissionExtraUrban,
'emissionUrban': emissionUrban,
'energyEfficiencyClass': energyEfficiencyClass,
'wltpEmissionCombined': wltpEmissionCombined,
'wltpCombined': wltpCombined,
'wltpLow': wltpLow,
'wltpMedium': wltpMedium,
'wltpHigh': wltpHigh,
'wltpExtraHigh': wltpExtraHigh,
'productionDate': JsonConverters.toJson(productionDate,'DateTime',context!),
'portArrivalDate': JsonConverters.toJson(portArrivalDate,'DateTime',context!),
'creationDate': JsonConverters.toJson(creationDate,'DateTime',context!),
'lastUpdated': JsonConverters.toJson(lastUpdated,'DateTime',context!),
'isDisplayStock': isDisplayStock,
'displayStockAgent': displayStockAgent,
'isSpecialistCar': isSpecialistCar,
'location': location,
'cesarIdShipToParty': cesarIdShipToParty,
'isSellable': isSellable,
'underOffer': underOffer,
'baumuster': baumuster
});
getTypeName() => "BackOrderVehicle";
TypeContext? context = _ctx;
}
class StockManagementResponse implements IConvertible
{
int? totalVehicles;
List<BackOrderVehicle>? vehicles;
StockManagementResponse({this.totalVehicles,this.vehicles});
StockManagementResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
totalVehicles = json['totalVehicles'];
vehicles = JsonConverters.fromJson(json['vehicles'],'List<BackOrderVehicle>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'totalVehicles': totalVehicles,
'vehicles': JsonConverters.toJson(vehicles,'List<BackOrderVehicle>',context!)
};
getTypeName() => "StockManagementResponse";
TypeContext? context = _ctx;
}
class CampaignExclusion implements IConvertible
{
List<String>? vin = [];
List<String>? commissionNumber = [];
String? modelYearCode;
String? equipmentCode;
List<String>? gssn = [];
CampaignExclusion({this.vin,this.commissionNumber,this.modelYearCode,this.equipmentCode,this.gssn});
CampaignExclusion.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
vin = JsonConverters.fromJson(json['vin'],'List<String>',context!);
commissionNumber = JsonConverters.fromJson(json['commissionNumber'],'List<String>',context!);
modelYearCode = json['modelYearCode'];
equipmentCode = json['equipmentCode'];
gssn = JsonConverters.fromJson(json['gssn'],'List<String>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'vin': JsonConverters.toJson(vin,'List<String>',context!),
'commissionNumber': JsonConverters.toJson(commissionNumber,'List<String>',context!),
'modelYearCode': modelYearCode,
'equipmentCode': equipmentCode,
'gssn': JsonConverters.toJson(gssn,'List<String>',context!)
};
getTypeName() => "CampaignExclusion";
TypeContext? context = _ctx;
}
class RegistrationDate implements IConvertible
{
DateTime? from;
DateTime? to;
RegistrationDate({this.from,this.to});
RegistrationDate.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
from = JsonConverters.fromJson(json['from'],'DateTime',context!);
to = JsonConverters.fromJson(json['to'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'from': JsonConverters.toJson(from,'DateTime',context!),
'to': JsonConverters.toJson(to,'DateTime',context!)
};
getTypeName() => "RegistrationDate";
TypeContext? context = _ctx;
}
class Age implements IConvertible
{
DateTime? date;
int? min;
int? max;
bool? includePipelineStock;
Age({this.date,this.min,this.max,this.includePipelineStock});
Age.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
date = JsonConverters.fromJson(json['date'],'DateTime',context!);
min = json['min'];
max = json['max'];
includePipelineStock = json['includePipelineStock'];
return this;
}
Map<String, dynamic> toJson() => {
'date': JsonConverters.toJson(date,'DateTime',context!),
'min': min,
'max': max,
'includePipelineStock': includePipelineStock
};
getTypeName() => "Age";
TypeContext? context = _ctx;
}
class PortArrivalDate implements IConvertible
{
bool? pipelineStock;
DateTime? from;
DateTime? to;
PortArrivalDate({this.pipelineStock,this.from,this.to});
PortArrivalDate.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
pipelineStock = json['pipelineStock'];
from = JsonConverters.fromJson(json['from'],'DateTime',context!);
to = JsonConverters.fromJson(json['to'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'pipelineStock': pipelineStock,
'from': JsonConverters.toJson(from,'DateTime',context!),
'to': JsonConverters.toJson(to,'DateTime',context!)
};
getTypeName() => "PortArrivalDate";
TypeContext? context = _ctx;
}
class VehicleSearchV3Criteria implements IConvertible
{
List<String>? vin = [];
List<int>? model = [];
List<int>? fuel = [];
List<int>? transmission = [];
List<int>? engine = [];
List<String>? line = [];
List<int>? mappedLine = [];
List<String>? commissionNumber = [];
String? vehicleType;
CampaignExclusion? exclusion;
String? regNo;
bool? includeOffline;
RegistrationDate? registrationDate;
Age? age;
PortArrivalDate? portArrivalDate;
bool? isAvailableOnline;
bool? isBackOrdered;
bool? isSellable;
bool? isUnderOffer;
bool? mbukSecured;
List<String>? account = [];
List<String>? baumuster = [];
List<int>? colours = [];
List<int>? upholstery = [];
List<int>? package = [];
List<String>? nst = [];
List<String>? usageCode = [];
VehicleSearchV3Criteria({this.vin,this.model,this.fuel,this.transmission,this.engine,this.line,this.mappedLine,this.commissionNumber,this.vehicleType,this.exclusion,this.regNo,this.includeOffline,this.registrationDate,this.age,this.portArrivalDate,this.isAvailableOnline,this.isBackOrdered,this.isSellable,this.isUnderOffer,this.mbukSecured,this.account,this.baumuster,this.colours,this.upholstery,this.package,this.nst,this.usageCode});
VehicleSearchV3Criteria.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
vin = JsonConverters.fromJson(json['vin'],'List<String>',context!);
model = JsonConverters.fromJson(json['model'],'List<int>',context!);
fuel = JsonConverters.fromJson(json['fuel'],'List<int>',context!);
transmission = JsonConverters.fromJson(json['transmission'],'List<int>',context!);
engine = JsonConverters.fromJson(json['engine'],'List<int>',context!);
line = JsonConverters.fromJson(json['line'],'List<String>',context!);
mappedLine = JsonConverters.fromJson(json['mappedLine'],'List<int>',context!);
commissionNumber = JsonConverters.fromJson(json['commissionNumber'],'List<String>',context!);
vehicleType = json['vehicleType'];
exclusion = JsonConverters.fromJson(json['exclusion'],'CampaignExclusion',context!);
regNo = json['regNo'];
includeOffline = json['includeOffline'];
registrationDate = JsonConverters.fromJson(json['registrationDate'],'RegistrationDate',context!);
age = JsonConverters.fromJson(json['age'],'Age',context!);
portArrivalDate = JsonConverters.fromJson(json['portArrivalDate'],'PortArrivalDate',context!);
isAvailableOnline = json['isAvailableOnline'];
isBackOrdered = json['isBackOrdered'];
isSellable = json['isSellable'];
isUnderOffer = json['isUnderOffer'];
mbukSecured = json['mbukSecured'];
account = JsonConverters.fromJson(json['account'],'List<String>',context!);
baumuster = JsonConverters.fromJson(json['baumuster'],'List<String>',context!);
colours = JsonConverters.fromJson(json['colours'],'List<int>',context!);
upholstery = JsonConverters.fromJson(json['upholstery'],'List<int>',context!);
package = JsonConverters.fromJson(json['package'],'List<int>',context!);
nst = JsonConverters.fromJson(json['nst'],'List<String>',context!);
usageCode = JsonConverters.fromJson(json['usageCode'],'List<String>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'vin': JsonConverters.toJson(vin,'List<String>',context!),
'model': JsonConverters.toJson(model,'List<int>',context!),
'fuel': JsonConverters.toJson(fuel,'List<int>',context!),
'transmission': JsonConverters.toJson(transmission,'List<int>',context!),
'engine': JsonConverters.toJson(engine,'List<int>',context!),
'line': JsonConverters.toJson(line,'List<String>',context!),
'mappedLine': JsonConverters.toJson(mappedLine,'List<int>',context!),
'commissionNumber': JsonConverters.toJson(commissionNumber,'List<String>',context!),
'vehicleType': vehicleType,
'exclusion': JsonConverters.toJson(exclusion,'CampaignExclusion',context!),
'regNo': regNo,
'includeOffline': includeOffline,
'registrationDate': JsonConverters.toJson(registrationDate,'RegistrationDate',context!),
'age': JsonConverters.toJson(age,'Age',context!),
'portArrivalDate': JsonConverters.toJson(portArrivalDate,'PortArrivalDate',context!),
'isAvailableOnline': isAvailableOnline,
'isBackOrdered': isBackOrdered,
'isSellable': isSellable,
'isUnderOffer': isUnderOffer,
'mbukSecured': mbukSecured,
'account': JsonConverters.toJson(account,'List<String>',context!),
'baumuster': JsonConverters.toJson(baumuster,'List<String>',context!),
'colours': JsonConverters.toJson(colours,'List<int>',context!),
'upholstery': JsonConverters.toJson(upholstery,'List<int>',context!),
'package': JsonConverters.toJson(package,'List<int>',context!),
'nst': JsonConverters.toJson(nst,'List<String>',context!),
'usageCode': JsonConverters.toJson(usageCode,'List<String>',context!)
};
getTypeName() => "VehicleSearchV3Criteria";
TypeContext? context = _ctx;
}
class AllAvailableVehiclesByCriteriaRequest extends BaseAllAvailableVehiclesRequest implements IPost, IConvertible
{
VehicleSearchV3Criteria? criteria;
AllAvailableVehiclesByCriteriaRequest({this.criteria});
AllAvailableVehiclesByCriteriaRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
criteria = JsonConverters.fromJson(json['criteria'],'VehicleSearchV3Criteria',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'criteria': JsonConverters.toJson(criteria,'VehicleSearchV3Criteria',context!)
});
getTypeName() => "AllAvailableVehiclesByCriteriaRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'uat_api_vehicle_mgt_mb_dhc.rapp_customers.co.uk', types: <String, TypeInfo> {
'BaseAllAvailableVehiclesRequest': TypeInfo(TypeOf.AbstractClass),
'BasicBackOrderVehicle': TypeInfo(TypeOf.Class, create:() => BasicBackOrderVehicle()),
'BackOrderVehicle': TypeInfo(TypeOf.Class, create:() => BackOrderVehicle()),
'StockManagementResponse': TypeInfo(TypeOf.Class, create:() => StockManagementResponse()),
'List<BackOrderVehicle>': TypeInfo(TypeOf.Class, create:() => <BackOrderVehicle>[]),
'CampaignExclusion': TypeInfo(TypeOf.Class, create:() => CampaignExclusion()),
'RegistrationDate': TypeInfo(TypeOf.Class, create:() => RegistrationDate()),
'Age': TypeInfo(TypeOf.Class, create:() => Age()),
'PortArrivalDate': TypeInfo(TypeOf.Class, create:() => PortArrivalDate()),
'VehicleSearchV3Criteria': TypeInfo(TypeOf.Class, create:() => VehicleSearchV3Criteria()),
'AllAvailableVehiclesByCriteriaRequest': TypeInfo(TypeOf.Class, create:() => AllAvailableVehiclesByCriteriaRequest()),
});
Dart AllAvailableVehiclesByCriteriaRequest 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/AllAvailableVehicles/{vehicleType}/{includeBackOrderAccounts} HTTP/1.1
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
criteria:
{
vin:
[
String
],
model:
[
0
],
fuel:
[
0
],
transmission:
[
0
],
engine:
[
0
],
line:
[
String
],
mappedLine:
[
0
],
commissionNumber:
[
String
],
vehicleType: String,
exclusion:
{
vin:
[
String
],
commissionNumber:
[
String
],
modelYearCode: String,
equipmentCode: String,
gssn:
[
String
]
},
regNo: String,
includeOffline: False,
registrationDate:
{
from: 0001-01-01,
to: 0001-01-01
},
age:
{
date: 0001-01-01,
min: 0,
max: 0,
includePipelineStock: False
},
portArrivalDate:
{
pipelineStock: False,
from: 0001-01-01,
to: 0001-01-01
},
isAvailableOnline: False,
isBackOrdered: False,
isSellable: False,
isUnderOffer: False,
mbukSecured: False,
account:
[
String
],
baumuster:
[
String
],
colours:
[
0
],
upholstery:
[
0
],
package:
[
0
],
nst:
[
String
],
usageCode:
[
String
]
},
vehicleType: String,
includeBackOrderAccounts: False
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { "totalVehicles": 0, "vehicles": null }