Mercedes.Agency.Orchestration.API

<back to all web services

GetBackOrderVehicleMatchRequest

BackOrder
Requires Authentication
The following routes are available for this service:
GET/v1/backorder/match/{Guid}Get Back Order Matches by Guid
import Foundation
import ServiceStack

public class GetBackOrderVehicleMatchRequest : GetBackOrderMatchRequest, IGet
{
    required public init(){ super.init() }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
    }
}

public class GetBackOrderMatchRequest : Codable
{
    public var guid:String

    required public init(){}
}

public class GetBackOrderMatchResponse : Codable
{
    public var vehicles:[BackOrderVehicle] = []
    public var closestMatchVehicles:[BackOrderVehicle] = []
    public var otherMatchVehicles:[BackOrderVehicle] = []
    public var modelMatchVehicles:[BackOrderVehicle] = []

    required public init(){}
}

public class BackOrderVehicle : VehicleDetail
{
    public var vehicleUsage:String
    public var underOffer:Bool
    public var vid:String
    public var fin:String
    public var modelYear:String
    public var retailPrice_IncVAT:Double?
    public var isAMG:Bool
    public var nst:String
    public var bM7NST:String
    public var acceleration:Double?
    public var bootCapacity:Double?
    public var topSpeed:Double?
    public var driveConcept:String
    public var combustionPowerHp:Double?
    public var electricPowerKw:Double?
    public var electricPowerHp:Double?
    public var combinedPowerKw:Double?
    public var combinedPowerHP:Double?
    public var emissionCombined:String
    public var emissionExtraUrban:String
    public var emissionUrban:String
    public var emissionDirective:String
    public var energyEfficiencyClass:String
    public var wltpCombined:Double?
    public var wltpLow:Double?
    public var wltpMedium:Double?
    public var wltpHigh:Double?
    public var wltpExtraHigh:Double?
    public var wltpEmissionCombined:Double?
    public var creationDate:Date?
    public var lastUpdated:Date?
    public var displayStockAgent:String
    public var isSpecialistCar:Bool
    public var account:String
    public var location:String
    public var cesarIdShipToParty:String
    public var vehicleUsageCode:String
    public var mbukSecured:Bool

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case vehicleUsage
        case underOffer
        case vid
        case fin
        case modelYear
        case retailPrice_IncVAT
        case isAMG
        case nst
        case bM7NST
        case acceleration
        case bootCapacity
        case topSpeed
        case driveConcept
        case combustionPowerHp
        case electricPowerKw
        case electricPowerHp
        case combinedPowerKw
        case combinedPowerHP
        case emissionCombined
        case emissionExtraUrban
        case emissionUrban
        case emissionDirective
        case energyEfficiencyClass
        case wltpCombined
        case wltpLow
        case wltpMedium
        case wltpHigh
        case wltpExtraHigh
        case wltpEmissionCombined
        case creationDate
        case lastUpdated
        case displayStockAgent
        case isSpecialistCar
        case account
        case location
        case cesarIdShipToParty
        case vehicleUsageCode
        case mbukSecured
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        vehicleUsage = try container.decodeIfPresent(String.self, forKey: .vehicleUsage)
        underOffer = try container.decodeIfPresent(Bool.self, forKey: .underOffer)
        vid = try container.decodeIfPresent(String.self, forKey: .vid)
        fin = try container.decodeIfPresent(String.self, forKey: .fin)
        modelYear = try container.decodeIfPresent(String.self, forKey: .modelYear)
        retailPrice_IncVAT = try container.decodeIfPresent(Double.self, forKey: .retailPrice_IncVAT)
        isAMG = try container.decodeIfPresent(Bool.self, forKey: .isAMG)
        nst = try container.decodeIfPresent(String.self, forKey: .nst)
        bM7NST = try container.decodeIfPresent(String.self, forKey: .bM7NST)
        acceleration = try container.decodeIfPresent(Double.self, forKey: .acceleration)
        bootCapacity = try container.decodeIfPresent(Double.self, forKey: .bootCapacity)
        topSpeed = try container.decodeIfPresent(Double.self, forKey: .topSpeed)
        driveConcept = try container.decodeIfPresent(String.self, forKey: .driveConcept)
        combustionPowerHp = try container.decodeIfPresent(Double.self, forKey: .combustionPowerHp)
        electricPowerKw = try container.decodeIfPresent(Double.self, forKey: .electricPowerKw)
        electricPowerHp = try container.decodeIfPresent(Double.self, forKey: .electricPowerHp)
        combinedPowerKw = try container.decodeIfPresent(Double.self, forKey: .combinedPowerKw)
        combinedPowerHP = try container.decodeIfPresent(Double.self, forKey: .combinedPowerHP)
        emissionCombined = try container.decodeIfPresent(String.self, forKey: .emissionCombined)
        emissionExtraUrban = try container.decodeIfPresent(String.self, forKey: .emissionExtraUrban)
        emissionUrban = try container.decodeIfPresent(String.self, forKey: .emissionUrban)
        emissionDirective = try container.decodeIfPresent(String.self, forKey: .emissionDirective)
        energyEfficiencyClass = try container.decodeIfPresent(String.self, forKey: .energyEfficiencyClass)
        wltpCombined = try container.decodeIfPresent(Double.self, forKey: .wltpCombined)
        wltpLow = try container.decodeIfPresent(Double.self, forKey: .wltpLow)
        wltpMedium = try container.decodeIfPresent(Double.self, forKey: .wltpMedium)
        wltpHigh = try container.decodeIfPresent(Double.self, forKey: .wltpHigh)
        wltpExtraHigh = try container.decodeIfPresent(Double.self, forKey: .wltpExtraHigh)
        wltpEmissionCombined = try container.decodeIfPresent(Double.self, forKey: .wltpEmissionCombined)
        creationDate = try container.decodeIfPresent(Date.self, forKey: .creationDate)
        lastUpdated = try container.decodeIfPresent(Date.self, forKey: .lastUpdated)
        displayStockAgent = try container.decodeIfPresent(String.self, forKey: .displayStockAgent)
        isSpecialistCar = try container.decodeIfPresent(Bool.self, forKey: .isSpecialistCar)
        account = try container.decodeIfPresent(String.self, forKey: .account)
        location = try container.decodeIfPresent(String.self, forKey: .location)
        cesarIdShipToParty = try container.decodeIfPresent(String.self, forKey: .cesarIdShipToParty)
        vehicleUsageCode = try container.decodeIfPresent(String.self, forKey: .vehicleUsageCode)
        mbukSecured = try container.decodeIfPresent(Bool.self, forKey: .mbukSecured)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if vehicleUsage != nil { try container.encode(vehicleUsage, forKey: .vehicleUsage) }
        if underOffer != nil { try container.encode(underOffer, forKey: .underOffer) }
        if vid != nil { try container.encode(vid, forKey: .vid) }
        if fin != nil { try container.encode(fin, forKey: .fin) }
        if modelYear != nil { try container.encode(modelYear, forKey: .modelYear) }
        if retailPrice_IncVAT != nil { try container.encode(retailPrice_IncVAT, forKey: .retailPrice_IncVAT) }
        if isAMG != nil { try container.encode(isAMG, forKey: .isAMG) }
        if nst != nil { try container.encode(nst, forKey: .nst) }
        if bM7NST != nil { try container.encode(bM7NST, forKey: .bM7NST) }
        if acceleration != nil { try container.encode(acceleration, forKey: .acceleration) }
        if bootCapacity != nil { try container.encode(bootCapacity, forKey: .bootCapacity) }
        if topSpeed != nil { try container.encode(topSpeed, forKey: .topSpeed) }
        if driveConcept != nil { try container.encode(driveConcept, forKey: .driveConcept) }
        if combustionPowerHp != nil { try container.encode(combustionPowerHp, forKey: .combustionPowerHp) }
        if electricPowerKw != nil { try container.encode(electricPowerKw, forKey: .electricPowerKw) }
        if electricPowerHp != nil { try container.encode(electricPowerHp, forKey: .electricPowerHp) }
        if combinedPowerKw != nil { try container.encode(combinedPowerKw, forKey: .combinedPowerKw) }
        if combinedPowerHP != nil { try container.encode(combinedPowerHP, forKey: .combinedPowerHP) }
        if emissionCombined != nil { try container.encode(emissionCombined, forKey: .emissionCombined) }
        if emissionExtraUrban != nil { try container.encode(emissionExtraUrban, forKey: .emissionExtraUrban) }
        if emissionUrban != nil { try container.encode(emissionUrban, forKey: .emissionUrban) }
        if emissionDirective != nil { try container.encode(emissionDirective, forKey: .emissionDirective) }
        if energyEfficiencyClass != nil { try container.encode(energyEfficiencyClass, forKey: .energyEfficiencyClass) }
        if wltpCombined != nil { try container.encode(wltpCombined, forKey: .wltpCombined) }
        if wltpLow != nil { try container.encode(wltpLow, forKey: .wltpLow) }
        if wltpMedium != nil { try container.encode(wltpMedium, forKey: .wltpMedium) }
        if wltpHigh != nil { try container.encode(wltpHigh, forKey: .wltpHigh) }
        if wltpExtraHigh != nil { try container.encode(wltpExtraHigh, forKey: .wltpExtraHigh) }
        if wltpEmissionCombined != nil { try container.encode(wltpEmissionCombined, forKey: .wltpEmissionCombined) }
        if creationDate != nil { try container.encode(creationDate, forKey: .creationDate) }
        if lastUpdated != nil { try container.encode(lastUpdated, forKey: .lastUpdated) }
        if displayStockAgent != nil { try container.encode(displayStockAgent, forKey: .displayStockAgent) }
        if isSpecialistCar != nil { try container.encode(isSpecialistCar, forKey: .isSpecialistCar) }
        if account != nil { try container.encode(account, forKey: .account) }
        if location != nil { try container.encode(location, forKey: .location) }
        if cesarIdShipToParty != nil { try container.encode(cesarIdShipToParty, forKey: .cesarIdShipToParty) }
        if vehicleUsageCode != nil { try container.encode(vehicleUsageCode, forKey: .vehicleUsageCode) }
        if mbukSecured != nil { try container.encode(mbukSecured, forKey: .mbukSecured) }
    }
}

