/*
 * Binance Spot WebSocket API
 *
 * OpenAPI Specifications for the Binance Spot WebSocket API
 *
 * API documents:
 * - [Github web-socket-api documentation file](https://github.com/binance/binance-spot-api-docs/blob/master/web-socket-api.md)
 * - [General API information for web-socket-api on website](https://developers.binance.com/docs/binance-spot-api-docs/web-socket-api/general-api-information)
 *
 *
 * 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::spot::websocket_api::models;
use serde::{Deserialize, Deserializer, Serialize, de::Error};
use serde_json::Value;

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Ticker24hrResponse1Result {
    #[serde(rename = "symbol", skip_serializing_if = "Option::is_none")]
    pub symbol: Option<String>,
    #[serde(rename = "priceChange", skip_serializing_if = "Option::is_none")]
    pub price_change: Option<String>,
    #[serde(rename = "priceChangePercent", skip_serializing_if = "Option::is_none")]
    pub price_change_percent: Option<String>,
    #[serde(rename = "weightedAvgPrice", skip_serializing_if = "Option::is_none")]
    pub weighted_avg_price: Option<String>,
    #[serde(rename = "prevClosePrice", skip_serializing_if = "Option::is_none")]
    pub prev_close_price: Option<String>,
    #[serde(rename = "lastPrice", skip_serializing_if = "Option::is_none")]
    pub last_price: Option<String>,
    #[serde(rename = "lastQty", skip_serializing_if = "Option::is_none")]
    pub last_qty: Option<String>,
    #[serde(rename = "bidPrice", skip_serializing_if = "Option::is_none")]
    pub bid_price: Option<String>,
    #[serde(rename = "bidQty", skip_serializing_if = "Option::is_none")]
    pub bid_qty: Option<String>,
    #[serde(rename = "askPrice", skip_serializing_if = "Option::is_none")]
    pub ask_price: Option<String>,
    #[serde(rename = "askQty", skip_serializing_if = "Option::is_none")]
    pub ask_qty: Option<String>,
    #[serde(rename = "openPrice", skip_serializing_if = "Option::is_none")]
    pub open_price: Option<String>,
    #[serde(rename = "highPrice", skip_serializing_if = "Option::is_none")]
    pub high_price: Option<String>,
    #[serde(rename = "lowPrice", skip_serializing_if = "Option::is_none")]
    pub low_price: Option<String>,
    #[serde(rename = "volume", skip_serializing_if = "Option::is_none")]
    pub volume: Option<String>,
    #[serde(rename = "quoteVolume", skip_serializing_if = "Option::is_none")]
    pub quote_volume: Option<String>,
    #[serde(rename = "openTime", skip_serializing_if = "Option::is_none")]
    pub open_time: Option<i64>,
    #[serde(rename = "closeTime", skip_serializing_if = "Option::is_none")]
    pub close_time: Option<i64>,
    #[serde(rename = "firstId", skip_serializing_if = "Option::is_none")]
    pub first_id: Option<i64>,
    #[serde(rename = "lastId", skip_serializing_if = "Option::is_none")]
    pub last_id: Option<i64>,
    #[serde(rename = "count", skip_serializing_if = "Option::is_none")]
    pub count: Option<i64>,
}

impl Ticker24hrResponse1Result {
    #[must_use]
    pub fn new() -> Ticker24hrResponse1Result {
        Ticker24hrResponse1Result {
            symbol: None,
            price_change: None,
            price_change_percent: None,
            weighted_avg_price: None,
            prev_close_price: None,
            last_price: None,
            last_qty: None,
            bid_price: None,
            bid_qty: None,
            ask_price: None,
            ask_qty: None,
            open_price: None,
            high_price: None,
            low_price: None,
            volume: None,
            quote_volume: None,
            open_time: None,
            close_time: None,
            first_id: None,
            last_id: None,
            count: None,
        }
    }
}
