/*
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * 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_portfolio_margin_pro::rest_api::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetPortfolioMarginProSpanAccountInfoResponse {
    #[serde(rename = "uniMMR", skip_serializing_if = "Option::is_none")]
    pub uni_mmr: Option<String>,
    #[serde(rename = "accountEquity", skip_serializing_if = "Option::is_none")]
    pub account_equity: Option<String>,
    #[serde(rename = "actualEquity", skip_serializing_if = "Option::is_none")]
    pub actual_equity: Option<String>,
    #[serde(rename = "accountMaintMargin", skip_serializing_if = "Option::is_none")]
    pub account_maint_margin: Option<String>,
    #[serde(rename = "riskUnitMMList", skip_serializing_if = "Option::is_none")]
    pub risk_unit_mm_list:
        Option<Vec<models::GetPortfolioMarginProSpanAccountInfoResponseRiskUnitMmListInner>>,
    #[serde(rename = "marginMM", skip_serializing_if = "Option::is_none")]
    pub margin_mm: Option<String>,
    #[serde(rename = "otherMM", skip_serializing_if = "Option::is_none")]
    pub other_mm: Option<String>,
    #[serde(rename = "accountStatus", skip_serializing_if = "Option::is_none")]
    pub account_status: Option<String>,
    #[serde(rename = "accountType", skip_serializing_if = "Option::is_none")]
    pub account_type: Option<String>,
}

impl GetPortfolioMarginProSpanAccountInfoResponse {
    #[must_use]
    pub fn new() -> GetPortfolioMarginProSpanAccountInfoResponse {
        GetPortfolioMarginProSpanAccountInfoResponse {
            uni_mmr: None,
            account_equity: None,
            actual_equity: None,
            account_maint_margin: None,
            risk_unit_mm_list: None,
            margin_mm: None,
            other_mm: None,
            account_status: None,
            account_type: None,
        }
    }
}
