osdm_sys/models/
identification_card.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct IdentificationCard {
17 #[serde(rename = "id")]
19 pub id: String,
20 #[serde(rename = "type")]
22 pub r#type: String,
23 #[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
25 pub name: Option<Option<String>>,
26 #[serde(rename = "nationality", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
28 pub nationality: Option<Option<String>>,
29 #[serde(rename = "birthCity", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
30 pub birth_city: Option<Option<String>>,
31 #[serde(rename = "issuingCity", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
33 pub issuing_city: Option<Option<String>>,
34 #[serde(rename = "residenceCity", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
35 pub residence_city: Option<Option<String>>,
36 #[serde(rename = "birthCountryCode", skip_serializing_if = "Option::is_none")]
38 pub birth_country_code: Option<String>,
39 #[serde(rename = "issuingCountryCode", skip_serializing_if = "Option::is_none")]
41 pub issuing_country_code: Option<String>,
42 #[serde(rename = "residenceCountryCode", skip_serializing_if = "Option::is_none")]
44 pub residence_country_code: Option<String>,
45 #[serde(rename = "issuingDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
46 pub issuing_date: Option<Option<String>>,
47 #[serde(rename = "gender", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
48 pub gender: Option<Option<models::Gender>>,
49 #[serde(rename = "expirationDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
50 pub expiration_date: Option<Option<String>>,
51}
52
53impl IdentificationCard {
54 pub fn new(id: String, r#type: String) -> IdentificationCard {
56 IdentificationCard {
57 id,
58 r#type,
59 name: None,
60 nationality: None,
61 birth_city: None,
62 issuing_city: None,
63 residence_city: None,
64 birth_country_code: None,
65 issuing_country_code: None,
66 residence_country_code: None,
67 issuing_date: None,
68 gender: None,
69 expiration_date: None,
70 }
71 }
72}
73