use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EPSEstimate {
#[serde(rename = "epsAvg")]
pub eps_avg: Option<f64>,
#[serde(rename = "epsHigh")]
pub eps_high: Option<f64>,
#[serde(rename = "epsLow")]
pub eps_low: Option<f64>,
#[serde(rename = "numberAnalysts")]
pub number_analysts: Option<i32>,
pub period: String,
pub year: Option<i32>,
pub quarter: Option<i32>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EPSEstimates {
pub symbol: String,
pub data: Vec<EPSEstimate>,
pub freq: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RevenueEstimate {
#[serde(rename = "revenueAvg")]
pub revenue_avg: Option<f64>,
#[serde(rename = "revenueHigh")]
pub revenue_high: Option<f64>,
#[serde(rename = "revenueLow")]
pub revenue_low: Option<f64>,
#[serde(rename = "numberAnalysts")]
pub number_analysts: Option<i32>,
pub period: String,
pub year: Option<i32>,
pub quarter: Option<i32>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RevenueEstimates {
pub symbol: String,
pub data: Vec<RevenueEstimate>,
pub freq: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EBITDAEstimate {
#[serde(rename = "ebitdaAvg")]
pub ebitda_avg: Option<f64>,
#[serde(rename = "ebitdaHigh")]
pub ebitda_high: Option<f64>,
#[serde(rename = "ebitdaLow")]
pub ebitda_low: Option<f64>,
#[serde(rename = "numberAnalysts")]
pub number_analysts: Option<i32>,
pub period: String,
pub year: Option<i32>,
pub quarter: Option<i32>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EBITDAEstimates {
pub symbol: String,
pub data: Vec<EBITDAEstimate>,
pub freq: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EBITEstimate {
#[serde(rename = "ebitAvg")]
pub ebit_avg: Option<f64>,
#[serde(rename = "ebitHigh")]
pub ebit_high: Option<f64>,
#[serde(rename = "ebitLow")]
pub ebit_low: Option<f64>,
#[serde(rename = "numberAnalysts")]
pub number_analysts: Option<i32>,
pub period: String,
pub year: Option<i32>,
pub quarter: Option<i32>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EBITEstimates {
pub symbol: String,
pub data: Vec<EBITEstimate>,
pub freq: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EarningsQualityScore {
pub symbol: String,
pub freq: String,
pub data: Vec<EarningsQualityScoreData>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EarningsQualityScoreData {
pub period: String,
#[serde(rename = "capitalAllocation")]
pub capital_allocation: Option<f64>,
pub growth: Option<f64>,
#[serde(rename = "letterScore")]
pub letter_score: Option<String>,
pub leverage: Option<f64>,
pub profitability: Option<f64>,
pub score: Option<f64>,
}