osdm_sys/models/
intermediate.rs

1/*
2 * UIC 90918-10 - OSDM
3 *
4 * Specifications for the OSDM API standard. The OSDM specification supports two modes of operation: Retailer Mode and Distributor Mode. The API works identically in both modes, except that in distributor mode the API also returns fare information.  The following resources are key to get started:    -  [Processes](https://osdm.io/spec/processes/)   -  [Models](https://osdm.io/spec/models/)   -  [Getting started](https://osdm.io/spec/getting-started/) 
5 *
6 * The version of the OpenAPI document: 3.7.0
7 * Contact: osdm@uic.org
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// Intermediate : Describes the situation at a stop or station that lies between the Board and Alight stop or station including time-related information. Provided by OJP. 
15#[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    /// Name of the bay/quay/terminal where to board/alight from the vehicle. According to planned timetable. 
22    #[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    /// Name of the bay/quay/terminal where to board the vehicle. As to the latest realtime status. 
25    #[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    /// Describes the situation at a stop or station that lies between the Board and Alight stop or station including time-related information. Provided by OJP. 
37    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