1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
17pub enum PredefinedPackageDimensions {
18 #[serde(rename = "FedEx_Box_10kg")]
19 FedExBox10kg,
20 #[serde(rename = "FedEx_Box_25kg")]
21 FedExBox25kg,
22 #[serde(rename = "FedEx_Box_Extra_Large_1")]
23 FedExBoxExtraLarge1,
24 #[serde(rename = "FedEx_Box_Extra_Large_2")]
25 FedExBoxExtraLarge2,
26 #[serde(rename = "FedEx_Box_Large_1")]
27 FedExBoxLarge1,
28 #[serde(rename = "FedEx_Box_Large_2")]
29 FedExBoxLarge2,
30 #[serde(rename = "FedEx_Box_Medium_1")]
31 FedExBoxMedium1,
32 #[serde(rename = "FedEx_Box_Medium_2")]
33 FedExBoxMedium2,
34 #[serde(rename = "FedEx_Box_Small_1")]
35 FedExBoxSmall1,
36 #[serde(rename = "FedEx_Box_Small_2")]
37 FedExBoxSmall2,
38 #[serde(rename = "FedEx_Envelope")]
39 FedExEnvelope,
40 #[serde(rename = "FedEx_Padded_Pak")]
41 FedExPaddedPak,
42 #[serde(rename = "FedEx_Pak_1")]
43 FedExPak1,
44 #[serde(rename = "FedEx_Pak_2")]
45 FedExPak2,
46 #[serde(rename = "FedEx_Tube")]
47 FedExTube,
48 #[serde(rename = "FedEx_XL_Pak")]
49 FedExXlPak,
50 #[serde(rename = "UPS_Box_10kg")]
51 UpsBox10kg,
52 #[serde(rename = "UPS_Box_25kg")]
53 UpsBox25kg,
54 #[serde(rename = "UPS_Express_Box")]
55 UpsExpressBox,
56 #[serde(rename = "UPS_Express_Box_Large")]
57 UpsExpressBoxLarge,
58 #[serde(rename = "UPS_Express_Box_Medium")]
59 UpsExpressBoxMedium,
60 #[serde(rename = "UPS_Express_Box_Small")]
61 UpsExpressBoxSmall,
62 #[serde(rename = "UPS_Express_Envelope")]
63 UpsExpressEnvelope,
64 #[serde(rename = "UPS_Express_Hard_Pak")]
65 UpsExpressHardPak,
66 #[serde(rename = "UPS_Express_Legal_Envelope")]
67 UpsExpressLegalEnvelope,
68 #[serde(rename = "UPS_Express_Pak")]
69 UpsExpressPak,
70 #[serde(rename = "UPS_Express_Tube")]
71 UpsExpressTube,
72 #[serde(rename = "UPS_Laboratory_Pak")]
73 UpsLaboratoryPak,
74 #[serde(rename = "UPS_Pad_Pak")]
75 UpsPadPak,
76 #[serde(rename = "UPS_Pallet")]
77 UpsPallet,
78 #[serde(rename = "USPS_Card")]
79 UspsCard,
80 #[serde(rename = "USPS_Flat")]
81 UspsFlat,
82 #[serde(rename = "USPS_FlatRateCardboardEnvelope")]
83 UspsFlatRateCardboardEnvelope,
84 #[serde(rename = "USPS_FlatRateEnvelope")]
85 UspsFlatRateEnvelope,
86 #[serde(rename = "USPS_FlatRateGiftCardEnvelope")]
87 UspsFlatRateGiftCardEnvelope,
88 #[serde(rename = "USPS_FlatRateLegalEnvelope")]
89 UspsFlatRateLegalEnvelope,
90 #[serde(rename = "USPS_FlatRatePaddedEnvelope")]
91 UspsFlatRatePaddedEnvelope,
92 #[serde(rename = "USPS_FlatRateWindowEnvelope")]
93 UspsFlatRateWindowEnvelope,
94 #[serde(rename = "USPS_LargeFlatRateBoardGameBox")]
95 UspsLargeFlatRateBoardGameBox,
96 #[serde(rename = "USPS_LargeFlatRateBox")]
97 UspsLargeFlatRateBox,
98 #[serde(rename = "USPS_Letter")]
99 UspsLetter,
100 #[serde(rename = "USPS_MediumFlatRateBox1")]
101 UspsMediumFlatRateBox1,
102 #[serde(rename = "USPS_MediumFlatRateBox2")]
103 UspsMediumFlatRateBox2,
104 #[serde(rename = "USPS_RegionalRateBoxA1")]
105 UspsRegionalRateBoxA1,
106 #[serde(rename = "USPS_RegionalRateBoxA2")]
107 UspsRegionalRateBoxA2,
108 #[serde(rename = "USPS_RegionalRateBoxB1")]
109 UspsRegionalRateBoxB1,
110 #[serde(rename = "USPS_RegionalRateBoxB2")]
111 UspsRegionalRateBoxB2,
112 #[serde(rename = "USPS_RegionalRateBoxC")]
113 UspsRegionalRateBoxC,
114 #[serde(rename = "USPS_SmallFlatRateBox")]
115 UspsSmallFlatRateBox,
116 #[serde(rename = "USPS_SmallFlatRateEnvelope")]
117 UspsSmallFlatRateEnvelope,
118
119}
120
121impl std::fmt::Display for PredefinedPackageDimensions {
122 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
123 match self {
124 Self::FedExBox10kg => write!(f, "FedEx_Box_10kg"),
125 Self::FedExBox25kg => write!(f, "FedEx_Box_25kg"),
126 Self::FedExBoxExtraLarge1 => write!(f, "FedEx_Box_Extra_Large_1"),
127 Self::FedExBoxExtraLarge2 => write!(f, "FedEx_Box_Extra_Large_2"),
128 Self::FedExBoxLarge1 => write!(f, "FedEx_Box_Large_1"),
129 Self::FedExBoxLarge2 => write!(f, "FedEx_Box_Large_2"),
130 Self::FedExBoxMedium1 => write!(f, "FedEx_Box_Medium_1"),
131 Self::FedExBoxMedium2 => write!(f, "FedEx_Box_Medium_2"),
132 Self::FedExBoxSmall1 => write!(f, "FedEx_Box_Small_1"),
133 Self::FedExBoxSmall2 => write!(f, "FedEx_Box_Small_2"),
134 Self::FedExEnvelope => write!(f, "FedEx_Envelope"),
135 Self::FedExPaddedPak => write!(f, "FedEx_Padded_Pak"),
136 Self::FedExPak1 => write!(f, "FedEx_Pak_1"),
137 Self::FedExPak2 => write!(f, "FedEx_Pak_2"),
138 Self::FedExTube => write!(f, "FedEx_Tube"),
139 Self::FedExXlPak => write!(f, "FedEx_XL_Pak"),
140 Self::UpsBox10kg => write!(f, "UPS_Box_10kg"),
141 Self::UpsBox25kg => write!(f, "UPS_Box_25kg"),
142 Self::UpsExpressBox => write!(f, "UPS_Express_Box"),
143 Self::UpsExpressBoxLarge => write!(f, "UPS_Express_Box_Large"),
144 Self::UpsExpressBoxMedium => write!(f, "UPS_Express_Box_Medium"),
145 Self::UpsExpressBoxSmall => write!(f, "UPS_Express_Box_Small"),
146 Self::UpsExpressEnvelope => write!(f, "UPS_Express_Envelope"),
147 Self::UpsExpressHardPak => write!(f, "UPS_Express_Hard_Pak"),
148 Self::UpsExpressLegalEnvelope => write!(f, "UPS_Express_Legal_Envelope"),
149 Self::UpsExpressPak => write!(f, "UPS_Express_Pak"),
150 Self::UpsExpressTube => write!(f, "UPS_Express_Tube"),
151 Self::UpsLaboratoryPak => write!(f, "UPS_Laboratory_Pak"),
152 Self::UpsPadPak => write!(f, "UPS_Pad_Pak"),
153 Self::UpsPallet => write!(f, "UPS_Pallet"),
154 Self::UspsCard => write!(f, "USPS_Card"),
155 Self::UspsFlat => write!(f, "USPS_Flat"),
156 Self::UspsFlatRateCardboardEnvelope => write!(f, "USPS_FlatRateCardboardEnvelope"),
157 Self::UspsFlatRateEnvelope => write!(f, "USPS_FlatRateEnvelope"),
158 Self::UspsFlatRateGiftCardEnvelope => write!(f, "USPS_FlatRateGiftCardEnvelope"),
159 Self::UspsFlatRateLegalEnvelope => write!(f, "USPS_FlatRateLegalEnvelope"),
160 Self::UspsFlatRatePaddedEnvelope => write!(f, "USPS_FlatRatePaddedEnvelope"),
161 Self::UspsFlatRateWindowEnvelope => write!(f, "USPS_FlatRateWindowEnvelope"),
162 Self::UspsLargeFlatRateBoardGameBox => write!(f, "USPS_LargeFlatRateBoardGameBox"),
163 Self::UspsLargeFlatRateBox => write!(f, "USPS_LargeFlatRateBox"),
164 Self::UspsLetter => write!(f, "USPS_Letter"),
165 Self::UspsMediumFlatRateBox1 => write!(f, "USPS_MediumFlatRateBox1"),
166 Self::UspsMediumFlatRateBox2 => write!(f, "USPS_MediumFlatRateBox2"),
167 Self::UspsRegionalRateBoxA1 => write!(f, "USPS_RegionalRateBoxA1"),
168 Self::UspsRegionalRateBoxA2 => write!(f, "USPS_RegionalRateBoxA2"),
169 Self::UspsRegionalRateBoxB1 => write!(f, "USPS_RegionalRateBoxB1"),
170 Self::UspsRegionalRateBoxB2 => write!(f, "USPS_RegionalRateBoxB2"),
171 Self::UspsRegionalRateBoxC => write!(f, "USPS_RegionalRateBoxC"),
172 Self::UspsSmallFlatRateBox => write!(f, "USPS_SmallFlatRateBox"),
173 Self::UspsSmallFlatRateEnvelope => write!(f, "USPS_SmallFlatRateEnvelope"),
174 }
175 }
176}
177
178impl Default for PredefinedPackageDimensions {
179 fn default() -> PredefinedPackageDimensions {
180 Self::FedExBox10kg
181 }
182}
183