use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
pub struct TripSummary {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "summary", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub summary: Option<Option<String>>,
#[serde(rename = "externalRef", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub external_ref: Option<Option<String>>,
#[serde(rename = "startTime", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub start_time: Option<Option<String>>,
#[serde(rename = "endTime", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub end_time: Option<Option<String>>,
#[serde(rename = "duration", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub duration: Option<Option<String>>,
#[serde(rename = "origin", skip_serializing_if = "Option::is_none")]
pub origin: Option<Box<models::PlaceRef>>,
#[serde(rename = "originName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub origin_name: Option<Option<String>>,
#[serde(rename = "destination", skip_serializing_if = "Option::is_none")]
pub destination: Option<Box<models::PlaceRef>>,
#[serde(rename = "destinationName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub destination_name: Option<Option<String>>,
#[serde(rename = "transfers", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub transfers: Option<Option<i32>>,
#[serde(rename = "distance", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub distance: Option<Option<i32>>,
}
impl TripSummary {
pub fn new(id: String) -> TripSummary {
TripSummary {
id,
summary: None,
external_ref: None,
start_time: None,
end_time: None,
duration: None,
origin: None,
origin_name: None,
destination: None,
destination_name: None,
transfers: None,
distance: None,
}
}
}