POST | /v1/VehicleWithOptimal | Get Vehicle by Vin and a more optimal option if available |
---|
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 GetVehicleResponse
{
public virtual VehicleDetailDto Vehicle { get; set; }
public virtual List<VehicleError> Errors { get; set; } = [];
}
public partial class GetVehicleWithOptimalRequest
{
public virtual string VehicleIdentifier { get; set; }
public virtual bool IncludeAllocatedToBackOrder { get; set; }
public virtual string Gssn { get; set; }
public virtual bool IsOneAdmin { get; set; }
public virtual int? MotabilityPricingId { get; set; }
}
public partial class GetVehicleWithOptimalResponse
: GetVehicleResponse
{
public virtual VehicleDetailDto OptimumVehicle { 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# GetVehicleWithOptimalRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
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: text/csv
Content-Type: text/csv
Content-Length: length
{"VehicleIdentifier":"String","IncludeAllocatedToBackOrder":false,"Gssn":"String","IsOneAdmin":false,"MotabilityPricingId":0}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"OptimumVehicle":{"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":"\/Date(-62135596800000-0000)\/","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"]},"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":"\/Date(-62135596800000-0000)\/","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"}]}