/* Options: Date: 2025-06-28 00:57:46 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: AllAvailableVehiclesByCriteriaCsvRequest.* //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 CsvVehicle implements IConvertible { // @DataMember(Name="Vehicle Type") String? Vehicle_Type; String? vid; String? vin; String? fin; // @DataMember(Name="Comm") String? Comm; // @DataMember(Name="Chassis Number") String? Chassis_Number; // @DataMember(Name="Model Year") String? Model_Year; // @DataMember(Name="Model Year Code") String? Model_Year_Code; // @DataMember(Name="Half Model Year Code") String? Half_Model_Year_Code; // @DataMember(Name="Full Model Year Code") String? Full_Model_Year_Code; // @DataMember(Name="Description") String? Description; // @DataMember(Name="Vehicle Class") String? Vehicle_Class; // @DataMember(Name="Body Style") String? Body_Style; String? model; String? colour; // @DataMember(Name="Colour Group") String? Colour_Group; // @DataMember(Name="Fuel Type") String? Fuel_Type; String? transmission; String? packages; String? lines; // @DataMember(Name="Product Range") String? Product_Range; String? engine; bool? isAMG; String? upholstery; String? nst; String? baumuster; String? bm7NST; double? acceleration; // @DataMember(Name="Boot Capacity") int? Boot_Capacity; // @DataMember(Name="Top Speed") double? Top_Speed; // @DataMember(Name="Drive Concept") String? Drive_Concept; // @DataMember(Name="Combustion Power HP") double? Combustion_Power_HP; // @DataMember(Name="Electric Power KW") double? Electric_Power_KW; // @DataMember(Name="Electric Power HP") double? Electric_Power_HP; // @DataMember(Name="Combined Power KW") double? Combined_Power_KW; // @DataMember(Name="Combined Power HP") double? Combined_Power_HP; // @DataMember(Name="Electric Range") double? Electric_Range; // @DataMember(Name="Electric Consumption") double? Electric_Consumption; // @DataMember(Name="Emission Combined") String? Emission_Combined; // @DataMember(Name="Emission Directive") String? Emission_Directive; // @DataMember(Name="Emission Extra Urban") String? Emission_Extra_Urban; // @DataMember(Name="Emission Urban") String? Emission_Urban; double? emission; // @DataMember(Name="Test Standard") String? Test_Standard; // @DataMember(Name="Energy Efficiency Class") String? Energy_Efficiency_Class; // @DataMember(Name="WLTP Combined") String? WLTP_Combined; // @DataMember(Name="WLTP Low") String? WLTP_Low; // @DataMember(Name="WLTP Medium") String? WLTP_Medium; // @DataMember(Name="WLTP High") String? WLTP_High; // @DataMember(Name="WLTP Extra High") String? WLTP_Extra_High; // @DataMember(Name="WLTP CO2 Emissions") String? WLTP_CO2_Emissions; // @DataMember(Name="Production Date") DateTime? Production_Date; // @DataMember(Name="Port Arrival Date") DateTime? Port_Arrival_Date; // @DataMember(Name="Creation Date") DateTime? Creation_Date; // @DataMember(Name="Maintenance Date") DateTime? Maintenance_Date; // @DataMember(Name="Net Price") double? Net_Price; // @DataMember(Name="Retail Price") double? Retail_Price; // @DataMember(Name="OTR Price") double? OTR_Price; // @DataMember(Name="Actual Price") double? Actual_Price; // @DataMember(Name="Usage Code") String? Usage_Code; String? secured; String? account; String? isDisplayStock; // @DataMember(Name="Display Agent") String? Display_Agent; String? isSpecialistCar; String? cesarIdShipToParty; String? isSellable; // @DataMember(Name="Under Offer") String? Under_Offer; // @DataMember(Name="Secured Date") String? Secured_Date; // @DataMember(Name="Secured Reason") String? Secured_Reason; // @DataMember(Name="Secured By Gas Id") String? Secured_By_Gas_Id; CsvVehicle({this.Vehicle_Type,this.vid,this.vin,this.fin,this.Comm,this.Chassis_Number,this.Model_Year,this.Model_Year_Code,this.Half_Model_Year_Code,this.Full_Model_Year_Code,this.Description,this.Vehicle_Class,this.Body_Style,this.model,this.colour,this.Colour_Group,this.Fuel_Type,this.transmission,this.packages,this.lines,this.Product_Range,this.engine,this.isAMG,this.upholstery,this.nst,this.baumuster,this.bm7NST,this.acceleration,this.Boot_Capacity,this.Top_Speed,this.Drive_Concept,this.Combustion_Power_HP,this.Electric_Power_KW,this.Electric_Power_HP,this.Combined_Power_KW,this.Combined_Power_HP,this.Electric_Range,this.Electric_Consumption,this.Emission_Combined,this.Emission_Directive,this.Emission_Extra_Urban,this.Emission_Urban,this.emission,this.Test_Standard,this.Energy_Efficiency_Class,this.WLTP_Combined,this.WLTP_Low,this.WLTP_Medium,this.WLTP_High,this.WLTP_Extra_High,this.WLTP_CO2_Emissions,this.Production_Date,this.Port_Arrival_Date,this.Creation_Date,this.Maintenance_Date,this.Net_Price,this.Retail_Price,this.OTR_Price,this.Actual_Price,this.Usage_Code,this.secured,this.account,this.isDisplayStock,this.Display_Agent,this.isSpecialistCar,this.cesarIdShipToParty,this.isSellable,this.Under_Offer,this.Secured_Date,this.Secured_Reason,this.Secured_By_Gas_Id}); CsvVehicle.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Vehicle_Type = json['vehicleType']; vid = json['vid']; vin = json['vin']; fin = json['fin']; Comm = json['commissionNumber']; Chassis_Number = json['chassisNumber']; Model_Year = json['modelYear']; Model_Year_Code = json['modelYearCode']; Half_Model_Year_Code = json['halfModelYearCode']; Full_Model_Year_Code = json['fullModelYearCode']; Description = json['salesDescriptionLong']; Vehicle_Class = json['vehicleClass']; Body_Style = json['bodyStyle']; model = json['model']; colour = json['colour']; Colour_Group = json['colourGroup']; Fuel_Type = json['fuelType']; transmission = json['transmission']; packages = json['packages']; lines = json['lines']; Product_Range = json['productRange']; engine = json['engine']; isAMG = json['isAMG']; upholstery = json['upholstery']; nst = json['nst']; baumuster = json['baumuster']; bm7NST = json['bm7NST']; acceleration = JsonConverters.toDouble(json['acceleration']); Boot_Capacity = json['bootCapacity']; Top_Speed = JsonConverters.toDouble(json['topSpeed']); Drive_Concept = json['driveConcept']; Combustion_Power_HP = JsonConverters.toDouble(json['combustionPowerHp']); Electric_Power_KW = JsonConverters.toDouble(json['electricPowerKw']); Electric_Power_HP = JsonConverters.toDouble(json['electricPowerHp']); Combined_Power_KW = JsonConverters.toDouble(json['combinedPowerKw']); Combined_Power_HP = JsonConverters.toDouble(json['combinedPowerHP']); Electric_Range = JsonConverters.toDouble(json['electricRange']); Electric_Consumption = JsonConverters.toDouble(json['electricConsumption']); Emission_Combined = json['emissionCombined']; Emission_Directive = json['emissionDirective']; Emission_Extra_Urban = json['emissionExtraUrban']; Emission_Urban = json['emissionUrban']; emission = JsonConverters.toDouble(json['emission']); Test_Standard = json['testStandard']; Energy_Efficiency_Class = json['energyEfficiencyClass']; WLTP_Combined = json['wltpCombined']; WLTP_Low = json['wltpLow']; WLTP_Medium = json['wltpMedium']; WLTP_High = json['wltpHigh']; WLTP_Extra_High = json['wltpExtraHigh']; WLTP_CO2_Emissions = json['wltpEmissionCombined']; Production_Date = JsonConverters.fromJson(json['productionDate'],'DateTime',context!); Port_Arrival_Date = JsonConverters.fromJson(json['portArrivalDate'],'DateTime',context!); Creation_Date = JsonConverters.fromJson(json['creationDate'],'DateTime',context!); Maintenance_Date = JsonConverters.fromJson(json['lastUpdated'],'DateTime',context!); Net_Price = JsonConverters.toDouble(json['retailPrice_ExVAT']); Retail_Price = JsonConverters.toDouble(json['retailPrice_IncVAT']); OTR_Price = JsonConverters.toDouble(json['otr']); Actual_Price = JsonConverters.toDouble(json['actualPrice']); Usage_Code = json['usageCode']; secured = json['secured']; account = json['account']; isDisplayStock = json['isDisplayStock']; Display_Agent = json['displayStockAgent']; isSpecialistCar = json['isSpecialistCar']; cesarIdShipToParty = json['cesarIdShipToParty']; isSellable = json['isSellable']; Under_Offer = json['underOffer']; Secured_Date = json['securedDate']; Secured_Reason = json['securedReason']; Secured_By_Gas_Id = json['securedByGasId']; return this; } Map toJson() => { 'vehicle_Type': Vehicle_Type, 'vid': vid, 'vin': vin, 'fin': fin, 'comm': Comm, 'chassis_Number': Chassis_Number, 'model_Year': Model_Year, 'model_Year_Code': Model_Year_Code, 'half_Model_Year_Code': Half_Model_Year_Code, 'full_Model_Year_Code': Full_Model_Year_Code, 'description': Description, 'vehicle_Class': Vehicle_Class, 'body_Style': Body_Style, 'model': model, 'colour': colour, 'colour_Group': Colour_Group, 'fuel_Type': Fuel_Type, 'transmission': transmission, 'packages': packages, 'lines': lines, 'product_Range': Product_Range, 'engine': engine, 'isAMG': isAMG, 'upholstery': upholstery, 'nst': nst, 'baumuster': baumuster, 'bm7NST': bm7NST, 'acceleration': acceleration, 'boot_Capacity': Boot_Capacity, 'top_Speed': Top_Speed, 'drive_Concept': Drive_Concept, 'combustion_Power_HP': Combustion_Power_HP, 'electric_Power_KW': Electric_Power_KW, 'electric_Power_HP': Electric_Power_HP, 'combined_Power_KW': Combined_Power_KW, 'combined_Power_HP': Combined_Power_HP, 'electric_Range': Electric_Range, 'electric_Consumption': Electric_Consumption, 'emission_Combined': Emission_Combined, 'emission_Directive': Emission_Directive, 'emission_Extra_Urban': Emission_Extra_Urban, 'emission_Urban': Emission_Urban, 'emission': emission, 'test_Standard': Test_Standard, 'energy_Efficiency_Class': Energy_Efficiency_Class, 'wltP_Combined': WLTP_Combined, 'wltP_Low': WLTP_Low, 'wltP_Medium': WLTP_Medium, 'wltP_High': WLTP_High, 'wltP_Extra_High': WLTP_Extra_High, 'wltP_CO2_Emissions': WLTP_CO2_Emissions, 'production_Date': JsonConverters.toJson(Production_Date,'DateTime',context!), 'port_Arrival_Date': JsonConverters.toJson(Port_Arrival_Date,'DateTime',context!), 'creation_Date': JsonConverters.toJson(Creation_Date,'DateTime',context!), 'maintenance_Date': JsonConverters.toJson(Maintenance_Date,'DateTime',context!), 'net_Price': Net_Price, 'retail_Price': Retail_Price, 'otR_Price': OTR_Price, 'actual_Price': Actual_Price, 'usage_Code': Usage_Code, 'secured': secured, 'account': account, 'isDisplayStock': isDisplayStock, 'display_Agent': Display_Agent, 'isSpecialistCar': isSpecialistCar, 'cesarIdShipToParty': cesarIdShipToParty, 'isSellable': isSellable, 'under_Offer': Under_Offer, 'secured_Date': Secured_Date, 'secured_Reason': Secured_Reason, 'secured_By_Gas_Id': Secured_By_Gas_Id }; getTypeName() => "CsvVehicle"; TypeContext? context = _ctx; } class InternalAvailableStockResponse implements IConvertible { int? totalVehicles; List? vehicles; InternalAvailableStockResponse({this.totalVehicles,this.vehicles}); InternalAvailableStockResponse.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() => "InternalAvailableStockResponse"; TypeContext? context = _ctx; } // @Route("/v1/AllAvailableVehiclesCsv/{vehicleType}/{includeBackOrderAccounts}", "POST") class AllAvailableVehiclesByCriteriaCsvRequest extends BaseAllAvailableVehiclesRequest implements IReturn, IPost, IConvertible { VehicleSearchV3Criteria? criteria; AllAvailableVehiclesByCriteriaCsvRequest({this.criteria}); AllAvailableVehiclesByCriteriaCsvRequest.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() => InternalAvailableStockResponse(); getResponseTypeName() => "InternalAvailableStockResponse"; getTypeName() => "AllAvailableVehiclesByCriteriaCsvRequest"; 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), 'CsvVehicle': TypeInfo(TypeOf.Class, create:() => CsvVehicle()), 'InternalAvailableStockResponse': TypeInfo(TypeOf.Class, create:() => InternalAvailableStockResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'AllAvailableVehiclesByCriteriaCsvRequest': TypeInfo(TypeOf.Class, create:() => AllAvailableVehiclesByCriteriaCsvRequest()), });