POST | /v1/AllAvailableVehiclesCsv/{vehicleType}/{includeBackOrderAccounts} | Get all available vehicles |
---|
import Foundation
import ServiceStack
public class AllAvailableVehiclesByCriteriaCsvRequest : BaseAllAvailableVehiclesRequest, IPost
{
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 BaseAllAvailableVehiclesRequest : Codable
{
public var vehicleType:String
public var includeBackOrderAccounts:Bool
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 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(){}
}
public class InternalAvailableStockResponse : Codable
{
public var totalVehicles:Int
public var vehicles:[CsvVehicle]
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(){}
}
Swift AllAvailableVehiclesByCriteriaCsvRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/AllAvailableVehiclesCsv/{vehicleType}/{includeBackOrderAccounts} HTTP/1.1
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<AllAvailableVehiclesByCriteriaCsvRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.VehicleManagement.API.Shared.POCO.V3">
<IncludeBackOrderAccounts>false</IncludeBackOrderAccounts>
<VehicleType>String</VehicleType>
<Criteria>
<Account xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</Account>
<Age>
<Date>0001-01-01T00:00:00</Date>
<IncludePipelineStock>false</IncludePipelineStock>
<Max>0</Max>
<Min>0</Min>
</Age>
<Baumuster xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</Baumuster>
<Colours xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</Colours>
<CommissionNumber xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</CommissionNumber>
<Engine xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</Engine>
<Exclusion>
<CommissionNumber xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</CommissionNumber>
<EquipmentCode>String</EquipmentCode>
<Gssn xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</Gssn>
<ModelYearCode>String</ModelYearCode>
<Vin xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</Vin>
</Exclusion>
<Fuel xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</Fuel>
<IncludeOffline>false</IncludeOffline>
<IsAvailableOnline>false</IsAvailableOnline>
<IsBackOrdered>false</IsBackOrdered>
<IsSellable>false</IsSellable>
<IsUnderOffer>false</IsUnderOffer>
<Line xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</Line>
<MBUKSecured>false</MBUKSecured>
<MappedLine xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</MappedLine>
<Model xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</Model>
<NST xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</NST>
<Package xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</Package>
<PortArrivalDate>
<From>0001-01-01T00:00:00</From>
<PipelineStock>false</PipelineStock>
<To>0001-01-01T00:00:00</To>
</PortArrivalDate>
<RegNo>String</RegNo>
<RegistrationDate>
<From>0001-01-01T00:00:00</From>
<To>0001-01-01T00:00:00</To>
</RegistrationDate>
<Transmission xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</Transmission>
<Upholstery xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</Upholstery>
<UsageCode xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</UsageCode>
<VehicleType>String</VehicleType>
<Vin xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</Vin>
</Criteria>
</AllAvailableVehiclesByCriteriaCsvRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <InternalAvailableStockResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.VehicleManagement.API.Shared.POCO.V3"> <TotalVehicles>0</TotalVehicles> <Vehicles i:nil="true" /> </InternalAvailableStockResponse>