use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PurchaseShipmentRequest {
#[serde(rename = "clientReferenceId")]
pub client_reference_id: String,
#[serde(rename = "shipTo")]
pub ship_to: Box<models::shipping::Address>,
#[serde(rename = "shipFrom")]
pub ship_from: Box<models::shipping::Address>,
#[serde(rename = "shipDate", skip_serializing_if = "Option::is_none")]
pub ship_date: Option<String>,
#[serde(rename = "serviceType")]
pub service_type: models::shipping::ServiceType,
#[serde(rename = "containers")]
pub containers: Vec<models::shipping::Container>,
#[serde(rename = "labelSpecification")]
pub label_specification: Box<models::shipping::LabelSpecification>,
}
impl PurchaseShipmentRequest {
pub fn new(client_reference_id: String, ship_to: models::shipping::Address, ship_from: models::shipping::Address, service_type: models::shipping::ServiceType, containers: Vec<models::shipping::Container>, label_specification: models::shipping::LabelSpecification) -> PurchaseShipmentRequest {
PurchaseShipmentRequest {
client_reference_id,
ship_to: Box::new(ship_to),
ship_from: Box::new(ship_from),
ship_date: None,
service_type,
containers,
label_specification: Box::new(label_specification),
}
}
}