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

/// CreateScheduledPackageRequest : The request schema for the `createScheduledPackage` operation.



#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct CreateScheduledPackageRequest {
    /// An Amazon-defined order identifier. Identifies the order that the seller wants to deliver using Amazon Easy Ship.
    #[serde(default, rename = "amazonOrderId")]
    pub amazon_order_id: String,
    /// A string of up to 255 characters.
    #[serde(default, rename = "marketplaceId")]
    pub marketplace_id: String,
    #[serde(default, rename = "packageDetails")]
    pub package_details: Box<crate::models::PackageDetails>,
}

impl CreateScheduledPackageRequest {
    /// The request schema for the `createScheduledPackage` operation.
    pub fn new(amazon_order_id: String, marketplace_id: String, package_details: crate::models::PackageDetails) -> CreateScheduledPackageRequest {
        CreateScheduledPackageRequest {
            amazon_order_id,
            marketplace_id,
            package_details: Box::new(package_details),
        }
    }
}