Mercedes.Agency.Orchestration.API

<back to all web services

GetVehicleWithOptimalRequest

Vehicle
Requires Authentication
The following routes are available for this service:
POST/v1/VehicleWithOptimalGet Vehicle by Vin and a more optimal option if available
import 'package:servicestack/servicestack.dart';

class GetVehicleWithOptimalRequest implements IConvertible
{
    String? VehicleIdentifier;
    bool? IncludeAllocatedToBackOrder;
    String? Gssn;
    bool? IsOneAdmin;
    int? MotabilityPricingId;

    GetVehicleWithOptimalRequest({this.VehicleIdentifier,this.IncludeAllocatedToBackOrder,this.Gssn,this.IsOneAdmin,this.MotabilityPricingId});
    GetVehicleWithOptimalRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        VehicleIdentifier = json['VehicleIdentifier'];
        IncludeAllocatedToBackOrder = json['IncludeAllocatedToBackOrder'];
        Gssn = json['Gssn'];
        IsOneAdmin = json['IsOneAdmin'];
        MotabilityPricingId = json['MotabilityPricingId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'VehicleIdentifier': VehicleIdentifier,
        'IncludeAllocatedToBackOrder': IncludeAllocatedToBackOrder,
        'Gssn': Gssn,
        'IsOneAdmin': IsOneAdmin,
        'MotabilityPricingId': MotabilityPricingId
    };

    getTypeName() => "GetVehicleWithOptimalRequest";
    TypeContext? context = _ctx;
}

class Model implements IConvertible
{
    int? Id;
    String? Description;
    String? DisplayName;
    String? ImageUrlSmall;
    String? ImageUrlMedium;
    String? ImageUrlLarge;
    bool? Specialist;
    int? Priority;
    bool? ExcludeFromOnlineShowroomFilters;

    Model({this.Id,this.Description,this.DisplayName,this.ImageUrlSmall,this.ImageUrlMedium,this.ImageUrlLarge,this.Specialist,this.Priority,this.ExcludeFromOnlineShowroomFilters});
    Model.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Description = json['Description'];
        DisplayName = json['DisplayName'];
        ImageUrlSmall = json['ImageUrlSmall'];
        ImageUrlMedium = json['ImageUrlMedium'];
        ImageUrlLarge = json['ImageUrlLarge'];
        Specialist = json['Specialist'];
        Priority = json['Priority'];
        ExcludeFromOnlineShowroomFilters = json['ExcludeFromOnlineShowroomFilters'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Description': Description,
        'DisplayName': DisplayName,
        'ImageUrlSmall': ImageUrlSmall,
        'ImageUrlMedium': ImageUrlMedium,
        'ImageUrlLarge': ImageUrlLarge,
        'Specialist': Specialist,
        'Priority': Priority,
        'ExcludeFromOnlineShowroomFilters': ExcludeFromOnlineShowroomFilters
    };

    getTypeName() => "Model";
    TypeContext? context = _ctx;
}

class BodyStyle implements IConvertible
{
    int? Id;
    String? Description;
    List<Model>? Models;

    BodyStyle({this.Id,this.Description,this.Models});
    BodyStyle.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Description = json['Description'];
        Models = JsonConverters.fromJson(json['Models'],'List<Model>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Description': Description,
        'Models': JsonConverters.toJson(Models,'List<Model>',context!)
    };

    getTypeName() => "BodyStyle";
    TypeContext? context = _ctx;
}

class Brand implements IConvertible
{
    int? Id;
    String? Description;
    String? DisplayName;
    List<BodyStyle>? BodyStyles;

    Brand({this.Id,this.Description,this.DisplayName,this.BodyStyles});
    Brand.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Description = json['Description'];
        DisplayName = json['DisplayName'];
        BodyStyles = JsonConverters.fromJson(json['BodyStyles'],'List<BodyStyle>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Description': Description,
        'DisplayName': DisplayName,
        'BodyStyles': JsonConverters.toJson(BodyStyles,'List<BodyStyle>',context!)
    };

    getTypeName() => "Brand";
    TypeContext? context = _ctx;
}

class Engine implements IConvertible
{
    int? Id;
    String? Badge;

    Engine({this.Id,this.Badge});
    Engine.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Badge = json['Badge'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Badge': Badge
    };

    getTypeName() => "Engine";
    TypeContext? context = _ctx;
}

class Media implements IConvertible
{
    bool? NoImage;
    String? MainImageUrl;

    Media({this.NoImage,this.MainImageUrl});
    Media.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        NoImage = json['NoImage'];
        MainImageUrl = json['MainImageUrl'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'NoImage': NoImage,
        'MainImageUrl': MainImageUrl
    };

    getTypeName() => "Media";
    TypeContext? context = _ctx;
}

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

class Price implements IConvertible
{
    String? Id;
    String? Description;
    double? Net;
    double? VAT;
    double? Gross;
    OfferPriceProductType? Product;

    Price({this.Id,this.Description,this.Net,this.VAT,this.Gross,this.Product});
    Price.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Description = json['Description'];
        Net = JsonConverters.toDouble(json['Net']);
        VAT = JsonConverters.toDouble(json['VAT']);
        Gross = JsonConverters.toDouble(json['Gross']);
        Product = JsonConverters.fromJson(json['Product'],'OfferPriceProductType',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Description': Description,
        'Net': Net,
        'VAT': VAT,
        'Gross': Gross,
        'Product': JsonConverters.toJson(Product,'OfferPriceProductType',context!)
    };

    getTypeName() => "Price";
    TypeContext? context = _ctx;
}

class RetailerOpeningTime implements IConvertible
{
    String? Day;
    String? OpenFrom;
    String? OpenTo;
    String? Special;

    RetailerOpeningTime({this.Day,this.OpenFrom,this.OpenTo,this.Special});
    RetailerOpeningTime.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Day = json['Day'];
        OpenFrom = json['OpenFrom'];
        OpenTo = json['OpenTo'];
        Special = json['Special'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Day': Day,
        'OpenFrom': OpenFrom,
        'OpenTo': OpenTo,
        'Special': Special
    };

    getTypeName() => "RetailerOpeningTime";
    TypeContext? context = _ctx;
}

class RetailerOpeningTimes implements IConvertible
{
    List<RetailerOpeningTime>? New = [];
    List<RetailerOpeningTime>? Used = [];

    RetailerOpeningTimes({this.New,this.Used});
    RetailerOpeningTimes.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        New = JsonConverters.fromJson(json['New'],'List<RetailerOpeningTime>',context!);
        Used = JsonConverters.fromJson(json['Used'],'List<RetailerOpeningTime>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'New': JsonConverters.toJson(New,'List<RetailerOpeningTime>',context!),
        'Used': JsonConverters.toJson(Used,'List<RetailerOpeningTime>',context!)
    };

    getTypeName() => "RetailerOpeningTimes";
    TypeContext? context = _ctx;
}

class Retailer implements IConvertible
{
    int? Id;
    String? GssnId;
    String? Description;
    String? Street;
    String? City;
    String? Postcode;
    String? GoogleMapPostcode;
    String? Phone;
    String? Fax;
    String? Email;
    String? Website;
    String? RetailerGroupId;
    String? RetailerGroupName;
    bool? IsOnline;
    bool? IsNewCarRetailer;
    bool? IsUsedCarRetailer;
    bool? IsCentralRetailer;
    bool? ChatEnabled;
    bool? TradeInEnabled;
    bool? smart;
    String? DisplayPhoneNumberNew;
    String? DisplayPhoneNumberUsed;
    double? Latitude;
    double? Longitude;
    String? smartDescription;
    String? smartWebsite;
    String? smartPhone;
    String? LegacyId;
    bool? Agent;
    int? MarketAreaId;
    String? DigitalLoungeParentGssnId;
    bool? SendLeadsToDigitalLoungeParent;
    RetailerOpeningTimes? OpeningTimes;

