use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct InboundShipment {
#[serde(rename = "carrierCode", skip_serializing_if = "Option::is_none")]
pub carrier_code: Option<Box<models::awd_2024_05_09::CarrierCode>>,
#[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "destinationAddress")]
pub destination_address: Box<models::awd_2024_05_09::Address>,
#[serde(rename = "externalReferenceId", skip_serializing_if = "Option::is_none")]
pub external_reference_id: Option<String>,
#[serde(rename = "orderId")]
pub order_id: String,
#[serde(rename = "originAddress")]
pub origin_address: Box<models::awd_2024_05_09::Address>,
#[serde(rename = "receivedQuantity", skip_serializing_if = "Option::is_none")]
pub received_quantity: Option<Vec<models::awd_2024_05_09::InventoryQuantity>>,
#[serde(rename = "shipBy", skip_serializing_if = "Option::is_none")]
pub ship_by: Option<String>,
#[serde(rename = "shipmentContainerQuantities")]
pub shipment_container_quantities: Vec<models::awd_2024_05_09::DistributionPackageQuantity>,
#[serde(rename = "shipmentId")]
pub shipment_id: String,
#[serde(rename = "shipmentSkuQuantities", skip_serializing_if = "Option::is_none")]
pub shipment_sku_quantities: Option<Vec<models::awd_2024_05_09::SkuQuantity>>,
#[serde(rename = "destinationRegion", skip_serializing_if = "Option::is_none")]
pub destination_region: Option<String>,
#[serde(rename = "shipmentStatus")]
pub shipment_status: models::awd_2024_05_09::InboundShipmentStatus,
#[serde(rename = "trackingId", skip_serializing_if = "Option::is_none")]
pub tracking_id: Option<String>,
#[serde(rename = "updatedAt", skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "warehouseReferenceId", skip_serializing_if = "Option::is_none")]
pub warehouse_reference_id: Option<String>,
}
impl InboundShipment {
pub fn new(destination_address: models::awd_2024_05_09::Address, order_id: String, origin_address: models::awd_2024_05_09::Address, shipment_container_quantities: Vec<models::awd_2024_05_09::DistributionPackageQuantity>, shipment_id: String, shipment_status: models::awd_2024_05_09::InboundShipmentStatus) -> InboundShipment {
InboundShipment {
carrier_code: None,
created_at: None,
destination_address: Box::new(destination_address),
external_reference_id: None,
order_id,
origin_address: Box::new(origin_address),
received_quantity: None,
ship_by: None,
shipment_container_quantities,
shipment_id,
shipment_sku_quantities: None,
destination_region: None,
shipment_status,
tracking_id: None,
updated_at: None,
warehouse_reference_id: None,
}
}
}