/*
* Selling Partner APIs for Fulfillment Outbound
*
* The Selling Partner API for Fulfillment Outbound lets you create applications that help a seller fulfill Multi-Channel Fulfillment orders using their inventory in Amazon's fulfillment network. You can get information on both potential and existing fulfillment orders.
*
* The version of the OpenAPI document: 2020-07-01
*
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
/// FeatureSettings : `FeatureSettings` allows users to apply fulfillment features to an order. To block an order from being shipped using Amazon Logistics (AMZL) and an AMZL tracking number, use `featureName` as `BLOCK_AMZL` and `featureFulfillmentPolicy` as `Required`. Blocking AMZL will incur an additional fee surcharge on your MCF orders and increase the risk of some of your orders being unfulfilled or delivered late if there are no alternative carriers available. Using `BLOCK_AMZL` in an order request will take precedence over your Seller Central account setting. To ship in non-Amazon branded packaging (blank boxes), use featureName `BLANK_BOX`.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct FeatureSettings {
/// The name of the feature.
#[serde(rename = "featureName", skip_serializing_if = "Option::is_none")]
pub feature_name: Option<String>,
/// Specifies the policy to use when fulfilling an order.
#[serde(rename = "featureFulfillmentPolicy", skip_serializing_if = "Option::is_none")]
pub feature_fulfillment_policy: Option<FeatureFulfillmentPolicy>,
}
impl FeatureSettings {
/// `FeatureSettings` allows users to apply fulfillment features to an order. To block an order from being shipped using Amazon Logistics (AMZL) and an AMZL tracking number, use `featureName` as `BLOCK_AMZL` and `featureFulfillmentPolicy` as `Required`. Blocking AMZL will incur an additional fee surcharge on your MCF orders and increase the risk of some of your orders being unfulfilled or delivered late if there are no alternative carriers available. Using `BLOCK_AMZL` in an order request will take precedence over your Seller Central account setting. To ship in non-Amazon branded packaging (blank boxes), use featureName `BLANK_BOX`.
pub fn new() -> FeatureSettings {
FeatureSettings {
feature_name: None,
feature_fulfillment_policy: None,
}
}
}
/// Specifies the policy to use when fulfilling an order.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum FeatureFulfillmentPolicy {
#[serde(rename = "Required")]
Required,
#[serde(rename = "NotRequired")]
NotRequired,
}
impl Default for FeatureFulfillmentPolicy {
fn default() -> FeatureFulfillmentPolicy {
Self::Required
}
}