use super::{Market, Tag};
use chrono::{DateTime, Utc};
#[derive(Debug, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Event {
pub id: String,
pub ticker: String,
pub slug: String,
pub title: String,
pub description: String,
pub resolution_source: String,
pub start_date: DateTime<Utc>,
pub end_date: DateTime<Utc>,
pub active: bool,
pub closed: bool,
pub archived: bool,
pub restricted: bool,
pub liquidity: f64,
pub open_interest: f64,
pub created_at: DateTime<Utc>,
pub markets: Vec<Market>,
#[serde(default)]
pub creation_date: Option<DateTime<Utc>>,
#[serde(default)]
pub volume: Option<f64>,
#[serde(default)]
pub updated_at: Option<DateTime<Utc>>,
#[serde(default)]
pub series_slug: Option<String>,
#[serde(default)]
pub tags: Vec<Tag>,
#[serde(default)]
pub comment_count: Option<i64>,
#[serde(default)]
pub competitive: Option<f64>, #[serde(default)]
pub cyom: Option<bool>,
#[serde(default)]
pub deploying: Option<bool>,
#[serde(default)]
pub enable_neg_risk: Option<bool>,
#[serde(default)]
pub enable_order_book: Option<bool>,
#[serde(default)]
pub featured: Option<bool>,
#[serde(default)]
pub icon: Option<String>,
#[serde(default)]
pub image: Option<String>,
#[serde(default)]
pub liquidity_clob: Option<f64>,
#[serde(default)]
pub neg_risk: Option<bool>,
#[serde(default)]
pub neg_risk_augmented: Option<bool>,
#[serde(default)]
pub new: Option<bool>,
#[serde(default)]
pub pending_deployment: Option<bool>,
#[serde(default)]
pub series: Option<serde_json::Value>,
#[serde(default)]
pub automatically_active: Option<bool>,
#[serde(default)]
pub volume_24hr: Option<f64>,
#[serde(default)]
pub volume_1wk: Option<f64>,
#[serde(default)]
pub volume_1mo: Option<f64>,
#[serde(default)]
pub volume_1yr: Option<f64>,
#[serde(default)]
pub show_all_outcomes: Option<bool>,
#[serde(default)]
pub show_market_images: Option<bool>,
}