Mercedes.Agency.Orchestration.API

<back to all web services

GetVehicleRequest

Vehicle
Requires Authentication
The following routes are available for this service:
POST/v1/vehicleGet Vehicle by Vin
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Mercedes.Agency.Orchestration.API.ServiceModel.Vehicles;
using Mercedes.Agency.API.Shared.POCO;
using Mercedes.OS.Vehicle.Shared.POCO.Filters.v2;
using Mercedes.Agency.API.Shared.Enums;
using Mercedes.OS.Vehicle.Shared.POCO;

namespace Mercedes.Agency.API.Shared.POCO
{
    public partial class Engine
    {
        public virtual int? Id { get; set; }
        public virtual string Badge { get; set; }
    }

    public partial class Media
    {
        public virtual bool NoImage { get; set; }
        public virtual string MainImageUrl { get; set; }
    }

    public partial class Price
    {
        public virtual string Id { get; set; }
        public virtual string Description { get; set; }
        public virtual decimal Net { get; set; }
        public virtual decimal VAT { get; set; }
        public virtual decimal Gross { get; set; }
        public virtual OfferPriceProductType Product { get; set; }
    }

    public partial class Retailer
    {
        public virtual int Id { get; set; }
        public virtual string GssnId { get; set; }
        public virtual string Description { get; set; }
        public virtual string Street { get; set; }
        public virtual string City { get; set; }
        public virtual string Postcode { get; set; }
        public virtual string GoogleMapPostcode { get; set; }
        public virtual string Phone { get; set; }
        public virtual string Fax { get; set; }
        public virtual string Email { get; set; }
        public virtual string Website { get; set; }
        public virtual string RetailerGroupId { get; set; }
        public virtual string RetailerGroupName { get; set; }
        public virtual bool IsOnline { get; set; }
        public virtual bool IsNewCarRetailer { get; set; }
        public virtual bool IsUsedCarRetailer { get; set; }
        public virtual bool IsCentralRetailer { get; set; }
        public virtual bool ChatEnabled { get; set; }
        public virtual bool TradeInEnabled { get; set; }
        public virtual bool smart { get; set; }
        public virtual string DisplayPhoneNumberNew { get; set; }
        public virtual string DisplayPhoneNumberUsed { get; set; }
        public virtual decimal Latitude { get; set; }
        public virtual decimal Longitude { get; set; }
        public virtual string smartDescription { get; set; }
        public virtual string smartWebsite { get; set; }
        public virtual string smartPhone { get; set; }
        public virtual string LegacyId { get; set; }
        public virtual bool Agent { get; set; }
        public virtual int MarketAreaId { get; set; }
        public virtual string DigitalLoungeParentGssnId { get; set; }
        public virtual bool SendLeadsToDigitalLoungeParent { get; set; }
        public virtual RetailerOpeningTimes OpeningTimes { get; set; }
    }

    public partial class RetailerOpeningTime
    {
        public virtual string Day { get; set; }
        public virtual string OpenFrom { get; set; }
        public virtual string OpenTo { get; set; }
        public virtual string Special { get; set; }
    }

    public partial class RetailerOpeningTimes
    {
        public virtual List<RetailerOpeningTime> New { get; set; } = [];
        public virtual List<RetailerOpeningTime> Used { get; set; } = [];
    }

    public partial class VehicleAttribute
    {
        public virtual string Description { get; set; }
        public virtual string Value { get; set; }
    }

    public partial class VehicleConsumption
    {
        public virtual int Id { get; set; }
        public virtual decimal Lkm { get; set; }
        public virtual decimal Mpg { get; set; }
    }

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

    public partial class VehicleEmissionClass
    {
        public virtual string Colour { get; set; }
        public virtual string Rating { get; set; }
    }

    public partial class VehicleEquipmentCategory
    {
        public virtual int Order { get; set; }
        public virtual string Code { get; set; }
        public virtual string Description { get; set; }
        public virtual List<Equipmentv2> Equipment { get; set; }
    }

    public partial class VehicleError
    {
        public virtual string Field { get; set; }
        public virtual string Message { get; set; }
    }

    public partial class VehicleIntegratedServiceCareOption
    {
        public virtual string OptionCode { get; set; }
        public virtual string BM7NST { get; set; }
        public virtual string FullModelYear { get; set; }
        public virtual string IntegratedProductType { get; set; }
        public virtual string CustomerDescription { get; set; }
        public virtual string OneAgentProductType { get; set; }
    }

}

namespace Mercedes.Agency.Orchestration.API.ServiceModel.Vehicles
{
    public partial class GetVehicleRequest
    {
        public virtual string Vin { get; set; }
        public virtual bool IncludeAllocatedToOrder { get; set; }
        public virtual string Gssn { get; set; }
        public virtual bool IsOneAdmin { get; set; }
    }

    public partial class GetVehicleResponse
    {
        public virtual VehicleDetailDto Vehicle { get; set; }
        public virtual List<VehicleError> Errors { get; set; } = [];
    }

}

namespace Mercedes.OS.Vehicle.Shared.POCO
{
    public partial class Equipment
    {
        public virtual int Id { get; set; }
        public virtual string Code { get; set; }
        public virtual string Description { get; set; }
    }

