ib 3.0.0

A Rust client to the Interactive Brokers HTTP REST API
Documentation
/* 
 * Client Portal Web API
 *
 * Client Poral Web API
 *
 * OpenAPI spec version: 1.0.0
 * 
 * Generated by: https://github.com/swagger-api/swagger-codegen.git
 */


#[allow(unused_imports)]
use serde_json::Value;

#[derive(Debug, Serialize, Deserialize)]
pub struct InlineResponse20037Schedules {
  #[serde(rename = "clearingCycleEndTime")]
  clearing_cycle_end_time: Option<i32>,
  #[serde(rename = "sessions")]
  sessions: Option<::models::InlineResponse20037Sessions>,
  /// 20000101 stands for any Sat, 20000102 stands for any Sun, ... 20000107 stands for any Fri. Any other date stands for itself.
  #[serde(rename = "tradingScheduleDate")]
  trading_schedule_date: Option<i32>,
  #[serde(rename = "tradingTimes")]
  trading_times: Option<::models::InlineResponse20037TradingTimes>
}

impl InlineResponse20037Schedules {
  pub fn new() -> InlineResponse20037Schedules {
    InlineResponse20037Schedules {
      clearing_cycle_end_time: None,
      sessions: None,
      trading_schedule_date: None,
      trading_times: None
    }
  }

  pub fn set_clearing_cycle_end_time(&mut self, clearing_cycle_end_time: i32) {
    self.clearing_cycle_end_time = Some(clearing_cycle_end_time);
  }

  pub fn with_clearing_cycle_end_time(mut self, clearing_cycle_end_time: i32) -> InlineResponse20037Schedules {
    self.clearing_cycle_end_time = Some(clearing_cycle_end_time);
    self
  }

  pub fn clearing_cycle_end_time(&self) -> Option<&i32> {
    self.clearing_cycle_end_time.as_ref()
  }

  pub fn reset_clearing_cycle_end_time(&mut self) {
    self.clearing_cycle_end_time = None;
  }

  pub fn set_sessions(&mut self, sessions: ::models::InlineResponse20037Sessions) {
    self.sessions = Some(sessions);
  }

  pub fn with_sessions(mut self, sessions: ::models::InlineResponse20037Sessions) -> InlineResponse20037Schedules {
    self.sessions = Some(sessions);
    self
  }

  pub fn sessions(&self) -> Option<&::models::InlineResponse20037Sessions> {
    self.sessions.as_ref()
  }

  pub fn reset_sessions(&mut self) {
    self.sessions = None;
  }

  pub fn set_trading_schedule_date(&mut self, trading_schedule_date: i32) {
    self.trading_schedule_date = Some(trading_schedule_date);
  }

  pub fn with_trading_schedule_date(mut self, trading_schedule_date: i32) -> InlineResponse20037Schedules {
    self.trading_schedule_date = Some(trading_schedule_date);
    self
  }

  pub fn trading_schedule_date(&self) -> Option<&i32> {
    self.trading_schedule_date.as_ref()
  }

  pub fn reset_trading_schedule_date(&mut self) {
    self.trading_schedule_date = None;
  }

  pub fn set_trading_times(&mut self, trading_times: ::models::InlineResponse20037TradingTimes) {
    self.trading_times = Some(trading_times);
  }

  pub fn with_trading_times(mut self, trading_times: ::models::InlineResponse20037TradingTimes) -> InlineResponse20037Schedules {
    self.trading_times = Some(trading_times);
    self
  }

  pub fn trading_times(&self) -> Option<&::models::InlineResponse20037TradingTimes> {
    self.trading_times.as_ref()
  }

  pub fn reset_trading_times(&mut self) {
    self.trading_times = None;
  }

}