public class VehicleDetail : VehicleBaseDetail
{
    public var retailPrice_ExVAT:String
    public var otr:String
    public var actualPrice:String
    public var totalOfferValue:String
    public var isHOBackOrderAccountVehicle:Bool
    public var consumptionCombined:VehicleConsumption
    public var consumptionExtraUrban:VehicleConsumption
    public var consumptionUrban:VehicleConsumption
    public var wltpFuelConsumptionCombined:VehicleConsumption
    public var wltpFuelConsumptionExtraHigh:VehicleConsumption
    public var wltpFuelConsumptionHigh:VehicleConsumption
    public var wltpFuelConsumptionLow:VehicleConsumption
    public var wltpFuelConsumptionMedium:VehicleConsumption
    public var equipmentCategories:[VehicleEquipmentCategory]
    public var vehicleEnergyEfficiencyClass:VehicleEmissionClass
    public var vehicleData:[VehicleAttribute]
    public var integratedProducts:[VehicleIntegratedServiceCareOption] = []
    public var ispVehicleCustomerDescriptions:[String]
    public var colourCode:String
    public var upholsteryCode:String

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case retailPrice_ExVAT
        case otr
        case actualPrice
        case totalOfferValue
        case isHOBackOrderAccountVehicle
        case consumptionCombined
        case consumptionExtraUrban
        case consumptionUrban
        case wltpFuelConsumptionCombined
        case wltpFuelConsumptionExtraHigh
        case wltpFuelConsumptionHigh
        case wltpFuelConsumptionLow
        case wltpFuelConsumptionMedium
        case equipmentCategories
        case vehicleEnergyEfficiencyClass
        case vehicleData
        case integratedProducts
        case ispVehicleCustomerDescriptions
        case colourCode
        case upholsteryCode
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        retailPrice_ExVAT = try container.decodeIfPresent(String.self, forKey: .retailPrice_ExVAT)
        otr = try container.decodeIfPresent(String.self, forKey: .otr)
        actualPrice = try container.decodeIfPresent(String.self, forKey: .actualPrice)
        totalOfferValue = try container.decodeIfPresent(String.self, forKey: .totalOfferValue)
        isHOBackOrderAccountVehicle = try container.decodeIfPresent(Bool.self, forKey: .isHOBackOrderAccountVehicle)
        consumptionCombined = try container.decodeIfPresent(VehicleConsumption.self, forKey: .consumptionCombined)
        consumptionExtraUrban = try container.decodeIfPresent(VehicleConsumption.self, forKey: .consumptionExtraUrban)
        consumptionUrban = try container.decodeIfPresent(VehicleConsumption.self, forKey: .consumptionUrban)
        wltpFuelConsumptionCombined = try container.decodeIfPresent(VehicleConsumption.self, forKey: .wltpFuelConsumptionCombined)
        wltpFuelConsumptionExtraHigh = try container.decodeIfPresent(VehicleConsumption.self, forKey: .wltpFuelConsumptionExtraHigh)
        wltpFuelConsumptionHigh = try container.decodeIfPresent(VehicleConsumption.self, forKey: .wltpFuelConsumptionHigh)
        wltpFuelConsumptionLow = try container.decodeIfPresent(VehicleConsumption.self, forKey: .wltpFuelConsumptionLow)
        wltpFuelConsumptionMedium = try container.decodeIfPresent(VehicleConsumption.self, forKey: .wltpFuelConsumptionMedium)
        equipmentCategories = try container.decodeIfPresent([VehicleEquipmentCategory].self, forKey: .equipmentCategories) ?? []
        vehicleEnergyEfficiencyClass = try container.decodeIfPresent(VehicleEmissionClass.self, forKey: .vehicleEnergyEfficiencyClass)
        vehicleData = try container.decodeIfPresent([VehicleAttribute].self, forKey: .vehicleData) ?? []
        integratedProducts = try container.decodeIfPresent([VehicleIntegratedServiceCareOption].self, forKey: .integratedProducts) ?? []
        ispVehicleCustomerDescriptions = try container.decodeIfPresent([String].self, forKey: .ispVehicleCustomerDescriptions) ?? []
        colourCode = try container.decodeIfPresent(String.self, forKey: .colourCode)
        upholsteryCode = try container.decodeIfPresent(String.self, forKey: .upholsteryCode)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if retailPrice_ExVAT != nil { try container.encode(retailPrice_ExVAT, forKey: .retailPrice_ExVAT) }
        if otr != nil { try container.encode(otr, forKey: .otr) }
        if actualPrice != nil { try container.encode(actualPrice, forKey: .actualPrice) }
        if totalOfferValue != nil { try container.encode(totalOfferValue, forKey: .totalOfferValue) }
        if isHOBackOrderAccountVehicle != nil { try container.encode(isHOBackOrderAccountVehicle, forKey: .isHOBackOrderAccountVehicle) }
        if consumptionCombined != nil { try container.encode(consumptionCombined, forKey: .consumptionCombined) }
        if consumptionExtraUrban != nil { try container.encode(consumptionExtraUrban, forKey: .consumptionExtraUrban) }
        if consumptionUrban != nil { try container.encode(consumptionUrban, forKey: .consumptionUrban) }
        if wltpFuelConsumptionCombined != nil { try container.encode(wltpFuelConsumptionCombined, forKey: .wltpFuelConsumptionCombined) }
        if wltpFuelConsumptionExtraHigh != nil { try container.encode(wltpFuelConsumptionExtraHigh, forKey: .wltpFuelConsumptionExtraHigh) }
        if wltpFuelConsumptionHigh != nil { try container.encode(wltpFuelConsumptionHigh, forKey: .wltpFuelConsumptionHigh) }
        if wltpFuelConsumptionLow != nil { try container.encode(wltpFuelConsumptionLow, forKey: .wltpFuelConsumptionLow) }
        if wltpFuelConsumptionMedium != nil { try container.encode(wltpFuelConsumptionMedium, forKey: .wltpFuelConsumptionMedium) }
        if equipmentCategories != nil { try container.encode(equipmentCategories, forKey: .equipmentCategories) }
        if vehicleEnergyEfficiencyClass != nil { try container.encode(vehicleEnergyEfficiencyClass, forKey: .vehicleEnergyEfficiencyClass) }
        if vehicleData != nil { try container.encode(vehicleData, forKey: .vehicleData) }
        if integratedProducts.count > 0 { try container.encode(integratedProducts, forKey: .integratedProducts) }
        if ispVehicleCustomerDescriptions != nil { try container.encode(ispVehicleCustomerDescriptions, forKey: .ispVehicleCustomerDescriptions) }
        if colourCode != nil { try container.encode(colourCode, forKey: .colourCode) }
        if upholsteryCode != nil { try container.encode(upholsteryCode, forKey: .upholsteryCode) }
    }
}

