osdm_sys/models/
trip_specification.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
17pub struct TripSpecification {
18 #[serde(rename = "externalRef", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
20 pub external_ref: Option<Option<String>>,
21 #[serde(rename = "legs")]
22 pub legs: Vec<models::TripLegSpecification>,
23 #[serde(rename = "isPartOfInternationalTrip", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
24 pub is_part_of_international_trip: Option<Option<bool>>,
25 #[serde(rename = "returnSearchParameters", skip_serializing_if = "Option::is_none")]
26 pub return_search_parameters: Option<Box<models::ReturnSearchParameters>>,
27}
28
29impl TripSpecification {
30 pub fn new(legs: Vec<models::TripLegSpecification>) -> TripSpecification {
32 TripSpecification {
33 external_ref: None,
34 legs,
35 is_part_of_international_trip: None,
36 return_search_parameters: None,
37 }
38 }
39}
40