/* Options: Date: 2025-09-13 16:18:33 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: AllAvailableVehiclesByCriteriaCsvRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v1/AllAvailableVehiclesCsv/{vehicleType}/{includeBackOrderAccounts}", "POST") public class AllAvailableVehiclesByCriteriaCsvRequest : BaseAllAvailableVehiclesRequest, IReturn, IPost { public typealias Return = InternalAvailableStockResponse public var criteria:VehicleSearchV3Criteria? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case criteria } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) criteria = try container.decodeIfPresent(VehicleSearchV3Criteria.self, forKey: .criteria) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if criteria != nil { try container.encode(criteria, forKey: .criteria) } } } public class InternalAvailableStockResponse : Codable { public var totalVehicles:Int? public var vehicles:[CsvVehicle]? required public init(){} } public class VehicleSearchV3Criteria : Codable { public var vin:[String] = [] public var model:[Int] = [] public var fuel:[Int] = [] public var transmission:[Int] = [] public var engine:[Int] = [] public var line:[String] = [] public var mappedLine:[Int] = [] public var commissionNumber:[String] = [] public var vehicleType:String? public var exclusion:CampaignExclusion? public var regNo:String? public var includeOffline:Bool? public var registrationDate:RegistrationDate? public var age:Age? public var portArrivalDate:PortArrivalDate? public var isAvailableOnline:Bool? public var isBackOrdered:Bool? public var isSellable:Bool? public var isUnderOffer:Bool? public var mbukSecured:Bool? public var account:[String] = [] public var baumuster:[String] = [] public var colours:[Int] = [] public var upholstery:[Int] = [] public var package:[Int] = [] public var nst:[String] = [] public var usageCode:[String] = [] required public init(){} } public class BaseAllAvailableVehiclesRequest : Codable { public var vehicleType:String? public var includeBackOrderAccounts:Bool? required public init(){} } public class CsvVehicle : Codable { // @DataMember(Name="Vehicle Type") public var Vehicle_Type:String? public var vid:String? public var vin:String? public var fin:String? // @DataMember(Name="Comm") public var Comm:String? // @DataMember(Name="Chassis Number") public var Chassis_Number:String? // @DataMember(Name="Model Year") public var Model_Year:String? // @DataMember(Name="Model Year Code") public var Model_Year_Code:String? // @DataMember(Name="Half Model Year Code") public var Half_Model_Year_Code:String? // @DataMember(Name="Full Model Year Code") public var Full_Model_Year_Code:String? // @DataMember(Name="Description") public var Description:String? // @DataMember(Name="Vehicle Class") public var Vehicle_Class:String? // @DataMember(Name="Body Style") public var Body_Style:String? public var model:String? public var colour:String? // @DataMember(Name="Colour Group") public var Colour_Group:String? // @DataMember(Name="Fuel Type") public var Fuel_Type:String? public var transmission:String? public var packages:String? public var lines:String? // @DataMember(Name="Product Range") public var Product_Range:String? public var engine:String? public var isAMG:Bool? public var upholstery:String? public var nst:String? public var baumuster:String? public var bm7NST:String? public var acceleration:Double? // @DataMember(Name="Boot Capacity") public var Boot_Capacity:Int? // @DataMember(Name="Top Speed") public var Top_Speed:Double? // @DataMember(Name="Drive Concept") public var Drive_Concept:String? // @DataMember(Name="Combustion Power HP") public var Combustion_Power_HP:Double? // @DataMember(Name="Electric Power KW") public var Electric_Power_KW:Double? // @DataMember(Name="Electric Power HP") public var Electric_Power_HP:Double? // @DataMember(Name="Combined Power KW") public var Combined_Power_KW:Double? // @DataMember(Name="Combined Power HP") public var Combined_Power_HP:Double? // @DataMember(Name="Electric Range") public var Electric_Range:Double? // @DataMember(Name="Electric Consumption") public var Electric_Consumption:Double? // @DataMember(Name="Emission Combined") public var Emission_Combined:String? // @DataMember(Name="Emission Directive") public var Emission_Directive:String? // @DataMember(Name="Emission Extra Urban") public var Emission_Extra_Urban:String? // @DataMember(Name="Emission Urban") public var Emission_Urban:String? public var emission:Double? // @DataMember(Name="Test Standard") public var Test_Standard:String? // @DataMember(Name="Energy Efficiency Class") public var Energy_Efficiency_Class:String? // @DataMember(Name="WLTP Combined") public var WLTP_Combined:String? // @DataMember(Name="WLTP Low") public var WLTP_Low:String? // @DataMember(Name="WLTP Medium") public var WLTP_Medium:String? // @DataMember(Name="WLTP High") public var WLTP_High:String? // @DataMember(Name="WLTP Extra High") public var WLTP_Extra_High:String? // @DataMember(Name="WLTP CO2 Emissions") public var WLTP_CO2_Emissions:String? // @DataMember(Name="Production Date") public var Production_Date:Date? // @DataMember(Name="Port Arrival Date") public var Port_Arrival_Date:Date? // @DataMember(Name="Creation Date") public var Creation_Date:Date? // @DataMember(Name="Maintenance Date") public var Maintenance_Date:Date? // @DataMember(Name="Net Price") public var Net_Price:Double? // @DataMember(Name="Retail Price") public var Retail_Price:Double? // @DataMember(Name="OTR Price") public var OTR_Price:Double? // @DataMember(Name="Actual Price") public var Actual_Price:Double? // @DataMember(Name="Usage Code") public var Usage_Code:String? public var secured:String? public var account:String? public var isDisplayStock:String? // @DataMember(Name="Display Agent") public var Display_Agent:String? public var isSpecialistCar:String? public var cesarIdShipToParty:String? public var isSellable:String? // @DataMember(Name="Under Offer") public var Under_Offer:String? // @DataMember(Name="Secured Date") public var Secured_Date:String? // @DataMember(Name="Secured Reason") public var Secured_Reason:String? // @DataMember(Name="Secured By Gas Id") public var Secured_By_Gas_Id:String? required public init(){} } public class CampaignExclusion : Codable { public var vin:[String] = [] public var commissionNumber:[String] = [] public var modelYearCode:String? public var equipmentCode:String? public var gssn:[String] = [] required public init(){} } public class RegistrationDate : Codable { public var from:Date? public var to:Date? required public init(){} } public class Age : Codable { public var date:Date? public var min:Int? public var max:Int? public var includePipelineStock:Bool? required public init(){} } public class PortArrivalDate : Codable { public var pipelineStock:Bool? public var from:Date? public var to:Date? required public init(){} }