/*
 * Binance Derivatives Trading COIN Futures WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Derivatives Trading COIN Futures WebSocket Market Streams
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

#![allow(unused_imports)]
use crate::derivatives_trading_coin_futures::websocket_streams::models;
use serde::{Deserialize, Deserializer, Serialize, de::Error};
use serde_json::Value;

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ContractInfoStreamResponse {
    #[serde(rename = "e", skip_serializing_if = "Option::is_none")]
    pub e: Option<String>,
    #[serde(rename = "E", skip_serializing_if = "Option::is_none")]
    pub e_uppercase: Option<i64>,
    #[serde(rename = "s", skip_serializing_if = "Option::is_none")]
    pub s: Option<String>,
    #[serde(rename = "ps", skip_serializing_if = "Option::is_none")]
    pub ps: Option<String>,
    #[serde(rename = "ct", skip_serializing_if = "Option::is_none")]
    pub ct: Option<String>,
    #[serde(rename = "dt", skip_serializing_if = "Option::is_none")]
    pub dt: Option<i64>,
    #[serde(rename = "ot", skip_serializing_if = "Option::is_none")]
    pub ot: Option<i64>,
    #[serde(rename = "cs", skip_serializing_if = "Option::is_none")]
    pub cs: Option<String>,
    #[serde(rename = "bks", skip_serializing_if = "Option::is_none")]
    pub bks: Option<Vec<models::ContractInfoStreamResponseBksInner>>,
}

impl ContractInfoStreamResponse {
    #[must_use]
    pub fn new() -> ContractInfoStreamResponse {
        ContractInfoStreamResponse {
            e: None,
            e_uppercase: None,
            s: None,
            ps: None,
            ct: None,
            dt: None,
            ot: None,
            cs: None,
            bks: None,
        }
    }
}
