use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct DiscountExplicitPriceInfoResponse {
#[serde(rename = "type")]
pub r#type: String,
#[serde(rename = "currency", skip_serializing_if = "Option::is_none")]
pub currency: Option<Currency>,
#[serde(rename = "priceAfterDiscount", skip_serializing_if = "Option::is_none")]
pub price_after_discount: Option<i64>,
#[serde(rename = "originalPrice", skip_serializing_if = "Option::is_none")]
pub original_price: Option<i64>,
}
impl DiscountExplicitPriceInfoResponse {
pub fn new(r#type: String) -> DiscountExplicitPriceInfoResponse {
DiscountExplicitPriceInfoResponse {
r#type,
currency: None,
price_after_discount: None,
original_price: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Currency {
#[serde(rename = "JPY")]
Jpy,
#[serde(rename = "THB")]
Thb,
#[serde(rename = "TWD")]
Twd,
}
impl Default for Currency {
fn default() -> Currency {
Self::Jpy
}
}