one-msg-sdk 2.0.1

Official Rust SDK for the 1msg WhatsApp Business API
/*
 * 1MSG WhatsApp Business API (Public)
 *
 * Public client API for sending messages, managing groups, flows, and templates.  This is the API exposed to end customers via platform.1msg.io  **Authentication:** All requests require `token` query parameter with JWT or API key.  **Documentation:** https://help.1msg.io/platform-1msg/getting-start/quick-start **API Docs:** https://docs.1msg.io/ 
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: support@1msg.io
 * Generated by: https://openapi-generator.tech
 */

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

/// SendOrderDetailsRequestOrder : Order payload for the ORDER_DETAILS button. Typical fields: status, items[], subtotal, tax, shipping, discount. Amount objects use `{ \"offset\": 100, \"value\": <minor_units> }` (e.g. value 50000 with offset 100 = ₹500.00). 
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SendOrderDetailsRequestOrder {
    /// Order status
    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
    pub status: Option<String>,
    /// Line items
    #[serde(rename = "items")]
    pub items: Vec<models::SendOrderDetailsRequestOrderItemsInner>,
    #[serde(rename = "subtotal", skip_serializing_if = "Option::is_none")]
    pub subtotal: Option<models::SendOrderDetailsRequestOrderItemsInnerAmount>,
    #[serde(rename = "tax", skip_serializing_if = "Option::is_none")]
    pub tax: Option<std::collections::HashMap<String, serde_json::Value>>,
    #[serde(rename = "shipping", skip_serializing_if = "Option::is_none")]
    pub shipping: Option<std::collections::HashMap<String, serde_json::Value>>,
    #[serde(rename = "discount", skip_serializing_if = "Option::is_none")]
    pub discount: Option<std::collections::HashMap<String, serde_json::Value>>,
}

impl SendOrderDetailsRequestOrder {
    /// Order payload for the ORDER_DETAILS button. Typical fields: status, items[], subtotal, tax, shipping, discount. Amount objects use `{ \"offset\": 100, \"value\": <minor_units> }` (e.g. value 50000 with offset 100 = ₹500.00). 
    pub fn new(items: Vec<models::SendOrderDetailsRequestOrderItemsInner>) -> SendOrderDetailsRequestOrder {
        SendOrderDetailsRequestOrder {
            status: None,
            items,
            subtotal: None,
            tax: None,
            shipping: None,
            discount: None,
        }
    }
}