1pub mod gtfs;
4
5use serde::Deserialize;
6use serde_repr::Deserialize_repr;
7
8use self::gtfs::Entity;
9
10#[derive(Debug, Deserialize, Clone)]
11pub struct ATResponse {
12 pub status: String,
13 pub response: Response,
14 pub error: Option<()>,
15}
16
17#[derive(Debug, Deserialize, Clone)]
18pub struct Response {
19 pub header: Header,
20 pub entity: Vec<Entity>,
21}
22
23#[derive(Debug, Deserialize, Clone)]
24pub struct Header {
25 pub gtfs_realtime_version: String,
26 #[serde(default)]
27 pub incrementality: Incrementality,
28 pub timestamp: Option<f64>,
29}
30
31#[derive(Debug, Deserialize_repr, Clone, Copy)]
32#[repr(u8)]
33pub enum Incrementality {
34 FullDataset = 0,
35 Differential = 1,
36}
37
38impl Default for Incrementality {
39 fn default() -> Self {
40 Self::FullDataset
41 }
42}