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
/*
 * Selling Partner API for Fulfillment Inbound
 *
 * The Selling Partner API for Fulfillment Inbound lets you create applications that create and update inbound shipments of inventory to Amazon's fulfillment network.
 *
 * The version of the OpenAPI document: v0
 * 
 * Generated by: https://openapi-generator.tech
 */

/// InboundShipmentPlan : Inbound shipment information used to create an inbound shipment. Returned by the createInboundShipmentPlan operation.



#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct InboundShipmentPlan {
    /// A shipment identifier originally returned by the createInboundShipmentPlan operation.
    #[serde(default, rename = "ShipmentId")]
    pub shipment_id: String,
    /// An Amazon fulfillment center identifier created by Amazon.
    #[serde(default, rename = "DestinationFulfillmentCenterId")]
    pub destination_fulfillment_center_id: String,
    #[serde(default, rename = "ShipToAddress")]
    pub ship_to_address: Box<crate::models::Address>,
    #[serde(default, rename = "LabelPrepType")]
    pub label_prep_type: crate::models::LabelPrepType,
    /// A list of inbound shipment plan item information.
    #[serde(default, rename = "Items")]
    pub items: Vec<crate::models::InboundShipmentPlanItem>,
    #[serde(default, rename = "EstimatedBoxContentsFee", skip_serializing_if = "Option::is_none")]
    pub estimated_box_contents_fee: Option<Box<crate::models::BoxContentsFeeDetails>>,
}

impl InboundShipmentPlan {
    /// Inbound shipment information used to create an inbound shipment. Returned by the createInboundShipmentPlan operation.
    pub fn new(shipment_id: String, destination_fulfillment_center_id: String, ship_to_address: crate::models::Address, label_prep_type: crate::models::LabelPrepType, items: Vec<crate::models::InboundShipmentPlanItem>) -> InboundShipmentPlan {
        InboundShipmentPlan {
            shipment_id,
            destination_fulfillment_center_id,
            ship_to_address: Box::new(ship_to_address),
            label_prep_type,
            items,
            estimated_box_contents_fee: None,
        }
    }
}