    Retailer({this.Id,this.GssnId,this.Description,this.Street,this.City,this.Postcode,this.GoogleMapPostcode,this.Phone,this.Fax,this.Email,this.Website,this.RetailerGroupId,this.RetailerGroupName,this.IsOnline,this.IsNewCarRetailer,this.IsUsedCarRetailer,this.IsCentralRetailer,this.ChatEnabled,this.TradeInEnabled,this.smart,this.DisplayPhoneNumberNew,this.DisplayPhoneNumberUsed,this.Latitude,this.Longitude,this.smartDescription,this.smartWebsite,this.smartPhone,this.LegacyId,this.Agent,this.MarketAreaId,this.DigitalLoungeParentGssnId,this.SendLeadsToDigitalLoungeParent,this.OpeningTimes});
    Retailer.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        GssnId = json['GssnId'];
        Description = json['Description'];
        Street = json['Street'];
        City = json['City'];
        Postcode = json['Postcode'];
        GoogleMapPostcode = json['GoogleMapPostcode'];
        Phone = json['Phone'];
        Fax = json['Fax'];
        Email = json['Email'];
        Website = json['Website'];
        RetailerGroupId = json['RetailerGroupId'];
        RetailerGroupName = json['RetailerGroupName'];
        IsOnline = json['IsOnline'];
        IsNewCarRetailer = json['IsNewCarRetailer'];
        IsUsedCarRetailer = json['IsUsedCarRetailer'];
        IsCentralRetailer = json['IsCentralRetailer'];
        ChatEnabled = json['ChatEnabled'];
        TradeInEnabled = json['TradeInEnabled'];
        smart = json['smart'];
        DisplayPhoneNumberNew = json['DisplayPhoneNumberNew'];
        DisplayPhoneNumberUsed = json['DisplayPhoneNumberUsed'];
        Latitude = JsonConverters.toDouble(json['Latitude']);
        Longitude = JsonConverters.toDouble(json['Longitude']);
        smartDescription = json['smartDescription'];
        smartWebsite = json['smartWebsite'];
        smartPhone = json['smartPhone'];
        LegacyId = json['LegacyId'];
        Agent = json['Agent'];
        MarketAreaId = json['MarketAreaId'];
        DigitalLoungeParentGssnId = json['DigitalLoungeParentGssnId'];
        SendLeadsToDigitalLoungeParent = json['SendLeadsToDigitalLoungeParent'];
        OpeningTimes = JsonConverters.fromJson(json['OpeningTimes'],'RetailerOpeningTimes',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'GssnId': GssnId,
        'Description': Description,
        'Street': Street,
        'City': City,
        'Postcode': Postcode,
        'GoogleMapPostcode': GoogleMapPostcode,
        'Phone': Phone,
        'Fax': Fax,
        'Email': Email,
        'Website': Website,
        'RetailerGroupId': RetailerGroupId,
        'RetailerGroupName': RetailerGroupName,
        'IsOnline': IsOnline,
        'IsNewCarRetailer': IsNewCarRetailer,
        'IsUsedCarRetailer': IsUsedCarRetailer,
        'IsCentralRetailer': IsCentralRetailer,
        'ChatEnabled': ChatEnabled,
        'TradeInEnabled': TradeInEnabled,
        'smart': smart,
        'DisplayPhoneNumberNew': DisplayPhoneNumberNew,
        'DisplayPhoneNumberUsed': DisplayPhoneNumberUsed,
        'Latitude': Latitude,
        'Longitude': Longitude,
        'smartDescription': smartDescription,
        'smartWebsite': smartWebsite,
        'smartPhone': smartPhone,
        'LegacyId': LegacyId,
        'Agent': Agent,
        'MarketAreaId': MarketAreaId,
        'DigitalLoungeParentGssnId': DigitalLoungeParentGssnId,
        'SendLeadsToDigitalLoungeParent': SendLeadsToDigitalLoungeParent,
        'OpeningTimes': JsonConverters.toJson(OpeningTimes,'RetailerOpeningTimes',context!)
    };

    getTypeName() => "Retailer";
    TypeContext? context = _ctx;
}

class VehicleConsumption implements IConvertible
{
    int? Id;
    double? Lkm;
    double? Mpg;

    VehicleConsumption({this.Id,this.Lkm,this.Mpg});
    VehicleConsumption.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Lkm = JsonConverters.toDouble(json['Lkm']);
        Mpg = JsonConverters.toDouble(json['Mpg']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Lkm': Lkm,
        'Mpg': Mpg
    };

    getTypeName() => "VehicleConsumption";
    TypeContext? context = _ctx;
}

class Equipment implements IConvertible
{
    int? Id;
    String? Code;
    String? Description;

    Equipment({this.Id,this.Code,this.Description});
    Equipment.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Code = json['Code'];
        Description = json['Description'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Code': Code,
        'Description': Description
    };

    getTypeName() => "Equipment";
    TypeContext? context = _ctx;
}

class Equipmentv2 extends Equipment implements IConvertible
{
    int? Importance;
    bool? IsAdditional;

    Equipmentv2({this.Importance,this.IsAdditional});
    Equipmentv2.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Importance = json['Importance'];
        IsAdditional = json['IsAdditional'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Importance': Importance,
        'IsAdditional': IsAdditional
    });

    getTypeName() => "Equipmentv2";
    TypeContext? context = _ctx;
}

class VehicleEquipmentCategory implements IConvertible
{
    int? Order;
    String? Code;
    String? Description;
    List<Equipmentv2>? Equipment;

    VehicleEquipmentCategory({this.Order,this.Code,this.Description,this.Equipment});
    VehicleEquipmentCategory.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Order = json['Order'];
        Code = json['Code'];
        Description = json['Description'];
        Equipment = JsonConverters.fromJson(json['Equipment'],'List<Equipmentv2>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Order': Order,
        'Code': Code,
        'Description': Description,
        'Equipment': JsonConverters.toJson(Equipment,'List<Equipmentv2>',context!)
    };

    getTypeName() => "VehicleEquipmentCategory";
    TypeContext? context = _ctx;
}

class VehicleEmissionClass implements IConvertible
{
    String? Colour;
    String? Rating;

    VehicleEmissionClass({this.Colour,this.Rating});
    VehicleEmissionClass.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Colour = json['Colour'];
        Rating = json['Rating'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Colour': Colour,
        'Rating': Rating
    };

    getTypeName() => "VehicleEmissionClass";
    TypeContext? context = _ctx;
}

class VehicleAttribute implements IConvertible
{
    String? Description;
    String? Value;

    VehicleAttribute({this.Description,this.Value});
    VehicleAttribute.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Description = json['Description'];
        Value = json['Value'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Description': Description,
        'Value': Value
    };

    getTypeName() => "VehicleAttribute";
    TypeContext? context = _ctx;
}

class VehicleIntegratedServiceCareOption implements IConvertible
{
    String? OptionCode;
    String? BM7NST;
    String? FullModelYear;
    String? IntegratedProductType;
    String? CustomerDescription;
    String? OneAgentProductType;

    VehicleIntegratedServiceCareOption({this.OptionCode,this.BM7NST,this.FullModelYear,this.IntegratedProductType,this.CustomerDescription,this.OneAgentProductType});
    VehicleIntegratedServiceCareOption.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        OptionCode = json['OptionCode'];
        BM7NST = json['BM7NST'];
        FullModelYear = json['FullModelYear'];
        IntegratedProductType = json['IntegratedProductType'];
        CustomerDescription = json['CustomerDescription'];
        OneAgentProductType = json['OneAgentProductType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'OptionCode': OptionCode,
        'BM7NST': BM7NST,
        'FullModelYear': FullModelYear,
        'IntegratedProductType': IntegratedProductType,
        'CustomerDescription': CustomerDescription,
        'OneAgentProductType': OneAgentProductType
    };

    getTypeName() => "VehicleIntegratedServiceCareOption";
    TypeContext? context = _ctx;
}

