POST | /v1/OnlineShowroom/Stock | Search for Online Showroom Stock | Calls Vehicle Data API online showroom stock endpoint and searches for vehicles given a list of retailers. The results are used to populate the Online Showroom Stock datatable grid in OneAdmin |
---|
namespace Mercedes.VehicleManagement.API.ServiceModel
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type StockDataRow() =
member val CommissionNumber:String = null with get,set
member val Description:String = null with get,set
member val SalesDescriptionLong:String = null with get,set
member val Model:String = null with get,set
member val Colour:String = null with get,set
member val ColourGroup:String = null with get,set
member val FuelType:String = null with get,set
member val Transmission:String = null with get,set
member val TransmissionType:String = null with get,set
member val Packages:String = null with get,set
member val Lines:String = null with get,set
member val Upholstery:String = null with get,set
member val UpholsteryCode:String = null with get,set
member val DisplayStockAgent:String = null with get,set
member val Location:String = null with get,set
member val Vin:String = null with get,set
member val Vid:String = null with get,set
member val VehicleType:String = null with get,set
member val VehicleClass:String = null with get,set
member val CreationDate:DateTime = new DateTime() with get,set
member val LastUpdated:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val ProductionDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val PortArrivalDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val CombinedGrossOfferValue:Decimal = new Decimal() with get,set
member val CurrentLocation:String = null with get,set
member val NotVisibleOnlineShowroom:Boolean = new Boolean() with get,set
member val NvosReason:String = null with get,set
member val NvosReasonOneAdminExcluded:Boolean = new Boolean() with get,set
member val NvosReasonLinkedToBackOrder:Boolean = new Boolean() with get,set
member val IncludedAfterDeduplication:Boolean = new Boolean() with get,set
member val Unique:Boolean = new Boolean() with get,set
member val Duplicate:Boolean = new Boolean() with get,set
member val DuplicateGroup:Nullable<Int32> = new Nullable<Int32>() with get,set
member val LowestComm:Boolean = new Boolean() with get,set
member val Rule:String = null with get,set
member val Fin:String = null with get,set
member val ChassisNumber:String = null with get,set
member val ModelYear:String = null with get,set
member val ModelYearCode:String = null with get,set
member val HalfModelYearCode:String = null with get,set
member val FullModelYearCode:String = null with get,set
member val BodyStyle:String = null with get,set
member val Engine:String = null with get,set
member val CesarIdShipToParty:String = null with get,set
member val VehicleUsageCode:String = null with get,set
member val Acceleration:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val BootCapacity:Nullable<Int32> = new Nullable<Int32>() with get,set
member val TopSpeed:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val DriveConcept:String = null with get,set
member val CombustionPowerHp:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val ElectricPowerKw:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val ElectricPowerHp:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val CombinedPowerKw:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val CombinedPowerHP:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val UnderOffer:Boolean = new Boolean() with get,set
member val IsSellable:Boolean = new Boolean() with get,set
member val MBUKSecured:Boolean = new Boolean() with get,set
member val IsDisplayStock:Boolean = new Boolean() with get,set
member val IsSpecialistCar:Boolean = new Boolean() with get,set
member val Account:String = null with get,set
member val ProductRange:String = null with get,set
member val IsAMG:Boolean = new Boolean() with get,set
member val ActualPrice:Decimal = new Decimal() with get,set
member val RetailPrice_ExVAT:Decimal = new Decimal() with get,set
member val RetailPrice_IncVAT:Decimal = new Decimal() with get,set
member val OTR:Decimal = new Decimal() with get,set
member val NST:String = null with get,set
member val Bm7NST:String = null with get,set
member val ElectricRange:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val ElectricConsumption:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val Emission:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val EmissionDirective:String = null with get,set
member val EmissionCombined:String = null with get,set
member val EmissionExtraUrban:String = null with get,set
member val EmissionUrban:String = null with get,set
member val EnergyEfficiencyClass:String = null with get,set
member val WLTPEmissionCombined:String = null with get,set
member val WLTPCombined:String = null with get,set
member val WLTPLow:String = null with get,set
member val WLTPMedium:String = null with get,set
member val WLTPHigh:String = null with get,set
member val WLTPExtraHigh:String = null with get,set
member val TotalMoneyOffersExclDiscretionary:Decimal = new Decimal() with get,set
member val DiscretionaryMoneyOffer:Decimal = new Decimal() with get,set
member val TotalMoneyOffersInclDiscretionary:Decimal = new Decimal() with get,set
member val NonDiscretionaryNMOCount:Int32 = new Int32() with get,set
member val NonDiscretionaryMOCount:Int32 = new Int32() with get,set
member val DiscretionaryNMOCount:Int32 = new Int32() with get,set
member val DiscretionaryMOCount:Int32 = new Int32() with get,set
member val TotalOfferVIPAmount:Decimal = new Decimal() with get,set
member val StockLevelIndicator:String = null with get,set
[<AllowNullLiteral>]
type OnlineShowroomStockResponse() =
member val TotalVehicles:Int32 = new Int32() with get,set
member val Vehicles:ResizeArray<StockDataRow> = null with get,set
[<AllowNullLiteral>]
type OnlineShowroomStockRequest() =
interface IPost
member val Gssns:ResizeArray<String> = null with get,set
F# OnlineShowroomStockRequest DTOs
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/OnlineShowroom/Stock HTTP/1.1
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
gssns:
[
String
]
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { totalVehicles: 0, vehicles: [ { commissionNumber: String, description: String, salesDescriptionLong: String, model: String, colour: String, colourGroup: String, fuelType: String, transmission: String, transmissionType: String, packages: String, lines: String, upholstery: String, upholsteryCode: String, displayStockAgent: String, location: String, vin: String, vid: String, vehicleType: String, vehicleClass: String, creationDate: 0001-01-01, lastUpdated: 0001-01-01, productionDate: 0001-01-01, portArrivalDate: 0001-01-01, combinedGrossOfferValue: 0, currentLocation: String, notVisibleOnlineShowroom: False, nvosReason: String, nvosReasonOneAdminExcluded: False, nvosReasonLinkedToBackOrder: False, includedAfterDeduplication: False, unique: False, duplicate: False, duplicateGroup: 0, lowestComm: False, rule: String, fin: String, chassisNumber: String, modelYear: String, modelYearCode: String, halfModelYearCode: String, fullModelYearCode: String, bodyStyle: String, engine: String, cesarIdShipToParty: String, vehicleUsageCode: String, acceleration: 0, bootCapacity: 0, topSpeed: 0, driveConcept: String, combustionPowerHp: 0, electricPowerKw: 0, electricPowerHp: 0, combinedPowerKw: 0, combinedPowerHP: 0, underOffer: False, isSellable: False, mbukSecured: False, isDisplayStock: False, isSpecialistCar: False, account: String, productRange: String, isAMG: False, actualPrice: 0, retailPrice_ExVAT: 0, retailPrice_IncVAT: 0, otr: 0, nst: String, bm7NST: String, electricRange: 0, electricConsumption: 0, emission: 0, emissionDirective: String, emissionCombined: String, emissionExtraUrban: String, emissionUrban: String, energyEfficiencyClass: String, wltpEmissionCombined: String, wltpCombined: String, wltpLow: String, wltpMedium: String, wltpHigh: String, wltpExtraHigh: String, totalMoneyOffersExclDiscretionary: 0, discretionaryMoneyOffer: 0, totalMoneyOffersInclDiscretionary: 0, nonDiscretionaryNMOCount: 0, nonDiscretionaryMOCount: 0, discretionaryNMOCount: 0, discretionaryMOCount: 0, totalOfferVIPAmount: 0, stockLevelIndicator: String } ] }