amazon_spapi/models/vendor_orders/
order_status.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct OrderStatus {
17 #[serde(rename = "purchaseOrderNumber")]
19 pub purchase_order_number: String,
20 #[serde(rename = "purchaseOrderStatus")]
22 pub purchase_order_status: PurchaseOrderStatus,
23 #[serde(rename = "purchaseOrderDate")]
25 pub purchase_order_date: String,
26 #[serde(rename = "lastUpdatedDate", skip_serializing_if = "Option::is_none")]
28 pub last_updated_date: Option<String>,
29 #[serde(rename = "sellingParty")]
30 pub selling_party: Box<models::vendor_orders::PartyIdentification>,
31 #[serde(rename = "shipToParty")]
32 pub ship_to_party: Box<models::vendor_orders::PartyIdentification>,
33 #[serde(rename = "itemStatus")]
35 pub item_status: Vec<models::vendor_orders::OrderItemStatus>,
36}
37
38impl OrderStatus {
39 pub fn new(purchase_order_number: String, purchase_order_status: PurchaseOrderStatus, purchase_order_date: String, selling_party: models::vendor_orders::PartyIdentification, ship_to_party: models::vendor_orders::PartyIdentification, item_status: Vec<models::vendor_orders::OrderItemStatus>) -> OrderStatus {
41 OrderStatus {
42 purchase_order_number,
43 purchase_order_status,
44 purchase_order_date,
45 last_updated_date: None,
46 selling_party: Box::new(selling_party),
47 ship_to_party: Box::new(ship_to_party),
48 item_status,
49 }
50 }
51}
52#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
54pub enum PurchaseOrderStatus {
55 #[serde(rename = "OPEN")]
56 Open,
57 #[serde(rename = "CLOSED")]
58 Closed,
59}
60
61impl Default for PurchaseOrderStatus {
62 fn default() -> PurchaseOrderStatus {
63 Self::Open
64 }
65}
66