/*
* Open Logistics — Shiprocket
*
* OpenAPI description of the Shiprocket endpoints wrapped by `open-logistics`. Source of truth for generated Python and Rust clients. Operation IDs and schema field names are intentionally snake_case so every language exposes the same names. Two TypeScript methods (`checkServiceability` and `calculateRates`) call `GET /courier/serviceability`; OpenAPI permits one operation per path + method, so this spec exposes a single `courier_serviceability` operation. Language facades may alias it as `calculate_rates`.
*
* The version of the OpenAPI document: 0.3.0
*
* Generated by: https://openapi-generator.tech
*/
use crate::shiprocket::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct OrderItem {
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "sku")]
pub sku: String,
#[serde(rename = "units")]
pub units: i32,
#[serde(rename = "selling_price")]
pub selling_price: f64,
#[serde(rename = "discount", skip_serializing_if = "Option::is_none")]
pub discount: Option<f64>,
#[serde(rename = "tax", skip_serializing_if = "Option::is_none")]
pub tax: Option<f64>,
#[serde(rename = "hsn", skip_serializing_if = "Option::is_none")]
pub hsn: Option<String>,
}
impl OrderItem {
pub fn new(name: String, sku: String, units: i32, selling_price: f64) -> OrderItem {
OrderItem {
name,
sku,
units,
selling_price,
discount: None,
tax: None,
hsn: None,
}
}
}