| GET | /v1/details/{vehicleType}/{Identifier} | Get Vehicle Details | |
|---|---|---|---|
| GET | /details/{vehicleType}/{Identifier} | Get Vehicle Details |
import Foundation
import ServiceStack
public class VehicleDetailsRequest : IGet, Codable
{
public var identifier:String
public var vehicleType:String
required public init(){}
}
public class VehicleDetailsResponse : Codable
{
public var vehicle:BackOrderVehicleDetails
required public init(){}
}
public class BackOrderVehicleDetails : BackOrderVehicleDetailsBase
{
public var engine:String
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case engine
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
engine = try container.decodeIfPresent(String.self, forKey: .engine)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if engine != nil { try container.encode(engine, forKey: .engine) }
}
}
public class BackOrderVehicleDetailsBase : Codable
{
public var vin:String
public var commissionNumber:String
public var Description:String
public var model:String
public var fullModelYearCode:String
public var retailerId:Int
public var imageUrl:String
public var colour:String
public var colourDescription:String
public var bodyStyle:String
public var fuelType:String
public var transmission:String
public var transmissionType:String
public var package:String
public var packages:[String] = []
public var line:String
public var upholstery:String
public var upholsteryDescription:String
public var usageCode:String
public var account:String
public var nst:String
public var baumuster:String
public var electricRange:Double?
public var electricConsumption:Double?
public var retailPrice_ExVAT:Double
public var actualPrice:Double?
public var otrPrice:Double
public var p11D:Double
public var vehicleType:String
public var secured:Bool
public var productionDate:String
public var portArrivalDate:Date?
public var displayRetailer:String
public var location:String
public var bm7NST:String
public var isAvailableOnline:Bool
public var isSpecialistCar:Bool
public var isSellable:Bool
public var inBackOrderAccount:Bool
public var vehicleAuditDetails:[VehicleAuditDetails] = []
public var ispVehicleCustomerDescriptions:[String]
public var underOffer:Bool
public var isAllocatedToBackOrder:Bool
public var eligibleForMaTransfer:Bool
public var confirmedProductionDate:String
public var forecastedArrivalDate:String
required public init(){}
}
public class VehicleAuditDetails : Codable
{
public var userId:String
public var status:Bool
public var notes:String
public var creationDate:String
required public init(){}
}
Swift VehicleDetailsRequest 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.
GET /v1/details/{vehicleType}/{Identifier} HTTP/1.1
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
vehicle:
{
engine: String,
vin: String,
commissionNumber: String,
description: String,
model: String,
fullModelYearCode: String,
retailerId: 0,
imageUrl: String,
colour: String,
colourDescription: String,
bodyStyle: String,
fuelType: String,
transmission: String,
transmissionType: String,
package: String,
packages:
[
String
],
line: String,
upholstery: String,
upholsteryDescription: String,
usageCode: String,
account: String,
nst: String,
baumuster: String,
electricRange: 0,
electricConsumption: 0,
retailPrice_ExVAT: 0,
actualPrice: 0,
otrPrice: 0,
p11D: 0,
vehicleType: String,
secured: False,
productionDate: String,
portArrivalDate: 0001-01-01,
displayRetailer: String,
location: String,
bm7NST: String,
isAvailableOnline: False,
isSpecialistCar: False,
isSellable: False,
inBackOrderAccount: False,
vehicleAuditDetails:
[
{
userId: String,
status: False,
notes: String,
creationDate: String
}
],
ispVehicleCustomerDescriptions:
[
String
],
underOffer: False,
isAllocatedToBackOrder: False,
eligibleForMaTransfer: False,
confirmedProductionDate: String,
forecastedArrivalDate: String
}
}