class VehicleDetailDto implements IConvertible
{
    String? BodyStyle;
    String? Vin;
    String? Description;
    String? Colour;
    String? ColourCode;
    String? ColourDescription;
    String? ColourGroup;
    String? Model;
    String? CommissionNumber;
    int? BrandId;
    Brand? Brand;
    Engine? Engine;
    String? EngineBadge;
    Media? Media;
    String? Line;
    String? UpholsteryCode;
    String? UpholsteryType;
    String? Upholstery;
    String? UpholsteryDescription;
    List<String>? AvailablePackages = [];
    List<String>? Packages = [];
    double? P11D;
    DateTime? PortArrivalDate;
    List<Price>? Prices = [];
    String? TransmissionType;
    String? FuelType;
    String? VehicleClass;
    String? ProductRange;
    String? VehicleType;
    double? Emission;
    bool? IsAvailableOnline;
    bool? UnderOffer;
    bool? IsExcluded;
    bool? IsSellable;
    bool? OnHold;
    double? ElectricConsumption;
    double? ElectricRange;
    String? ImageUrl;
    String? Baumuster;
    Retailer? Retailer;
    String? Bm7NST;
    double? OTR;
    double? ActualPrice;
    bool? IsDisplayStock;
    int? DisplayRetailerId;
    String? DisplayRetailer;
    String? DisplayRetailerGssnId;
    String? DisplayRetailerMarketAreaId;
    bool? IsSmartDisplayRetailer;
    bool? IsSpecialistCar;
    int? Age;
    bool? Secured;
    bool? IsHOBackOrderAccountVehicle;
    bool? IsAllocatedToBackOrder;
    String? UsageCode;
    double? EmissionCombined;
    String? NormalisedEmissionDirective;
    bool? HasMildHybridEquipmentCode;
    double? RetailPriceExVat;
    double? RetailPrice_IncVAT;
    double? RetailPrice_ExVAT;
    int? ModelId;
    String? VID;
    String? ProductionDate;
    String? FullModelYearCode;
    String? ChassisNumber;
    bool? EligibleForIntegratedServiceCare;
    String? AccountType;
    VehicleConsumption? ConsumptionCombined;
    VehicleConsumption? ConsumptionExtraUrban;
    VehicleConsumption? ConsumptionUrban;
    VehicleConsumption? WltpFuelConsumptionCombined;
    VehicleConsumption? WltpFuelConsumptionExtraHigh;
    VehicleConsumption? WltpFuelConsumptionHigh;
    VehicleConsumption? WltpFuelConsumptionLow;
    VehicleConsumption? WltpFuelConsumptionMedium;
    List<Equipmentv2>? Equipment;
    List<VehicleEquipmentCategory>? EquipmentCategories;
    VehicleEmissionClass? EnergyEfficiencyClass;
    List<VehicleAttribute>? VehicleData;
    List<VehicleIntegratedServiceCareOption>? IntegratedServiceCareOptions = [];
    List<String>? IspVehicleCustomerDescriptions;

