/* Options: Date: 2026-10-26 16:44:31 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: AllAvailableVehiclesByCriteriaCsvRequest.* //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 CsvVehicle struct { // @DataMember(Name="Vehicle Type") VehicleType string `json:"Vehicle_Type"` Vid string `json:"vid"` Vin string `json:"vin"` Fin string `json:"fin"` // @DataMember(Name="Comm") Comm string `json:"Comm"` // @DataMember(Name="Chassis Number") ChassisNumber string `json:"Chassis_Number"` // @DataMember(Name="Model Year") ModelYear string `json:"Model_Year"` // @DataMember(Name="Model Year Code") ModelYearCode string `json:"Model_Year_Code"` // @DataMember(Name="Half Model Year Code") HalfModelYearCode string `json:"Half_Model_Year_Code"` // @DataMember(Name="Full Model Year Code") FullModelYearCode string `json:"Full_Model_Year_Code"` // @DataMember(Name="Description") Description string `json:"Description"` // @DataMember(Name="Vehicle Class") VehicleClass string `json:"Vehicle_Class"` // @DataMember(Name="Body Style") BodyStyle string `json:"Body_Style"` Model string `json:"model"` Colour string `json:"colour"` // @DataMember(Name="Colour Group") ColourGroup string `json:"Colour_Group"` // @DataMember(Name="Fuel Type") FuelType string `json:"Fuel_Type"` Transmission string `json:"transmission"` Packages string `json:"packages"` Lines string `json:"lines"` // @DataMember(Name="Product Range") ProductRange string `json:"Product_Range"` Engine string `json:"engine"` IsAMG bool `json:"isAMG,omitempty"` Upholstery string `json:"upholstery"` Nst string `json:"nst"` Baumuster string `json:"baumuster"` Bm7NST string `json:"bm7NST"` Acceleration *float64 `json:"acceleration,omitempty"` // @DataMember(Name="Boot Capacity") BootCapacity *int `json:"Boot_Capacity,omitempty"` // @DataMember(Name="Top Speed") TopSpeed *float64 `json:"Top_Speed,omitempty"` // @DataMember(Name="Drive Concept") DriveConcept string `json:"Drive_Concept"` // @DataMember(Name="Combustion Power HP") CombustionPowerHp *float64 `json:"Combustion_Power_HP,omitempty"` // @DataMember(Name="Electric Power KW") ElectricPowerKw *float64 `json:"Electric_Power_KW,omitempty"` // @DataMember(Name="Electric Power HP") ElectricPowerHp *float64 `json:"Electric_Power_HP,omitempty"` // @DataMember(Name="Combined Power KW") CombinedPowerKw *float64 `json:"Combined_Power_KW,omitempty"` // @DataMember(Name="Combined Power HP") CombinedPowerHp *float64 `json:"Combined_Power_HP,omitempty"` // @DataMember(Name="Electric Range") ElectricRange *float64 `json:"Electric_Range,omitempty"` // @DataMember(Name="Electric Consumption") ElectricConsumption *float64 `json:"Electric_Consumption,omitempty"` // @DataMember(Name="Emission Combined") EmissionCombined string `json:"Emission_Combined"` // @DataMember(Name="Emission Directive") EmissionDirective string `json:"Emission_Directive"` // @DataMember(Name="Emission Extra Urban") EmissionExtraUrban string `json:"Emission_Extra_Urban"` // @DataMember(Name="Emission Urban") EmissionUrban string `json:"Emission_Urban"` Emission *float64 `json:"emission,omitempty"` // @DataMember(Name="Test Standard") TestStandard string `json:"Test_Standard"` // @DataMember(Name="Energy Efficiency Class") EnergyEfficiencyClass string `json:"Energy_Efficiency_Class"` // @DataMember(Name="WLTP Combined") WltpCombined string `json:"WLTP_Combined"` // @DataMember(Name="WLTP Low") WltpLow string `json:"WLTP_Low"` // @DataMember(Name="WLTP Medium") WltpMedium string `json:"WLTP_Medium"` // @DataMember(Name="WLTP High") WltpHigh string `json:"WLTP_High"` // @DataMember(Name="WLTP Extra High") WltpExtraHigh string `json:"WLTP_Extra_High"` // @DataMember(Name="WLTP CO2 Emissions") WltpCO2Emissions string `json:"WLTP_CO2_Emissions"` // @DataMember(Name="Port Arrival Date") PortArrivalDate *time.Time `json:"Port_Arrival_Date,omitempty"` // @DataMember(Name="Creation Date") CreationDate time.Time `json:"Creation_Date,omitempty"` // @DataMember(Name="Maintenance Date") MaintenanceDate *time.Time `json:"Maintenance_Date,omitempty"` // @DataMember(Name="Net Price") NetPrice float64 `json:"Net_Price,omitempty"` // @DataMember(Name="Retail Price") RetailPrice float64 `json:"Retail_Price,omitempty"` // @DataMember(Name="OTR Price") OtrPrice float64 `json:"OTR_Price,omitempty"` // @DataMember(Name="Actual Price") ActualPrice float64 `json:"Actual_Price,omitempty"` // @DataMember(Name="Usage Code") UsageCode string `json:"Usage_Code"` Secured string `json:"secured"` Account string `json:"account"` IsDisplayStock string `json:"isDisplayStock"` // @DataMember(Name="Display Agent") DisplayAgent string `json:"Display_Agent"` IsSpecialistCar string `json:"isSpecialistCar"` CesarIdShipToParty string `json:"cesarIdShipToParty"` IsSellable string `json:"isSellable"` // @DataMember(Name="Under Offer") UnderOffer string `json:"Under_Offer"` // @DataMember(Name="Secured Date") SecuredDate *string `json:"Secured_Date,omitempty"` // @DataMember(Name="Secured Reason") SecuredReason *string `json:"Secured_Reason,omitempty"` // @DataMember(Name="Secured By Gas Id") SecuredByGasId *string `json:"Secured_By_Gas_Id,omitempty"` // @DataMember(Name="Confirmed Production Date") ConfirmedProductionDate *string `json:"Confirmed_Production_Date,omitempty"` // @DataMember(Name="Forecasted Arrival Date") ForecastedArrivalDate *string `json:"Forecasted_Arrival_Date,omitempty"` } type InternalAvailableStockResponse struct { TotalVehicles int `json:"totalVehicles,omitempty"` Vehicles []CsvVehicle `json:"vehicles"` } // @Route("/v1/AllAvailableVehiclesCsv/{vehicleType}/{includeBackOrderAccounts}", "POST") type AllAvailableVehiclesByCriteriaCsvRequest struct { BaseAllAvailableVehiclesRequest Criteria VehicleSearchV3Criteria `json:"criteria"` } func (AllAvailableVehiclesByCriteriaCsvRequest) CreateResponse() (r InternalAvailableStockResponse) { return } func (AllAvailableVehiclesByCriteriaCsvRequest) HttpMethod() string { return "POST" }