osdm_sys/models/
travel_validity.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct TravelValidity {
17 #[serde(rename = "validTravelDates", skip_serializing_if = "Option::is_none")]
18 pub valid_travel_dates: Option<Box<models::Calendar>>,
19 #[serde(rename = "validityRange")]
20 pub validity_range: Box<models::ValidityRange>,
21 #[serde(rename = "excludedTimeRanges", skip_serializing_if = "Option::is_none")]
23 pub excluded_time_ranges: Option<Vec<models::ExcludedTimeRange>>,
24 #[serde(rename = "numberOfTravelDays", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
26 pub number_of_travel_days: Option<Option<i32>>,
27 #[serde(rename = "returnConstraint", skip_serializing_if = "Option::is_none")]
28 pub return_constraint: Option<Box<models::ReturnConstraint>>,
29 #[serde(rename = "trainValidity", skip_serializing_if = "Option::is_none")]
30 pub train_validity: Option<Box<models::TrainValidity>>,
31 #[serde(rename = "validityType", skip_serializing_if = "Option::is_none")]
33 pub validity_type: Option<String>,
34 #[serde(rename = "tripAllocationConstraint", skip_serializing_if = "Option::is_none")]
35 pub trip_allocation_constraint: Option<Box<models::TripAllocationConstraint>>,
36 #[serde(rename = "tripInterruptionConstraint", skip_serializing_if = "Option::is_none")]
37 pub trip_interruption_constraint: Option<Box<models::TripInterruptionConstraint>>,
38}
39
40impl TravelValidity {
41 pub fn new(validity_range: models::ValidityRange) -> TravelValidity {
43 TravelValidity {
44 valid_travel_dates: None,
45 validity_range: Box::new(validity_range),
46 excluded_time_ranges: None,
47 number_of_travel_days: None,
48 return_constraint: None,
49 train_validity: None,
50 validity_type: None,
51 trip_allocation_constraint: None,
52 trip_interruption_constraint: None,
53 }
54 }
55}
56