gistools/readers/gbfs/schema_v1/
system_alerts.rs1use alloc::{string::String, vec::Vec};
2use serde::{Deserialize, Serialize};
3
4pub type GBFSSystemAlertsV1 = GBFSSystemAlertsV11;
11
12#[derive(Debug, Default, Clone, Serialize, Deserialize, PartialEq)]
14pub enum GBFSSystemAlertsAlertTypeV11 {
15 #[serde(rename = "SYSTEM_CLOSURE")]
17 SystemClosure,
18 #[serde(rename = "STATION_CLOSURE")]
20 StationClosure,
21 #[serde(rename = "STATION_MOVE")]
23 StationMove,
24 #[default]
26 #[serde(rename = "OTHER")]
27 Other,
28}
29
30#[derive(Debug, Default, Clone, Serialize, Deserialize, PartialEq)]
32pub struct GBFSSystemAlertsAlertTimesV11 {
33 pub start: u64,
35 pub end: Option<u64>,
37}
38
39#[derive(Debug, Default, Clone, Serialize, Deserialize, PartialEq)]
41pub struct GBFSSystemAlertsAlertV1 {
42 pub alert_id: String,
44 pub r#type: GBFSSystemAlertsAlertTypeV11,
46 pub times: Option<Vec<GBFSSystemAlertsAlertTimesV11>>,
48 pub station_ids: Option<Vec<String>>,
50 pub regions_ids: Option<Vec<String>>,
52 pub url: Option<String>,
54 pub summary: String,
56 pub description: Option<String>,
58 pub last_updated: Option<u64>,
60}
61
62#[derive(Debug, Default, Clone, Serialize, Deserialize, PartialEq)]
64pub struct GBFSSystemAlertsAlertsV1 {
65 pub alerts: Vec<GBFSSystemAlertsAlertV1>,
67}
68
69#[derive(Debug, Default, Clone, Serialize, Deserialize, PartialEq)]
71pub struct GBFSSystemAlertsV11 {
72 pub last_updated: u64,
74 pub ttl: u64,
76 pub version: String,
78 pub data: GBFSSystemAlertsAlertsV1,
80}
81
82#[derive(Debug, Default, Clone, Serialize, Deserialize, PartialEq)]
84pub struct GBFSSystemAlertsV10 {
85 pub last_updated: u64,
87 pub ttl: u64,
89 pub data: GBFSSystemAlertsAlertsV1,
91}