osdm_sys/models/
timed_leg_specification.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct TimedLegSpecification {
17 #[serde(rename = "start")]
18 pub start: Box<models::BoardSpecification>,
19 #[serde(rename = "intermediates", skip_serializing_if = "Option::is_none")]
20 pub intermediates: Option<Vec<models::IntermediateSpecification>>,
21 #[serde(rename = "end")]
22 pub end: Box<models::AlightSpecification>,
23 #[serde(rename = "service")]
24 pub service: Box<models::DatedJourney>,
25}
26
27impl TimedLegSpecification {
28 pub fn new(start: models::BoardSpecification, end: models::AlightSpecification, service: models::DatedJourney) -> TimedLegSpecification {
30 TimedLegSpecification {
31 start: Box::new(start),
32 intermediates: None,
33 end: Box::new(end),
34 service: Box::new(service),
35 }
36 }
37}
38