/* Options: Date: 2025-06-27 23:11:45 Version: 8.81 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: AllAvailableVehiclesByCriteriaRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class CampaignExclusion implements IConvertible { List? vin = []; List? commissionNumber = []; String? modelYearCode; String? equipmentCode; List? gssn = []; CampaignExclusion({this.vin,this.commissionNumber,this.modelYearCode,this.equipmentCode,this.gssn}); CampaignExclusion.fromJson(Map json) { fromMap(json); } fromMap(Map json) { vin = JsonConverters.fromJson(json['vin'],'List',context!); commissionNumber = JsonConverters.fromJson(json['commissionNumber'],'List',context!); modelYearCode = json['modelYearCode']; equipmentCode = json['equipmentCode']; gssn = JsonConverters.fromJson(json['gssn'],'List',context!); return this; } Map toJson() => { 'vin': JsonConverters.toJson(vin,'List',context!), 'commissionNumber': JsonConverters.toJson(commissionNumber,'List',context!), 'modelYearCode': modelYearCode, 'equipmentCode': equipmentCode, 'gssn': JsonConverters.toJson(gssn,'List',context!) }; getTypeName() => "CampaignExclusion"; TypeContext? context = _ctx; } class RegistrationDate implements IConvertible { DateTime? from; DateTime? to; RegistrationDate({this.from,this.to}); RegistrationDate.fromJson(Map json) { fromMap(json); } fromMap(Map json) { from = JsonConverters.fromJson(json['from'],'DateTime',context!); to = JsonConverters.fromJson(json['to'],'DateTime',context!); return this; } Map 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 json) { fromMap(json); } fromMap(Map json) { date = JsonConverters.fromJson(json['date'],'DateTime',context!); min = json['min']; max = json['max']; includePipelineStock = json['includePipelineStock']; return this; } Map 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 json) { fromMap(json); } fromMap(Map json) { pipelineStock = json['pipelineStock']; from = JsonConverters.fromJson(json['from'],'DateTime',context!); to = JsonConverters.fromJson(json['to'],'DateTime',context!); return this; } Map 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? vin = []; List? model = []; List? fuel = []; List? transmission = []; List? engine = []; List? line = []; List? mappedLine = []; List? 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? account = []; List? baumuster = []; List? colours = []; List? upholstery = []; List? package = []; List? nst = []; List? 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 json) { fromMap(json); } fromMap(Map json) { vin = JsonConverters.fromJson(json['vin'],'List',context!); model = JsonConverters.fromJson(json['model'],'List',context!); fuel = JsonConverters.fromJson(json['fuel'],'List',context!); transmission = JsonConverters.fromJson(json['transmission'],'List',context!); engine = JsonConverters.fromJson(json['engine'],'List',context!); line = JsonConverters.fromJson(json['line'],'List',context!); mappedLine = JsonConverters.fromJson(json['mappedLine'],'List',context!); commissionNumber = JsonConverters.fromJson(json['commissionNumber'],'List',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',context!); baumuster = JsonConverters.fromJson(json['baumuster'],'List',context!); colours = JsonConverters.fromJson(json['colours'],'List',context!); upholstery = JsonConverters.fromJson(json['upholstery'],'List',context!); package = JsonConverters.fromJson(json['package'],'List',context!); nst = JsonConverters.fromJson(json['nst'],'List',context!); usageCode = JsonConverters.fromJson(json['usageCode'],'List',context!); return this; } Map toJson() => { 'vin': JsonConverters.toJson(vin,'List',context!), 'model': JsonConverters.toJson(model,'List',context!), 'fuel': JsonConverters.toJson(fuel,'List',context!), 'transmission': JsonConverters.toJson(transmission,'List',context!), 'engine': JsonConverters.toJson(engine,'List',context!), 'line': JsonConverters.toJson(line,'List',context!), 'mappedLine': JsonConverters.toJson(mappedLine,'List',context!), 'commissionNumber': JsonConverters.toJson(commissionNumber,'List',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',context!), 'baumuster': JsonConverters.toJson(baumuster,'List',context!), 'colours': JsonConverters.toJson(colours,'List',context!), 'upholstery': JsonConverters.toJson(upholstery,'List',context!), 'package': JsonConverters.toJson(package,'List',context!), 'nst': JsonConverters.toJson(nst,'List',context!), 'usageCode': JsonConverters.toJson(usageCode,'List',context!) }; getTypeName() => "VehicleSearchV3Criteria"; TypeContext? context = _ctx; } abstract class BaseAllAvailableVehiclesRequest { String? vehicleType; bool? includeBackOrderAccounts; BaseAllAvailableVehiclesRequest({this.vehicleType,this.includeBackOrderAccounts}); BaseAllAvailableVehiclesRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { vehicleType = json['vehicleType']; includeBackOrderAccounts = json['includeBackOrderAccounts']; return this; } Map 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 json) { fromMap(json); } fromMap(Map 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 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 json) { fromMap(json); } fromMap(Map 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 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? vehicles; StockManagementResponse({this.totalVehicles,this.vehicles}); StockManagementResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { totalVehicles = json['totalVehicles']; vehicles = JsonConverters.fromJson(json['vehicles'],'List',context!); return this; } Map toJson() => { 'totalVehicles': totalVehicles, 'vehicles': JsonConverters.toJson(vehicles,'List',context!) }; getTypeName() => "StockManagementResponse"; TypeContext? context = _ctx; } // @Route("/v1/AllAvailableVehicles/{vehicleType}/{includeBackOrderAccounts}", "POST") class AllAvailableVehiclesByCriteriaRequest extends BaseAllAvailableVehiclesRequest implements IReturn, IPost, IConvertible { VehicleSearchV3Criteria? criteria; AllAvailableVehiclesByCriteriaRequest({this.criteria}); AllAvailableVehiclesByCriteriaRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); criteria = JsonConverters.fromJson(json['criteria'],'VehicleSearchV3Criteria',context!); return this; } Map toJson() => super.toJson()..addAll({ 'criteria': JsonConverters.toJson(criteria,'VehicleSearchV3Criteria',context!) }); createResponse() => StockManagementResponse(); getResponseTypeName() => "StockManagementResponse"; getTypeName() => "AllAvailableVehiclesByCriteriaRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'uat_api_vehicle_mgt_mb_dhc.rapp_customers.co.uk', types: { '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()), 'BaseAllAvailableVehiclesRequest': TypeInfo(TypeOf.AbstractClass), 'BasicBackOrderVehicle': TypeInfo(TypeOf.Class, create:() => BasicBackOrderVehicle()), 'BackOrderVehicle': TypeInfo(TypeOf.Class, create:() => BackOrderVehicle()), 'StockManagementResponse': TypeInfo(TypeOf.Class, create:() => StockManagementResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'AllAvailableVehiclesByCriteriaRequest': TypeInfo(TypeOf.Class, create:() => AllAvailableVehiclesByCriteriaRequest()), });