/*
 * Client Portal Web API
 *
 * Client Portal Web API
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 * Generated by: https://openapi-generator.tech
 */




#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AuthStatus {
    /// Brokerage session is authenticated
    #[serde(rename = "authenticated", skip_serializing_if = "Option::is_none")]
    pub authenticated: Option<bool>,
    /// Connected to backend
    #[serde(rename = "connected", skip_serializing_if = "Option::is_none")]
    pub connected: Option<bool>,
    /// Brokerage session is competing, e.g. user is logged in to IBKR Mobile, WebTrader, TWS or other trading platforms.
    #[serde(rename = "competing", skip_serializing_if = "Option::is_none")]
    pub competing: Option<bool>,
    /// Authentication failed, why.
    #[serde(rename = "fail", skip_serializing_if = "Option::is_none")]
    pub fail: Option<String>,
    /// System messages that may affect trading
    #[serde(rename = "message", skip_serializing_if = "Option::is_none")]
    pub message: Option<String>,
    /// Prompt messages that may affect trading or the account
    #[serde(rename = "prompts", skip_serializing_if = "Option::is_none")]
    pub prompts: Option<Vec<String>>,
}

impl AuthStatus {
    pub fn new() -> AuthStatus {
        AuthStatus {
            authenticated: None,
            connected: None,
            competing: None,
            fail: None,
            message: None,
            prompts: None,
        }
    }
}