    VehicleDetailDto({this.BodyStyle,this.Vin,this.Description,this.Colour,this.ColourCode,this.ColourDescription,this.ColourGroup,this.Model,this.CommissionNumber,this.BrandId,this.Brand,this.Engine,this.EngineBadge,this.Media,this.Line,this.UpholsteryCode,this.UpholsteryType,this.Upholstery,this.UpholsteryDescription,this.AvailablePackages,this.Packages,this.P11D,this.PortArrivalDate,this.Prices,this.TransmissionType,this.FuelType,this.VehicleClass,this.ProductRange,this.VehicleType,this.Emission,this.IsAvailableOnline,this.UnderOffer,this.IsExcluded,this.IsSellable,this.OnHold,this.ElectricConsumption,this.ElectricRange,this.ImageUrl,this.Baumuster,this.Retailer,this.Bm7NST,this.OTR,this.ActualPrice,this.IsDisplayStock,this.DisplayRetailerId,this.DisplayRetailer,this.DisplayRetailerGssnId,this.DisplayRetailerMarketAreaId,this.IsSmartDisplayRetailer,this.IsSpecialistCar,this.Age,this.Secured,this.IsHOBackOrderAccountVehicle,this.IsAllocatedToBackOrder,this.UsageCode,this.EmissionCombined,this.NormalisedEmissionDirective,this.HasMildHybridEquipmentCode,this.RetailPriceExVat,this.RetailPrice_IncVAT,this.RetailPrice_ExVAT,this.ModelId,this.VID,this.ProductionDate,this.FullModelYearCode,this.ChassisNumber,this.EligibleForIntegratedServiceCare,this.AccountType,this.ConsumptionCombined,this.ConsumptionExtraUrban,this.ConsumptionUrban,this.WltpFuelConsumptionCombined,this.WltpFuelConsumptionExtraHigh,this.WltpFuelConsumptionHigh,this.WltpFuelConsumptionLow,this.WltpFuelConsumptionMedium,this.Equipment,this.EquipmentCategories,this.EnergyEfficiencyClass,this.VehicleData,this.IntegratedServiceCareOptions,this.IspVehicleCustomerDescriptions});
    VehicleDetailDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        BodyStyle = json['BodyStyle'];
        Vin = json['Vin'];
        Description = json['Description'];
        Colour = json['Colour'];
        ColourCode = json['ColourCode'];
        ColourDescription = json['ColourDescription'];
        ColourGroup = json['ColourGroup'];
        Model = json['Model'];
        CommissionNumber = json['CommissionNumber'];
        BrandId = json['BrandId'];
        Brand = JsonConverters.fromJson(json['Brand'],'Brand',context!);
        Engine = JsonConverters.fromJson(json['Engine'],'Engine',context!);
        EngineBadge = json['EngineBadge'];
        Media = JsonConverters.fromJson(json['Media'],'Media',context!);
        Line = json['Line'];
        UpholsteryCode = json['UpholsteryCode'];
        UpholsteryType = json['UpholsteryType'];
        Upholstery = json['Upholstery'];
        UpholsteryDescription = json['UpholsteryDescription'];
        AvailablePackages = JsonConverters.fromJson(json['AvailablePackages'],'List<String>',context!);
        Packages = JsonConverters.fromJson(json['Packages'],'List<String>',context!);
        P11D = JsonConverters.toDouble(json['P11D']);
        PortArrivalDate = JsonConverters.fromJson(json['PortArrivalDate'],'DateTime',context!);
        Prices = JsonConverters.fromJson(json['Prices'],'List<Price>',context!);
        TransmissionType = json['TransmissionType'];
        FuelType = json['FuelType'];
        VehicleClass = json['VehicleClass'];
        ProductRange = json['ProductRange'];
        VehicleType = json['VehicleType'];
        Emission = JsonConverters.toDouble(json['Emission']);
        IsAvailableOnline = json['IsAvailableOnline'];
        UnderOffer = json['UnderOffer'];
        IsExcluded = json['IsExcluded'];
        IsSellable = json['IsSellable'];
        OnHold = json['OnHold'];
        ElectricConsumption = JsonConverters.toDouble(json['ElectricConsumption']);
        ElectricRange = JsonConverters.toDouble(json['ElectricRange']);
        ImageUrl = json['ImageUrl'];
        Baumuster = json['Baumuster'];
        Retailer = JsonConverters.fromJson(json['Retailer'],'Retailer',context!);
        Bm7NST = json['Bm7NST'];
        OTR = JsonConverters.toDouble(json['OTR']);
        ActualPrice = JsonConverters.toDouble(json['ActualPrice']);
        IsDisplayStock = json['IsDisplayStock'];
        DisplayRetailerId = json['DisplayRetailerId'];
        DisplayRetailer = json['DisplayRetailer'];
        DisplayRetailerGssnId = json['DisplayRetailerGssnId'];
        DisplayRetailerMarketAreaId = json['DisplayRetailerMarketAreaId'];
        IsSmartDisplayRetailer = json['IsSmartDisplayRetailer'];
        IsSpecialistCar = json['IsSpecialistCar'];
        Age = json['Age'];
        Secured = json['Secured'];
        IsHOBackOrderAccountVehicle = json['IsHOBackOrderAccountVehicle'];
        IsAllocatedToBackOrder = json['IsAllocatedToBackOrder'];
        UsageCode = json['UsageCode'];
        EmissionCombined = JsonConverters.toDouble(json['EmissionCombined']);
        NormalisedEmissionDirective = json['NormalisedEmissionDirective'];
        HasMildHybridEquipmentCode = json['HasMildHybridEquipmentCode'];
        RetailPriceExVat = JsonConverters.toDouble(json['RetailPriceExVat']);
        RetailPrice_IncVAT = JsonConverters.toDouble(json['RetailPrice_IncVAT']);
        RetailPrice_ExVAT = JsonConverters.toDouble(json['RetailPrice_ExVAT']);
        ModelId = json['ModelId'];
        VID = json['VID'];
        ProductionDate = json['ProductionDate'];
        FullModelYearCode = json['FullModelYearCode'];
        ChassisNumber = json['ChassisNumber'];
        EligibleForIntegratedServiceCare = json['EligibleForIntegratedServiceCare'];
        AccountType = json['AccountType'];
        ConsumptionCombined = JsonConverters.fromJson(json['ConsumptionCombined'],'VehicleConsumption',context!);
        ConsumptionExtraUrban = JsonConverters.fromJson(json['ConsumptionExtraUrban'],'VehicleConsumption',context!);
        ConsumptionUrban = JsonConverters.fromJson(json['ConsumptionUrban'],'VehicleConsumption',context!);
        WltpFuelConsumptionCombined = JsonConverters.fromJson(json['WltpFuelConsumptionCombined'],'VehicleConsumption',context!);
        WltpFuelConsumptionExtraHigh = JsonConverters.fromJson(json['WltpFuelConsumptionExtraHigh'],'VehicleConsumption',context!);
        WltpFuelConsumptionHigh = JsonConverters.fromJson(json['WltpFuelConsumptionHigh'],'VehicleConsumption',context!);
        WltpFuelConsumptionLow = JsonConverters.fromJson(json['WltpFuelConsumptionLow'],'VehicleConsumption',context!);
        WltpFuelConsumptionMedium = JsonConverters.fromJson(json['WltpFuelConsumptionMedium'],'VehicleConsumption',context!);
        Equipment = JsonConverters.fromJson(json['Equipment'],'List<Equipmentv2>',context!);
        EquipmentCategories = JsonConverters.fromJson(json['EquipmentCategories'],'List<VehicleEquipmentCategory>',context!);
        EnergyEfficiencyClass = JsonConverters.fromJson(json['EnergyEfficiencyClass'],'VehicleEmissionClass',context!);
        VehicleData = JsonConverters.fromJson(json['VehicleData'],'List<VehicleAttribute>',context!);
        IntegratedServiceCareOptions = JsonConverters.fromJson(json['IntegratedServiceCareOptions'],'List<VehicleIntegratedServiceCareOption>',context!);
        IspVehicleCustomerDescriptions = JsonConverters.fromJson(json['IspVehicleCustomerDescriptions'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'BodyStyle': BodyStyle,
        'Vin': Vin,
        'Description': Description,
        'Colour': Colour,
        'ColourCode': ColourCode,
        'ColourDescription': ColourDescription,
        'ColourGroup': ColourGroup,
        'Model': Model,
        'CommissionNumber': CommissionNumber,
        'BrandId': BrandId,
        'Brand': JsonConverters.toJson(Brand,'Brand',context!),
        'Engine': JsonConverters.toJson(Engine,'Engine',context!),
        'EngineBadge': EngineBadge,
        'Media': JsonConverters.toJson(Media,'Media',context!),
        'Line': Line,
        'UpholsteryCode': UpholsteryCode,
        'UpholsteryType': UpholsteryType,
        'Upholstery': Upholstery,
        'UpholsteryDescription': UpholsteryDescription,
        'AvailablePackages': JsonConverters.toJson(AvailablePackages,'List<String>',context!),
        'Packages': JsonConverters.toJson(Packages,'List<String>',context!),
        'P11D': P11D,
        'PortArrivalDate': JsonConverters.toJson(PortArrivalDate,'DateTime',context!),
        'Prices': JsonConverters.toJson(Prices,'List<Price>',context!),
        'TransmissionType': TransmissionType,
        'FuelType': FuelType,
        'VehicleClass': VehicleClass,
        'ProductRange': ProductRange,
        'VehicleType': VehicleType,
        'Emission': Emission,
        'IsAvailableOnline': IsAvailableOnline,
        'UnderOffer': UnderOffer,
        'IsExcluded': IsExcluded,
        'IsSellable': IsSellable,
        'OnHold': OnHold,
        'ElectricConsumption': ElectricConsumption,
        'ElectricRange': ElectricRange,
        'ImageUrl': ImageUrl,
        'Baumuster': Baumuster,
        'Retailer': JsonConverters.toJson(Retailer,'Retailer',context!),
        'Bm7NST': Bm7NST,
        'OTR': OTR,
        'ActualPrice': ActualPrice,
        'IsDisplayStock': IsDisplayStock,
        'DisplayRetailerId': DisplayRetailerId,
        'DisplayRetailer': DisplayRetailer,
        'DisplayRetailerGssnId': DisplayRetailerGssnId,
        'DisplayRetailerMarketAreaId': DisplayRetailerMarketAreaId,
        'IsSmartDisplayRetailer': IsSmartDisplayRetailer,
        'IsSpecialistCar': IsSpecialistCar,
        'Age': Age,
        'Secured': Secured,
        'IsHOBackOrderAccountVehicle': IsHOBackOrderAccountVehicle,
        'IsAllocatedToBackOrder': IsAllocatedToBackOrder,
        'UsageCode': UsageCode,
        'EmissionCombined': EmissionCombined,
        'NormalisedEmissionDirective': NormalisedEmissionDirective,
        'HasMildHybridEquipmentCode': HasMildHybridEquipmentCode,
        'RetailPriceExVat': RetailPriceExVat,
        'RetailPrice_IncVAT': RetailPrice_IncVAT,
        'RetailPrice_ExVAT': RetailPrice_ExVAT,
        'ModelId': ModelId,
        'VID': VID,
        'ProductionDate': ProductionDate,
        'FullModelYearCode': FullModelYearCode,
        'ChassisNumber': ChassisNumber,
        'EligibleForIntegratedServiceCare': EligibleForIntegratedServiceCare,
        'AccountType': AccountType,
        'ConsumptionCombined': JsonConverters.toJson(ConsumptionCombined,'VehicleConsumption',context!),
        'ConsumptionExtraUrban': JsonConverters.toJson(ConsumptionExtraUrban,'VehicleConsumption',context!),
        'ConsumptionUrban': JsonConverters.toJson(ConsumptionUrban,'VehicleConsumption',context!),
        'WltpFuelConsumptionCombined': JsonConverters.toJson(WltpFuelConsumptionCombined,'VehicleConsumption',context!),
        'WltpFuelConsumptionExtraHigh': JsonConverters.toJson(WltpFuelConsumptionExtraHigh,'VehicleConsumption',context!),
        'WltpFuelConsumptionHigh': JsonConverters.toJson(WltpFuelConsumptionHigh,'VehicleConsumption',context!),
        'WltpFuelConsumptionLow': JsonConverters.toJson(WltpFuelConsumptionLow,'VehicleConsumption',context!),
        'WltpFuelConsumptionMedium': JsonConverters.toJson(WltpFuelConsumptionMedium,'VehicleConsumption',context!),
        'Equipment': JsonConverters.toJson(Equipment,'List<Equipmentv2>',context!),
        'EquipmentCategories': JsonConverters.toJson(EquipmentCategories,'List<VehicleEquipmentCategory>',context!),
        'EnergyEfficiencyClass': JsonConverters.toJson(EnergyEfficiencyClass,'VehicleEmissionClass',context!),
        'VehicleData': JsonConverters.toJson(VehicleData,'List<VehicleAttribute>',context!),
        'IntegratedServiceCareOptions': JsonConverters.toJson(IntegratedServiceCareOptions,'List<VehicleIntegratedServiceCareOption>',context!),
        'IspVehicleCustomerDescriptions': JsonConverters.toJson(IspVehicleCustomerDescriptions,'List<String>',context!)
    };

    getTypeName() => "VehicleDetailDto";
    TypeContext? context = _ctx;
}

class VehicleError implements IConvertible
{
    String? Field;
    String? Message;

    VehicleError({this.Field,this.Message});
    VehicleError.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Field = json['Field'];
        Message = json['Message'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Field': Field,
        'Message': Message
    };

    getTypeName() => "VehicleError";
    TypeContext? context = _ctx;
}

class GetVehicleResponse implements IConvertible
{
    VehicleDetailDto? Vehicle;
    List<VehicleError>? Errors = [];

    GetVehicleResponse({this.Vehicle,this.Errors});
    GetVehicleResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Vehicle = JsonConverters.fromJson(json['Vehicle'],'VehicleDetailDto',context!);
        Errors = JsonConverters.fromJson(json['Errors'],'List<VehicleError>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Vehicle': JsonConverters.toJson(Vehicle,'VehicleDetailDto',context!),
        'Errors': JsonConverters.toJson(Errors,'List<VehicleError>',context!)
    };

    getTypeName() => "GetVehicleResponse";
    TypeContext? context = _ctx;
}

class GetVehicleWithOptimalResponse extends GetVehicleResponse implements IConvertible
{
    VehicleDetailDto? OptimumVehicle;

    GetVehicleWithOptimalResponse({this.OptimumVehicle});
    GetVehicleWithOptimalResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        OptimumVehicle = JsonConverters.fromJson(json['OptimumVehicle'],'VehicleDetailDto',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'OptimumVehicle': JsonConverters.toJson(OptimumVehicle,'VehicleDetailDto',context!)
    });

