osdm_sys/models/
customer_complaint.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 CustomerComplaint {
18 #[serde(rename = "applicationTime", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
20 pub application_time: Option<Option<String>>,
21 #[serde(rename = "journeyDetails", skip_serializing_if = "Option::is_none")]
22 pub journey_details: Option<Box<models::ClaimedJourneyDetails>>,
23 #[serde(rename = "claimManager", skip_serializing_if = "Option::is_none")]
24 pub claim_manager: Option<Box<models::PersonDetail>>,
25 #[serde(rename = "affectedPassengers", skip_serializing_if = "Option::is_none")]
26 pub affected_passengers: Option<Vec<models::Passenger>>,
27 #[serde(rename = "supportingDocuments", skip_serializing_if = "Option::is_none")]
28 pub supporting_documents: Option<Vec<models::SupportingDocument>>,
29 #[serde(rename = "bookingIds", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
31 pub booking_ids: Option<Option<Vec<String>>>,
32 #[serde(rename = "ticketControlNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
34 pub ticket_control_number: Option<Option<Vec<String>>>,
35 #[serde(rename = "requestedPaymentType", skip_serializing_if = "Option::is_none")]
36 pub requested_payment_type: Option<String>,
37 #[serde(rename = "bankAccount", skip_serializing_if = "Option::is_none")]
38 pub bank_account: Option<Box<models::BankAccountReference>>,
39}
40
41impl CustomerComplaint {
42 pub fn new() -> CustomerComplaint {
44 CustomerComplaint {
45 application_time: None,
46 journey_details: None,
47 claim_manager: None,
48 affected_passengers: None,
49 supporting_documents: None,
50 booking_ids: None,
51 ticket_control_number: None,
52 requested_payment_type: None,
53 bank_account: None,
54 }
55 }
56}
57