use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct InboundOrder {
#[serde(rename = "createdAt")]
pub created_at: String,
#[serde(rename = "destinationDetails", skip_serializing_if = "Option::is_none")]
pub destination_details: Option<Box<models::awd_2024_05_09::DestinationDetails>>,
#[serde(rename = "externalReferenceId", skip_serializing_if = "Option::is_none")]
pub external_reference_id: Option<String>,
#[serde(rename = "orderId")]
pub order_id: String,
#[serde(rename = "orderStatus")]
pub order_status: models::awd_2024_05_09::InboundStatus,
#[serde(rename = "originAddress")]
pub origin_address: Box<models::awd_2024_05_09::Address>,
#[serde(rename = "packagesToInbound")]
pub packages_to_inbound: Vec<models::awd_2024_05_09::DistributionPackageQuantity>,
#[serde(rename = "preferences", skip_serializing_if = "Option::is_none")]
pub preferences: Option<Box<models::awd_2024_05_09::InboundPreferences>>,
#[serde(rename = "updatedAt", skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
}
impl InboundOrder {
pub fn new(created_at: String, order_id: String, order_status: models::awd_2024_05_09::InboundStatus, origin_address: models::awd_2024_05_09::Address, packages_to_inbound: Vec<models::awd_2024_05_09::DistributionPackageQuantity>) -> InboundOrder {
InboundOrder {
created_at,
destination_details: None,
external_reference_id: None,
order_id,
order_status,
origin_address: Box::new(origin_address),
packages_to_inbound,
preferences: None,
updated_at: None,
}
}
}