/* Options: Date: 2026-10-09 22:54:11 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: VehicleByCommissionNumberRequest.* //ExcludeTypes: //DefaultImports: */ package dtos import ( "time" ) type VehicleDataBase struct { Vin string `json:"vin"` Description string `json:"description"` Model string `json:"model"` Otr string `json:"otr"` RetailPriceExVAT string `json:"retailPriceExVAT"` ActualPrice string `json:"actualPrice"` P11D string `json:"p11D"` FuelType string `json:"fuelType"` Transmission string `json:"transmission"` TransmissionType string `json:"transmissionType"` Colour string `json:"colour"` ColourCode string `json:"colourCode"` ColourDescription string `json:"colourDescription"` CommissionNumber string `json:"commissionNumber"` OfferAvailable bool `json:"offerAvailable,omitempty"` CampaignDiscountOfferTotal int `json:"campaignDiscountOfferTotal,omitempty"` CampaignDiscountOfferTotalCurrent int `json:"campaignDiscountOfferTotalCurrent,omitempty"` CampaignDiscountOfferTotalPending int `json:"campaignDiscountOfferTotalPending,omitempty"` CampaignServiceOfferTotal int `json:"campaignServiceOfferTotal,omitempty"` CampaignServiceOfferTotalCurrent int `json:"campaignServiceOfferTotalCurrent,omitempty"` CampaignServiceOfferTotalPending int `json:"campaignServiceOfferTotalPending,omitempty"` CampaignCustomOfferTotal int `json:"campaignCustomOfferTotal,omitempty"` CampaignPersonalisedOfferTotalCurrent int `json:"campaignPersonalisedOfferTotalCurrent,omitempty"` CampaignPersonalisedOfferTotalPending int `json:"campaignPersonalisedOfferTotalPending,omitempty"` CampaignPersonalisedOfferTotal int `json:"campaignPersonalisedOfferTotal,omitempty"` CampaignCustomOfferTotalCurrent int `json:"campaignCustomOfferTotalCurrent,omitempty"` CampaignCustomOfferTotalPending int `json:"campaignCustomOfferTotalPending,omitempty"` CampaignOtherOfferTotal int `json:"campaignOtherOfferTotal,omitempty"` CampaignOtherOfferTotalCurrent int `json:"campaignOtherOfferTotalCurrent,omitempty"` CampaignOtherOfferTotalPending int `json:"campaignOtherOfferTotalPending,omitempty"` RetailerDiscountOfferTotal int `json:"retailerDiscountOfferTotal,omitempty"` RetailerDiscountOfferTotalCurrent int `json:"retailerDiscountOfferTotalCurrent,omitempty"` RetailerDiscountOfferTotalPending int `json:"retailerDiscountOfferTotalPending,omitempty"` RetailerServiceOfferTotal int `json:"retailerServiceOfferTotal,omitempty"` RetailerServiceOfferTotalCurrent int `json:"retailerServiceOfferTotalCurrent,omitempty"` RetailerServiceOfferTotalPending int `json:"retailerServiceOfferTotalPending,omitempty"` RetailerCustomOfferTotal int `json:"retailerCustomOfferTotal,omitempty"` RetailerCustomOfferTotalCurrent int `json:"retailerCustomOfferTotalCurrent,omitempty"` RetailerCustomOfferTotalPending int `json:"retailerCustomOfferTotalPending,omitempty"` RetailerWarrantyOfferTotal int `json:"retailerWarrantyOfferTotal,omitempty"` RetailerWarrantyOfferTotalCurrent int `json:"retailerWarrantyOfferTotalCurrent,omitempty"` RetailerWarrantyOfferTotalPending int `json:"retailerWarrantyOfferTotalPending,omitempty"` RetailerOfferTotal int `json:"retailerOfferTotal,omitempty"` RetailerOfferTotalCurrent int `json:"retailerOfferTotalCurrent,omitempty"` RetailerOfferTotalPending int `json:"retailerOfferTotalPending,omitempty"` CampaignOfferTotal int `json:"campaignOfferTotal,omitempty"` CampaignOfferTotalCurrent int `json:"campaignOfferTotalCurrent,omitempty"` CampaignOfferTotalPending int `json:"campaignOfferTotalPending,omitempty"` CampaignAndOfferTotal int `json:"campaignAndOfferTotal,omitempty"` CampaignAndOfferTotalCurrent int `json:"campaignAndOfferTotalCurrent,omitempty"` CampaignAndOfferTotalPending int `json:"campaignAndOfferTotalPending,omitempty"` OfferTotal int `json:"offerTotal,omitempty"` OfferTotalCurrent int `json:"offerTotalCurrent,omitempty"` OfferTotalPending int `json:"offerTotalPending,omitempty"` Creation string `json:"creation"` Modified string `json:"modified"` ElectricRange int `json:"electricRange,omitempty"` ElectricConsumption int `json:"electricConsumption,omitempty"` PortArrivalDate *time.Time `json:"portArrivalDate,omitempty"` DaysSincePortArrival *int `json:"daysSincePortArrival,omitempty"` RetailPriceIncVAT float64 `json:"retailPriceIncVAT,omitempty"` BodyStyle string `json:"bodyStyle"` Upholstery string `json:"upholstery"` UpholsteryCode string `json:"upholsteryCode"` UpholsteryType string `json:"upholsteryType"` PackageNames []string `json:"packageNames"` Line string `json:"line"` MappedLine string `json:"mappedLine"` CurrentRetailerOfferPrice float64 `json:"currentRetailerOfferPrice,omitempty"` RetailPrice string `json:"retailPrice"` VatQualifying bool `json:"vatQualifying,omitempty"` RetailerId int `json:"retailerId,omitempty"` GssnId string `json:"gssnId"` NoImage bool `json:"noImage,omitempty"` ImageUrl string `json:"imageUrl"` IsAvailableOnline bool `json:"isAvailableOnline,omitempty"` IsBackOrdered bool `json:"isBackOrdered,omitempty"` CreationDate string `json:"creationDate"` MaintenanceDate string `json:"maintenanceDate"` RegistrationNumber string `json:"registrationNumber"` RegistrationDate *time.Time `json:"registrationDate,omitempty"` Mileage *int `json:"mileage,omitempty"` TradeInDate *time.Time `json:"tradeInDate,omitempty"` Source string `json:"source"` VehicleType string `json:"vehicleType"` OfferAmount string `json:"offerAmount"` OfferExpiry string `json:"offerExpiry"` ActiveOffers []int `json:"activeOffers"` CampaignMessagesTotal int `json:"campaignMessagesTotal,omitempty"` UnderOffer bool `json:"underOffer,omitempty"` IsDisplayStock bool `json:"isDisplayStock,omitempty"` DisplayRetailer string `json:"displayRetailer"` DisplayRetailerGssnId string `json:"displayRetailerGssnId"` Location string `json:"location"` Account string `json:"account"` AccountType string `json:"accountType"` UsageCode string `json:"usageCode"` Bm7NST string `json:"bm7NST"` IsSellable bool `json:"isSellable,omitempty"` Secured bool `json:"secured,omitempty"` Specialist bool `json:"specialist,omitempty"` IsMotabilityRetailer bool `json:"isMotabilityRetailer,omitempty"` UpholsteryDescription string `json:"upholsteryDescription"` InBackOrderAccount bool `json:"inBackOrderAccount,omitempty"` FullModelYearCode *string `json:"fullModelYearCode,omitempty"` Baumuster string `json:"baumuster"` IsMotability bool `json:"isMotability,omitempty"` PipAdvanceRentalGross *float64 `json:"pipAdvanceRentalGross,omitempty"` WpmsAdvanceRentalGross *float64 `json:"wpmsAdvanceRentalGross,omitempty"` IspVehicleCustomerDescriptions []string `json:"ispVehicleCustomerDescriptions,omitempty"` EligibleForMaTransfer bool `json:"eligibleForMaTransfer,omitempty"` ConfirmedProductionDate *string `json:"confirmedProductionDate,omitempty"` ForecastedArrivalDate *string `json:"forecastedArrivalDate,omitempty"` } type VehicleData struct { VehicleDataBase Engine string `json:"engine"` } type Equipment struct { Id *int `json:"id,omitempty"` Code *string `json:"code,omitempty"` Description *string `json:"description,omitempty"` } type VehicleIdentifierData struct { VehicleData Retailer string `json:"retailer"` HasMotabilityError bool `json:"hasMotabilityError,omitempty"` Equipment []Equipment `json:"equipment"` VehicleClass *string `json:"vehicleClass,omitempty"` } type OfferVehicle struct { RetailPriceExVAT string `json:"retailPriceExVAT"` } type Offer struct { Id int `json:"id,omitempty"` OfferType string `json:"offerType"` CampaignName string `json:"campaignName"` From string `json:"from"` To string `json:"to"` Value string `json:"value"` Net *float64 `json:"net,omitempty"` OfferVehicle OfferVehicle `json:"offerVehicle"` Pending bool `json:"pending,omitempty"` DocumentUrl string `json:"documentUrl"` Personalised bool `json:"personalised,omitempty"` IsPersonalisedMonetaryOffer bool `json:"isPersonalisedMonetaryOffer,omitempty"` CampaignVIPDiscount bool `json:"campaignVIPDiscount,omitempty"` OfferValueNet *float64 `json:"offerValueNet,omitempty"` CampaignGovernmentGrant bool `json:"campaignGovernmentGrant,omitempty"` } type PersonalisedOffer struct { Offer Category string `json:"category"` Description string `json:"description"` Reference string `json:"reference"` CampaignId int `json:"campaignId,omitempty"` CertificateRequired *bool `json:"certificateRequired,omitempty"` AutoSelect bool `json:"autoSelect,omitempty"` } type Message struct { Id int `json:"id,omitempty"` Vin string `json:"vin"` CampaignId int `json:"campaignId,omitempty"` Value string `json:"value"` CampaignDescription string `json:"campaignDescription"` From string `json:"from"` To string `json:"to"` DocumentUrl string `json:"documentUrl"` } type OfferHistory struct { Id int `json:"id,omitempty"` AuditType string `json:"auditType"` OfferType string `json:"offerType"` Source string `json:"source"` From string `json:"from"` To string `json:"to"` Personalised bool `json:"personalised,omitempty"` Value string `json:"value"` Net string `json:"net"` Vat string `json:"vat"` Description string `json:"description"` Vin string `json:"vin"` Gssn string `json:"gssn"` Creation string `json:"creation"` Modified string `json:"modified"` UserId string `json:"userId"` User int `json:"user,omitempty"` OfferId int `json:"offerId,omitempty"` CommissionNumber string `json:"commissionNumber"` CampaignId *int `json:"campaignId,omitempty"` CampaignDescription string `json:"campaignDescription"` CreationDate time.Time `json:"creationDate,omitempty"` IsUsedCarOffer bool `json:"isUsedCarOffer,omitempty"` } type FinanceOffer struct { CampaignDescription string `json:"campaignDescription"` TermsAndConditions string `json:"termsAndConditions"` Label string `json:"label"` CampaignId int `json:"campaignId,omitempty"` DocumentUrl string `json:"documentUrl"` From string `json:"from"` Id int `json:"id,omitempty"` To string `json:"to"` Value string `json:"value"` Vin string `json:"vin"` Enabled bool `json:"enabled,omitempty"` Pending bool `json:"pending,omitempty"` OfferType string `json:"offerType"` } type VehicleByIdentifierResponse struct { CampaignOffers []Offer `json:"campaignOffers"` CampaignPersonalisedOffers []PersonalisedOffer `json:"campaignPersonalisedOffers"` CampaignVoucherOffers []PersonalisedOffer `json:"campaignVoucherOffers"` CampaignGovernmentGrantOffers []Offer `json:"campaignGovernmentGrantOffers"` CampaignMessages []Message `json:"campaignMessages"` OfferHistories []OfferHistory `json:"offerHistories,omitempty"` FinanceOffers []FinanceOffer `json:"financeOffers,omitempty"` } type VehicleByCommissionNumberResponse struct { VehicleByIdentifierResponse Vehicle VehicleIdentifierData `json:"vehicle"` } // @Route("/v1/{VehicleType}/Vehicle/{vehicleIdentifier}", "GET") type VehicleByCommissionNumberRequest struct { VehicleIdentifier string `json:"vehicleIdentifier"` VehicleType string `json:"vehicleType"` } func (VehicleByCommissionNumberRequest) CreateResponse() (r VehicleByCommissionNumberResponse) { return } func (VehicleByCommissionNumberRequest) HttpMethod() string { return "GET" }