public class VehicleBaseDetail : Vehicle, ICommissionNumber
{
    public var Description:String
    public var commissionNumber:String
    public var portArrivalDate:String
    public var offerExpiryDate:String
    public var fuel:String
    public var transmission:String
    public var transmissionType:String
    public var colour:String
    public var colourDescription:String
    public var imageUrl:String
    public var specialist:Bool
    public var vehicleCriteriaMatch:VehicleCriteriaMatch
    public var colourGroup:String
    public var model:String
    public var bodyStyle:String
    public var brand:String
    public var engine:String
    public var engineDescription:String
    public var line:String
    public var upholstery:String
    public var upholsteryDescription:String
    public var packages:[String] = []
    public var p11D:Double
    public var prices:[Price] = []
    public var vehicleClass:String
    public var productRange:String
    public var vehicleType:String
    public var emission:Double?
    public var baumuster:String
    public var isSellable:Bool
    public var bm7NST:String
    public var electricRange:Double?
    public var electricConsumption:Double?
    public var isDisplayStock:Bool
    public var displayRetailer_Id:Int?
    public var displayRetailer:String
    public var displayRetailerGssnId:String
    public var retailer:Retailer
    public var age:Int?
    public var modelYearCode:String
    public var halfModelYearCode:String
    public var fullModelYearCode:String
    public var productionDate:String
    public var chassisNumber:String
    public var eligibleForIntegratedServiceCare:Bool

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case Description
        case commissionNumber
        case portArrivalDate
        case offerExpiryDate
        case fuel
        case transmission
        case transmissionType
        case colour
        case colourDescription
        case imageUrl
        case specialist
        case vehicleCriteriaMatch
        case colourGroup
        case model
        case bodyStyle
        case brand
        case engine
        case engineDescription
        case line
        case upholstery
        case upholsteryDescription
        case packages
        case p11D
        case prices
        case vehicleClass
        case productRange
        case vehicleType
        case emission
        case baumuster
        case isSellable
        case bm7NST
        case electricRange
        case electricConsumption
        case isDisplayStock
        case displayRetailer_Id
        case displayRetailer
        case displayRetailerGssnId
        case retailer
        case age
        case modelYearCode
        case halfModelYearCode
        case fullModelYearCode
        case productionDate
        case chassisNumber
        case eligibleForIntegratedServiceCare
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        Description = try container.decodeIfPresent(String.self, forKey: .Description)
        commissionNumber = try container.decodeIfPresent(String.self, forKey: .commissionNumber)
        portArrivalDate = try container.decodeIfPresent(String.self, forKey: .portArrivalDate)
        offerExpiryDate = try container.decodeIfPresent(String.self, forKey: .offerExpiryDate)
        fuel = try container.decodeIfPresent(String.self, forKey: .fuel)
        transmission = try container.decodeIfPresent(String.self, forKey: .transmission)
        transmissionType = try container.decodeIfPresent(String.self, forKey: .transmissionType)
        colour = try container.decodeIfPresent(String.self, forKey: .colour)
        colourDescription = try container.decodeIfPresent(String.self, forKey: .colourDescription)
        imageUrl = try container.decodeIfPresent(String.self, forKey: .imageUrl)
        specialist = try container.decodeIfPresent(Bool.self, forKey: .specialist)
        vehicleCriteriaMatch = try container.decodeIfPresent(VehicleCriteriaMatch.self, forKey: .vehicleCriteriaMatch)
        colourGroup = try container.decodeIfPresent(String.self, forKey: .colourGroup)
        model = try container.decodeIfPresent(String.self, forKey: .model)
        bodyStyle = try container.decodeIfPresent(String.self, forKey: .bodyStyle)
        brand = try container.decodeIfPresent(String.self, forKey: .brand)
        engine = try container.decodeIfPresent(String.self, forKey: .engine)
        engineDescription = try container.decodeIfPresent(String.self, forKey: .engineDescription)
        line = try container.decodeIfPresent(String.self, forKey: .line)
        upholstery = try container.decodeIfPresent(String.self, forKey: .upholstery)
        upholsteryDescription = try container.decodeIfPresent(String.self, forKey: .upholsteryDescription)
        packages = try container.decodeIfPresent([String].self, forKey: .packages) ?? []
        p11D = try container.decodeIfPresent(Double.self, forKey: .p11D)
        prices = try container.decodeIfPresent([Price].self, forKey: .prices) ?? []
        vehicleClass = try container.decodeIfPresent(String.self, forKey: .vehicleClass)
        productRange = try container.decodeIfPresent(String.self, forKey: .productRange)
        vehicleType = try container.decodeIfPresent(String.self, forKey: .vehicleType)
        emission = try container.decodeIfPresent(Double.self, forKey: .emission)
        baumuster = try container.decodeIfPresent(String.self, forKey: .baumuster)
        isSellable = try container.decodeIfPresent(Bool.self, forKey: .isSellable)
        bm7NST = try container.decodeIfPresent(String.self, forKey: .bm7NST)
        electricRange = try container.decodeIfPresent(Double.self, forKey: .electricRange)
        electricConsumption = try container.decodeIfPresent(Double.self, forKey: .electricConsumption)
        isDisplayStock = try container.decodeIfPresent(Bool.self, forKey: .isDisplayStock)
        displayRetailer_Id = try container.decodeIfPresent(Int.self, forKey: .displayRetailer_Id)
        displayRetailer = try container.decodeIfPresent(String.self, forKey: .displayRetailer)
        displayRetailerGssnId = try container.decodeIfPresent(String.self, forKey: .displayRetailerGssnId)
        retailer = try container.decodeIfPresent(Retailer.self, forKey: .retailer)
        age = try container.decodeIfPresent(Int.self, forKey: .age)
        modelYearCode = try container.decodeIfPresent(String.self, forKey: .modelYearCode)
        halfModelYearCode = try container.decodeIfPresent(String.self, forKey: .halfModelYearCode)
        fullModelYearCode = try container.decodeIfPresent(String.self, forKey: .fullModelYearCode)
        productionDate = try container.decodeIfPresent(String.self, forKey: .productionDate)
        chassisNumber = try container.decodeIfPresent(String.self, forKey: .chassisNumber)
        eligibleForIntegratedServiceCare = try container.decodeIfPresent(Bool.self, forKey: .eligibleForIntegratedServiceCare)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if Description != nil { try container.encode(Description, forKey: .Description) }
        if commissionNumber != nil { try container.encode(commissionNumber, forKey: .commissionNumber) }
        if portArrivalDate != nil { try container.encode(portArrivalDate, forKey: .portArrivalDate) }
        if offerExpiryDate != nil { try container.encode(offerExpiryDate, forKey: .offerExpiryDate) }
        if fuel != nil { try container.encode(fuel, forKey: .fuel) }
        if transmission != nil { try container.encode(transmission, forKey: .transmission) }
        if transmissionType != nil { try container.encode(transmissionType, forKey: .transmissionType) }
        if colour != nil { try container.encode(colour, forKey: .colour) }
        if colourDescription != nil { try container.encode(colourDescription, forKey: .colourDescription) }
        if imageUrl != nil { try container.encode(imageUrl, forKey: .imageUrl) }
        if specialist != nil { try container.encode(specialist, forKey: .specialist) }
        if vehicleCriteriaMatch != nil { try container.encode(vehicleCriteriaMatch, forKey: .vehicleCriteriaMatch) }
        if colourGroup != nil { try container.encode(colourGroup, forKey: .colourGroup) }
        if model != nil { try container.encode(model, forKey: .model) }
        if bodyStyle != nil { try container.encode(bodyStyle, forKey: .bodyStyle) }
        if brand != nil { try container.encode(brand, forKey: .brand) }
        if engine != nil { try container.encode(engine, forKey: .engine) }
        if engineDescription != nil { try container.encode(engineDescription, forKey: .engineDescription) }
        if line != nil { try container.encode(line, forKey: .line) }
        if upholstery != nil { try container.encode(upholstery, forKey: .upholstery) }
        if upholsteryDescription != nil { try container.encode(upholsteryDescription, forKey: .upholsteryDescription) }
        if packages.count > 0 { try container.encode(packages, forKey: .packages) }
        if p11D != nil { try container.encode(p11D, forKey: .p11D) }
        if prices.count > 0 { try container.encode(prices, forKey: .prices) }
        if vehicleClass != nil { try container.encode(vehicleClass, forKey: .vehicleClass) }
        if productRange != nil { try container.encode(productRange, forKey: .productRange) }
        if vehicleType != nil { try container.encode(vehicleType, forKey: .vehicleType) }
        if emission != nil { try container.encode(emission, forKey: .emission) }
        if baumuster != nil { try container.encode(baumuster, forKey: .baumuster) }
        if isSellable != nil { try container.encode(isSellable, forKey: .isSellable) }
        if bm7NST != nil { try container.encode(bm7NST, forKey: .bm7NST) }
        if electricRange != nil { try container.encode(electricRange, forKey: .electricRange) }
        if electricConsumption != nil { try container.encode(electricConsumption, forKey: .electricConsumption) }
        if isDisplayStock != nil { try container.encode(isDisplayStock, forKey: .isDisplayStock) }
        if displayRetailer_Id != nil { try container.encode(displayRetailer_Id, forKey: .displayRetailer_Id) }
        if displayRetailer != nil { try container.encode(displayRetailer, forKey: .displayRetailer) }
        if displayRetailerGssnId != nil { try container.encode(displayRetailerGssnId, forKey: .displayRetailerGssnId) }
        if retailer != nil { try container.encode(retailer, forKey: .retailer) }
        if age != nil { try container.encode(age, forKey: .age) }
        if modelYearCode != nil { try container.encode(modelYearCode, forKey: .modelYearCode) }
        if halfModelYearCode != nil { try container.encode(halfModelYearCode, forKey: .halfModelYearCode) }
        if fullModelYearCode != nil { try container.encode(fullModelYearCode, forKey: .fullModelYearCode) }
        if productionDate != nil { try container.encode(productionDate, forKey: .productionDate) }
        if chassisNumber != nil { try container.encode(chassisNumber, forKey: .chassisNumber) }
        if eligibleForIntegratedServiceCare != nil { try container.encode(eligibleForIntegratedServiceCare, forKey: .eligibleForIntegratedServiceCare) }
    }
}

