use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Package {
#[serde(rename = "dimensions")]
pub dimensions: Box<models::shipping_v2::Dimensions>,
#[serde(rename = "weight")]
pub weight: Box<models::shipping_v2::Weight>,
#[serde(rename = "insuredValue")]
pub insured_value: Box<models::shipping_v2::Currency>,
#[serde(rename = "isHazmat", skip_serializing_if = "Option::is_none")]
pub is_hazmat: Option<bool>,
#[serde(rename = "sellerDisplayName", skip_serializing_if = "Option::is_none")]
pub seller_display_name: Option<String>,
#[serde(rename = "charges", skip_serializing_if = "Option::is_none")]
pub charges: Option<Vec<models::shipping_v2::ChargeComponent>>,
#[serde(rename = "packageClientReferenceId")]
pub package_client_reference_id: String,
#[serde(rename = "items")]
pub items: Vec<models::shipping_v2::Item>,
}
impl Package {
pub fn new(dimensions: models::shipping_v2::Dimensions, weight: models::shipping_v2::Weight, insured_value: models::shipping_v2::Currency, package_client_reference_id: String, items: Vec<models::shipping_v2::Item>) -> Package {
Package {
dimensions: Box::new(dimensions),
weight: Box::new(weight),
insured_value: Box::new(insured_value),
is_hazmat: None,
seller_display_name: None,
charges: None,
package_client_reference_id,
items,
}
}
}