open-logistics 0.2.2

Rust client for the Open Logistics Shiprocket and Delhivery APIs.
Documentation
/*
 * Open Logistics — Delhivery
 *
 * OpenAPI description of the Delhivery B2C 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.  Delhivery overloads `POST /api/p/edit` for update and cancel, and `GET /api/v1/packages/json/` for single, order, and bulk tracking. OpenAPI permits one operation per path + method, so this spec exposes `orders_edit` and `tracking_fetch`; language facades may alias them as `update`, `cancel`, `by_waybill`, `by_order_id`, and `by_waybills`. 
 *
 * The version of the OpenAPI document: 0.2.2
 * 
 * Generated by: https://openapi-generator.tech
 */

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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct DelhiveryPostalCodeServiceability {
    /// Fields the schema allows but does not enumerate.
    #[serde(flatten)]
    pub additional_properties: std::collections::HashMap<String, serde_json::Value>,

    #[serde(rename = "city", skip_serializing_if = "Option::is_none")]
    pub city: Option<String>,
    #[serde(rename = "cod", skip_serializing_if = "Option::is_none")]
    pub cod: Option<String>,
    #[serde(rename = "inc", skip_serializing_if = "Option::is_none")]
    pub inc: Option<String>,
    #[serde(rename = "district", skip_serializing_if = "Option::is_none")]
    pub district: Option<String>,
    #[serde(rename = "pin", skip_serializing_if = "Option::is_none")]
    pub pin: Option<i32>,
    #[serde(rename = "max_amount", skip_serializing_if = "Option::is_none")]
    pub max_amount: Option<f64>,
    #[serde(rename = "pre_paid", skip_serializing_if = "Option::is_none")]
    pub pre_paid: Option<String>,
    #[serde(rename = "cash", skip_serializing_if = "Option::is_none")]
    pub cash: Option<String>,
    #[serde(rename = "state_code", skip_serializing_if = "Option::is_none")]
    pub state_code: Option<String>,
    #[serde(rename = "max_weight", skip_serializing_if = "Option::is_none")]
    pub max_weight: Option<f64>,
    #[serde(rename = "pickup", skip_serializing_if = "Option::is_none")]
    pub pickup: Option<String>,
    #[serde(rename = "repl", skip_serializing_if = "Option::is_none")]
    pub repl: Option<String>,
    #[serde(rename = "covid_zone", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub covid_zone: Option<Option<String>>,
    #[serde(rename = "country_code", skip_serializing_if = "Option::is_none")]
    pub country_code: Option<String>,
    #[serde(rename = "is_oda", skip_serializing_if = "Option::is_none")]
    pub is_oda: Option<String>,
    #[serde(rename = "remarks", skip_serializing_if = "Option::is_none")]
    pub remarks: Option<String>,
}

impl DelhiveryPostalCodeServiceability {
    pub fn new() -> DelhiveryPostalCodeServiceability {
        DelhiveryPostalCodeServiceability {
            city: None,
            cod: None,
            inc: None,
            district: None,
            pin: None,
            max_amount: None,
            pre_paid: None,
            cash: None,
            state_code: None,
            max_weight: None,
            pickup: None,
            repl: None,
            covid_zone: None,
            country_code: None,
            is_oda: None,
            remarks: None,
            additional_properties: Default::default(),
        }
    }
}