amazon_spapi/models/vendor_orders/
order_item_acknowledgement.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct OrderItemAcknowledgement {
17 #[serde(rename = "acknowledgementCode")]
19 pub acknowledgement_code: AcknowledgementCode,
20 #[serde(rename = "acknowledgedQuantity")]
21 pub acknowledged_quantity: Box<models::vendor_orders::ItemQuantity>,
22 #[serde(rename = "scheduledShipDate", skip_serializing_if = "Option::is_none")]
24 pub scheduled_ship_date: Option<String>,
25 #[serde(rename = "scheduledDeliveryDate", skip_serializing_if = "Option::is_none")]
27 pub scheduled_delivery_date: Option<String>,
28 #[serde(rename = "rejectionReason", skip_serializing_if = "Option::is_none")]
30 pub rejection_reason: Option<RejectionReason>,
31}
32
33impl OrderItemAcknowledgement {
34 pub fn new(acknowledgement_code: AcknowledgementCode, acknowledged_quantity: models::vendor_orders::ItemQuantity) -> OrderItemAcknowledgement {
36 OrderItemAcknowledgement {
37 acknowledgement_code,
38 acknowledged_quantity: Box::new(acknowledged_quantity),
39 scheduled_ship_date: None,
40 scheduled_delivery_date: None,
41 rejection_reason: None,
42 }
43 }
44}
45#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
47pub enum AcknowledgementCode {
48 #[serde(rename = "Accepted")]
49 Accepted,
50 #[serde(rename = "Backordered")]
51 Backordered,
52 #[serde(rename = "Rejected")]
53 Rejected,
54}
55
56impl Default for AcknowledgementCode {
57 fn default() -> AcknowledgementCode {
58 Self::Accepted
59 }
60}
61#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
63pub enum RejectionReason {
64 #[serde(rename = "TemporarilyUnavailable")]
65 TemporarilyUnavailable,
66 #[serde(rename = "InvalidProductIdentifier")]
67 InvalidProductIdentifier,
68 #[serde(rename = "ObsoleteProduct")]
69 ObsoleteProduct,
70}
71
72impl Default for RejectionReason {
73 fn default() -> RejectionReason {
74 Self::TemporarilyUnavailable
75 }
76}
77