use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct InboundShipmentInfo {
#[serde(rename = "ShipmentId", skip_serializing_if = "Option::is_none")]
pub shipment_id: Option<String>,
#[serde(rename = "ShipmentName", skip_serializing_if = "Option::is_none")]
pub shipment_name: Option<String>,
#[serde(rename = "ShipFromAddress")]
pub ship_from_address: Box<models::fulfillment_inbound_v0::Address>,
#[serde(rename = "DestinationFulfillmentCenterId", skip_serializing_if = "Option::is_none")]
pub destination_fulfillment_center_id: Option<String>,
#[serde(rename = "ShipmentStatus", skip_serializing_if = "Option::is_none")]
pub shipment_status: Option<models::fulfillment_inbound_v0::ShipmentStatus>,
#[serde(rename = "LabelPrepType", skip_serializing_if = "Option::is_none")]
pub label_prep_type: Option<models::fulfillment_inbound_v0::LabelPrepType>,
#[serde(rename = "AreCasesRequired")]
pub are_cases_required: bool,
#[serde(rename = "ConfirmedNeedByDate", skip_serializing_if = "Option::is_none")]
pub confirmed_need_by_date: Option<String>,
#[serde(rename = "BoxContentsSource", skip_serializing_if = "Option::is_none")]
pub box_contents_source: Option<models::fulfillment_inbound_v0::BoxContentsSource>,
#[serde(rename = "EstimatedBoxContentsFee", skip_serializing_if = "Option::is_none")]
pub estimated_box_contents_fee: Option<Box<models::fulfillment_inbound_v0::BoxContentsFeeDetails>>,
}
impl InboundShipmentInfo {
pub fn new(ship_from_address: models::fulfillment_inbound_v0::Address, are_cases_required: bool) -> InboundShipmentInfo {
InboundShipmentInfo {
shipment_id: None,
shipment_name: None,
ship_from_address: Box::new(ship_from_address),
destination_fulfillment_center_id: None,
shipment_status: None,
label_prep_type: None,
are_cases_required,
confirmed_need_by_date: None,
box_contents_source: None,
estimated_box_contents_fee: None,
}
}
}