use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
pub struct ComplaintDecision {
#[serde(rename = "compensationAmount", skip_serializing_if = "Option::is_none")]
pub compensation_amount: Option<Box<models::Price>>,
#[serde(rename = "refundVoucher", skip_serializing_if = "Option::is_none")]
pub refund_voucher: Option<Box<models::FulfillmentDocument>>,
#[serde(rename = "decisionType", skip_serializing_if = "Option::is_none")]
pub decision_type: Option<models::DecisionType>,
#[serde(rename = "explanation", skip_serializing_if = "Option::is_none")]
pub explanation: Option<Box<models::SupportingDocument>>,
#[serde(rename = "shortExplanation", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub short_explanation: Option<Option<String>>,
#[serde(rename = "delayedJourney", skip_serializing_if = "Option::is_none")]
pub delayed_journey: Option<Vec<models::Trip>>,
}
impl ComplaintDecision {
pub fn new() -> ComplaintDecision {
ComplaintDecision {
compensation_amount: None,
refund_voucher: None,
decision_type: None,
explanation: None,
short_explanation: None,
delayed_journey: None,
}
}
}