osdm_sys/models/
fulfillment_part.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 FulfillmentPart {
18 #[serde(rename = "fulfillmentMedia", skip_serializing_if = "Option::is_none")]
20 pub fulfillment_media: Option<Vec<String>>,
21 #[serde(rename = "passengerRef", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
23 pub passenger_ref: Option<Option<String>>,
24 #[serde(rename = "controlId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
25 pub control_id: Option<Option<String>>,
26 #[serde(rename = "securityFeatures", skip_serializing_if = "Option::is_none")]
28 pub security_features: Option<Vec<models::FulfillmentItemSecurityFeature>>,
29 #[serde(rename = "securityFeatureLinks", skip_serializing_if = "Option::is_none")]
30 pub security_feature_links: Option<Vec<models::FulfillmentItemSecurityFeatureLinks>>,
31 #[serde(rename = "fulfillmentInformationTexts", skip_serializing_if = "Option::is_none")]
32 pub fulfillment_information_texts: Option<Vec<models::TextElement>>,
33 #[serde(rename = "isMandatory", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
35 pub is_mandatory: Option<Option<bool>>,
36 #[serde(rename = "securePaperOnly", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
38 pub secure_paper_only: Option<Option<bool>>,
39}
40
41impl FulfillmentPart {
42 pub fn new() -> FulfillmentPart {
44 FulfillmentPart {
45 fulfillment_media: None,
46 passenger_ref: None,
47 control_id: None,
48 security_features: None,
49 security_feature_links: None,
50 fulfillment_information_texts: None,
51 is_mandatory: None,
52 secure_paper_only: None,
53 }
54 }
55}
56