amazon_spapi/models/merchant_fulfillment_v0/
shipping_service.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct ShippingService {
17 #[serde(rename = "ShippingServiceName")]
19 pub shipping_service_name: String,
20 #[serde(rename = "CarrierName")]
22 pub carrier_name: String,
23 #[serde(rename = "ShippingServiceId")]
25 pub shipping_service_id: String,
26 #[serde(rename = "ShippingServiceOfferId")]
28 pub shipping_service_offer_id: String,
29 #[serde(rename = "ShipDate")]
31 pub ship_date: String,
32 #[serde(rename = "EarliestEstimatedDeliveryDate", skip_serializing_if = "Option::is_none")]
34 pub earliest_estimated_delivery_date: Option<String>,
35 #[serde(rename = "LatestEstimatedDeliveryDate", skip_serializing_if = "Option::is_none")]
37 pub latest_estimated_delivery_date: Option<String>,
38 #[serde(rename = "Rate")]
39 pub rate: Box<models::merchant_fulfillment_v0::CurrencyAmount>,
40 #[serde(rename = "ShippingServiceOptions")]
41 pub shipping_service_options: Box<models::merchant_fulfillment_v0::ShippingServiceOptions>,
42 #[serde(rename = "AvailableShippingServiceOptions", skip_serializing_if = "Option::is_none")]
43 pub available_shipping_service_options: Option<Box<models::merchant_fulfillment_v0::AvailableShippingServiceOptions>>,
44 #[serde(rename = "AvailableLabelFormats", skip_serializing_if = "Option::is_none")]
46 pub available_label_formats: Option<Vec<models::merchant_fulfillment_v0::LabelFormat>>,
47 #[serde(rename = "AvailableFormatOptionsForLabel", skip_serializing_if = "Option::is_none")]
49 pub available_format_options_for_label: Option<Vec<models::merchant_fulfillment_v0::LabelFormatOption>>,
50 #[serde(rename = "RequiresAdditionalSellerInputs")]
52 pub requires_additional_seller_inputs: bool,
53 #[serde(rename = "Benefits", skip_serializing_if = "Option::is_none")]
54 pub benefits: Option<Box<models::merchant_fulfillment_v0::Benefits>>,
55}
56
57impl ShippingService {
58 pub fn new(shipping_service_name: String, carrier_name: String, shipping_service_id: String, shipping_service_offer_id: String, ship_date: String, rate: models::merchant_fulfillment_v0::CurrencyAmount, shipping_service_options: models::merchant_fulfillment_v0::ShippingServiceOptions, requires_additional_seller_inputs: bool) -> ShippingService {
60 ShippingService {
61 shipping_service_name,
62 carrier_name,
63 shipping_service_id,
64 shipping_service_offer_id,
65 ship_date,
66 earliest_estimated_delivery_date: None,
67 latest_estimated_delivery_date: None,
68 rate: Box::new(rate),
69 shipping_service_options: Box::new(shipping_service_options),
70 available_shipping_service_options: None,
71 available_label_formats: None,
72 available_format_options_for_label: None,
73 requires_additional_seller_inputs,
74 benefits: None,
75 }
76 }
77}
78