use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ShipmentInformation {
#[serde(rename = "vendorDetails", skip_serializing_if = "Option::is_none")]
pub vendor_details: Option<Box<models::vendor_shipments::VendorDetails>>,
#[serde(rename = "buyerReferenceNumber", skip_serializing_if = "Option::is_none")]
pub buyer_reference_number: Option<String>,
#[serde(rename = "shipToParty", skip_serializing_if = "Option::is_none")]
pub ship_to_party: Option<Box<models::vendor_shipments::PartyIdentification>>,
#[serde(rename = "shipFromParty", skip_serializing_if = "Option::is_none")]
pub ship_from_party: Option<Box<models::vendor_shipments::PartyIdentification>>,
#[serde(rename = "warehouseId", skip_serializing_if = "Option::is_none")]
pub warehouse_id: Option<String>,
#[serde(rename = "masterTrackingId", skip_serializing_if = "Option::is_none")]
pub master_tracking_id: Option<String>,
#[serde(rename = "totalLabelCount", skip_serializing_if = "Option::is_none")]
pub total_label_count: Option<i32>,
#[serde(rename = "shipMode", skip_serializing_if = "Option::is_none")]
pub ship_mode: Option<ShipMode>,
}
impl ShipmentInformation {
pub fn new() -> ShipmentInformation {
ShipmentInformation {
vendor_details: None,
buyer_reference_number: None,
ship_to_party: None,
ship_from_party: None,
warehouse_id: None,
master_tracking_id: None,
total_label_count: None,
ship_mode: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ShipMode {
#[serde(rename = "SmallParcel")]
SmallParcel,
#[serde(rename = "LTL")]
Ltl,
}
impl Default for ShipMode {
fn default() -> ShipMode {
Self::SmallParcel
}
}