| 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 |
|---|
import Foundation
import ServiceStack
public class OnlineShowroomStockRequest : IPost, Codable
{
public var gssns:[String] = []
required public init(){}
}
public class OnlineShowroomStockResponse : Codable
{
public var totalVehicles:Int
public var vehicles:[StockDataRow] = []
required public init(){}
}
public class StockDataRow : Codable
{
public var commissionNumber:String
public var Description:String
public var salesDescriptionLong:String
public var model:String
public var colour:String
public var colourGroup:String
public var fuelType:String
public var transmission:String
public var transmissionType:String
public var packages:String
public var lines:String
public var upholstery:String
public var upholsteryCode:String
public var displayStockAgent:String
public var location:String
public var vin:String
public var vid:String
public var vehicleType:String
public var vehicleClass:String
public var creationDate:Date
public var lastUpdated:Date?
public var productionDate:Date?
public var portArrivalDate:Date?
public var combinedGrossOfferValue:Double
public var currentLocation:String
public var notVisibleOnlineShowroom:Bool
public var nvosReason:String
public var nvosReasonOneAdminExcluded:Bool
public var nvosReasonLinkedToBackOrder:Bool
public var includedAfterDeduplication:Bool
public var unique:Bool
public var duplicate:Bool
public var duplicateGroup:Int?
public var lowestComm:Bool
public var rule:String
public var fin:String
public var chassisNumber:String
public var modelYear:String
public var modelYearCode:String
public var halfModelYearCode:String
public var fullModelYearCode:String
public var bodyStyle:String
public var engine:String
public var cesarIdShipToParty:String
public var vehicleUsageCode:String
public var acceleration:Double?
public var bootCapacity:Int?
public var topSpeed:Double?
public var driveConcept:String
public var combustionPowerHp:Double?
public var electricPowerKw:Double?
public var electricPowerHp:Double?
public var combinedPowerKw:Double?
public var combinedPowerHP:Double?
public var underOffer:Bool
public var isSellable:Bool
public var mbukSecured:Bool
public var isDisplayStock:Bool
public var isSpecialistCar:Bool
public var account:String
public var productRange:String
public var isAMG:Bool
public var actualPrice:Double
public var retailPrice_ExVAT:Double
public var retailPrice_IncVAT:Double
public var otr:Double
public var nst:String
public var bm7NST:String
public var electricRange:Double?
public var electricConsumption:Double?
public var emission:Double?
public var emissionDirective:String
public var emissionCombined:String
public var emissionExtraUrban:String
public var emissionUrban:String
public var energyEfficiencyClass:String
public var wltpEmissionCombined:String
public var wltpCombined:String
public var wltpLow:String
public var wltpMedium:String
public var wltpHigh:String
public var wltpExtraHigh:String
public var totalMoneyOffersExclDiscretionary:Double
public var discretionaryMoneyOffer:Double
public var totalMoneyOffersInclDiscretionary:Double
public var nonDiscretionaryNMOCount:Int
public var nonDiscretionaryMOCount:Int
public var discretionaryNMOCount:Int
public var discretionaryMOCount:Int
public var totalOfferVIPAmount:Double
public var stockLevelIndicator:String
public var confirmedProductionDate:Date?
public var forecastedArrivalDate:Date?
required public init(){}
}
Swift 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,
confirmedProductionDate: 0001-01-01,
forecastedArrivalDate: 0001-01-01
}
]
}