use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Fee {
#[serde(rename = "name")]
pub name: Name,
#[serde(rename = "amount")]
pub amount: Box<models::fulfillment_outbound_2020_07_01::Money>,
}
impl Fee {
pub fn new(name: Name, amount: models::fulfillment_outbound_2020_07_01::Money) -> Fee {
Fee {
name,
amount: Box::new(amount),
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Name {
#[serde(rename = "FBAPerUnitFulfillmentFee")]
FbaPerUnitFulfillmentFee,
#[serde(rename = "FBAPerOrderFulfillmentFee")]
FbaPerOrderFulfillmentFee,
#[serde(rename = "FBATransportationFee")]
FbaTransportationFee,
#[serde(rename = "FBAFulfillmentCODFee")]
FbaFulfillmentCodFee,
}
impl Default for Name {
fn default() -> Name {
Self::FbaPerUnitFulfillmentFee
}
}