use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ChargeInfo {
#[serde(rename = "chargeFee", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub charge_fee: Option<Option<String>>,
#[serde(rename = "chargeType", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub charge_type: Option<Option<String>>,
#[serde(rename = "isRatingOnSwitch", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub is_rating_on_switch: Option<Option<String>>,
#[serde(rename = "isRatingOnTradeReceiver", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub is_rating_on_trade_receiver: Option<Option<String>>,
#[serde(rename = "originalChargeFee", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub original_charge_fee: Option<Option<String>>,
#[serde(rename = "subFeeDetailList", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub sub_fee_detail_list: Option<Option<Vec<models::SubFee>>>,
#[serde(rename = "switchFeeRate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub switch_fee_rate: Option<Option<String>>,
}
impl ChargeInfo {
pub fn new() -> ChargeInfo {
ChargeInfo {
charge_fee: None,
charge_type: None,
is_rating_on_switch: None,
is_rating_on_trade_receiver: None,
original_charge_fee: None,
sub_fee_detail_list: None,
switch_fee_rate: None,
}
}
}