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
/*
 * 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
 */

/// PackageDetails : Package details. Includes `packageItems`, `packageTimeSlot`, and `packageIdentifier`.



#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct PackageDetails {
    /// A list of items contained in the package.
    #[serde(default, rename = "packageItems", skip_serializing_if = "Option::is_none")]
    pub package_items: Option<Vec<crate::models::Item>>,
    #[serde(default, rename = "packageTimeSlot")]
    pub package_time_slot: Box<crate::models::TimeSlot>,
    /// Optional seller-created identifier that is printed on the shipping label to help the seller identify the package.
    #[serde(default, rename = "packageIdentifier", skip_serializing_if = "Option::is_none")]
    pub package_identifier: Option<String>,
}

impl PackageDetails {
    /// Package details. Includes `packageItems`, `packageTimeSlot`, and `packageIdentifier`.
    pub fn new(package_time_slot: crate::models::TimeSlot) -> PackageDetails {
        PackageDetails {
            package_items: None,
            package_time_slot: Box::new(package_time_slot),
            package_identifier: None,
        }
    }
}