use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct Channel {
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub application_name: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub scopes: Vec<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct InventoryDimension {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_f64",
deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
)]
pub depth: f64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_f64",
deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
)]
pub length: f64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_f64",
deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
)]
pub weight: f64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_f64",
deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
)]
pub width: f64,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct InventoryFulfillmentCenterQuantity {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub awaiting_quantity: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub committed_quantity: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub fulfillable_quantity: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub internal_transfer_quantity: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub onhand_quantity: i64,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct InventoryLotQuantity {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub awaiting_quantity: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub committed_quantity: i64,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub expiration_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub fulfillable_quantity: i64,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub fulfillable_quantity_by_fulfillment_center: Vec<InventoryFulfillmentCenterQuantity>,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub internal_transfer_quantity: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub lot_number: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub onhand_quantity: i64,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum PackagingAttribute {
#[serde(rename = "Book")]
Book,
#[serde(rename = "CustomDunnage")]
CustomDunnage,
#[serde(rename = "CustomPackaging")]
CustomPackaging,
#[serde(rename = "Foldable")]
Foldable,
#[serde(rename = "Fragile")]
Fragile,
#[serde(rename = "MarketingInsert")]
MarketingInsert,
#[serde(rename = "None")]
None,
#[serde(rename = "Poster")]
Poster,
#[serde(rename = "Stackable")]
Stackable,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for PackagingAttribute {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
PackagingAttribute::Book => "Book",
PackagingAttribute::CustomDunnage => "CustomDunnage",
PackagingAttribute::CustomPackaging => "CustomPackaging",
PackagingAttribute::Foldable => "Foldable",
PackagingAttribute::Fragile => "Fragile",
PackagingAttribute::MarketingInsert => "MarketingInsert",
PackagingAttribute::None => "None",
PackagingAttribute::Poster => "Poster",
PackagingAttribute::Stackable => "Stackable",
PackagingAttribute::Noop => "",
PackagingAttribute::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for PackagingAttribute {
fn default() -> PackagingAttribute {
PackagingAttribute::Noop
}
}
impl PackagingAttribute {
pub fn is_noop(&self) -> bool {
matches!(self, PackagingAttribute::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct Inventory {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dimensions: Option<InventoryDimension>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub fulfillable_quantity_by_fulfillment_center: Vec<InventoryFulfillmentCenterQuantity>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub fulfillable_quantity_by_lot: Vec<InventoryLotQuantity>,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
)]
pub is_active: bool,
#[serde(
default,
deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
)]
pub is_case_pick: bool,
#[serde(
default,
deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
)]
pub is_digital: bool,
#[serde(
default,
deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
)]
pub is_lot: bool,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub packaging_attribute: Option<PackagingAttribute>,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub total_awaiting_quantity: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub total_backordered_quantity: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub total_committed_quantity: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub total_exception_quantity: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub total_fulfillable_quantity: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub total_internal_transfer_quantity: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub total_onhand_quantity: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub total_sellable_quantity: i64,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersEstimationAddress {
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize",
rename = "address1"
)]
pub address_1: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize",
rename = "address2"
)]
pub address_2: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub city: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub company_name: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub country: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub state: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub zip_code: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersEstimateProductInfoModel {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub quantity: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub reference_id: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersEstimateFulfillmentRequestModel {
#[serde()]
pub address: OrdersEstimationAddress,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub products: Vec<OrdersEstimateProductInfoModel>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub shipping_methods: Vec<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersFulfillmentCenter {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersEstimateDetail {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_f64",
deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
)]
pub estimated_price: f64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fulfillment_center: Option<OrdersFulfillmentCenter>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub shipping_method: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersEstimate {
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub estimates: Vec<OrdersEstimateDetail>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersChannelInfo {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum Type {
#[serde(rename = "MarkFor")]
MarkFor,
#[serde(rename = "ShipFrom")]
ShipFrom,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for Type {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Type::MarkFor => "MarkFor",
Type::ShipFrom => "ShipFrom",
Type::Noop => "",
Type::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for Type {
fn default() -> Type {
Type::Noop
}
}
impl Type {
pub fn is_noop(&self) -> bool {
matches!(self, Type::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersRetailerProgramDataAddress {
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize",
rename = "address1"
)]
pub address_1: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize",
rename = "address2"
)]
pub address_2: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub city: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub company_name: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub country: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub state: String,
#[serde(default, skip_serializing_if = "Type::is_noop", rename = "type")]
pub type_: Type,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub zip_code: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersRecipientInfo {
#[serde()]
pub address: OrdersRetailerProgramDataAddress,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub email: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub phone_number: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersProductInfo {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub quantity: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub reference_id: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub sku: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersTag {
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub value: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersRecipient {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub address: Option<OrdersRetailerProgramDataAddress>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub email: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub phone_number: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersStatusDetail {
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub description: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub exception_fulfillment_center_id: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub inventory_id: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersTracking {
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub carrier: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub carrier_service: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub tracking_number: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub tracking_url: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersInventory {
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub expiration_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
)]
pub is_dangerous_goods: bool,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub lot: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub quantity: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub quantity_committed: i64,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub serial_numbers: Vec<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersShipmentProduct {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub inventory_items: Vec<OrdersInventory>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub reference_id: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub sku: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersMeasurements {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub depth_in: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub length_in: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub total_weight_oz: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub width_in: i64,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum Status {
#[serde(rename = "Cancelled")]
Cancelled,
#[serde(rename = "CleanSweeped")]
CleanSweeped,
#[serde(rename = "Completed")]
Completed,
#[serde(rename = "Exception")]
Exception,
#[serde(rename = "ImportReview")]
ImportReview,
#[serde(rename = "LabeledCreated")]
LabeledCreated,
#[serde(rename = "None")]
None,
#[serde(rename = "OnHold")]
OnHold,
#[serde(rename = "Pending")]
Pending,
#[serde(rename = "Processing")]
Processing,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for Status {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Status::Cancelled => "Cancelled",
Status::CleanSweeped => "CleanSweeped",
Status::Completed => "Completed",
Status::Exception => "Exception",
Status::ImportReview => "ImportReview",
Status::LabeledCreated => "LabeledCreated",
Status::None => "None",
Status::OnHold => "OnHold",
Status::Pending => "Pending",
Status::Processing => "Processing",
Status::Noop => "",
Status::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for Status {
fn default() -> Status {
Status::Noop
}
}
impl Status {
pub fn is_noop(&self) -> bool {
matches!(self, Status::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum PackageMaterialType {
#[serde(rename = "Bookfold")]
Bookfold,
#[serde(rename = "Box")]
Box,
#[serde(rename = "BubbleMailer")]
BubbleMailer,
#[serde(rename = "Custom")]
Custom,
#[serde(rename = "FragileBox")]
FragileBox,
#[serde(rename = "OwnContainer")]
OwnContainer,
#[serde(rename = "PolyMailer")]
PolyMailer,
#[serde(rename = "PosterTube")]
PosterTube,
#[serde(rename = "Undefined")]
Undefined,
#[serde(rename = "Unknown")]
Unknown,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for PackageMaterialType {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
PackageMaterialType::Bookfold => "Bookfold",
PackageMaterialType::Box => "Box",
PackageMaterialType::BubbleMailer => "BubbleMailer",
PackageMaterialType::Custom => "Custom",
PackageMaterialType::FragileBox => "FragileBox",
PackageMaterialType::OwnContainer => "OwnContainer",
PackageMaterialType::PolyMailer => "PolyMailer",
PackageMaterialType::PosterTube => "PosterTube",
PackageMaterialType::Undefined => "Undefined",
PackageMaterialType::Unknown => "Unknown",
PackageMaterialType::Noop => "",
PackageMaterialType::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for PackageMaterialType {
fn default() -> PackageMaterialType {
PackageMaterialType::Noop
}
}
impl PackageMaterialType {
pub fn is_noop(&self) -> bool {
matches!(self, PackageMaterialType::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum EstimatedFulfillmentDateStatus {
#[serde(rename = "AwaitingInventoryAllocation")]
AwaitingInventoryAllocation,
#[serde(rename = "AwaitingReset")]
AwaitingReset,
#[serde(rename = "FulfilledLate")]
FulfilledLate,
#[serde(rename = "FulfilledOnTime")]
FulfilledOnTime,
#[serde(rename = "PendingLate")]
PendingLate,
#[serde(rename = "PendingOnTime")]
PendingOnTime,
#[serde(rename = "Unavailable")]
Unavailable,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for EstimatedFulfillmentDateStatus {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
EstimatedFulfillmentDateStatus::AwaitingInventoryAllocation => {
"AwaitingInventoryAllocation"
}
EstimatedFulfillmentDateStatus::AwaitingReset => "AwaitingReset",
EstimatedFulfillmentDateStatus::FulfilledLate => "FulfilledLate",
EstimatedFulfillmentDateStatus::FulfilledOnTime => "FulfilledOnTime",
EstimatedFulfillmentDateStatus::PendingLate => "PendingLate",
EstimatedFulfillmentDateStatus::PendingOnTime => "PendingOnTime",
EstimatedFulfillmentDateStatus::Unavailable => "Unavailable",
EstimatedFulfillmentDateStatus::Noop => "",
EstimatedFulfillmentDateStatus::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for EstimatedFulfillmentDateStatus {
fn default() -> EstimatedFulfillmentDateStatus {
EstimatedFulfillmentDateStatus::Noop
}
}
impl EstimatedFulfillmentDateStatus {
pub fn is_noop(&self) -> bool {
matches!(self, EstimatedFulfillmentDateStatus::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersShipment {
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub actual_fulfillment_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub created_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub estimated_fulfillment_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub estimated_fulfillment_date_status: Option<EstimatedFulfillmentDateStatus>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub gift_message: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_f64",
deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
)]
pub insurance_value: f64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_f64",
deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
)]
pub invoice_amount: f64,
#[serde(
default,
deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
)]
pub is_tracking_uploaded: bool,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub last_update_at: Option<chrono::DateTime<chrono::Utc>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub location: Option<OrdersFulfillmentCenter>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub measurements: Option<OrdersMeasurements>,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub order_id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub package_material_type: Option<PackageMaterialType>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub products: Vec<OrdersShipmentProduct>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub recipient: Option<OrdersRecipient>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub reference_id: String,
#[serde(
default,
deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
)]
pub require_signature: bool,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub ship_option: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<Status>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub status_details: Vec<OrdersStatusDetail>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tracking: Option<OrdersTracking>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum CarrierType {
#[serde(rename = "Freight")]
Freight,
#[serde(rename = "Parcel")]
Parcel,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for CarrierType {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
CarrierType::Freight => "Freight",
CarrierType::Parcel => "Parcel",
CarrierType::Noop => "",
CarrierType::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for CarrierType {
fn default() -> CarrierType {
CarrierType::Noop
}
}
impl CarrierType {
pub fn is_noop(&self) -> bool {
matches!(self, CarrierType::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum PaymentTerm {
#[serde(rename = "Collect")]
Collect,
#[serde(rename = "Prepaid")]
Prepaid,
#[serde(rename = "ThirdParty")]
ThirdParty,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for PaymentTerm {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
PaymentTerm::Collect => "Collect",
PaymentTerm::Prepaid => "Prepaid",
PaymentTerm::ThirdParty => "ThirdParty",
PaymentTerm::Noop => "",
PaymentTerm::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for PaymentTerm {
fn default() -> PaymentTerm {
PaymentTerm::Noop
}
}
impl PaymentTerm {
pub fn is_noop(&self) -> bool {
matches!(self, PaymentTerm::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersShippingTerms {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub carrier_type: Option<CarrierType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub payment_term: Option<PaymentTerm>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersRetailerProgramData {
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub addresses: Vec<OrdersRetailerProgramDataAddress>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub delivery_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub mark_for_store: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub purchase_order_number: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub retailer_program_type: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum OrderStatus {
#[serde(rename = "Cancelled")]
Cancelled,
#[serde(rename = "Exception")]
Exception,
#[serde(rename = "Fulfilled")]
Fulfilled,
#[serde(rename = "ImportReview")]
ImportReview,
#[serde(rename = "PartiallyFulfilled")]
PartiallyFulfilled,
#[serde(rename = "Processing")]
Processing,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for OrderStatus {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
OrderStatus::Cancelled => "Cancelled",
OrderStatus::Exception => "Exception",
OrderStatus::Fulfilled => "Fulfilled",
OrderStatus::ImportReview => "ImportReview",
OrderStatus::PartiallyFulfilled => "PartiallyFulfilled",
OrderStatus::Processing => "Processing",
OrderStatus::Noop => "",
OrderStatus::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for OrderStatus {
fn default() -> OrderStatus {
OrderStatus::Noop
}
}
impl OrderStatus {
pub fn is_noop(&self) -> bool {
matches!(self, OrderStatus::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum OrderType {
#[serde(rename = "B2B")]
B2B,
#[serde(rename = "DTC")]
Dtc,
#[serde(rename = "DropShip")]
DropShip,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for OrderType {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
OrderType::B2B => "B2B",
OrderType::Dtc => "DTC",
OrderType::DropShip => "DropShip",
OrderType::Noop => "",
OrderType::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for OrderType {
fn default() -> OrderType {
OrderType::Noop
}
}
impl OrderType {
pub fn is_noop(&self) -> bool {
matches!(self, OrderType::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct Order {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub channel: Option<OrdersChannelInfo>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub created_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub gift_message: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub order_number: String,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub products: Vec<OrdersProductInfo>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub purchase_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub recipient: Option<OrdersRecipientInfo>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub reference_id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub retailer_program_data: Option<OrdersRetailerProgramData>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub shipments: Vec<OrdersShipment>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub shipping_method: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub shipping_terms: Option<OrdersShippingTerms>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<OrderStatus>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub tags: Vec<OrdersTag>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub type_: Option<OrderType>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersAddProductOrderByModel {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub quantity: i64,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersAddProductOrderByReferenceModel {
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub quantity: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub reference_id: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
#[serde(untagged)]
pub enum OrdersAddProductOrderModelOneOf {
OrdersAddProductOrderByModel(OrdersAddProductOrderByModel),
OrdersAddProductOrderByReferenceModel(OrdersAddProductOrderByReferenceModel),
}
impl OrdersAddProductOrderModelOneOf {
pub fn orders_add_product_order_by_model(&self) -> Option<&OrdersAddProductOrderByModel> {
if let OrdersAddProductOrderModelOneOf::OrdersAddProductOrderByModel(ref_) = self {
return Some(ref_);
}
None
}
pub fn orders_add_product_order_by_reference_model(
&self,
) -> Option<&OrdersAddProductOrderByReferenceModel> {
if let OrdersAddProductOrderModelOneOf::OrdersAddProductOrderByReferenceModel(ref_) = self {
return Some(ref_);
}
None
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersCreateOrderModel {
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub gift_message: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub location_id: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub order_number: String,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub products: Vec<OrdersAddProductOrderModelOneOf>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub purchase_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde()]
pub recipient: OrdersRecipientInfo,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub reference_id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub retailer_program_data: Option<OrdersRetailerProgramData>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub shipping_method: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub shipping_terms: Option<OrdersShippingTerms>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub tags: Vec<OrdersTag>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub type_: Option<OrderType>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum Action {
#[serde(rename = "Cancel")]
Cancel,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for Action {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Action::Cancel => "Cancel",
Action::Noop => "",
Action::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for Action {
fn default() -> Action {
Action::Noop
}
}
impl Action {
pub fn is_noop(&self) -> bool {
matches!(self, Action::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersCanceledShipment {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub action: Option<Action>,
#[serde(
default,
deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
)]
pub is_success: bool,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub reason: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub shipment_id: i64,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum OrdersCanceledOrderStatus {
#[serde(rename = "Failure")]
Failure,
#[serde(rename = "PartialSuccess")]
PartialSuccess,
#[serde(rename = "Success")]
Success,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for OrdersCanceledOrderStatus {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
OrdersCanceledOrderStatus::Failure => "Failure",
OrdersCanceledOrderStatus::PartialSuccess => "PartialSuccess",
OrdersCanceledOrderStatus::Success => "Success",
OrdersCanceledOrderStatus::Noop => "",
OrdersCanceledOrderStatus::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for OrdersCanceledOrderStatus {
fn default() -> OrdersCanceledOrderStatus {
OrdersCanceledOrderStatus::Noop
}
}
impl OrdersCanceledOrderStatus {
pub fn is_noop(&self) -> bool {
matches!(self, OrdersCanceledOrderStatus::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersCanceledOrder {
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub canceled_shipment_results: Vec<OrdersCanceledShipment>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub order: Option<Order>,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub order_id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<OrdersCanceledOrderStatus>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersAddStoreOrderJsonModel {
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub order_json: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersShipmentLog {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub log_type_id: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub log_type_name: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub log_type_text: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub metadata: String,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub timestamp: Option<chrono::DateTime<chrono::Utc>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersCancelShipmentsModel {
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub shipment_ids: Vec<i64>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersCanceledShipments {
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub results: Vec<OrdersCanceledShipment>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersServiceLevelDetail {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct OrdersShipMethodDetail {
#[serde(
default,
deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
)]
pub active: bool,
#[serde(
default,
deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
)]
pub default: bool,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service_level: Option<OrdersServiceLevelDetail>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum ProductActiveStatus {
#[serde(rename = "Active")]
Active,
#[serde(rename = "Any")]
Any,
#[serde(rename = "Inactive")]
Inactive,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for ProductActiveStatus {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
ProductActiveStatus::Active => "Active",
ProductActiveStatus::Any => "Any",
ProductActiveStatus::Inactive => "Inactive",
ProductActiveStatus::Noop => "",
ProductActiveStatus::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for ProductActiveStatus {
fn default() -> ProductActiveStatus {
ProductActiveStatus::Noop
}
}
impl ProductActiveStatus {
pub fn is_noop(&self) -> bool {
matches!(self, ProductActiveStatus::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum ProductBundleStatus {
#[serde(rename = "Any")]
Any,
#[serde(rename = "Bundle")]
Bundle,
#[serde(rename = "NotBundle")]
NotBundle,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for ProductBundleStatus {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
ProductBundleStatus::Any => "Any",
ProductBundleStatus::Bundle => "Bundle",
ProductBundleStatus::NotBundle => "NotBundle",
ProductBundleStatus::Noop => "",
ProductBundleStatus::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for ProductBundleStatus {
fn default() -> ProductBundleStatus {
ProductBundleStatus::Noop
}
}
impl ProductBundleStatus {
pub fn is_noop(&self) -> bool {
matches!(self, ProductBundleStatus::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ProductsChannel {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ProductsInventoryItem {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub quantity: i64,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ProductsFulfillmentCenterQuantity {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub committed_quantity: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub fulfillable_quantity: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub onhand_quantity: i64,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct Product {
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub barcode: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bundle_root_information: Option<OrdersServiceLevelDetail>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub channel: Option<ProductsChannel>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub created_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub fulfillable_inventory_items: Vec<ProductsInventoryItem>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub fulfillable_quantity_by_fulfillment_center: Vec<ProductsFulfillmentCenterQuantity>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub gtin: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub reference_id: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub sku: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub total_committed_quantity: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub total_fulfillable_quantity: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub total_onhand_quantity: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_f64",
deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
)]
pub unit_price: f64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub upc: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ProductsCreateProductModel {
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub barcode: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub gtin: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub reference_id: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub sku: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_f64",
deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
)]
pub unit_price: f64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub upc: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ProductsUpdateProductModel {
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub barcode: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub gtin: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub sku: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_f64",
deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
)]
pub unit_price: f64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub upc: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ReceivingFulfillmentCenter {
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize",
rename = "address1"
)]
pub address_1: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize",
rename = "address2"
)]
pub address_2: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub city: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub country: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub email: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub phone_number: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub state: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub timezone: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub zip_code: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum ReceivingStatus {
#[serde(rename = "Arrived")]
Arrived,
#[serde(rename = "Awaiting")]
Awaiting,
#[serde(rename = "Cancelled")]
Cancelled,
#[serde(rename = "Completed")]
Completed,
#[serde(rename = "Incomplete")]
Incomplete,
#[serde(rename = "PartiallyArrived")]
PartiallyArrived,
#[serde(rename = "Processing")]
Processing,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for ReceivingStatus {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
ReceivingStatus::Arrived => "Arrived",
ReceivingStatus::Awaiting => "Awaiting",
ReceivingStatus::Cancelled => "Cancelled",
ReceivingStatus::Completed => "Completed",
ReceivingStatus::Incomplete => "Incomplete",
ReceivingStatus::PartiallyArrived => "PartiallyArrived",
ReceivingStatus::Processing => "Processing",
ReceivingStatus::Noop => "",
ReceivingStatus::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for ReceivingStatus {
fn default() -> ReceivingStatus {
ReceivingStatus::Noop
}
}
impl ReceivingStatus {
pub fn is_noop(&self) -> bool {
matches!(self, ReceivingStatus::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum ReceivingPackageType {
#[serde(rename = "FloorLoadedContainer")]
FloorLoadedContainer,
#[serde(rename = "Package")]
Package,
#[serde(rename = "Pallet")]
Pallet,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for ReceivingPackageType {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
ReceivingPackageType::FloorLoadedContainer => "FloorLoadedContainer",
ReceivingPackageType::Package => "Package",
ReceivingPackageType::Pallet => "Pallet",
ReceivingPackageType::Noop => "",
ReceivingPackageType::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for ReceivingPackageType {
fn default() -> ReceivingPackageType {
ReceivingPackageType::Noop
}
}
impl ReceivingPackageType {
pub fn is_noop(&self) -> bool {
matches!(self, ReceivingPackageType::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum ReceivingPackingType {
#[serde(rename = "EverythingInOneBox")]
EverythingInOneBox,
#[serde(rename = "MultipleSkuPerBox")]
MultipleSkuPerBox,
#[serde(rename = "OneSkuPerBox")]
OneSkuPerBox,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for ReceivingPackingType {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
ReceivingPackingType::EverythingInOneBox => "EverythingInOneBox",
ReceivingPackingType::MultipleSkuPerBox => "MultipleSkuPerBox",
ReceivingPackingType::OneSkuPerBox => "OneSkuPerBox",
ReceivingPackingType::Noop => "",
ReceivingPackingType::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for ReceivingPackingType {
fn default() -> ReceivingPackingType {
ReceivingPackingType::Noop
}
}
impl ReceivingPackingType {
pub fn is_noop(&self) -> bool {
matches!(self, ReceivingPackingType::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum ReceivingBoxStatus {
#[serde(rename = "Arrived")]
Arrived,
#[serde(rename = "Awaiting")]
Awaiting,
#[serde(rename = "Cancelled")]
Cancelled,
#[serde(rename = "Completed")]
Completed,
#[serde(rename = "Counting")]
Counting,
#[serde(rename = "Stowing")]
Stowing,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for ReceivingBoxStatus {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
ReceivingBoxStatus::Arrived => "Arrived",
ReceivingBoxStatus::Awaiting => "Awaiting",
ReceivingBoxStatus::Cancelled => "Cancelled",
ReceivingBoxStatus::Completed => "Completed",
ReceivingBoxStatus::Counting => "Counting",
ReceivingBoxStatus::Stowing => "Stowing",
ReceivingBoxStatus::Noop => "",
ReceivingBoxStatus::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for ReceivingBoxStatus {
fn default() -> ReceivingBoxStatus {
ReceivingBoxStatus::Noop
}
}
impl ReceivingBoxStatus {
pub fn is_noop(&self) -> bool {
matches!(self, ReceivingBoxStatus::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ReceivingBoxItem {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub inventory_id: i64,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub lot_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub lot_number: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub quantity: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub received_quantity: i64,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ReceivingBox {
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub arrived_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub box_items: Vec<ReceivingBoxItem>,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub box_number: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub box_status: Option<ReceivingBoxStatus>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub counting_started_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub received_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub tracking_number: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ReceivingOrder {
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub box_labels_uri: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub box_packaging_type: Option<ReceivingPackingType>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub boxes: Vec<ReceivingBox>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub expected_arrival_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fulfillment_center: Option<ReceivingFulfillmentCenter>,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub insert_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub last_updated_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub package_type: Option<ReceivingPackageType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<ReceivingStatus>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct Extensions {}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct MicrosoftAspNetCoreMvcValidationProblemDetails {
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub detail: String,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub errors: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub extensions: Option<Extensions>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub instance: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub status: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub title: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize",
rename = "type"
)]
pub type_: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ReceivingAssignOrderFulfillmentCenterModel {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ReceivingAddBoxItemModel {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub inventory_id: i64,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub lot_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub lot_number: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub quantity: i64,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ReceivingAddBoxOrderModel {
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub box_items: Vec<ReceivingAddBoxItemModel>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub tracking_number: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ReceivingCreateOrderModel {
#[serde()]
pub box_packaging_type: ReceivingPackingType,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub boxes: Vec<ReceivingAddBoxOrderModel>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub expected_arrival_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde()]
pub fulfillment_center: ReceivingAssignOrderFulfillmentCenterModel,
#[serde()]
pub package_type: ReceivingPackageType,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum ReturnStatus {
#[serde(rename = "Arrived")]
Arrived,
#[serde(rename = "AwaitingArrival")]
AwaitingArrival,
#[serde(rename = "Cancelled")]
Cancelled,
#[serde(rename = "Completed")]
Completed,
#[serde(rename = "Processing")]
Processing,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for ReturnStatus {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
ReturnStatus::Arrived => "Arrived",
ReturnStatus::AwaitingArrival => "AwaitingArrival",
ReturnStatus::Cancelled => "Cancelled",
ReturnStatus::Completed => "Completed",
ReturnStatus::Processing => "Processing",
ReturnStatus::Noop => "",
ReturnStatus::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for ReturnStatus {
fn default() -> ReturnStatus {
ReturnStatus::Noop
}
}
impl ReturnStatus {
pub fn is_noop(&self) -> bool {
matches!(self, ReturnStatus::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum ReturnsTransactionLogSource {
#[serde(rename = "ReturnLabelInvoice")]
ReturnLabelInvoice,
#[serde(rename = "ReturnProcessingFee")]
ReturnProcessingFee,
#[serde(rename = "ReturnToSenderFee")]
ReturnToSenderFee,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for ReturnsTransactionLogSource {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
ReturnsTransactionLogSource::ReturnLabelInvoice => "ReturnLabelInvoice",
ReturnsTransactionLogSource::ReturnProcessingFee => "ReturnProcessingFee",
ReturnsTransactionLogSource::ReturnToSenderFee => "ReturnToSenderFee",
ReturnsTransactionLogSource::Noop => "",
ReturnsTransactionLogSource::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for ReturnsTransactionLogSource {
fn default() -> ReturnsTransactionLogSource {
ReturnsTransactionLogSource::Noop
}
}
impl ReturnsTransactionLogSource {
pub fn is_noop(&self) -> bool {
matches!(self, ReturnsTransactionLogSource::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ReturnsTransaction {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_f64",
deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
)]
pub amount: f64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub transaction_type: Option<ReturnsTransactionLogSource>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ReturnsFulfillmentCenter {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum ReturnAction {
#[serde(rename = "Default")]
Default,
#[serde(rename = "Dispose")]
Dispose,
#[serde(rename = "Quarantine")]
Quarantine,
#[serde(rename = "Restock")]
Restock,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for ReturnAction {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
ReturnAction::Default => "Default",
ReturnAction::Dispose => "Dispose",
ReturnAction::Quarantine => "Quarantine",
ReturnAction::Restock => "Restock",
ReturnAction::Noop => "",
ReturnAction::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for ReturnAction {
fn default() -> ReturnAction {
ReturnAction::Noop
}
}
impl ReturnAction {
pub fn is_noop(&self) -> bool {
matches!(self, ReturnAction::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum ReturnActionSource {
#[serde(rename = "InventoryDefault")]
InventoryDefault,
#[serde(rename = "Override")]
Override,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for ReturnActionSource {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
ReturnActionSource::InventoryDefault => "InventoryDefault",
ReturnActionSource::Override => "Override",
ReturnActionSource::Noop => "",
ReturnActionSource::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for ReturnActionSource {
fn default() -> ReturnActionSource {
ReturnActionSource::Noop
}
}
impl ReturnActionSource {
pub fn is_noop(&self) -> bool {
matches!(self, ReturnActionSource::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ReturnActionRequested {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub action: Option<ReturnAction>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub action_type: Option<ReturnActionSource>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub instructions: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ReturnActionTaken {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub action: Option<ReturnAction>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub action_reason: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub quantity_processed: i64,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ReturnsInventoryItem {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub action_requested: Option<ReturnActionRequested>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub action_taken: Vec<ReturnActionTaken>,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub quantity: i64,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum ReturnType {
#[serde(rename = "Regular")]
Regular,
#[serde(rename = "ReturnToSender")]
ReturnToSender,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for ReturnType {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
ReturnType::Regular => "Regular",
ReturnType::ReturnToSender => "ReturnToSender",
ReturnType::Noop => "",
ReturnType::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for ReturnType {
fn default() -> ReturnType {
ReturnType::Noop
}
}
impl ReturnType {
pub fn is_noop(&self) -> bool {
matches!(self, ReturnType::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ReturnOrder {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub channel: Option<OrdersChannelInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fulfillment_center: Option<ReturnsFulfillmentCenter>,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub insert_date: Option<chrono::DateTime<chrono::Utc>>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub inventory: Vec<ReturnsInventoryItem>,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_f64",
deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
)]
pub invoice_amount: f64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub original_shipment_id: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub reference_id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub return_type: Option<ReturnType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<ReturnStatus>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub tracking_number: String,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub transactions: Vec<ReturnsTransaction>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ReturnInventory {
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub quantity: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requested_action: Option<ReturnAction>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ReturnsCreateReturn {
#[serde()]
pub fulfillment_center: ReturnsFulfillmentCenter,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub inventory: Vec<ReturnInventory>,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub original_shipment_id: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub reference_id: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub tracking_number: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum SortOrder {
#[serde(rename = "Newest")]
Newest,
#[serde(rename = "Oldest")]
Oldest,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for SortOrder {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
SortOrder::Newest => "Newest",
SortOrder::Oldest => "Oldest",
SortOrder::Noop => "",
SortOrder::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for SortOrder {
fn default() -> SortOrder {
SortOrder::Noop
}
}
impl SortOrder {
pub fn is_noop(&self) -> bool {
matches!(self, SortOrder::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct ReturnOrderStatusHistory {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<ReturnStatus>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub time_stamp: Option<chrono::DateTime<chrono::Utc>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum WebhooksTopics {
#[serde(rename = "order_shipped")]
OrderShipped,
#[serde(rename = "shipment_delivered")]
ShipmentDelivered,
#[serde(rename = "shipment_exception")]
ShipmentException,
#[serde(rename = "shipment_onhold")]
ShipmentOnhold,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for WebhooksTopics {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
WebhooksTopics::OrderShipped => "order_shipped",
WebhooksTopics::ShipmentDelivered => "shipment_delivered",
WebhooksTopics::ShipmentException => "shipment_exception",
WebhooksTopics::ShipmentOnhold => "shipment_onhold",
WebhooksTopics::Noop => "",
WebhooksTopics::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for WebhooksTopics {
fn default() -> WebhooksTopics {
WebhooksTopics::Noop
}
}
impl WebhooksTopics {
pub fn is_noop(&self) -> bool {
matches!(self, WebhooksTopics::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct Webhook {
#[serde(
default,
skip_serializing_if = "Option::is_none",
deserialize_with = "crate::utils::date_time_format::deserialize"
)]
pub created_at: Option<chrono::DateTime<chrono::Utc>>,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub subscription_url: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub topic: Option<WebhooksTopics>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct WebhooksCreateWebhookSubscriptionModel {
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub subscription_url: String,
#[serde()]
pub topic: WebhooksTopics,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct MicrosoftAspNetCoreMvcProblemDetails {
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize",
rename = "$type"
)]
pub type__: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub detail: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub extensions: Option<Extensions>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub instance: String,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub status: i64,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub title: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize",
rename = "type"
)]
pub type_: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub enum IntegrationsLocationServiceTypeEnum {
#[serde(rename = "Receiving")]
Receiving,
#[serde(rename = "Returns")]
Returns,
#[serde(rename = "")]
Noop,
#[serde(other)]
FallthroughString,
}
impl std::fmt::Display for IntegrationsLocationServiceTypeEnum {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
IntegrationsLocationServiceTypeEnum::Receiving => "Receiving",
IntegrationsLocationServiceTypeEnum::Returns => "Returns",
IntegrationsLocationServiceTypeEnum::Noop => "",
IntegrationsLocationServiceTypeEnum::FallthroughString => "*",
}
.fmt(f)
}
}
impl Default for IntegrationsLocationServiceTypeEnum {
fn default() -> IntegrationsLocationServiceTypeEnum {
IntegrationsLocationServiceTypeEnum::Noop
}
}
impl IntegrationsLocationServiceTypeEnum {
pub fn is_noop(&self) -> bool {
matches!(self, IntegrationsLocationServiceTypeEnum::Noop)
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct IntegrationsLocationAddress {
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize",
rename = "address1"
)]
pub address_1: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize",
rename = "address2"
)]
pub address_2: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub city: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub country: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub email: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub phone_number: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub state: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub zip_code: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct IntegrationsLocationService {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub address: Option<IntegrationsLocationAddress>,
#[serde(
default,
deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
)]
pub enabled: bool,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service_type: Option<IntegrationsLocationServiceTypeEnum>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct IntegrationsLocation {
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize",
rename = "$type"
)]
pub type__: String,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub abbreviation: String,
#[serde(
default,
deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
)]
pub access_granted: bool,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub attributes: Vec<String>,
#[serde(
default,
skip_serializing_if = "crate::utils::zero_i64",
deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
)]
pub id: i64,
#[serde(
default,
deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
)]
pub is_active: bool,
#[serde(
default,
deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
)]
pub is_receiving_enabled: bool,
#[serde(
default,
deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
)]
pub is_shipping_enabled: bool,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<OrdersServiceLevelDetail>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
)]
pub services: Vec<IntegrationsLocationService>,
#[serde(
default,
skip_serializing_if = "String::is_empty",
deserialize_with = "crate::utils::deserialize_null_string::deserialize"
)]
pub timezone: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct IntegrationsLocationInternal {
#[serde(
default,
deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
)]
pub is_enabled_for_new_user: bool,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
pub struct IntegrationsLocationInternalAllOf {
#[serde(flatten)]
pub integrations_location: IntegrationsLocation,
#[serde(flatten)]
pub integrations_location_internal: IntegrationsLocationInternal,
}