osdm_sys/models/
passenger.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Passenger {
17 #[serde(rename = "id")]
18 pub id: String,
19 #[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")]
24 pub external_ref: String,
25 #[serde(rename = "dateOfBirth", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
27 pub date_of_birth: Option<Option<String>>,
28 #[serde(rename = "age", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
29 pub age: Option<Option<i32>>,
30 #[serde(rename = "type")]
32 pub r#type: String,
33 #[serde(rename = "cards", skip_serializing_if = "Option::is_none")]
35 pub cards: Option<Vec<models::CardReference>>,
36 #[serde(rename = "gender", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
37 pub gender: Option<Option<models::Gender>>,
38 #[serde(rename = "detail", skip_serializing_if = "Option::is_none")]
39 pub detail: Option<Box<models::PersonDetail>>,
40 #[serde(rename = "identificationCard", skip_serializing_if = "Option::is_none")]
41 pub identification_card: Option<Box<models::IdentificationCard>>,
42 #[serde(rename = "transportableDetails", skip_serializing_if = "Option::is_none")]
43 pub transportable_details: Option<Box<models::Transportable>>,
44 #[serde(rename = "prmNeeds", skip_serializing_if = "Option::is_none")]
46 pub prm_needs: Option<Vec<String>>,
47 #[serde(rename = "_links", skip_serializing_if = "Option::is_none")]
49 pub _links: Option<Vec<models::Link>>,
50}
51
52impl Passenger {
53 pub fn new(id: String, external_ref: String, r#type: String) -> Passenger {
55 Passenger {
56 id,
57 summary: None,
58 external_ref,
59 date_of_birth: None,
60 age: None,
61 r#type,
62 cards: None,
63 gender: None,
64 detail: None,
65 identification_card: None,
66 transportable_details: None,
67 prm_needs: None,
68 _links: None,
69 }
70 }
71}
72