use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Vehicle {
#[serde(rename = "make")]
pub make: String,
#[serde(rename = "model")]
pub model: String,
#[serde(rename = "variantName", skip_serializing_if = "Option::is_none")]
pub variant_name: Option<String>,
#[serde(rename = "bodyStyle", skip_serializing_if = "Option::is_none")]
pub body_style: Option<String>,
#[serde(rename = "driveType", skip_serializing_if = "Option::is_none")]
pub drive_type: Option<String>,
#[serde(rename = "energy", skip_serializing_if = "Option::is_none")]
pub energy: Option<String>,
#[serde(rename = "engineOutput", skip_serializing_if = "Option::is_none")]
pub engine_output: Option<Vec<models::vehicles_2024_11_01::EngineOutput>>,
#[serde(rename = "manufacturingStartDate", skip_serializing_if = "Option::is_none")]
pub manufacturing_start_date: Option<Box<models::vehicles_2024_11_01::MonthAndYear>>,
#[serde(rename = "manufacturingStopDate", skip_serializing_if = "Option::is_none")]
pub manufacturing_stop_date: Option<Box<models::vehicles_2024_11_01::MonthAndYear>>,
#[serde(rename = "lastProcessedDate", skip_serializing_if = "Option::is_none")]
pub last_processed_date: Option<String>,
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<models::vehicles_2024_11_01::VehicleStatusInCatalog>,
#[serde(rename = "identifiers")]
pub identifiers: Vec<models::vehicles_2024_11_01::VehicleIdentifiers>,
}
impl Vehicle {
pub fn new(make: String, model: String, identifiers: Vec<models::vehicles_2024_11_01::VehicleIdentifiers>) -> Vehicle {
Vehicle {
make,
model,
variant_name: None,
body_style: None,
drive_type: None,
energy: None,
engine_output: None,
manufacturing_start_date: None,
manufacturing_stop_date: None,
last_processed_date: None,
status: None,
identifiers,
}
}
}