| POST | /v1/vehicle | Get Vehicle by Vin | Get Vehicle by Vin |
|---|
namespace Mercedes.Agency.API.Shared.Enums
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type GetVehicleRequest() =
member val Vin:String = null with get,set
member val IncludeAllocatedToOrder:Boolean = new Boolean() with get,set
member val Gssn:String = null with get,set
member val IsOneAdmin:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type Model() =
member val Id:Int32 = new Int32() with get,set
member val Description:String = null with get,set
member val DisplayName:String = null with get,set
member val ImageUrlSmall:String = null with get,set
member val ImageUrlMedium:String = null with get,set
member val ImageUrlLarge:String = null with get,set
member val Specialist:Boolean = new Boolean() with get,set
member val Priority:Nullable<Int32> = new Nullable<Int32>() with get,set
member val ExcludeFromOnlineShowroomFilters:Nullable<Boolean> = new Nullable<Boolean>() with get,set
[<AllowNullLiteral>]
type BodyStyle() =
member val Id:Int32 = new Int32() with get,set
member val Description:String = null with get,set
member val Models:ResizeArray<Model> = null with get,set
[<AllowNullLiteral>]
type Brand() =
member val Id:Int32 = new Int32() with get,set
member val Description:String = null with get,set
member val DisplayName:String = null with get,set
member val BodyStyles:ResizeArray<BodyStyle> = null with get,set
[<AllowNullLiteral>]
type Engine() =
member val Id:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Badge:String = null with get,set
[<AllowNullLiteral>]
type Media() =
member val NoImage:Boolean = new Boolean() with get,set
member val MainImageUrl:String = null with get,set
type OfferPriceProductType =
| LIST_PRICE = 0
| NUMBER_PLATE_FEE = 1
| DELIVERY_CHARGE = 2
| FUEL_CHARGE = 3
| MANUFACTURER_OFFER = 4
| PERSONALISED_MONEYOFFER = 5
| PERSONALISED_NONMONEYOFFER = 6
| PERSONALISED_NONMONEYOFFER_NEG = 7
| SERVICE = 8
| SERVICE_NEG = 9
| GOVERNMENT_GRANT = 10
| OUTRIGHT_PURCHASE_DISCOUNT = 11
| VIP_OFFER = 12
| WALLBOX_OFFER = 13
| WALLBOX_OFFER_NEG = 14
| ROAD_FUND_LICENCE = 15
| FIRST_REGISTRATION_FEE = 16
| NOT_FOUND = 17
| ACCESSORY_OFFER = 18
| ACCESSORY_OFFER_NEG = 19
| MOTABILITY_DISCOUNT = 20
[<AllowNullLiteral>]
type Price() =
member val Id:String = null with get,set
member val Description:String = null with get,set
member val Net:Decimal = new Decimal() with get,set
member val VAT:Decimal = new Decimal() with get,set
member val Gross:Decimal = new Decimal() with get,set
member val Product:OfferPriceProductType = new OfferPriceProductType() with get,set
[<AllowNullLiteral>]
type RetailerOpeningTime() =
member val Day:String = null with get,set
member val OpenFrom:String = null with get,set
member val OpenTo:String = null with get,set
member val Special:String = null with get,set
[<AllowNullLiteral>]
type RetailerOpeningTimes() =
member val New:ResizeArray<RetailerOpeningTime> = null with get,set
member val Used:ResizeArray<RetailerOpeningTime> = null with get,set
[<AllowNullLiteral>]
type Retailer() =
member val Id:Int32 = new Int32() with get,set
member val GssnId:String = null with get,set
member val Description:String = null with get,set
member val Street:String = null with get,set
member val City:String = null with get,set
member val Postcode:String = null with get,set
member val GoogleMapPostcode:String = null with get,set
member val Phone:String = null with get,set
member val Fax:String = null with get,set
member val Email:String = null with get,set
member val Website:String = null with get,set
member val RetailerGroupId:String = null with get,set
member val RetailerGroupName:String = null with get,set
member val IsOnline:Boolean = new Boolean() with get,set
member val IsNewCarRetailer:Boolean = new Boolean() with get,set
member val IsUsedCarRetailer:Boolean = new Boolean() with get,set
member val IsCentralRetailer:Boolean = new Boolean() with get,set
member val ChatEnabled:Boolean = new Boolean() with get,set
member val TradeInEnabled:Boolean = new Boolean() with get,set
member val smart:Boolean = new Boolean() with get,set
member val DisplayPhoneNumberNew:String = null with get,set
member val DisplayPhoneNumberUsed:String = null with get,set
member val Latitude:Decimal = new Decimal() with get,set
member val Longitude:Decimal = new Decimal() with get,set
member val smartDescription:String = null with get,set
member val smartWebsite:String = null with get,set
member val smartPhone:String = null with get,set
member val LegacyId:String = null with get,set
member val Agent:Boolean = new Boolean() with get,set
member val MarketAreaId:Int32 = new Int32() with get,set
member val DigitalLoungeParentGssnId:String = null with get,set
member val SendLeadsToDigitalLoungeParent:Boolean = new Boolean() with get,set
member val OpeningTimes:RetailerOpeningTimes = null with get,set
[<AllowNullLiteral>]
type VehicleConsumption() =
member val Id:Int32 = new Int32() with get,set
member val Lkm:Decimal = new Decimal() with get,set
member val Mpg:Decimal = new Decimal() with get,set
[<AllowNullLiteral>]
type Equipment() =
member val Id:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Code:String = null with get,set
member val Description:String = null with get,set
[<AllowNullLiteral>]
type Equipmentv2() =
inherit Equipment()
member val Importance:Int32 = new Int32() with get,set
member val IsAdditional:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type VehicleEquipmentCategory() =
member val Order:Int32 = new Int32() with get,set
member val Code:String = null with get,set
member val Description:String = null with get,set
member val Equipment:ResizeArray<Equipmentv2> = null with get,set
[<AllowNullLiteral>]
type VehicleEmissionClass() =
member val Colour:String = null with get,set
member val Rating:String = null with get,set
[<AllowNullLiteral>]
type VehicleAttribute() =
member val Description:String = null with get,set
member val Value:String = null with get,set
[<AllowNullLiteral>]
type VehicleIntegratedServiceCareOption() =
member val OptionCode:String = null with get,set
member val BM7NST:String = null with get,set
member val FullModelYear:String = null with get,set
member val IntegratedProductType:String = null with get,set
member val CustomerDescription:String = null with get,set
member val OneAgentProductType:String = null with get,set
[<AllowNullLiteral>]
type VehicleDetailDto() =
member val BodyStyle:String = null with get,set
member val Vin:String = null with get,set
member val Description:String = null with get,set
member val Colour:String = null with get,set
member val ColourCode:String = null with get,set
member val ColourDescription:String = null with get,set
member val ColourGroup:String = null with get,set
member val Model:String = null with get,set
member val CommissionNumber:String = null with get,set
member val BrandId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Brand:Brand = null with get,set
member val Engine:Engine = null with get,set
member val EngineBadge:String = null with get,set
member val Media:Media = null with get,set
member val Line:String = null with get,set
member val UpholsteryCode:String = null with get,set
member val UpholsteryType:String = null with get,set
member val Upholstery:String = null with get,set
member val UpholsteryDescription:String = null with get,set
member val AvailablePackages:ResizeArray<String> = null with get,set
member val Packages:ResizeArray<String> = null with get,set
member val P11D:Decimal = new Decimal() with get,set
member val PortArrivalDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val Prices:ResizeArray<Price> = null with get,set
member val TransmissionType:String = null with get,set
member val FuelType:String = null with get,set
member val VehicleClass:String = null with get,set
member val ProductRange:String = null with get,set
member val VehicleType:String = null with get,set
member val Emission:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val IsAvailableOnline:Boolean = new Boolean() with get,set
member val UnderOffer:Boolean = new Boolean() with get,set
member val IsExcluded:Boolean = new Boolean() with get,set
member val IsSellable:Boolean = new Boolean() with get,set
member val OnHold:Boolean = new Boolean() with get,set
member val ElectricConsumption:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val ElectricRange:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val ImageUrl:String = null with get,set
member val Baumuster:String = null with get,set
member val Retailer:Retailer = null with get,set
member val Bm7NST:String = null with get,set
member val OTR:Decimal = new Decimal() with get,set
member val ActualPrice:Decimal = new Decimal() with get,set
member val IsDisplayStock:Boolean = new Boolean() with get,set
member val DisplayRetailerId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val DisplayRetailer:String = null with get,set
member val DisplayRetailerGssnId:String = null with get,set
member val DisplayRetailerMarketAreaId:String = null with get,set
member val IsSmartDisplayRetailer:Boolean = new Boolean() with get,set
member val IsSpecialistCar:Boolean = new Boolean() with get,set
member val Age:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Secured:Boolean = new Boolean() with get,set
member val IsHOBackOrderAccountVehicle:Boolean = new Boolean() with get,set
member val IsAllocatedToBackOrder:Boolean = new Boolean() with get,set
member val UsageCode:String = null with get,set
member val EmissionCombined:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val NormalisedEmissionDirective:String = null with get,set
member val HasMildHybridEquipmentCode:Boolean = new Boolean() with get,set
member val RetailPriceExVat:Decimal = new Decimal() with get,set
member val RetailPrice_IncVAT:Decimal = new Decimal() with get,set
member val RetailPrice_ExVAT:Decimal = new Decimal() with get,set
member val ModelId:Int32 = new Int32() with get,set
member val VID:String = null with get,set
member val ProductionDate:String = null with get,set
member val FullModelYearCode:String = null with get,set
member val ChassisNumber:String = null with get,set
member val EligibleForIntegratedServiceCare:Boolean = new Boolean() with get,set
member val AccountType:String = null with get,set
member val ConsumptionCombined:VehicleConsumption = null with get,set
member val ConsumptionExtraUrban:VehicleConsumption = null with get,set
member val ConsumptionUrban:VehicleConsumption = null with get,set
member val WltpFuelConsumptionCombined:VehicleConsumption = null with get,set
member val WltpFuelConsumptionExtraHigh:VehicleConsumption = null with get,set
member val WltpFuelConsumptionHigh:VehicleConsumption = null with get,set
member val WltpFuelConsumptionLow:VehicleConsumption = null with get,set
member val WltpFuelConsumptionMedium:VehicleConsumption = null with get,set
member val Equipment:ResizeArray<Equipmentv2> = null with get,set
member val EquipmentCategories:ResizeArray<VehicleEquipmentCategory> = null with get,set
member val EnergyEfficiencyClass:VehicleEmissionClass = null with get,set
member val VehicleData:ResizeArray<VehicleAttribute> = null with get,set
member val IntegratedServiceCareOptions:ResizeArray<VehicleIntegratedServiceCareOption> = null with get,set
member val IspVehicleCustomerDescriptions:ResizeArray<String> = null with get,set
member val ConfirmedProductionDate:String = null with get,set
member val ForecastedArrivalDate:String = null with get,set
[<AllowNullLiteral>]
type VehicleError() =
member val Field:String = null with get,set
member val Message:String = null with get,set
[<AllowNullLiteral>]
type GetVehicleResponse() =
member val Vehicle:VehicleDetailDto = null with get,set
member val Errors:ResizeArray<VehicleError> = null with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
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
],
ConfirmedProductionDate: String,
ForecastedArrivalDate: String
},
Errors:
[
{
Field: String,
Message: String
}
]
}