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

/// Contract : Contains all details of the contract, including rules you can use when placing orders



#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct Contract {
    /// true means you can trade outside RTH(regular trading hours)
    #[serde(rename = "r_t_h", skip_serializing_if = "Option::is_none")]
    pub r_t_h: Option<bool>,
    /// same as that in request
    #[serde(rename = "con_id", skip_serializing_if = "Option::is_none")]
    pub con_id: Option<String>,
    #[serde(rename = "company_name", skip_serializing_if = "Option::is_none")]
    pub company_name: Option<String>,
    #[serde(rename = "exchange", skip_serializing_if = "Option::is_none")]
    pub exchange: Option<String>,
    /// for exmple FB
    #[serde(rename = "local_symbol", skip_serializing_if = "Option::is_none")]
    pub local_symbol: Option<String>,
    /// for example STK
    #[serde(rename = "instrument_type", skip_serializing_if = "Option::is_none")]
    pub instrument_type: Option<String>,
    #[serde(rename = "currency", skip_serializing_if = "Option::is_none")]
    pub currency: Option<String>,
    #[serde(rename = "category", skip_serializing_if = "Option::is_none")]
    pub category: Option<String>,
    #[serde(rename = "industry", skip_serializing_if = "Option::is_none")]
    pub industry: Option<String>,
    #[serde(rename = "rules", skip_serializing_if = "Option::is_none")]
    pub rules: Option<crate::models::ContractRules>,
}

impl Contract {
    /// Contains all details of the contract, including rules you can use when placing orders
    pub fn new() -> Contract {
        Contract {
            r_t_h: None,
            con_id: None,
            company_name: None,
            exchange: None,
            local_symbol: None,
            instrument_type: None,
            currency: None,
            category: None,
            industry: None,
            rules: None,
        }
    }
}


