use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
pub struct ExchangeBreakdownItem {
#[serde(rename = "exchangeFee")]
pub exchange_fee: Box<models::Price>,
#[serde(rename = "exchangePrice")]
pub exchange_price: Box<models::Price>,
#[serde(rename = "refundableAmount", skip_serializing_if = "Option::is_none")]
pub refundable_amount: Option<Box<models::Price>>,
#[serde(rename = "amountToBePaid", skip_serializing_if = "Option::is_none")]
pub amount_to_be_paid: Option<Box<models::Price>>,
#[serde(rename = "bookingPartIds")]
pub booking_part_ids: Vec<String>,
}
impl ExchangeBreakdownItem {
pub fn new(exchange_fee: models::Price, exchange_price: models::Price, booking_part_ids: Vec<String>) -> ExchangeBreakdownItem {
ExchangeBreakdownItem {
exchange_fee: Box::new(exchange_fee),
exchange_price: Box::new(exchange_price),
refundable_amount: None,
amount_to_be_paid: None,
booking_part_ids,
}
}
}