/* Options: Date: 2026-03-14 10:27:57 Version: 8.10 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://prod-api-agency-orch-mb-dhc.rapp-customers.co.uk //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CarConfiguratorStockRequest.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export interface IPost { } export class BackOrderVehicleDetailsBrand { public Description: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Engine { public Id: number; public Badge: string; public CubicCapacity: number; public Cyclinders: number; public HorsePower: string; public Kw: string; public Selected: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class VehicleAuditDetails { public UserId: string; public Status: boolean; public Notes: string; public CreationDate: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Retailer { public Id: number; public GssnId: string; public Description: string; public Street: string; public City: string; public District: string; public Postcode: string; public GoogleMapPostcode: string; public Phone: string; public Fax: string; public Email: string; public Website: string; public Latitude: number; public Longitude: number; public RetailerGroup_Id?: number; public RetailerGroupId: string; public RetailerGroupName: string; public Distance: number; public PaymentServiceGuid: string; public IsOnline?: boolean; public IsNewCarRetailer?: boolean; public IsUsedCarRetailer?: boolean; public IsCentralRetailer: boolean; public ChatEnabled: boolean; public TradeInEnabled: boolean; public DisplayPhoneNumberNew: string; public DisplayPhoneNumberUsed: string; public Services: RetailerServices; public smart: boolean; public smartDescription: string; public smartWebsite: string; public smartEmail: string; public smartPhone: string; public AdditionalInformation: string; public LegacyId: string; public DriveTime: number; public Agent: boolean; public Port?: number; public PortName: string; public MarketAreaId?: number; public MarketAreaName: string; public MaintenanceDate: string; public MaintenanceSource: string; public STPAccountNumbers: string; public CampaignExcluded?: boolean; public DigitalLoungeParentGssnId: string; public SendLeadsToDigitalLoungeParent: boolean; public IsExcludedFromImport: boolean; public OpeningTimes: RetailerOpeningTimes; public RegionId?: number; public RegionName: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Media { public ImageCount: number; public MainImageUrl: string; public MainImageUrlMobile: string; public NoImage: boolean; public ThreeSixtyDegreeImageUrls: string[]; public ThreeSixtyDegreeMobileImageUrls: string[]; public VehicleImageUrls: string[]; public VehicleMobileImageUrls: string[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Price { public Id: number; public Description: string; public Net: number; public VAT: number; public Gross: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Consumption { public Id: number; public Lkm: number; public Mpg: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EmissionClass { public Colour: string; public Rating: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Equipment { public Id?: number; public Code: string; public Description: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Equipmentv2 extends Equipment { public Importance: number; public IsAdditional: boolean; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class EquipmentCategoryv2 { public Order: number; public Code: string; public Description: string; public Equipment: Equipmentv2[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class VehicleAttribute { public Description: string; public Value: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class IntegratedServiceCareOptions { public OptionCode: string; public BM7NST: string; public FullModelYear: string; public IntegratedProductType: string; public CustomerDescription: string; public OneAgentProductType: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class BackOrderVehicleDetails implements IVehiclePrices, IVehiclePriceCollection, IImageUrl, IVehicleDetails { public Vin: string; public CommissionNumber: string; public Description: string; public ShortDescription: string; public ModelId: number; public Model: string; public FullModelYearCode: string; public BrandId?: number; public Brand: BackOrderVehicleDetailsBrand; public RetailerId: number; public ImageUrl: string; public Colour: string; public ColourCode: string; public FuelType: string; public FuelTypeId: number; public Transmission: string; public TransmissionType: string; public Engine: Engine; public EngineBadge: string; public Package: string; public Line: string; public MappedLine: string; public Upholstery: string; public UpholsteryCode: string; public UsageCode: string; public Account: string; public AccountType: string; public NST: string; public Baumuster: string; public ElectricRange?: number; public ElectricConsumption?: number; public ActualPrice?: number; public OTRPrice: number; public RetailPriceExVat: number; public P11D: number; public VehicleType: string; public UpholsteryDescription: string; public UpholsteryType: string; public BodyStyle: string; public BodyStyleStyleCode: string; public BodyStyleStyleCodeElectric: string; public BodyStyleStyleCodeHybrid: string; public AvailablePackages: string[]; public Mapped_Line?: number; public Secured: boolean; public Bm7NST: string; public IsAvailableOnline: boolean; public IsSpecialistCar: boolean; public IsSellable: boolean; public UnderOffer: boolean; public VehicleAuditDetails: VehicleAuditDetails[]; public Retailer: Retailer; public Media: Media; public Emission?: number; public ColourGroup: string; public VehicleClass: string; public ProductRange: string; public IsHOBackOrderAccountVehicle: boolean; public IsAllocatedToBackOrder: boolean; public InBackOrderAccount: boolean; public DeliveryCharge: number; public DeliveryChargeNet?: number; public DeliveryChargeVAT?: number; public Plates: number; public PlatesNet?: number; public PlatesVAT?: number; public FuelCharge: number; public FuelChargeNet?: number; public FuelChargeVAT?: number; public RetailPrice_ExVAT: number; public RetailPrice_IncVAT: number; public VED_Year1: number; public VED_Year2: number; public FirstRegFee: number; public OTR_Value: number; public OTR: number; public Prices: Price[]; public ProductionDate: string; public PortArrivalDate?: string; public Location: string; public IsDisplayStock: boolean; public DisplayRetailerId?: number; public DisplayRetailer: string; public DisplayRetailerGssnId: string; public DisplayRetailerMarketAreaId?: number; public IsSmartDisplayRetailer?: boolean; public ColourDescription: string; public Creation?: string; public Modified?: string; public VATQualifyingNumber?: number; public VATQualifying: boolean; public CurrentRetailerOfferPrice: number; public GssnId: string; public NoImage: boolean; public RegistrationNumber: string; public RegistrationDate?: string; public Mileage?: number; public TradeInDate?: string; public VID: string; public EmissionCombined: string; public EmissionDirective: string; public NormalisedEmissionDirective: string; public HasMildHybridEquipmentCode: boolean; public Acceleration?: number; public ChassisNumber: string; public NumberOfDoors: string; public NumberOfSeats: string; public SpecialInfo: boolean; public EligibleForIntegratedServiceCare: boolean; public ConsumptionCombined: Consumption; public ConsumptionExtraUrban: Consumption; public ConsumptionUrban: Consumption; public WltpFuelConsumptionCombined: Consumption; public WltpFuelConsumptionExtraHigh: Consumption; public WltpFuelConsumptionHigh: Consumption; public WltpFuelConsumptionLow: Consumption; public WltpFuelConsumptionMedium: Consumption; public EnergyEfficiencyClass: EmissionClass; public Equipment: Equipmentv2[]; public EquipmentAdditional: Equipment[]; public EquipmentCategories: EquipmentCategoryv2[]; public VehicleData: VehicleAttribute[]; public IntegratedServiceCareOptions: IntegratedServiceCareOptions[]; public IspVehicleCustomerDescriptions: string[]; public MarketingCode: string; public EligibleForMaTransfer: boolean; public ConfirmedProductionDate: string; public ForecastedArrivalDate: string; public CesarIdShipToParty: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Package implements IFilters { public Id: number; public Description: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class BackOrderVehicleDetailsWithPackages extends BackOrderVehicleDetails implements IPackages { public Packages: Package[]; public PackageNames: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class CarConfiguratorVehicle extends BackOrderVehicleDetailsWithPackages { public ModelYearCode: string; public HalfModelYearCode: string; public ActiveOffers: number[] = []; public EligibleForMotability: boolean; public NearestPort?: boolean; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class EquipmentCache { public Code: string; public Description: string; public StandardFlag: string; public Price: number; public Category: string; public Importance: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CarConfiguratorStockMatch { public Vehicle: CarConfiguratorVehicle; public IsSellable: boolean; public VehicleWheels: string; public VehicleTrim: string; public VehicleKeyEquipment: EquipmentCache[] = []; public VehicleAdditionalOptionCodes: EquipmentCache[] = []; public FullModelYearDifferences: string[] = []; public PaintDifferences: string[] = []; public UpholsteryDifferences: string[] = []; public WheelDifferences: string[] = []; public TrimDifferences: string[] = []; public EquipmentDifferences: string[] = []; public KeyEquipmentDifferences: string[] = []; public Differences: string[] = []; public ExactMatch: boolean; public OnCarNotConfig: string[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CarConfiguratorStockMatches { public SellableMatches: CarConfiguratorStockMatch[] = []; public NonSellableMatches: CarConfiguratorStockMatch[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Price { public Id: string; public Description: string; public Net: number; public VAT: number; public Gross: number; public Product: OfferPriceProductType; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Retailer { public Id: number; public GssnId: string; public Description: string; public Street: string; public City: string; public Postcode: string; public GoogleMapPostcode: string; public Phone: string; public Fax: string; public Email: string; public Website: string; public RetailerGroupId: string; public RetailerGroupName: string; public IsOnline: boolean; public IsNewCarRetailer: boolean; public IsUsedCarRetailer: boolean; public IsCentralRetailer: boolean; public ChatEnabled: boolean; public TradeInEnabled: boolean; public smart: boolean; public DisplayPhoneNumberNew: string; public DisplayPhoneNumberUsed: string; public Latitude: number; public Longitude: number; public smartDescription: string; public smartWebsite: string; public smartPhone: string; public LegacyId: string; public Agent: boolean; public MarketAreaId: number; public DigitalLoungeParentGssnId: string; public SendLeadsToDigitalLoungeParent: boolean; public OpeningTimes: RetailerOpeningTimes; public RegionId: number; public RegionName: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class VehicleAttribute { public Description: string; public Value: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Engine { public Id: number; public Description: string; public BrandId?: number; public Brand: string; public Badge: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Package { public Id: number; public Description: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Retailer { public Gssn: string; public Description: string; public CampaignExcluded: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Engine { public Id?: number; public Badge: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Media { public NoImage: boolean; public MainImageUrl: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export interface IPackages { Packages: Package[]; } export interface IVehiclePrices { DeliveryCharge: number; DeliveryChargeNet?: number; DeliveryChargeVAT?: number; Plates: number; PlatesNet?: number; PlatesVAT?: number; FuelCharge: number; FuelChargeNet?: number; FuelChargeVAT?: number; RetailPrice_ExVAT: number; RetailPrice_IncVAT: number; VED_Year1: number; VED_Year2: number; FirstRegFee: number; OTR_Value: number; } export interface IVehiclePriceCollection { Prices: Price[]; } export interface IImageUrl { ImageUrl: string; BrandId?: number; VehicleType: string; } export interface IVehicleDetails { SpecialInfo: boolean; NumberOfDoors: string; NumberOfSeats: string; ChassisNumber: string; EligibleForIntegratedServiceCare: boolean; ConsumptionCombined: Consumption; ConsumptionExtraUrban: Consumption; ConsumptionUrban: Consumption; WltpFuelConsumptionCombined: Consumption; WltpFuelConsumptionExtraHigh: Consumption; WltpFuelConsumptionHigh: Consumption; WltpFuelConsumptionLow: Consumption; WltpFuelConsumptionMedium: Consumption; EnergyEfficiencyClass: EmissionClass; Equipment: Equipment[]; EquipmentAdditional: Equipment[]; EquipmentCategories: EquipmentCategoryv2[]; VehicleData: VehicleAttribute[]; IntegratedServiceCareOptions: IntegratedServiceCareOptions[]; IspVehicleCustomerDescriptions: string[]; } export class CarConfiguratorResponse { public Name: string; public KeyInformation: KeyInformation; public OrderingOptions: OrderingOptions; public ResponseStatus: ResponseStatus; public ConfiguratorCode: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CarConfiguratorStockResponse { public TotalVehicles: number; public CarConfiguratorResponse: CarConfiguratorResponse; public ExactMatches: CarConfiguratorStockMatches; public CloseMatches: CarConfiguratorStockMatches; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/v1/CarConfiguratorStock", "POST") export class CarConfiguratorStockRequest implements IReturn, IPost { /** @description The configurator code to search on */ // @ApiMember(Description="The configurator code to search on", IsRequired=true) public ConfiguratorCode: string; /** @description Whether to return sellable vehicles */ // @ApiMember(Description="Whether to return sellable vehicles") public IsSellable?: boolean; /** @description Whether to only get exact matches */ // @ApiMember(Description="Whether to only get exact matches") public ExactMatch: boolean; /** @description Whether to restrict vehicles response to a GSSN */ // @ApiMember(Description="Whether to restrict vehicles response to a GSSN") public GSSN: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'CarConfiguratorStockRequest'; } public getMethod() { return 'POST'; } public createResponse() { return new CarConfiguratorStockResponse(); } }