    public partial class Equipmentv2
        : Equipment
    {
        public virtual int Importance { get; set; }
        public virtual bool IsAdditional { get; set; }
    }

}

namespace Mercedes.OS.Vehicle.Shared.POCO.Filters.v2
{
    public partial class BodyStyle
    {
        public virtual int Id { get; set; }
        public virtual string Description { get; set; }
        public virtual List<Model> Models { get; set; }
    }

    public partial class Brand
    {
        public virtual int Id { get; set; }
        public virtual string Description { get; set; }
        public virtual string DisplayName { get; set; }
        public virtual List<BodyStyle> BodyStyles { get; set; }
    }

    public partial class Model
    {
        public virtual int Id { get; set; }
        public virtual string Description { get; set; }
        public virtual string DisplayName { get; set; }
        public virtual string ImageUrlSmall { get; set; }
        public virtual string ImageUrlMedium { get; set; }
        public virtual string ImageUrlLarge { get; set; }
        public virtual bool Specialist { get; set; }
        public virtual int Priority { get; set; }
        public virtual bool? ExcludeFromOnlineShowroomFilters { get; set; }
    }

}

C# GetVehicleRequest DTOs

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

HTTP + JSV

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

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

{
	Vin: String,
	IncludeAllocatedToOrder: False,
	Gssn: String,
	IsOneAdmin: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Vehicle: 
	{
		BodyStyle: String,
		Vin: String,
		Description: String,
		Colour: String,
		ColourCode: String,
		ColourDescription: String,
		ColourGroup: String,
		Model: String,
		CommissionNumber: String,
		BrandId: 0,
		Brand: 
		{
			Id: 0,
			Description: String,
			DisplayName: String,
			BodyStyles: 
			[
				{
					Id: 0,
					Description: String,
					Models: 
					[
						{
							Id: 0,
							Description: String,
							DisplayName: String,
							ImageUrlSmall: String,
							ImageUrlMedium: String,
							ImageUrlLarge: String,
							Specialist: False,
							Priority: 0,
							ExcludeFromOnlineShowroomFilters: False
						}
					]
				}
			]
		},
		Engine: 
		{
			Id: 0,
			Badge: String
		},
		EngineBadge: String,
		Media: 
		{
			NoImage: False,
			MainImageUrl: String
		},
		Line: String,
		UpholsteryCode: String,
		UpholsteryType: String,
		Upholstery: String,
		UpholsteryDescription: String,
		AvailablePackages: 
		[
			String
		],
		Packages: 
		[
			String
		],
		P11D: 0,
		PortArrivalDate: 0001-01-01,
		Prices: 
		[
			{
				Id: String,
				Description: String,
				Net: 0,
				VAT: 0,
				Gross: 0,
				Product: LIST_PRICE
			}
		],
		TransmissionType: String,
		FuelType: String,
		VehicleClass: String,
		ProductRange: String,
		VehicleType: String,
		Emission: 0,
		IsAvailableOnline: False,
		UnderOffer: False,
		IsExcluded: False,
		IsSellable: False,
		OnHold: False,
		ElectricConsumption: 0,
		ElectricRange: 0,
		ImageUrl: String,
		Baumuster: 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
					}
				]
			}
		},
		Bm7NST: String,
		OTR: 0,
		ActualPrice: 0,
		IsDisplayStock: False,
		DisplayRetailerId: 0,
		DisplayRetailer: String,
		DisplayRetailerGssnId: String,
		DisplayRetailerMarketAreaId: String,
		IsSmartDisplayRetailer: False,
		IsSpecialistCar: False,
		Age: 0,
		Secured: False,
		IsHOBackOrderAccountVehicle: False,
		IsAllocatedToBackOrder: False,
		UsageCode: String,
		EmissionCombined: 0,
		NormalisedEmissionDirective: String,
		HasMildHybridEquipmentCode: False,
		RetailPriceExVat: 0,
		RetailPrice_IncVAT: 0,
		RetailPrice_ExVAT: 0,
		ModelId: 0,
		VID: String,
		ProductionDate: String,
		FullModelYearCode: String,
		ChassisNumber: String,
		EligibleForIntegratedServiceCare: False,
		AccountType: String,
		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
		},
		Equipment: 
		[
			{
				Importance: 0,
				IsAdditional: False,
				Id: 0,
				Code: String,
				Description: String
			}
		],
		EquipmentCategories: 
		[
			{
				Order: 0,
				Code: String,
				Description: String,
				Equipment: 
				[
					{
						Importance: 0,
						IsAdditional: False,
						Id: 0,
						Code: String,
						Description: String
					}
				]
			}
		],
		EnergyEfficiencyClass: 
		{
			Colour: String,
			Rating: String
		},
		VehicleData: 
		[
			{
				Description: String,
				Value: String
			}
		],
		IntegratedServiceCareOptions: 
		[
			{
				OptionCode: String,
				BM7NST: String,
				FullModelYear: String,
				IntegratedProductType: String,
				CustomerDescription: String,
				OneAgentProductType: String
			}
		],
		IspVehicleCustomerDescriptions: 
		[
			String
		]
	},
	Errors: 
	[
		{
			Field: String,
			Message: String
		}
	]
}