/* Options: Date: 2026-11-12 12:19:05 Version: 10.40 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: CarConfiguratorRequest.* //ExcludeTypes: //DefaultImports: serde::{Deserialize, Serialize},serde_json::Value,std::collections::HashMap */ #![allow( dead_code, non_camel_case_types, non_snake_case, clippy::upper_case_acronyms )] use serde::{Deserialize, Serialize}; use serde_json::Value; use servicestack::*; use std::collections::HashMap; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct KeyInformation { #[serde(rename = "bM7NST")] #[serde(default, skip_serializing_if = "Option::is_none")] pub b_m7_n_s_t: Option, #[serde(rename = "configurationDate")] #[serde(default, skip_serializing_if = "Option::is_none")] pub configuration_date: Option, #[serde(rename = "modelYear")] #[serde(default, skip_serializing_if = "Option::is_none")] pub model_year: Option, #[serde(rename = "halfYear")] #[serde(default, skip_serializing_if = "Option::is_none")] pub half_year: Option, #[serde(rename = "typeClass")] #[serde(default, skip_serializing_if = "Option::is_none")] pub type_class: Option, #[serde(rename = "isPrivateVan")] pub is_private_van: bool, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct EquipmentCache { pub code: String, pub description: String, #[serde(rename = "standardFlag")] pub standard_flag: String, pub price: f64, pub category: String, pub importance: String, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct OrderingOptions { #[serde(default, skip_serializing_if = "Option::is_none")] pub interior: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] pub exterior: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] pub options: Option>, #[serde(rename = "wheelOptions")] pub wheel_options: Vec, #[serde(rename = "trimOptions")] pub trim_options: Vec, #[serde(rename = "equipmentOptionCodes")] pub equipment_option_codes: Vec, #[serde(rename = "optionCodes")] pub option_codes: Vec, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct ResponseStatus { #[serde(rename = "errorCode")] pub error_code: String, #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct ResponseStatus { #[serde(rename = "errorCode")] pub error_code: String, #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, #[serde(rename = "stackTrace")] #[serde(default, skip_serializing_if = "Option::is_none")] pub stack_trace: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub errors: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] pub meta: Option>, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct CarConfiguratorResponse { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, #[serde(rename = "keyInformation")] #[serde(default, skip_serializing_if = "Option::is_none")] pub key_information: Option, #[serde(rename = "orderingOptions")] #[serde(default, skip_serializing_if = "Option::is_none")] pub ordering_options: Option, #[serde(rename = "responseStatus")] pub response_status: ResponseStatus, #[serde(rename = "configuratorCode")] #[serde(default, skip_serializing_if = "Option::is_none")] pub configurator_code: Option, } // Route("/v1/configurator", "POST") #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct CarConfiguratorRequest { /// Configurator code // ApiMember(Description="Configurator code", IsRequired=true) #[serde(rename = "configuratorCode")] pub configurator_code: String, } impl IRequest for CarConfiguratorRequest { const NAME: &'static str = "CarConfiguratorRequest"; const VERB: &'static str = "POST"; } impl IReturn for CarConfiguratorRequest { type Response = CarConfiguratorResponse; }