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
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 } ] }