public class Vehicle : Codable
{
    public var vin:String

    required public init(){}
}

public class VehicleCriteriaMatch : Codable
{
    public var fuel:Bool
    public var transmission:Bool
    public var colour:Bool
    public var upholstery:Bool
    public var line:Bool
    public var engine:Bool
    public var bodyStyle:Bool
    public var packages:Bool

    required public init(){}
}

public class Price : Codable
{
    public var id:String
    public var Description:String
    public var net:Double
    public var vat:Double
    public var gross:Double
    public var product:OfferPriceProductType

    required public init(){}
}

public enum OfferPriceProductType : String, Codable
{
    case LIST_PRICE
    case NUMBER_PLATE_FEE
    case DELIVERY_CHARGE
    case FUEL_CHARGE
    case MANUFACTURER_OFFER
    case PERSONALISED_MONEYOFFER
    case PERSONALISED_NONMONEYOFFER
    case PERSONALISED_NONMONEYOFFER_NEG
    case SERVICE
    case SERVICE_NEG
    case GOVERNMENT_GRANT
    case OUTRIGHT_PURCHASE_DISCOUNT
    case VIP_OFFER
    case WALLBOX_OFFER
    case WALLBOX_OFFER_NEG
    case ROAD_FUND_LICENCE
    case FIRST_REGISTRATION_FEE
    case NOT_FOUND
    case ACCESSORY_OFFER
    case ACCESSORY_OFFER_NEG
    case MOTABILITY_DISCOUNT
}

