osdm_sys/models/
trip_summary.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct TripSummary {
17 #[serde(rename = "id")]
19 pub id: String,
20 #[serde(rename = "summary", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
21 pub summary: Option<Option<String>>,
22 #[serde(rename = "externalRef", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
23 pub external_ref: Option<Option<String>>,
24 #[serde(rename = "startTime", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
26 pub start_time: Option<Option<String>>,
27 #[serde(rename = "endTime", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
29 pub end_time: Option<Option<String>>,
30 #[serde(rename = "duration", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
32 pub duration: Option<Option<String>>,
33 #[serde(rename = "origin", skip_serializing_if = "Option::is_none")]
34 pub origin: Option<Box<models::PlaceRef>>,
35 #[serde(rename = "originName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
37 pub origin_name: Option<Option<String>>,
38 #[serde(rename = "destination", skip_serializing_if = "Option::is_none")]
39 pub destination: Option<Box<models::PlaceRef>>,
40 #[serde(rename = "destinationName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
42 pub destination_name: Option<Option<String>>,
43 #[serde(rename = "transfers", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
44 pub transfers: Option<Option<i32>>,
45 #[serde(rename = "distance", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
46 pub distance: Option<Option<i32>>,
47}
48
49impl TripSummary {
50 pub fn new(id: String) -> TripSummary {
52 TripSummary {
53 id,
54 summary: None,
55 external_ref: None,
56 start_time: None,
57 end_time: None,
58 duration: None,
59 origin: None,
60 origin_name: None,
61 destination: None,
62 destination_name: None,
63 transfers: None,
64 distance: None,
65 }
66 }
67}
68