use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
pub struct CustomerComplaint {
#[serde(rename = "applicationTime", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub application_time: Option<Option<String>>,
#[serde(rename = "journeyDetails", skip_serializing_if = "Option::is_none")]
pub journey_details: Option<Box<models::ClaimedJourneyDetails>>,
#[serde(rename = "claimManager", skip_serializing_if = "Option::is_none")]
pub claim_manager: Option<Box<models::PersonDetail>>,
#[serde(rename = "affectedPassengers", skip_serializing_if = "Option::is_none")]
pub affected_passengers: Option<Vec<models::Passenger>>,
#[serde(rename = "supportingDocuments", skip_serializing_if = "Option::is_none")]
pub supporting_documents: Option<Vec<models::SupportingDocument>>,
#[serde(rename = "bookingIds", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub booking_ids: Option<Option<Vec<String>>>,
#[serde(rename = "ticketControlNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub ticket_control_number: Option<Option<Vec<String>>>,
#[serde(rename = "requestedPaymentType", skip_serializing_if = "Option::is_none")]
pub requested_payment_type: Option<String>,
#[serde(rename = "bankAccount", skip_serializing_if = "Option::is_none")]
pub bank_account: Option<Box<models::BankAccountReference>>,
}
impl CustomerComplaint {
pub fn new() -> CustomerComplaint {
CustomerComplaint {
application_time: None,
journey_details: None,
claim_manager: None,
affected_passengers: None,
supporting_documents: None,
booking_ids: None,
ticket_control_number: None,
requested_payment_type: None,
bank_account: None,
}
}
}