osdm_sys/models/
dated_journey.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
17pub struct DatedJourney {
18 #[serde(rename = "operatingDayRef", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
20 pub operating_day_ref: Option<Option<String>>,
21 #[serde(rename = "mode", skip_serializing_if = "Option::is_none")]
22 pub mode: Option<Box<models::Mode>>,
23 #[serde(rename = "productCategory", skip_serializing_if = "Option::is_none")]
24 pub product_category: Option<Box<models::ProductCategory>>,
25 #[serde(rename = "publishedServiceName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
27 pub published_service_name: Option<Option<String>>,
28 #[serde(rename = "vehicleNumbers")]
29 pub vehicle_numbers: Vec<String>,
30 #[serde(rename = "lineNumbers", skip_serializing_if = "Option::is_none")]
31 pub line_numbers: Option<Vec<String>>,
32 #[serde(rename = "serviceStatus", skip_serializing_if = "Option::is_none")]
33 pub service_status: Option<Box<models::ServiceStatus>>,
34 #[serde(rename = "situationFullRefs", skip_serializing_if = "Option::is_none")]
35 pub situation_full_refs: Option<Vec<String>>,
36 #[serde(rename = "carriers")]
37 pub carriers: Vec<models::NamedCompany>,
38 #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")]
39 pub attributes: Option<Vec<models::GeneralAttribute>>,
40}
41
42impl DatedJourney {
43 pub fn new(vehicle_numbers: Vec<String>, carriers: Vec<models::NamedCompany>) -> DatedJourney {
45 DatedJourney {
46 operating_day_ref: None,
47 mode: None,
48 product_category: None,
49 published_service_name: None,
50 vehicle_numbers,
51 line_numbers: None,
52 service_status: None,
53 situation_full_refs: None,
54 carriers,
55 attributes: None,
56 }
57 }
58}
59