egs_api/api/types/
price.rs1use serde::{Deserialize, Serialize};
2
3#[allow(missing_docs)]
5#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
6#[serde(rename_all = "camelCase")]
7pub struct PriceResponse {
8 #[serde(default)]
9 pub offers: Vec<OfferPrice>,
10}
11
12#[allow(missing_docs)]
14#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
15#[serde(rename_all = "camelCase")]
16pub struct OfferPrice {
17 pub offer_id: String,
18 pub namespace: Option<String>,
19 pub effective_date: Option<String>,
20 pub expiry_date: Option<String>,
21 pub current_price: Option<PriceDetail>,
22}
23
24#[allow(missing_docs)]
26#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
27#[serde(rename_all = "camelCase")]
28pub struct PriceDetail {
29 pub currency_code: Option<String>,
30 pub discount_price: Option<i64>,
31 pub original_price: Option<i64>,
32 pub voucher_discount: Option<i64>,
33 pub discount_percentage: Option<i64>,
34 pub currency_info: Option<PriceCurrencyInfo>,
35 pub fmt_price: Option<FormattedPrice>,
36}
37
38#[allow(missing_docs)]
40#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
41#[serde(rename_all = "camelCase")]
42pub struct PriceCurrencyInfo {
43 pub decimals: Option<i32>,
44}
45
46#[allow(missing_docs)]
48#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
49#[serde(rename_all = "camelCase")]
50pub struct FormattedPrice {
51 pub original_price: Option<String>,
52 pub discount_price: Option<String>,
53 pub intermediate_price: Option<String>,
54}