finance_query/models/corporate/
earnings.rs1use serde::{Deserialize, Serialize};
6
7#[derive(Default, Debug, Clone, Serialize, Deserialize)]
9#[serde(rename_all = "camelCase")]
10#[non_exhaustive]
11pub struct Earnings {
12 #[serde(default)]
14 pub default_methodology: Option<String>,
15
16 #[serde(default)]
18 pub earnings_chart: Option<EarningsChart>,
19
20 #[serde(default)]
22 pub financials_chart: Option<FinancialsChart>,
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize)]
27#[serde(rename_all = "camelCase")]
28pub struct EarningsChart {
29 #[serde(default)]
31 pub quarterly: Vec<QuarterlyEarnings>,
32
33 #[serde(default)]
35 pub current_quarter_estimate: Option<crate::models::quote::FormattedValue<f64>>,
36
37 #[serde(default)]
39 pub current_quarter_estimate_date: Option<String>,
40
41 #[serde(default)]
43 pub current_quarter_estimate_year: Option<i32>,
44
45 #[serde(default)]
47 pub current_fiscal_quarter: Option<String>,
48
49 #[serde(default)]
51 pub current_calendar_quarter: Option<String>,
52
53 #[serde(default)]
55 pub earnings_date: Vec<crate::models::quote::FormattedValue<i64>>,
56
57 #[serde(default)]
59 pub is_earnings_date_estimate: Option<bool>,
60}
61
62#[derive(Debug, Clone, Serialize, Deserialize)]
64#[serde(rename_all = "camelCase")]
65pub struct QuarterlyEarnings {
66 #[serde(default)]
68 pub date: Option<String>,
69
70 #[serde(default)]
72 pub actual: Option<crate::models::quote::FormattedValue<f64>>,
73
74 #[serde(default)]
76 pub estimate: Option<crate::models::quote::FormattedValue<f64>>,
77
78 #[serde(default)]
80 pub difference: Option<String>,
81
82 #[serde(default)]
84 pub surprise_pct: Option<String>,
85
86 #[serde(default)]
88 pub calendar_quarter: Option<String>,
89
90 #[serde(default)]
92 pub fiscal_quarter: Option<String>,
93}
94
95#[derive(Debug, Clone, Serialize, Deserialize)]
97#[serde(rename_all = "camelCase")]
98pub struct FinancialsChart {
99 #[serde(default)]
101 pub yearly: Vec<YearlyFinancials>,
102
103 #[serde(default)]
105 pub quarterly: Vec<QuarterlyFinancials>,
106}
107
108#[derive(Debug, Clone, Serialize, Deserialize)]
110#[serde(rename_all = "camelCase")]
111pub struct YearlyFinancials {
112 #[serde(default)]
114 pub date: Option<i64>,
115
116 #[serde(default)]
118 pub revenue: Option<crate::models::quote::FormattedValue<i64>>,
119
120 #[serde(default)]
122 pub earnings: Option<crate::models::quote::FormattedValue<i64>>,
123}
124
125#[derive(Debug, Clone, Serialize, Deserialize)]
127#[serde(rename_all = "camelCase")]
128pub struct QuarterlyFinancials {
129 #[serde(default)]
131 pub date: Option<String>,
132
133 #[serde(default)]
135 pub revenue: Option<crate::models::quote::FormattedValue<i64>>,
136
137 #[serde(default)]
139 pub earnings: Option<crate::models::quote::FormattedValue<i64>>,
140}