1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/*
 * Selling Partner API for Easy Ship
 *
 * The Selling Partner API for Easy Ship helps you build applications that help sellers manage and ship Amazon Easy Ship orders.  Your Easy Ship applications can:  * Get available time slots for packages to be scheduled for delivery.  * Schedule, reschedule, and cancel Easy Ship orders.  * Print labels, invoices, and warranties.  See the [Marketplace Support Table](doc:easyship-api-v2022-03-23-use-case-guide#marketplace-support-table) for the differences in Easy Ship operations by marketplace.
 *
 * The version of the OpenAPI document: 2022-03-23
 * Contact: marketplaceapitest@amazon.com
 * Generated by: https://openapi-generator.tech
 */

/// PackageStatus : The status of the package.

/// The status of the package.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum PackageStatus {
    #[serde(rename = "ReadyForPickup")]
    ReadyForPickup,
    #[serde(rename = "PickedUp")]
    PickedUp,
    #[serde(rename = "AtOriginFC")]
    AtOriginFC,
    #[serde(rename = "AtDestinationFC")]
    AtDestinationFC,
    #[serde(rename = "Delivered")]
    Delivered,
    #[serde(rename = "Rejected")]
    Rejected,
    #[serde(rename = "Undeliverable")]
    Undeliverable,
    #[serde(rename = "ReturnedToSeller")]
    ReturnedToSeller,
    #[serde(rename = "LostInTransit")]
    LostInTransit,
    #[serde(rename = "LabelCanceled")]
    LabelCanceled,
    #[serde(rename = "DamagedInTransit")]
    DamagedInTransit,
    #[serde(rename = "OutForDelivery")]
    OutForDelivery,

}

impl ToString for PackageStatus {
    fn to_string(&self) -> String {
        match self {
            Self::ReadyForPickup => String::from("ReadyForPickup"),
            Self::PickedUp => String::from("PickedUp"),
            Self::AtOriginFC => String::from("AtOriginFC"),
            Self::AtDestinationFC => String::from("AtDestinationFC"),
            Self::Delivered => String::from("Delivered"),
            Self::Rejected => String::from("Rejected"),
            Self::Undeliverable => String::from("Undeliverable"),
            Self::ReturnedToSeller => String::from("ReturnedToSeller"),
            Self::LostInTransit => String::from("LostInTransit"),
            Self::LabelCanceled => String::from("LabelCanceled"),
            Self::DamagedInTransit => String::from("DamagedInTransit"),
            Self::OutForDelivery => String::from("OutForDelivery"),
        }
    }
}

impl Default for PackageStatus {
    fn default() -> PackageStatus {
        Self::ReadyForPickup
    }
}