amazon-spapi 2.0.3

A Rust client library for Amazon Selling Partner API (SP-API)
Documentation
/*
 * Selling Partner API for Shipping
 *
 * Provides programmatic access to Amazon Shipping APIs.   **Note:** If you are new to the Amazon Shipping API, refer to the latest version of <a href=\"https://developer-docs.amazon.com/amazon-shipping/docs/shipping-api-v2-reference\">Amazon Shipping API (v2)</a> on the <a href=\"https://developer-docs.amazon.com/amazon-shipping/\">Amazon Shipping Developer Documentation</a> site.
 *
 * The version of the OpenAPI document: v1
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// ServiceRate : The specific rate for a shipping service, or null if no service available.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ServiceRate {
    #[serde(rename = "totalCharge")]
    pub total_charge: Box<models::shipping::Currency>,
    #[serde(rename = "billableWeight")]
    pub billable_weight: Box<models::shipping::Weight>,
    #[serde(rename = "serviceType")]
    pub service_type: models::shipping::ServiceType,
    #[serde(rename = "promise")]
    pub promise: Box<models::shipping::ShippingPromiseSet>,
}

impl ServiceRate {
    /// The specific rate for a shipping service, or null if no service available.
    pub fn new(total_charge: models::shipping::Currency, billable_weight: models::shipping::Weight, service_type: models::shipping::ServiceType, promise: models::shipping::ShippingPromiseSet) -> ServiceRate {
        ServiceRate {
            total_charge: Box::new(total_charge),
            billable_weight: Box::new(billable_weight),
            service_type,
            promise: Box::new(promise),
        }
    }
}