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};

/// DetailCodes : A list of codes used to provide additional shipment information.
/// A list of codes used to provide additional shipment information.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum DetailCodes {
    #[serde(rename = "BusinessClosed")]
    BusinessClosed,
    #[serde(rename = "CustomerUnavailable")]
    CustomerUnavailable,
    #[serde(rename = "PaymentNotReady")]
    PaymentNotReady,
    #[serde(rename = "OtpNotAvailable")]
    OtpNotAvailable,
    #[serde(rename = "DeliveryAttempted")]
    DeliveryAttempted,
    #[serde(rename = "UnableToAccess")]
    UnableToAccess,
    #[serde(rename = "UnableToContactRecipient")]
    UnableToContactRecipient,
    #[serde(rename = "DeliveredToBehindWheelieBin")]
    DeliveredToBehindWheelieBin,
    #[serde(rename = "DeliveredToPorch")]
    DeliveredToPorch,
    #[serde(rename = "DeliveredToGarage")]
    DeliveredToGarage,
    #[serde(rename = "DeliveredToGarden")]
    DeliveredToGarden,
    #[serde(rename = "DeliveredToGreenhouse")]
    DeliveredToGreenhouse,
    #[serde(rename = "DeliveredToMailSlot")]
    DeliveredToMailSlot,
    #[serde(rename = "DeliveredToMailRoom")]
    DeliveredToMailRoom,
    #[serde(rename = "DeliveredToNeighbor")]
    DeliveredToNeighbor,
    #[serde(rename = "DeliveredToRearDoor")]
    DeliveredToRearDoor,
    #[serde(rename = "DeliveredToReceptionist")]
    DeliveredToReceptionist,
    #[serde(rename = "DeliveredToShed")]
    DeliveredToShed,
    #[serde(rename = "DeliveredWithOTP")]
    DeliveredWithOtp,
    #[serde(rename = "Signed")]
    Signed,
    #[serde(rename = "Damaged")]
    Damaged,
    #[serde(rename = "IncorrectItems")]
    IncorrectItems,
    #[serde(rename = "NotRequired")]
    NotRequired,
    #[serde(rename = "Rejected")]
    Rejected,
    #[serde(rename = "RejectedByRecipientWithVerification")]
    RejectedByRecipientWithVerification,
    #[serde(rename = "CancelledByRecipient")]
    CancelledByRecipient,
    #[serde(rename = "AddressNotFound")]
    AddressNotFound,
    #[serde(rename = "HazmatShipment")]
    HazmatShipment,
    #[serde(rename = "Undeliverable")]
    Undeliverable,
    #[serde(rename = "ArrivedAtLocalFacility")]
    ArrivedAtLocalFacility,

}

impl std::fmt::Display for DetailCodes {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::BusinessClosed => write!(f, "BusinessClosed"),
            Self::CustomerUnavailable => write!(f, "CustomerUnavailable"),
            Self::PaymentNotReady => write!(f, "PaymentNotReady"),
            Self::OtpNotAvailable => write!(f, "OtpNotAvailable"),
            Self::DeliveryAttempted => write!(f, "DeliveryAttempted"),
            Self::UnableToAccess => write!(f, "UnableToAccess"),
            Self::UnableToContactRecipient => write!(f, "UnableToContactRecipient"),
            Self::DeliveredToBehindWheelieBin => write!(f, "DeliveredToBehindWheelieBin"),
            Self::DeliveredToPorch => write!(f, "DeliveredToPorch"),
            Self::DeliveredToGarage => write!(f, "DeliveredToGarage"),
            Self::DeliveredToGarden => write!(f, "DeliveredToGarden"),
            Self::DeliveredToGreenhouse => write!(f, "DeliveredToGreenhouse"),
            Self::DeliveredToMailSlot => write!(f, "DeliveredToMailSlot"),
            Self::DeliveredToMailRoom => write!(f, "DeliveredToMailRoom"),
            Self::DeliveredToNeighbor => write!(f, "DeliveredToNeighbor"),
            Self::DeliveredToRearDoor => write!(f, "DeliveredToRearDoor"),
            Self::DeliveredToReceptionist => write!(f, "DeliveredToReceptionist"),
            Self::DeliveredToShed => write!(f, "DeliveredToShed"),
            Self::DeliveredWithOtp => write!(f, "DeliveredWithOTP"),
            Self::Signed => write!(f, "Signed"),
            Self::Damaged => write!(f, "Damaged"),
            Self::IncorrectItems => write!(f, "IncorrectItems"),
            Self::NotRequired => write!(f, "NotRequired"),
            Self::Rejected => write!(f, "Rejected"),
            Self::RejectedByRecipientWithVerification => write!(f, "RejectedByRecipientWithVerification"),
            Self::CancelledByRecipient => write!(f, "CancelledByRecipient"),
            Self::AddressNotFound => write!(f, "AddressNotFound"),
            Self::HazmatShipment => write!(f, "HazmatShipment"),
            Self::Undeliverable => write!(f, "Undeliverable"),
            Self::ArrivedAtLocalFacility => write!(f, "ArrivedAtLocalFacility"),
        }
    }
}

impl Default for DetailCodes {
    fn default() -> DetailCodes {
        Self::BusinessClosed
    }
}