amazon-spapi 2.0.3

A Rust client library for Amazon Selling Partner API (SP-API)
Documentation
/*
 * Amazon Shipping API
 *
 * The Amazon Shipping API is designed to support outbound shipping use cases both for orders originating on Amazon-owned marketplaces as well as external channels/marketplaces. With these APIs, you can request shipping rates, create shipments, cancel shipments, and track shipments.
 *
 * The version of the OpenAPI document: v2
 * Contact: swa-api-core@amazon.com
 * Generated by: https://openapi-generator.tech
 */

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

/// RateItemId : Unique ID for the rateItem.
/// Unique ID for the rateItem.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum RateItemId {
    #[serde(rename = "BASE_RATE")]
    BaseRate,
    #[serde(rename = "TRANSACTION_FEE")]
    TransactionFee,
    #[serde(rename = "ADULT_SIGNATURE_CONFIRMATION")]
    AdultSignatureConfirmation,
    #[serde(rename = "SIGNATURE_CONFIRMATION")]
    SignatureConfirmation,
    #[serde(rename = "NO_CONFIRMATION")]
    NoConfirmation,
    #[serde(rename = "WAIVE_SIGNATURE")]
    WaiveSignature,
    #[serde(rename = "IMPLIED_LIABILITY")]
    ImpliedLiability,
    #[serde(rename = "HIDDEN_POSTAGE")]
    HiddenPostage,
    #[serde(rename = "DECLARED_VALUE")]
    DeclaredValue,
    #[serde(rename = "SUNDAY_HOLIDAY_DELIVERY")]
    SundayHolidayDelivery,
    #[serde(rename = "DELIVERY_CONFIRMATION")]
    DeliveryConfirmation,
    #[serde(rename = "IMPORT_DUTY_CHARGE")]
    ImportDutyCharge,
    #[serde(rename = "VAT")]
    Vat,
    #[serde(rename = "NO_SATURDAY_DELIVERY")]
    NoSaturdayDelivery,
    #[serde(rename = "INSURANCE")]
    Insurance,
    #[serde(rename = "COD")]
    Cod,
    #[serde(rename = "FUEL_SURCHARGE")]
    FuelSurcharge,
    #[serde(rename = "INSPECTION_CHARGE")]
    InspectionCharge,
    #[serde(rename = "DELIVERY_AREA_SURCHARGE")]
    DeliveryAreaSurcharge,
    #[serde(rename = "WAYBILL_CHARGE")]
    WaybillCharge,
    #[serde(rename = "AMAZON_SPONSORED_DISCOUNT")]
    AmazonSponsoredDiscount,
    #[serde(rename = "INTEGRATOR_SPONSORED_DISCOUNT")]
    IntegratorSponsoredDiscount,
    #[serde(rename = "OVERSIZE_SURCHARGE")]
    OversizeSurcharge,
    #[serde(rename = "CONGESTION_CHARGE")]
    CongestionCharge,
    #[serde(rename = "RESIDENTIAL_SURCHARGE")]
    ResidentialSurcharge,
    #[serde(rename = "ADDITIONAL_SURCHARGE")]
    AdditionalSurcharge,
    #[serde(rename = "SURCHARGE")]
    Surcharge,
    #[serde(rename = "REBATE")]
    Rebate,
    #[serde(rename = "HIGH_CUBE_SURCHARGE")]
    HighCubeSurcharge,
    #[serde(rename = "HIGH_LENGTH_SURCHARGE")]
    HighLengthSurcharge,
    #[serde(rename = "HIGH_WIDTH_SURCHARGE")]
    HighWidthSurcharge,
    #[serde(rename = "DEMAND_SURCHARGE")]
    DemandSurcharge,
    #[serde(rename = "NONSTANDARD_FEE")]
    NonstandardFee,

}

impl std::fmt::Display for RateItemId {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::BaseRate => write!(f, "BASE_RATE"),
            Self::TransactionFee => write!(f, "TRANSACTION_FEE"),
            Self::AdultSignatureConfirmation => write!(f, "ADULT_SIGNATURE_CONFIRMATION"),
            Self::SignatureConfirmation => write!(f, "SIGNATURE_CONFIRMATION"),
            Self::NoConfirmation => write!(f, "NO_CONFIRMATION"),
            Self::WaiveSignature => write!(f, "WAIVE_SIGNATURE"),
            Self::ImpliedLiability => write!(f, "IMPLIED_LIABILITY"),
            Self::HiddenPostage => write!(f, "HIDDEN_POSTAGE"),
            Self::DeclaredValue => write!(f, "DECLARED_VALUE"),
            Self::SundayHolidayDelivery => write!(f, "SUNDAY_HOLIDAY_DELIVERY"),
            Self::DeliveryConfirmation => write!(f, "DELIVERY_CONFIRMATION"),
            Self::ImportDutyCharge => write!(f, "IMPORT_DUTY_CHARGE"),
            Self::Vat => write!(f, "VAT"),
            Self::NoSaturdayDelivery => write!(f, "NO_SATURDAY_DELIVERY"),
            Self::Insurance => write!(f, "INSURANCE"),
            Self::Cod => write!(f, "COD"),
            Self::FuelSurcharge => write!(f, "FUEL_SURCHARGE"),
            Self::InspectionCharge => write!(f, "INSPECTION_CHARGE"),
            Self::DeliveryAreaSurcharge => write!(f, "DELIVERY_AREA_SURCHARGE"),
            Self::WaybillCharge => write!(f, "WAYBILL_CHARGE"),
            Self::AmazonSponsoredDiscount => write!(f, "AMAZON_SPONSORED_DISCOUNT"),
            Self::IntegratorSponsoredDiscount => write!(f, "INTEGRATOR_SPONSORED_DISCOUNT"),
            Self::OversizeSurcharge => write!(f, "OVERSIZE_SURCHARGE"),
            Self::CongestionCharge => write!(f, "CONGESTION_CHARGE"),
            Self::ResidentialSurcharge => write!(f, "RESIDENTIAL_SURCHARGE"),
            Self::AdditionalSurcharge => write!(f, "ADDITIONAL_SURCHARGE"),
            Self::Surcharge => write!(f, "SURCHARGE"),
            Self::Rebate => write!(f, "REBATE"),
            Self::HighCubeSurcharge => write!(f, "HIGH_CUBE_SURCHARGE"),
            Self::HighLengthSurcharge => write!(f, "HIGH_LENGTH_SURCHARGE"),
            Self::HighWidthSurcharge => write!(f, "HIGH_WIDTH_SURCHARGE"),
            Self::DemandSurcharge => write!(f, "DEMAND_SURCHARGE"),
            Self::NonstandardFee => write!(f, "NONSTANDARD_FEE"),
        }
    }
}

impl Default for RateItemId {
    fn default() -> RateItemId {
        Self::BaseRate
    }
}