use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[non_exhaustive]
pub struct CompanyProfile {
pub symbol: Option<String>,
pub name: Option<String>,
pub description: Option<String>,
pub asset_type: Option<String>,
pub exchange: Option<String>,
pub currency: Option<String>,
pub country: Option<String>,
pub sector: Option<String>,
pub industry: Option<String>,
pub market_capitalization: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub isin: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cusip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub active: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_etf: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_adr: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_fund: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cik: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ipo_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub provider_id: Option<crate::Provider>,
}