diff --git a/src/routes/stop_monitoring.rs b/src/routes/stop_monitoring.rs index 844000b..9291bb4 100644 --- a/src/routes/stop_monitoring.rs +++ b/src/routes/stop_monitoring.rs @@ -79,6 +79,7 @@ fn create_monitored_stop_visit( stop_point_name: stop.name.clone(), vehicle_at_stop: None, destination_display: None, + arrival_status: None, aimed_arrival_time: Some(model::DateTime(connection.arr_time)), aimed_departure_time: Some(model::DateTime(connection.dep_time)), expected_arrival_time: updated_connection diff --git a/src/siri_model.rs b/src/siri_model.rs index a6ef1b0..9b81e08 100644 --- a/src/siri_model.rs +++ b/src/siri_model.rs @@ -40,6 +40,19 @@ pub struct StopPointsDelivery { pub annotated_stop_point: Vec, } +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub enum ArrivalStatus { + OnTime, + Early, + Delayed, + Cancelled, + Missed, + Arrived, + NotExpected, + NoReport, +} + #[derive(Debug, Serialize, Deserialize)] #[serde(rename_all = "PascalCase")] pub struct MonitoredCall { @@ -48,7 +61,7 @@ pub struct MonitoredCall { /// true if the vehicle is at the stop #[serde(skip_serializing_if = "Option::is_none")] pub vehicle_at_stop: Option, - /// headsign of the vehicle + /// Destination on the headsign of the vehicle #[serde(skip_serializing_if = "Option::is_none")] pub destination_display: Option, /// Scheduled arrival time @@ -63,6 +76,9 @@ pub struct MonitoredCall { /// Estimated departure time #[serde(skip_serializing_if = "Option::is_none")] pub expected_departure_time: Option, + /// Status on the arrival at the stop + #[serde(skip_serializing_if = "Option::is_none")] + pub arrival_status: Option, } #[derive(Debug, Serialize, Deserialize)] @@ -89,6 +105,7 @@ pub struct MonitoredVehicleJourney { #[serde(skip_serializing_if = "Option::is_none")] pub journey_pattern_ref: Option, pub monitored_call: Option, + // pub onward_calls: Option, } #[derive(Debug, Serialize, Deserialize)]