/* Options: Date: 2026-10-26 16:43:29 Version: 10.20 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: AllAvailableVehiclesByCriteriaRequest.* //ExcludeTypes: //DefaultImports: */ package dtos import ( "time" ) type CampaignExclusion struct { Vin []string `json:"vin"` CommissionNumber []string `json:"commissionNumber"` ModelYearCode string `json:"modelYearCode"` EquipmentCode string `json:"equipmentCode"` Gssn []string `json:"gssn"` } type RegistrationDate struct { From time.Time `json:"from,omitempty"` To time.Time `json:"to,omitempty"` } type Age struct { Date time.Time `json:"date,omitempty"` Min int `json:"min,omitempty"` Max int `json:"max,omitempty"` IncludePipelineStock bool `json:"includePipelineStock,omitempty"` } type PortArrivalDate struct { PipelineStock bool `json:"pipelineStock,omitempty"` From time.Time `json:"from,omitempty"` To time.Time `json:"to,omitempty"` } type VehicleSearchV3Criteria struct { Vin []string `json:"vin"` Model []int `json:"model"` Fuel []int `json:"fuel"` Transmission []int `json:"transmission"` Engine []int `json:"engine"` Line []string `json:"line"` MappedLine []int `json:"mappedLine"` CommissionNumber []string `json:"commissionNumber"` VehicleType string `json:"vehicleType"` Exclusion CampaignExclusion `json:"exclusion"` RegNo string `json:"regNo"` IncludeOffline bool `json:"includeOffline,omitempty"` RegistrationDate RegistrationDate `json:"registrationDate"` Age Age `json:"age"` PortArrivalDate PortArrivalDate `json:"portArrivalDate"` IsAvailableOnline *bool `json:"isAvailableOnline,omitempty"` IsBackOrdered *bool `json:"isBackOrdered,omitempty"` IsSellable *bool `json:"isSellable,omitempty"` IsUnderOffer *bool `json:"isUnderOffer,omitempty"` MbukSecured *bool `json:"mbukSecured,omitempty"` Account []string `json:"account"` Baumuster []string `json:"baumuster"` Colours []int `json:"colours"` Upholstery []int `json:"upholstery"` Package []int `json:"package"` Nst []string `json:"nst"` UsageCode []string `json:"usageCode"` } type BaseAllAvailableVehiclesRequest struct { VehicleType string `json:"vehicleType"` IncludeBackOrderAccounts bool `json:"includeBackOrderAccounts,omitempty"` } type BasicBackOrderVehicle struct { CommissionNumber string `json:"commissionNumber"` Description string `json:"description"` Model string `json:"model"` Colour string `json:"colour"` FuelType string `json:"fuelType"` Transmission string `json:"transmission"` Packages string `json:"packages"` Lines string `json:"lines"` Upholstery string `json:"upholstery"` EmissionCombined string `json:"emissionCombined"` ActualPrice float64 `json:"actualPrice,omitempty"` UsageCode string `json:"usageCode"` Secured bool `json:"secured,omitempty"` Account string `json:"account"` SecuredTime *string `json:"securedTime,omitempty"` SecuredReason *string `json:"securedReason,omitempty"` SecuredByGasId *string `json:"securedByGasId,omitempty"` SecuredDate *time.Time `json:"securedDate,omitempty"` ConfirmedProductionDate *time.Time `json:"confirmedProductionDate,omitempty"` ForecastedArrivalDate *time.Time `json:"forecastedArrivalDate,omitempty"` } type BackOrderVehicle struct { BasicBackOrderVehicle Id int `json:"id,omitempty"` Vin string `json:"vin"` VehicleType string `json:"vehicleType"` Vid string `json:"vid"` Fin string `json:"fin"` ChassisNumber string `json:"chassisNumber"` ModelYear string `json:"modelYear"` ModelYearCode string `json:"modelYearCode"` HalfModelYearCode string `json:"halfModelYearCode"` FullModelYearCode string `json:"fullModelYearCode"` SalesDescriptionLong string `json:"salesDescriptionLong"` VehicleClass string `json:"vehicleClass"` RetailPriceExVAT float64 `json:"retailPrice_ExVAT,omitempty"` RetailPriceIncVAT float64 `json:"retailPrice_IncVAT,omitempty"` Otr float64 `json:"otr,omitempty"` BodyStyle string `json:"bodyStyle"` ProductRange string `json:"productRange"` Engine string `json:"engine"` IsAMG bool `json:"isAMG,omitempty"` ColourGroup string `json:"colourGroup"` UpholsteryCode string `json:"upholsteryCode"` Nst string `json:"nst"` Bm7NST string `json:"bm7NST"` Acceleration *float64 `json:"acceleration,omitempty"` BootCapacity *int `json:"bootCapacity,omitempty"` TopSpeed *float64 `json:"topSpeed,omitempty"` DriveConcept string `json:"driveConcept"` CombustionPowerHp *float64 `json:"combustionPowerHp,omitempty"` ElectricPowerKw *float64 `json:"electricPowerKw,omitempty"` ElectricPowerHp *float64 `json:"electricPowerHp,omitempty"` CombinedPowerKw *float64 `json:"combinedPowerKw,omitempty"` CombinedPowerHP *float64 `json:"combinedPowerHP,omitempty"` ElectricRange *float64 `json:"electricRange,omitempty"` ElectricConsumption *float64 `json:"electricConsumption,omitempty"` Emission *float64 `json:"emission,omitempty"` EmissionDirective string `json:"emissionDirective"` EmissionExtraUrban string `json:"emissionExtraUrban"` EmissionUrban string `json:"emissionUrban"` EnergyEfficiencyClass string `json:"energyEfficiencyClass"` WltpEmissionCombined string `json:"wltpEmissionCombined"` WltpCombined string `json:"wltpCombined"` WltpLow string `json:"wltpLow"` WltpMedium string `json:"wltpMedium"` WltpHigh string `json:"wltpHigh"` WltpExtraHigh string `json:"wltpExtraHigh"` PortArrivalDate *time.Time `json:"portArrivalDate,omitempty"` CreationDate time.Time `json:"creationDate,omitempty"` LastUpdated *time.Time `json:"lastUpdated,omitempty"` IsDisplayStock bool `json:"isDisplayStock,omitempty"` DisplayStockAgent string `json:"displayStockAgent"` IsSpecialistCar bool `json:"isSpecialistCar,omitempty"` Location string `json:"location"` CesarIdShipToParty string `json:"cesarIdShipToParty"` IsSellable bool `json:"isSellable,omitempty"` UnderOffer bool `json:"underOffer,omitempty"` Baumuster string `json:"baumuster"` } type StockManagementResponse struct { TotalVehicles int `json:"totalVehicles,omitempty"` Vehicles []BackOrderVehicle `json:"vehicles"` } // @Route("/v1/AllAvailableVehicles/{vehicleType}/{includeBackOrderAccounts}", "POST") type AllAvailableVehiclesByCriteriaRequest struct { BaseAllAvailableVehiclesRequest Criteria VehicleSearchV3Criteria `json:"criteria"` } func (AllAvailableVehiclesByCriteriaRequest) CreateResponse() (r StockManagementResponse) { return } func (AllAvailableVehiclesByCriteriaRequest) HttpMethod() string { return "POST" }