    getTypeName() => "GetVehicleWithOptimalResponse";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'prod_api_agency_orch_mb_dhc.rapp_customers.co.uk', types: <String, TypeInfo> {
    'GetVehicleWithOptimalRequest': TypeInfo(TypeOf.Class, create:() => GetVehicleWithOptimalRequest()),
    'Model': TypeInfo(TypeOf.Class, create:() => Model()),
    'BodyStyle': TypeInfo(TypeOf.Class, create:() => BodyStyle()),
    'List<Model>': TypeInfo(TypeOf.Class, create:() => <Model>[]),
    'Brand': TypeInfo(TypeOf.Class, create:() => Brand()),
    'List<BodyStyle>': TypeInfo(TypeOf.Class, create:() => <BodyStyle>[]),
    'Engine': TypeInfo(TypeOf.Class, create:() => Engine()),
    'Media': TypeInfo(TypeOf.Class, create:() => Media()),
    'OfferPriceProductType': TypeInfo(TypeOf.Enum, enumValues:OfferPriceProductType.values),
    'Price': TypeInfo(TypeOf.Class, create:() => Price()),
    'RetailerOpeningTime': TypeInfo(TypeOf.Class, create:() => RetailerOpeningTime()),
    'RetailerOpeningTimes': TypeInfo(TypeOf.Class, create:() => RetailerOpeningTimes()),
    'List<RetailerOpeningTime>': TypeInfo(TypeOf.Class, create:() => <RetailerOpeningTime>[]),
    'Retailer': TypeInfo(TypeOf.Class, create:() => Retailer()),
    'VehicleConsumption': TypeInfo(TypeOf.Class, create:() => VehicleConsumption()),
    'Equipment': TypeInfo(TypeOf.Class, create:() => Equipment()),
    'Equipmentv2': TypeInfo(TypeOf.Class, create:() => Equipmentv2()),
    'VehicleEquipmentCategory': TypeInfo(TypeOf.Class, create:() => VehicleEquipmentCategory()),
    'List<Equipmentv2>': TypeInfo(TypeOf.Class, create:() => <Equipmentv2>[]),
    'VehicleEmissionClass': TypeInfo(TypeOf.Class, create:() => VehicleEmissionClass()),
    'VehicleAttribute': TypeInfo(TypeOf.Class, create:() => VehicleAttribute()),
    'VehicleIntegratedServiceCareOption': TypeInfo(TypeOf.Class, create:() => VehicleIntegratedServiceCareOption()),
    'VehicleDetailDto': TypeInfo(TypeOf.Class, create:() => VehicleDetailDto()),
    'List<Price>': TypeInfo(TypeOf.Class, create:() => <Price>[]),
    'List<VehicleEquipmentCategory>': TypeInfo(TypeOf.Class, create:() => <VehicleEquipmentCategory>[]),
    'List<VehicleAttribute>': TypeInfo(TypeOf.Class, create:() => <VehicleAttribute>[]),
    'List<VehicleIntegratedServiceCareOption>': TypeInfo(TypeOf.Class, create:() => <VehicleIntegratedServiceCareOption>[]),
    'VehicleError': TypeInfo(TypeOf.Class, create:() => VehicleError()),
    'GetVehicleResponse': TypeInfo(TypeOf.Class, create:() => GetVehicleResponse()),
    'List<VehicleError>': TypeInfo(TypeOf.Class, create:() => <VehicleError>[]),
    'GetVehicleWithOptimalResponse': TypeInfo(TypeOf.Class, create:() => GetVehicleWithOptimalResponse()),
});

Dart GetVehicleWithOptimalRequest DTOs

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

HTTP + XML

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

POST /v1/VehicleWithOptimal HTTP/1.1 
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<GetVehicleWithOptimalRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.ServiceModel.Vehicles">
  <Gssn>String</Gssn>
  <IncludeAllocatedToBackOrder>false</IncludeAllocatedToBackOrder>
  <IsOneAdmin>false</IsOneAdmin>
  <MotabilityPricingId>0</MotabilityPricingId>
  <VehicleIdentifier>String</VehicleIdentifier>
</GetVehicleWithOptimalRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<GetVehicleWithOptimalResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.ServiceModel.Vehicles">
  <Errors xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO">
    <d2p1:VehicleError>
      <d2p1:Field>String</d2p1:Field>
      <d2p1:Message>String</d2p1:Message>
    </d2p1:VehicleError>
  </Errors>
  <Vehicle xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO">
    <d2p1:AccountType>String</d2p1:AccountType>
    <d2p1:ActualPrice>0</d2p1:ActualPrice>
    <d2p1:Age>0</d2p1:Age>
    <d2p1:AvailablePackages xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:string>String</d3p1:string>
    </d2p1:AvailablePackages>
    <d2p1:Baumuster>String</d2p1:Baumuster>
    <d2p1:Bm7NST>String</d2p1:Bm7NST>
    <d2p1:BodyStyle>String</d2p1:BodyStyle>
    <d2p1:Brand xmlns:d3p1="http://schemas.datacontract.org/2004/07/Mercedes.OS.Vehicle.Shared.POCO.Filters.v2">
      <d3p1:BodyStyles>
        <d3p1:BodyStyle>
          <d3p1:Description>String</d3p1:Description>
          <d3p1:Id>0</d3p1:Id>
          <d3p1:Models>
            <d3p1:Model>
              <d3p1:Description>String</d3p1:Description>
              <d3p1:DisplayName>String</d3p1:DisplayName>
              <d3p1:ExcludeFromOnlineShowroomFilters>false</d3p1:ExcludeFromOnlineShowroomFilters>
              <d3p1:Id>0</d3p1:Id>
              <d3p1:ImageUrlLarge>String</d3p1:ImageUrlLarge>
              <d3p1:ImageUrlMedium>String</d3p1:ImageUrlMedium>
              <d3p1:ImageUrlSmall>String</d3p1:ImageUrlSmall>
              <d3p1:Priority>0</d3p1:Priority>
              <d3p1:Specialist>false</d3p1:Specialist>
            </d3p1:Model>
          </d3p1:Models>
        </d3p1:BodyStyle>
      </d3p1:BodyStyles>
      <d3p1:Description>String</d3p1:Description>
      <d3p1:DisplayName>String</d3p1:DisplayName>
      <d3p1:Id>0</d3p1:Id>
    </d2p1:Brand>
    <d2p1:BrandId>0</d2p1:BrandId>
    <d2p1:ChassisNumber>String</d2p1:ChassisNumber>
    <d2p1:Colour>String</d2p1:Colour>
    <d2p1:ColourCode>String</d2p1:ColourCode>
    <d2p1:ColourDescription>String</d2p1:ColourDescription>
    <d2p1:ColourGroup>String</d2p1:ColourGroup>
    <d2p1:CommissionNumber>String</d2p1:CommissionNumber>
    <d2p1:ConsumptionCombined>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:Lkm>0</d2p1:Lkm>
      <d2p1:Mpg>0</d2p1:Mpg>
    </d2p1:ConsumptionCombined>
    <d2p1:ConsumptionExtraUrban>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:Lkm>0</d2p1:Lkm>
      <d2p1:Mpg>0</d2p1:Mpg>
    </d2p1:ConsumptionExtraUrban>
    <d2p1:ConsumptionUrban>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:Lkm>0</d2p1:Lkm>
      <d2p1:Mpg>0</d2p1:Mpg>
    </d2p1:ConsumptionUrban>
    <d2p1:Description>String</d2p1:Description>
    <d2p1:DisplayRetailer>String</d2p1:DisplayRetailer>
    <d2p1:DisplayRetailerGssnId>String</d2p1:DisplayRetailerGssnId>
    <d2p1:DisplayRetailerId>0</d2p1:DisplayRetailerId>
    <d2p1:DisplayRetailerMarketAreaId>String</d2p1:DisplayRetailerMarketAreaId>
    <d2p1:ElectricConsumption>0</d2p1:ElectricConsumption>
    <d2p1:ElectricRange>0</d2p1:ElectricRange>
    <d2p1:EligibleForIntegratedServiceCare>false</d2p1:EligibleForIntegratedServiceCare>
    <d2p1:Emission>0</d2p1:Emission>
    <d2p1:EmissionCombined>0</d2p1:EmissionCombined>
    <d2p1:EnergyEfficiencyClass>
      <d2p1:Colour>String</d2p1:Colour>
      <d2p1:Rating>String</d2p1:Rating>
    </d2p1:EnergyEfficiencyClass>
    <d2p1:Engine>
      <d2p1:Badge>String</d2p1:Badge>
      <d2p1:Id>0</d2p1:Id>
    </d2p1:Engine>
    <d2p1:Equipment xmlns:d3p1="http://schemas.datacontract.org/2004/07/Mercedes.OS.Vehicle.Shared.POCO">
      <d3p1:Equipmentv2>
        <d3p1:Code>String</d3p1:Code>
        <d3p1:Description>String</d3p1:Description>
        <d3p1:Id>0</d3p1:Id>
        <d3p1:Importance>0</d3p1:Importance>
        <d3p1:IsAdditional>false</d3p1:IsAdditional>
      </d3p1:Equipmentv2>
    </d2p1:Equipment>
    <d2p1:EquipmentCategories>
      <d2p1:VehicleEquipmentCategory>
        <d2p1:Code>String</d2p1:Code>
        <d2p1:Description>String</d2p1:Description>
        <d2p1:Equipment xmlns:d5p1="http://schemas.datacontract.org/2004/07/Mercedes.OS.Vehicle.Shared.POCO">
          <d5p1:Equipmentv2>
            <d5p1:Code>String</d5p1:Code>
            <d5p1:Description>String</d5p1:Description>
            <d5p1:Id>0</d5p1:Id>
            <d5p1:Importance>0</d5p1:Importance>
            <d5p1:IsAdditional>false</d5p1:IsAdditional>
          </d5p1:Equipmentv2>
        </d2p1:Equipment>
        <d2p1:Order>0</d2p1:Order>
      </d2p1:VehicleEquipmentCategory>
    </d2p1:EquipmentCategories>
    <d2p1:FuelType>String</d2p1:FuelType>
    <d2p1:FullModelYearCode>String</d2p1:FullModelYearCode>
    <d2p1:HasMildHybridEquipmentCode>false</d2p1:HasMildHybridEquipmentCode>
    <d2p1:IntegratedServiceCareOptions>
      <d2p1:VehicleIntegratedServiceCareOption>
        <d2p1:BM7NST>String</d2p1:BM7NST>
        <d2p1:CustomerDescription>String</d2p1:CustomerDescription>
        <d2p1:FullModelYear>String</d2p1:FullModelYear>
        <d2p1:IntegratedProductType>String</d2p1:IntegratedProductType>
        <d2p1:OneAgentProductType>String</d2p1:OneAgentProductType>
        <d2p1:OptionCode>String</d2p1:OptionCode>
      </d2p1:VehicleIntegratedServiceCareOption>
    </d2p1:IntegratedServiceCareOptions>
    <d2p1:IsAllocatedToBackOrder>false</d2p1:IsAllocatedToBackOrder>
    <d2p1:IsAvailableOnline>false</d2p1:IsAvailableOnline>
    <d2p1:IsDisplayStock>false</d2p1:IsDisplayStock>
    <d2p1:IsExcluded>false</d2p1:IsExcluded>
    <d2p1:IsHOBackOrderAccountVehicle>false</d2p1:IsHOBackOrderAccountVehicle>
    <d2p1:IsSellable>false</d2p1:IsSellable>
    <d2p1:IsSmartDisplayRetailer>false</d2p1:IsSmartDisplayRetailer>
    <d2p1:IsSpecialistCar>false</d2p1:IsSpecialistCar>
    <d2p1:IspVehicleCustomerDescriptions xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:string>String</d3p1:string>
    </d2p1:IspVehicleCustomerDescriptions>
    <d2p1:Line>String</d2p1:Line>
    <d2p1:Media>
      <d2p1:MainImageUrl>String</d2p1:MainImageUrl>
      <d2p1:NoImage>false</d2p1:NoImage>
    </d2p1:Media>
    <d2p1:Model>String</d2p1:Model>
    <d2p1:ModelId>0</d2p1:ModelId>
    <d2p1:NormalisedEmissionDirective>String</d2p1:NormalisedEmissionDirective>
    <d2p1:OTR>0</d2p1:OTR>
    <d2p1:OnHold>false</d2p1:OnHold>
    <d2p1:P11D>0</d2p1:P11D>
    <d2p1:Packages xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:string>String</d3p1:string>
    </d2p1:Packages>
    <d2p1:PortArrivalDate>0001-01-01T00:00:00</d2p1:PortArrivalDate>
    <d2p1:Prices>
      <d2p1:Price>
        <d2p1:Description>String</d2p1:Description>
        <d2p1:Gross>0</d2p1:Gross>
        <d2p1:Id>String</d2p1:Id>
        <d2p1:Net>0</d2p1:Net>
        <d2p1:Product>LIST_PRICE</d2p1:Product>
        <d2p1:VAT>0</d2p1:VAT>
      </d2p1:Price>
    </d2p1:Prices>
    <d2p1:ProductRange>String</d2p1:ProductRange>
    <d2p1:ProductionDate>String</d2p1:ProductionDate>
    <d2p1:RetailPriceExVat>0</d2p1:RetailPriceExVat>
    <d2p1:RetailPrice_ExVAT>0</d2p1:RetailPrice_ExVAT>
    <d2p1:RetailPrice_IncVAT>0</d2p1:RetailPrice_IncVAT>
    <d2p1:Retailer>
      <d2p1:Agent>false</d2p1:Agent>
      <d2p1:ChatEnabled>false</d2p1:ChatEnabled>
      <d2p1:City>String</d2p1:City>
      <d2p1:Description>String</d2p1:Description>
      <d2p1:DigitalLoungeParentGssnId>String</d2p1:DigitalLoungeParentGssnId>
      <d2p1:DisplayPhoneNumberNew>String</d2p1:DisplayPhoneNumberNew>
      <d2p1:DisplayPhoneNumberUsed>String</d2p1:DisplayPhoneNumberUsed>
      <d2p1:Email>String</d2p1:Email>
      <d2p1:Fax>String</d2p1:Fax>
      <d2p1:GoogleMapPostcode>String</d2p1:GoogleMapPostcode>
      <d2p1:GssnId>String</d2p1:GssnId>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:IsCentralRetailer>false</d2p1:IsCentralRetailer>
      <d2p1:IsNewCarRetailer>false</d2p1:IsNewCarRetailer>
      <d2p1:IsOnline>false</d2p1:IsOnline>
      <d2p1:IsUsedCarRetailer>false</d2p1:IsUsedCarRetailer>
      <d2p1:Latitude>0</d2p1:Latitude>
      <d2p1:LegacyId>String</d2p1:LegacyId>
      <d2p1:Longitude>0</d2p1:Longitude>
      <d2p1:MarketAreaId>0</d2p1:MarketAreaId>
      <d2p1:OpeningTimes>
        <d2p1:New>
          <d2p1:RetailerOpeningTime>
            <d2p1:Day>String</d2p1:Day>
            <d2p1:OpenFrom>String</d2p1:OpenFrom>
            <d2p1:OpenTo>String</d2p1:OpenTo>
            <d2p1:Special>String</d2p1:Special>
          </d2p1:RetailerOpeningTime>
        </d2p1:New>
        <d2p1:Used>
          <d2p1:RetailerOpeningTime>
            <d2p1:Day>String</d2p1:Day>
            <d2p1:OpenFrom>String</d2p1:OpenFrom>
            <d2p1:OpenTo>String</d2p1:OpenTo>
            <d2p1:Special>String</d2p1:Special>
          </d2p1:RetailerOpeningTime>
        </d2p1:Used>
      </d2p1:OpeningTimes>
      <d2p1:Phone>String</d2p1:Phone>
      <d2p1:Postcode>String</d2p1:Postcode>
      <d2p1:RetailerGroupId>String</d2p1:RetailerGroupId>
      <d2p1:RetailerGroupName>String</d2p1:RetailerGroupName>
      <d2p1:SendLeadsToDigitalLoungeParent>false</d2p1:SendLeadsToDigitalLoungeParent>
      <d2p1:Street>String</d2p1:Street>
      <d2p1:TradeInEnabled>false</d2p1:TradeInEnabled>
      <d2p1:Website>String</d2p1:Website>
      <d2p1:smart>false</d2p1:smart>
      <d2p1:smartDescription>String</d2p1:smartDescription>
      <d2p1:smartPhone>String</d2p1:smartPhone>
      <d2p1:smartWebsite>String</d2p1:smartWebsite>
    </d2p1:Retailer>
    <d2p1:Secured>false</d2p1:Secured>
    <d2p1:TransmissionType>String</d2p1:TransmissionType>
    <d2p1:UnderOffer>false</d2p1:UnderOffer>
    <d2p1:UpholsteryCode>String</d2p1:UpholsteryCode>
    <d2p1:UpholsteryDescription>String</d2p1:UpholsteryDescription>
    <d2p1:UpholsteryType>String</d2p1:UpholsteryType>
    <d2p1:UsageCode>String</d2p1:UsageCode>
    <d2p1:VID>String</d2p1:VID>
    <d2p1:VehicleClass>String</d2p1:VehicleClass>
    <d2p1:VehicleData>
      <d2p1:VehicleAttribute>
        <d2p1:Description>String</d2p1:Description>
        <d2p1:Value>String</d2p1:Value>
      </d2p1:VehicleAttribute>
    </d2p1:VehicleData>
    <d2p1:VehicleType>String</d2p1:VehicleType>
    <d2p1:Vin>String</d2p1:Vin>
    <d2p1:WltpFuelConsumptionCombined>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:Lkm>0</d2p1:Lkm>
      <d2p1:Mpg>0</d2p1:Mpg>
    </d2p1:WltpFuelConsumptionCombined>
    <d2p1:WltpFuelConsumptionExtraHigh>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:Lkm>0</d2p1:Lkm>
      <d2p1:Mpg>0</d2p1:Mpg>
    </d2p1:WltpFuelConsumptionExtraHigh>
    <d2p1:WltpFuelConsumptionHigh>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:Lkm>0</d2p1:Lkm>
      <d2p1:Mpg>0</d2p1:Mpg>
    </d2p1:WltpFuelConsumptionHigh>
    <d2p1:WltpFuelConsumptionLow>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:Lkm>0</d2p1:Lkm>
      <d2p1:Mpg>0</d2p1:Mpg>
    </d2p1:WltpFuelConsumptionLow>
    <d2p1:WltpFuelConsumptionMedium>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:Lkm>0</d2p1:Lkm>
      <d2p1:Mpg>0</d2p1:Mpg>
    </d2p1:WltpFuelConsumptionMedium>
  </Vehicle>
  <OptimumVehicle xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO">
    <d2p1:AccountType>String</d2p1:AccountType>
    <d2p1:ActualPrice>0</d2p1:ActualPrice>
    <d2p1:Age>0</d2p1:Age>
    <d2p1:AvailablePackages xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:string>String</d3p1:string>
    </d2p1:AvailablePackages>
    <d2p1:Baumuster>String</d2p1:Baumuster>
    <d2p1:Bm7NST>String</d2p1:Bm7NST>
    <d2p1:BodyStyle>String</d2p1:BodyStyle>
    <d2p1:Brand xmlns:d3p1="http://schemas.datacontract.org/2004/07/Mercedes.OS.Vehicle.Shared.POCO.Filters.v2">
      <d3p1:BodyStyles>
        <d3p1:BodyStyle>
          <d3p1:Description>String</d3p1:Description>
          <d3p1:Id>0</d3p1:Id>
          <d3p1:Models>
            <d3p1:Model>
              <d3p1:Description>String</d3p1:Description>
              <d3p1:DisplayName>String</d3p1:DisplayName>
              <d3p1:ExcludeFromOnlineShowroomFilters>false</d3p1:ExcludeFromOnlineShowroomFilters>
              <d3p1:Id>0</d3p1:Id>
              <d3p1:ImageUrlLarge>String</d3p1:ImageUrlLarge>
              <d3p1:ImageUrlMedium>String</d3p1:ImageUrlMedium>
              <d3p1:ImageUrlSmall>String</d3p1:ImageUrlSmall>
              <d3p1:Priority>0</d3p1:Priority>
              <d3p1:Specialist>false</d3p1:Specialist>
            </d3p1:Model>
          </d3p1:Models>
        </d3p1:BodyStyle>
      </d3p1:BodyStyles>
      <d3p1:Description>String</d3p1:Description>
      <d3p1:DisplayName>String</d3p1:DisplayName>
      <d3p1:Id>0</d3p1:Id>
    </d2p1:Brand>
    <d2p1:BrandId>0</d2p1:BrandId>
    <d2p1:ChassisNumber>String</d2p1:ChassisNumber>
    <d2p1:Colour>String</d2p1:Colour>
    <d2p1:ColourCode>String</d2p1:ColourCode>
    <d2p1:ColourDescription>String</d2p1:ColourDescription>
    <d2p1:ColourGroup>String</d2p1:ColourGroup>
    <d2p1:CommissionNumber>String</d2p1:CommissionNumber>
    <d2p1:ConsumptionCombined>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:Lkm>0</d2p1:Lkm>
      <d2p1:Mpg>0</d2p1:Mpg>
    </d2p1:ConsumptionCombined>
    <d2p1:ConsumptionExtraUrban>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:Lkm>0</d2p1:Lkm>
      <d2p1:Mpg>0</d2p1:Mpg>
    </d2p1:ConsumptionExtraUrban>
    <d2p1:ConsumptionUrban>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:Lkm>0</d2p1:Lkm>
      <d2p1:Mpg>0</d2p1:Mpg>
    </d2p1:ConsumptionUrban>
    <d2p1:Description>String</d2p1:Description>
    <d2p1:DisplayRetailer>String</d2p1:DisplayRetailer>
    <d2p1:DisplayRetailerGssnId>String</d2p1:DisplayRetailerGssnId>
    <d2p1:DisplayRetailerId>0</d2p1:DisplayRetailerId>
    <d2p1:DisplayRetailerMarketAreaId>String</d2p1:DisplayRetailerMarketAreaId>
    <d2p1:ElectricConsumption>0</d2p1:ElectricConsumption>
    <d2p1:ElectricRange>0</d2p1:ElectricRange>
    <d2p1:EligibleForIntegratedServiceCare>false</d2p1:EligibleForIntegratedServiceCare>
    <d2p1:Emission>0</d2p1:Emission>
    <d2p1:EmissionCombined>0</d2p1:EmissionCombined>
    <d2p1:EnergyEfficiencyClass>
      <d2p1:Colour>String</d2p1:Colour>
      <d2p1:Rating>String</d2p1:Rating>
    </d2p1:EnergyEfficiencyClass>
    <d2p1:Engine>
      <d2p1:Badge>String</d2p1:Badge>
      <d2p1:Id>0</d2p1:Id>
    </d2p1:Engine>
    <d2p1:Equipment xmlns:d3p1="http://schemas.datacontract.org/2004/07/Mercedes.OS.Vehicle.Shared.POCO">
      <d3p1:Equipmentv2>
        <d3p1:Code>String</d3p1:Code>
        <d3p1:Description>String</d3p1:Description>
        <d3p1:Id>0</d3p1:Id>
        <d3p1:Importance>0</d3p1:Importance>
        <d3p1:IsAdditional>false</d3p1:IsAdditional>
      </d3p1:Equipmentv2>
    </d2p1:Equipment>
    <d2p1:EquipmentCategories>
      <d2p1:VehicleEquipmentCategory>
        <d2p1:Code>String</d2p1:Code>
        <d2p1:Description>String</d2p1:Description>
        <d2p1:Equipment xmlns:d5p1="http://schemas.datacontract.org/2004/07/Mercedes.OS.Vehicle.Shared.POCO">
          <d5p1:Equipmentv2>
            <d5p1:Code>String</d5p1:Code>
            <d5p1:Description>String</d5p1:Description>
            <d5p1:Id>0</d5p1:Id>
            <d5p1:Importance>0</d5p1:Importance>
            <d5p1:IsAdditional>false</d5p1:IsAdditional>
          </d5p1:Equipmentv2>
        </d2p1:Equipment>
        <d2p1:Order>0</d2p1:Order>
      </d2p1:VehicleEquipmentCategory>
    </d2p1:EquipmentCategories>
    <d2p1:FuelType>String</d2p1:FuelType>
    <d2p1:FullModelYearCode>String</d2p1:FullModelYearCode>
    <d2p1:HasMildHybridEquipmentCode>false</d2p1:HasMildHybridEquipmentCode>
    <d2p1:IntegratedServiceCareOptions>
      <d2p1:VehicleIntegratedServiceCareOption>
        <d2p1:BM7NST>String</d2p1:BM7NST>
        <d2p1:CustomerDescription>String</d2p1:CustomerDescription>
        <d2p1:FullModelYear>String</d2p1:FullModelYear>
        <d2p1:IntegratedProductType>String</d2p1:IntegratedProductType>
        <d2p1:OneAgentProductType>String</d2p1:OneAgentProductType>
        <d2p1:OptionCode>String</d2p1:OptionCode>
      </d2p1:VehicleIntegratedServiceCareOption>
    </d2p1:IntegratedServiceCareOptions>
    <d2p1:IsAllocatedToBackOrder>false</d2p1:IsAllocatedToBackOrder>
    <d2p1:IsAvailableOnline>false</d2p1:IsAvailableOnline>
    <d2p1:IsDisplayStock>false</d2p1:IsDisplayStock>
    <d2p1:IsExcluded>false</d2p1:IsExcluded>
    <d2p1:IsHOBackOrderAccountVehicle>false</d2p1:IsHOBackOrderAccountVehicle>
    <d2p1:IsSellable>false</d2p1:IsSellable>
    <d2p1:IsSmartDisplayRetailer>false</d2p1:IsSmartDisplayRetailer>
    <d2p1:IsSpecialistCar>false</d2p1:IsSpecialistCar>
    <d2p1:IspVehicleCustomerDescriptions xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:string>String</d3p1:string>
    </d2p1:IspVehicleCustomerDescriptions>
    <d2p1:Line>String</d2p1:Line>
    <d2p1:Media>
      <d2p1:MainImageUrl>String</d2p1:MainImageUrl>
      <d2p1:NoImage>false</d2p1:NoImage>
    </d2p1:Media>
    <d2p1:Model>String</d2p1:Model>
    <d2p1:ModelId>0</d2p1:ModelId>
    <d2p1:NormalisedEmissionDirective>String</d2p1:NormalisedEmissionDirective>
    <d2p1:OTR>0</d2p1:OTR>
    <d2p1:OnHold>false</d2p1:OnHold>
    <d2p1:P11D>0</d2p1:P11D>
    <d2p1:Packages xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:string>String</d3p1:string>
    </d2p1:Packages>
    <d2p1:PortArrivalDate>0001-01-01T00:00:00</d2p1:PortArrivalDate>
    <d2p1:Prices>
      <d2p1:Price>
        <d2p1:Description>String</d2p1:Description>
        <d2p1:Gross>0</d2p1:Gross>
        <d2p1:Id>String</d2p1:Id>
        <d2p1:Net>0</d2p1:Net>
        <d2p1:Product>LIST_PRICE</d2p1:Product>
        <d2p1:VAT>0</d2p1:VAT>
      </d2p1:Price>
    </d2p1:Prices>
    <d2p1:ProductRange>String</d2p1:ProductRange>
    <d2p1:ProductionDate>String</d2p1:ProductionDate>
    <d2p1:RetailPriceExVat>0</d2p1:RetailPriceExVat>
    <d2p1:RetailPrice_ExVAT>0</d2p1:RetailPrice_ExVAT>
    <d2p1:RetailPrice_IncVAT>0</d2p1:RetailPrice_IncVAT>
    <d2p1:Retailer>
      <d2p1:Agent>false</d2p1:Agent>
      <d2p1:ChatEnabled>false</d2p1:ChatEnabled>
      <d2p1:City>String</d2p1:City>
      <d2p1:Description>String</d2p1:Description>
      <d2p1:DigitalLoungeParentGssnId>String</d2p1:DigitalLoungeParentGssnId>
      <d2p1:DisplayPhoneNumberNew>String</d2p1:DisplayPhoneNumberNew>
      <d2p1:DisplayPhoneNumberUsed>String</d2p1:DisplayPhoneNumberUsed>
      <d2p1:Email>String</d2p1:Email>
      <d2p1:Fax>String</d2p1:Fax>
      <d2p1:GoogleMapPostcode>String</d2p1:GoogleMapPostcode>
      <d2p1:GssnId>String</d2p1:GssnId>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:IsCentralRetailer>false</d2p1:IsCentralRetailer>
      <d2p1:IsNewCarRetailer>false</d2p1:IsNewCarRetailer>
      <d2p1:IsOnline>false</d2p1:IsOnline>
      <d2p1:IsUsedCarRetailer>false</d2p1:IsUsedCarRetailer>
      <d2p1:Latitude>0</d2p1:Latitude>
      <d2p1:LegacyId>String</d2p1:LegacyId>
      <d2p1:Longitude>0</d2p1:Longitude>
      <d2p1:MarketAreaId>0</d2p1:MarketAreaId>
      <d2p1:OpeningTimes>
        <d2p1:New>
          <d2p1:RetailerOpeningTime>
            <d2p1:Day>String</d2p1:Day>
            <d2p1:OpenFrom>String</d2p1:OpenFrom>
            <d2p1:OpenTo>String</d2p1:OpenTo>
            <d2p1:Special>String</d2p1:Special>
          </d2p1:RetailerOpeningTime>
        </d2p1:New>
        <d2p1:Used>
          <d2p1:RetailerOpeningTime>
            <d2p1:Day>String</d2p1:Day>
            <d2p1:OpenFrom>String</d2p1:OpenFrom>
            <d2p1:OpenTo>String</d2p1:OpenTo>
            <d2p1:Special>String</d2p1:Special>
          </d2p1:RetailerOpeningTime>
        </d2p1:Used>
      </d2p1:OpeningTimes>
      <d2p1:Phone>String</d2p1:Phone>
      <d2p1:Postcode>String</d2p1:Postcode>
      <d2p1:RetailerGroupId>String</d2p1:RetailerGroupId>
      <d2p1:RetailerGroupName>String</d2p1:RetailerGroupName>
      <d2p1:SendLeadsToDigitalLoungeParent>false</d2p1:SendLeadsToDigitalLoungeParent>
      <d2p1:Street>String</d2p1:Street>
      <d2p1:TradeInEnabled>false</d2p1:TradeInEnabled>
      <d2p1:Website>String</d2p1:Website>
      <d2p1:smart>false</d2p1:smart>
      <d2p1:smartDescription>String</d2p1:smartDescription>
      <d2p1:smartPhone>String</d2p1:smartPhone>
      <d2p1:smartWebsite>String</d2p1:smartWebsite>
    </d2p1:Retailer>
    <d2p1:Secured>false</d2p1:Secured>
    <d2p1:TransmissionType>String</d2p1:TransmissionType>
    <d2p1:UnderOffer>false</d2p1:UnderOffer>
    <d2p1:UpholsteryCode>String</d2p1:UpholsteryCode>
    <d2p1:UpholsteryDescription>String</d2p1:UpholsteryDescription>
    <d2p1:UpholsteryType>String</d2p1:UpholsteryType>
    <d2p1:UsageCode>String</d2p1:UsageCode>
    <d2p1:VID>String</d2p1:VID>
    <d2p1:VehicleClass>String</d2p1:VehicleClass>
    <d2p1:VehicleData>
      <d2p1:VehicleAttribute>
        <d2p1:Description>String</d2p1:Description>
        <d2p1:Value>String</d2p1:Value>
      </d2p1:VehicleAttribute>
    </d2p1:VehicleData>
    <d2p1:VehicleType>String</d2p1:VehicleType>
    <d2p1:Vin>String</d2p1:Vin>
    <d2p1:WltpFuelConsumptionCombined>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:Lkm>0</d2p1:Lkm>
      <d2p1:Mpg>0</d2p1:Mpg>
    </d2p1:WltpFuelConsumptionCombined>
    <d2p1:WltpFuelConsumptionExtraHigh>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:Lkm>0</d2p1:Lkm>
      <d2p1:Mpg>0</d2p1:Mpg>
    </d2p1:WltpFuelConsumptionExtraHigh>
    <d2p1:WltpFuelConsumptionHigh>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:Lkm>0</d2p1:Lkm>
      <d2p1:Mpg>0</d2p1:Mpg>
    </d2p1:WltpFuelConsumptionHigh>
    <d2p1:WltpFuelConsumptionLow>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:Lkm>0</d2p1:Lkm>
      <d2p1:Mpg>0</d2p1:Mpg>
    </d2p1:WltpFuelConsumptionLow>
    <d2p1:WltpFuelConsumptionMedium>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:Lkm>0</d2p1:Lkm>
      <d2p1:Mpg>0</d2p1:Mpg>
    </d2p1:WltpFuelConsumptionMedium>
  </OptimumVehicle>
</GetVehicleWithOptimalResponse>