osdm_sys/models/
intermediate.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Intermediate {
17 #[serde(rename = "stopPlaceRef")]
18 pub stop_place_ref: Box<models::StopPlaceRef>,
19 #[serde(rename = "stopPlaceName")]
20 pub stop_place_name: String,
21 #[serde(rename = "plannedStopPointName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
23 pub planned_stop_point_name: Option<Option<String>>,
24 #[serde(rename = "estimatedStopPointName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
26 pub estimated_stop_point_name: Option<Option<String>>,
27 #[serde(rename = "serviceArrival")]
28 pub service_arrival: Box<models::ServiceTime>,
29 #[serde(rename = "serviceDeparture")]
30 pub service_departure: Box<models::ServiceTime>,
31 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
32 pub status: Option<Box<models::StopCallStatus>>,
33}
34
35impl Intermediate {
36 pub fn new(stop_place_ref: models::StopPlaceRef, stop_place_name: String, service_arrival: models::ServiceTime, service_departure: models::ServiceTime) -> Intermediate {
38 Intermediate {
39 stop_place_ref: Box::new(stop_place_ref),
40 stop_place_name,
41 planned_stop_point_name: None,
42 estimated_stop_point_name: None,
43 service_arrival: Box::new(service_arrival),
44 service_departure: Box::new(service_departure),
45 status: None,
46 }
47 }
48}
49