amazon-spapi 2.0.3

A Rust client library for Amazon Selling Partner API (SP-API)
Documentation
/*
 * Selling Partner APIs for Fulfillment Outbound
 *
 * The Selling Partner API for Fulfillment Outbound lets you create applications that help a seller fulfill Multi-Channel Fulfillment orders using their inventory in Amazon's fulfillment network. You can get information on both potential and existing fulfillment orders.
 *
 * The version of the OpenAPI document: 2020-07-01
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// Fee : Fee type and cost.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Fee {
    /// The type of fee.
    #[serde(rename = "name")]
    pub name: Name,
    #[serde(rename = "amount")]
    pub amount: Box<models::fulfillment_outbound_2020_07_01::Money>,
}

impl Fee {
    /// Fee type and cost.
    pub fn new(name: Name, amount: models::fulfillment_outbound_2020_07_01::Money) -> Fee {
        Fee {
            name,
            amount: Box::new(amount),
        }
    }
}
/// The type of fee.
#[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
    }
}