public class Retailer : Codable
{
    public var id:Int
    public var gssnId:String
    public var Description:String
    public var street:String
    public var city:String
    public var postcode:String
    public var googleMapPostcode:String
    public var phone:String
    public var fax:String
    public var email:String
    public var website:String
    public var retailerGroupId:String
    public var retailerGroupName:String
    public var isOnline:Bool
    public var isNewCarRetailer:Bool
    public var isUsedCarRetailer:Bool
    public var isCentralRetailer:Bool
    public var chatEnabled:Bool
    public var tradeInEnabled:Bool
    public var smart:Bool
    public var displayPhoneNumberNew:String
    public var displayPhoneNumberUsed:String
    public var latitude:Double
    public var longitude:Double
    public var smartDescription:String
    public var smartWebsite:String
    public var smartPhone:String
    public var legacyId:String
    public var agent:Bool
    public var marketAreaId:Int
    public var digitalLoungeParentGssnId:String
    public var sendLeadsToDigitalLoungeParent:Bool
    public var openingTimes:RetailerOpeningTimes

    required public init(){}
}

public class RetailerOpeningTimes : Codable
{
    public var `new`:[RetailerOpeningTime] = []
    public var used:[RetailerOpeningTime] = []

    required public init(){}
}

public class RetailerOpeningTime : Codable
{
    public var day:String
    public var openFrom:String
    public var openTo:String
    public var special:String

    required public init(){}
}

public class VehicleConsumption : Codable
{
    public var id:Int
    public var lkm:Double
    public var mpg:Double

    required public init(){}
}

public class VehicleEquipmentCategory : Codable
{
    public var order:Int
    public var code:String
    public var Description:String
    public var equipment:[Equipmentv2]

    required public init(){}
}

public class Equipmentv2 : Equipment
{
    public var importance:Int
    public var isAdditional:Bool

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case importance
        case isAdditional
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        importance = try container.decodeIfPresent(Int.self, forKey: .importance)
        isAdditional = try container.decodeIfPresent(Bool.self, forKey: .isAdditional)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if importance != nil { try container.encode(importance, forKey: .importance) }
        if isAdditional != nil { try container.encode(isAdditional, forKey: .isAdditional) }
    }
}

public class Equipment : Codable
{
    public var id:Int
    public var code:String
    public var Description:String

    required public init(){}
}

public class VehicleEmissionClass : Codable
{
    public var colour:String
    public var rating:String

    required public init(){}
}

public class VehicleAttribute : Codable
{
    public var Description:String
    public var value:String

    required public init(){}
}

public class VehicleIntegratedServiceCareOption : Codable
{
    public var optionCode:String
    public var bM7NST:String
    public var fullModelYear:String
    public var integratedProductType:String
    public var customerDescription:String
    public var oneAgentProductType:String

    required public init(){}
}


Swift GetBackOrderVehicleMatchRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /v1/backorder/match/{Guid} HTTP/1.1 
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk 
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"Vehicles":[{"VehicleUsage":"String","UnderOffer":false,"Vid":"String","Fin":"String","ModelYear":"String","RetailPrice_IncVAT":0,"IsAMG":false,"Nst":"String","BM7NST":"String","Acceleration":0,"BootCapacity":0,"TopSpeed":0,"DriveConcept":"String","CombustionPowerHp":0,"ElectricPowerKw":0,"ElectricPowerHp":0,"CombinedPowerKw":0,"CombinedPowerHP":0,"EmissionCombined":"String","EmissionExtraUrban":"String","EmissionUrban":"String","EmissionDirective":"String","EnergyEfficiencyClass":"String","WltpCombined":0,"WltpLow":0,"WltpMedium":0,"WltpHigh":0,"WltpExtraHigh":0,"WltpEmissionCombined":0,"CreationDate":"\/Date(-62135596800000-0000)\/","LastUpdated":"\/Date(-62135596800000-0000)\/","DisplayStockAgent":"String","IsSpecialistCar":false,"Account":"String","Location":"String","CesarIdShipToParty":"String","VehicleUsageCode":"String","MbukSecured":false,"RetailPrice_ExVAT":"String","OTR":"String","ActualPrice":"String","TotalOfferValue":"String","IsHOBackOrderAccountVehicle":false,"ConsumptionCombined":{"Id":0,"Lkm":0,"Mpg":0},"ConsumptionExtraUrban":{"Id":0,"Lkm":0,"Mpg":0},"ConsumptionUrban":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionCombined":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionExtraHigh":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionHigh":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionLow":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionMedium":{"Id":0,"Lkm":0,"Mpg":0},"EquipmentCategories":[{"Order":0,"Code":"String","Description":"String","Equipment":[{"Importance":0,"IsAdditional":false,"Id":0,"Code":"String","Description":"String"}]}],"VehicleEnergyEfficiencyClass":{"Colour":"String","Rating":"String"},"VehicleData":[{"Description":"String","Value":"String"}],"IntegratedProducts":[{"OptionCode":"String","BM7NST":"String","FullModelYear":"String","IntegratedProductType":"String","CustomerDescription":"String","OneAgentProductType":"String"}],"IspVehicleCustomerDescriptions":["String"],"ColourCode":"String","UpholsteryCode":"String","Description":"String","CommissionNumber":"String","PortArrivalDate":"String","OfferExpiryDate":"String","Fuel":"String","Transmission":"String","TransmissionType":"String","Colour":"String","ColourDescription":"String","ImageUrl":"String","Specialist":false,"VehicleCriteriaMatch":{"Fuel":false,"Transmission":false,"Colour":false,"Upholstery":false,"Line":false,"Engine":false,"BodyStyle":false,"Packages":false},"ColourGroup":"String","Model":"String","BodyStyle":"String","Brand":"String","Engine":"String","EngineDescription":"String","Line":"String","Upholstery":"String","UpholsteryDescription":"String","Packages":["String"],"P11D":0,"Prices":[{"Id":"String","Description":"String","Net":0,"VAT":0,"Gross":0,"Product":"LIST_PRICE"}],"VehicleClass":"String","ProductRange":"String","VehicleType":"String","Emission":0,"Baumuster":"String","IsSellable":false,"Bm7NST":"String","ElectricRange":0,"ElectricConsumption":0,"IsDisplayStock":false,"DisplayRetailer_Id":0,"DisplayRetailer":"String","DisplayRetailerGssnId":"String","Retailer":{"Id":0,"GssnId":"String","Description":"String","Street":"String","City":"String","Postcode":"String","GoogleMapPostcode":"String","Phone":"String","Fax":"String","Email":"String","Website":"String","RetailerGroupId":"String","RetailerGroupName":"String","IsOnline":false,"IsNewCarRetailer":false,"IsUsedCarRetailer":false,"IsCentralRetailer":false,"ChatEnabled":false,"TradeInEnabled":false,"smart":false,"DisplayPhoneNumberNew":"String","DisplayPhoneNumberUsed":"String","Latitude":0,"Longitude":0,"smartDescription":"String","smartWebsite":"String","smartPhone":"String","LegacyId":"String","Agent":false,"MarketAreaId":0,"DigitalLoungeParentGssnId":"String","SendLeadsToDigitalLoungeParent":false,"OpeningTimes":{"New":[{"Day":"String","OpenFrom":"String","OpenTo":"String","Special":"String"}],"Used":[{"Day":"String","OpenFrom":"String","OpenTo":"String","Special":"String"}]}},"Age":0,"ModelYearCode":"String","HalfModelYearCode":"String","FullModelYearCode":"String","ProductionDate":"String","ChassisNumber":"String","EligibleForIntegratedServiceCare":false,"Vin":"String"}],"ClosestMatchVehicles":[{"VehicleUsage":"String","UnderOffer":false,"Vid":"String","Fin":"String","ModelYear":"String","RetailPrice_IncVAT":0,"IsAMG":false,"Nst":"String","BM7NST":"String","Acceleration":0,"BootCapacity":0,"TopSpeed":0,"DriveConcept":"String","CombustionPowerHp":0,"ElectricPowerKw":0,"ElectricPowerHp":0,"CombinedPowerKw":0,"CombinedPowerHP":0,"EmissionCombined":"String","EmissionExtraUrban":"String","EmissionUrban":"String","EmissionDirective":"String","EnergyEfficiencyClass":"String","WltpCombined":0,"WltpLow":0,"WltpMedium":0,"WltpHigh":0,"WltpExtraHigh":0,"WltpEmissionCombined":0,"CreationDate":"\/Date(-62135596800000-0000)\/","LastUpdated":"\/Date(-62135596800000-0000)\/","DisplayStockAgent":"String","IsSpecialistCar":false,"Account":"String","Location":"String","CesarIdShipToParty":"String","VehicleUsageCode":"String","MbukSecured":false,"RetailPrice_ExVAT":"String","OTR":"String","ActualPrice":"String","TotalOfferValue":"String","IsHOBackOrderAccountVehicle":false,"ConsumptionCombined":{"Id":0,"Lkm":0,"Mpg":0},"ConsumptionExtraUrban":{"Id":0,"Lkm":0,"Mpg":0},"ConsumptionUrban":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionCombined":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionExtraHigh":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionHigh":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionLow":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionMedium":{"Id":0,"Lkm":0,"Mpg":0},"EquipmentCategories":[{"Order":0,"Code":"String","Description":"String","Equipment":[{"Importance":0,"IsAdditional":false,"Id":0,"Code":"String","Description":"String"}]}],"VehicleEnergyEfficiencyClass":{"Colour":"String","Rating":"String"},"VehicleData":[{"Description":"String","Value":"String"}],"IntegratedProducts":[{"OptionCode":"String","BM7NST":"String","FullModelYear":"String","IntegratedProductType":"String","CustomerDescription":"String","OneAgentProductType":"String"}],"IspVehicleCustomerDescriptions":["String"],"ColourCode":"String","UpholsteryCode":"String","Description":"String","CommissionNumber":"String","PortArrivalDate":"String","OfferExpiryDate":"String","Fuel":"String","Transmission":"String","TransmissionType":"String","Colour":"String","ColourDescription":"String","ImageUrl":"String","Specialist":false,"VehicleCriteriaMatch":{"Fuel":false,"Transmission":false,"Colour":false,"Upholstery":false,"Line":false,"Engine":false,"BodyStyle":false,"Packages":false},"ColourGroup":"String","Model":"String","BodyStyle":"String","Brand":"String","Engine":"String","EngineDescription":"String","Line":"String","Upholstery":"String","UpholsteryDescription":"String","Packages":["String"],"P11D":0,"Prices":[{"Id":"String","Description":"String","Net":0,"VAT":0,"Gross":0,"Product":"LIST_PRICE"}],"VehicleClass":"String","ProductRange":"String","VehicleType":"String","Emission":0,"Baumuster":"String","IsSellable":false,"Bm7NST":"String","ElectricRange":0,"ElectricConsumption":0,"IsDisplayStock":false,"DisplayRetailer_Id":0,"DisplayRetailer":"String","DisplayRetailerGssnId":"String","Retailer":{"Id":0,"GssnId":"String","Description":"String","Street":"String","City":"String","Postcode":"String","GoogleMapPostcode":"String","Phone":"String","Fax":"String","Email":"String","Website":"String","RetailerGroupId":"String","RetailerGroupName":"String","IsOnline":false,"IsNewCarRetailer":false,"IsUsedCarRetailer":false,"IsCentralRetailer":false,"ChatEnabled":false,"TradeInEnabled":false,"smart":false,"DisplayPhoneNumberNew":"String","DisplayPhoneNumberUsed":"String","Latitude":0,"Longitude":0,"smartDescription":"String","smartWebsite":"String","smartPhone":"String","LegacyId":"String","Agent":false,"MarketAreaId":0,"DigitalLoungeParentGssnId":"String","SendLeadsToDigitalLoungeParent":false,"OpeningTimes":{"New":[{"Day":"String","OpenFrom":"String","OpenTo":"String","Special":"String"}],"Used":[{"Day":"String","OpenFrom":"String","OpenTo":"String","Special":"String"}]}},"Age":0,"ModelYearCode":"String","HalfModelYearCode":"String","FullModelYearCode":"String","ProductionDate":"String","ChassisNumber":"String","EligibleForIntegratedServiceCare":false,"Vin":"String"}],"OtherMatchVehicles":[{"VehicleUsage":"String","UnderOffer":false,"Vid":"String","Fin":"String","ModelYear":"String","RetailPrice_IncVAT":0,"IsAMG":false,"Nst":"String","BM7NST":"String","Acceleration":0,"BootCapacity":0,"TopSpeed":0,"DriveConcept":"String","CombustionPowerHp":0,"ElectricPowerKw":0,"ElectricPowerHp":0,"CombinedPowerKw":0,"CombinedPowerHP":0,"EmissionCombined":"String","EmissionExtraUrban":"String","EmissionUrban":"String","EmissionDirective":"String","EnergyEfficiencyClass":"String","WltpCombined":0,"WltpLow":0,"WltpMedium":0,"WltpHigh":0,"WltpExtraHigh":0,"WltpEmissionCombined":0,"CreationDate":"\/Date(-62135596800000-0000)\/","LastUpdated":"\/Date(-62135596800000-0000)\/","DisplayStockAgent":"String","IsSpecialistCar":false,"Account":"String","Location":"String","CesarIdShipToParty":"String","VehicleUsageCode":"String","MbukSecured":false,"RetailPrice_ExVAT":"String","OTR":"String","ActualPrice":"String","TotalOfferValue":"String","IsHOBackOrderAccountVehicle":false,"ConsumptionCombined":{"Id":0,"Lkm":0,"Mpg":0},"ConsumptionExtraUrban":{"Id":0,"Lkm":0,"Mpg":0},"ConsumptionUrban":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionCombined":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionExtraHigh":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionHigh":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionLow":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionMedium":{"Id":0,"Lkm":0,"Mpg":0},"EquipmentCategories":[{"Order":0,"Code":"String","Description":"String","Equipment":[{"Importance":0,"IsAdditional":false,"Id":0,"Code":"String","Description":"String"}]}],"VehicleEnergyEfficiencyClass":{"Colour":"String","Rating":"String"},"VehicleData":[{"Description":"String","Value":"String"}],"IntegratedProducts":[{"OptionCode":"String","BM7NST":"String","FullModelYear":"String","IntegratedProductType":"String","CustomerDescription":"String","OneAgentProductType":"String"}],"IspVehicleCustomerDescriptions":["String"],"ColourCode":"String","UpholsteryCode":"String","Description":"String","CommissionNumber":"String","PortArrivalDate":"String","OfferExpiryDate":"String","Fuel":"String","Transmission":"String","TransmissionType":"String","Colour":"String","ColourDescription":"String","ImageUrl":"String","Specialist":false,"VehicleCriteriaMatch":{"Fuel":false,"Transmission":false,"Colour":false,"Upholstery":false,"Line":false,"Engine":false,"BodyStyle":false,"Packages":false},"ColourGroup":"String","Model":"String","BodyStyle":"String","Brand":"String","Engine":"String","EngineDescription":"String","Line":"String","Upholstery":"String","UpholsteryDescription":"String","Packages":["String"],"P11D":0,"Prices":[{"Id":"String","Description":"String","Net":0,"VAT":0,"Gross":0,"Product":"LIST_PRICE"}],"VehicleClass":"String","ProductRange":"String","VehicleType":"String","Emission":0,"Baumuster":"String","IsSellable":false,"Bm7NST":"String","ElectricRange":0,"ElectricConsumption":0,"IsDisplayStock":false,"DisplayRetailer_Id":0,"DisplayRetailer":"String","DisplayRetailerGssnId":"String","Retailer":{"Id":0,"GssnId":"String","Description":"String","Street":"String","City":"String","Postcode":"String","GoogleMapPostcode":"String","Phone":"String","Fax":"String","Email":"String","Website":"String","RetailerGroupId":"String","RetailerGroupName":"String","IsOnline":false,"IsNewCarRetailer":false,"IsUsedCarRetailer":false,"IsCentralRetailer":false,"ChatEnabled":false,"TradeInEnabled":false,"smart":false,"DisplayPhoneNumberNew":"String","DisplayPhoneNumberUsed":"String","Latitude":0,"Longitude":0,"smartDescription":"String","smartWebsite":"String","smartPhone":"String","LegacyId":"String","Agent":false,"MarketAreaId":0,"DigitalLoungeParentGssnId":"String","SendLeadsToDigitalLoungeParent":false,"OpeningTimes":{"New":[{"Day":"String","OpenFrom":"String","OpenTo":"String","Special":"String"}],"Used":[{"Day":"String","OpenFrom":"String","OpenTo":"String","Special":"String"}]}},"Age":0,"ModelYearCode":"String","HalfModelYearCode":"String","FullModelYearCode":"String","ProductionDate":"String","ChassisNumber":"String","EligibleForIntegratedServiceCare":false,"Vin":"String"}],"ModelMatchVehicles":[{"VehicleUsage":"String","UnderOffer":false,"Vid":"String","Fin":"String","ModelYear":"String","RetailPrice_IncVAT":0,"IsAMG":false,"Nst":"String","BM7NST":"String","Acceleration":0,"BootCapacity":0,"TopSpeed":0,"DriveConcept":"String","CombustionPowerHp":0,"ElectricPowerKw":0,"ElectricPowerHp":0,"CombinedPowerKw":0,"CombinedPowerHP":0,"EmissionCombined":"String","EmissionExtraUrban":"String","EmissionUrban":"String","EmissionDirective":"String","EnergyEfficiencyClass":"String","WltpCombined":0,"WltpLow":0,"WltpMedium":0,"WltpHigh":0,"WltpExtraHigh":0,"WltpEmissionCombined":0,"CreationDate":"\/Date(-62135596800000-0000)\/","LastUpdated":"\/Date(-62135596800000-0000)\/","DisplayStockAgent":"String","IsSpecialistCar":false,"Account":"String","Location":"String","CesarIdShipToParty":"String","VehicleUsageCode":"String","MbukSecured":false,"RetailPrice_ExVAT":"String","OTR":"String","ActualPrice":"String","TotalOfferValue":"String","IsHOBackOrderAccountVehicle":false,"ConsumptionCombined":{"Id":0,"Lkm":0,"Mpg":0},"ConsumptionExtraUrban":{"Id":0,"Lkm":0,"Mpg":0},"ConsumptionUrban":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionCombined":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionExtraHigh":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionHigh":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionLow":{"Id":0,"Lkm":0,"Mpg":0},"WltpFuelConsumptionMedium":{"Id":0,"Lkm":0,"Mpg":0},"EquipmentCategories":[{"Order":0,"Code":"String","Description":"String","Equipment":[{"Importance":0,"IsAdditional":false,"Id":0,"Code":"String","Description":"String"}]}],"VehicleEnergyEfficiencyClass":{"Colour":"String","Rating":"String"},"VehicleData":[{"Description":"String","Value":"String"}],"IntegratedProducts":[{"OptionCode":"String","BM7NST":"String","FullModelYear":"String","IntegratedProductType":"String","CustomerDescription":"String","OneAgentProductType":"String"}],"IspVehicleCustomerDescriptions":["String"],"ColourCode":"String","UpholsteryCode":"String","Description":"String","CommissionNumber":"String","PortArrivalDate":"String","OfferExpiryDate":"String","Fuel":"String","Transmission":"String","TransmissionType":"String","Colour":"String","ColourDescription":"String","ImageUrl":"String","Specialist":false,"VehicleCriteriaMatch":{"Fuel":false,"Transmission":false,"Colour":false,"Upholstery":false,"Line":false,"Engine":false,"BodyStyle":false,"Packages":false},"ColourGroup":"String","Model":"String","BodyStyle":"String","Brand":"String","Engine":"String","EngineDescription":"String","Line":"String","Upholstery":"String","UpholsteryDescription":"String","Packages":["String"],"P11D":0,"Prices":[{"Id":"String","Description":"String","Net":0,"VAT":0,"Gross":0,"Product":"LIST_PRICE"}],"VehicleClass":"String","ProductRange":"String","VehicleType":"String","Emission":0,"Baumuster":"String","IsSellable":false,"Bm7NST":"String","ElectricRange":0,"ElectricConsumption":0,"IsDisplayStock":false,"DisplayRetailer_Id":0,"DisplayRetailer":"String","DisplayRetailerGssnId":"String","Retailer":{"Id":0,"GssnId":"String","Description":"String","Street":"String","City":"String","Postcode":"String","GoogleMapPostcode":"String","Phone":"String","Fax":"String","Email":"String","Website":"String","RetailerGroupId":"String","RetailerGroupName":"String","IsOnline":false,"IsNewCarRetailer":false,"IsUsedCarRetailer":false,"IsCentralRetailer":false,"ChatEnabled":false,"TradeInEnabled":false,"smart":false,"DisplayPhoneNumberNew":"String","DisplayPhoneNumberUsed":"String","Latitude":0,"Longitude":0,"smartDescription":"String","smartWebsite":"String","smartPhone":"String","LegacyId":"String","Agent":false,"MarketAreaId":0,"DigitalLoungeParentGssnId":"String","SendLeadsToDigitalLoungeParent":false,"OpeningTimes":{"New":[{"Day":"String","OpenFrom":"String","OpenTo":"String","Special":"String"}],"Used":[{"Day":"String","OpenFrom":"String","OpenTo":"String","Special":"String"}]}},"Age":0,"ModelYearCode":"String","HalfModelYearCode":"String","FullModelYearCode":"String","ProductionDate":"String","ChassisNumber":"String","EligibleForIntegratedServiceCare":false,"Vin":"String"}]}