use crate::line_insight::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SubscriptionPeriodTile {
#[serde(rename = "subscriptionPeriod", skip_serializing_if = "Option::is_none")]
pub subscription_period: Option<SubscriptionPeriod>,
#[serde(rename = "percentage", skip_serializing_if = "Option::is_none")]
pub percentage: Option<f64>,
}
impl SubscriptionPeriodTile {
pub fn new() -> SubscriptionPeriodTile {
SubscriptionPeriodTile {
subscription_period: None,
percentage: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
#[allow(non_camel_case_types)]
pub enum SubscriptionPeriod {
#[serde(rename = "within7days")]
Within7days,
#[serde(rename = "within30days")]
Within30days,
#[serde(rename = "within90days")]
Within90days,
#[serde(rename = "within180days")]
Within180days,
#[serde(rename = "within365days")]
Within365days,
#[serde(rename = "over365days")]
Over365days,
#[serde(rename = "unknown")]
Unknown,
}
impl Default for SubscriptionPeriod {
fn default() -> SubscriptionPeriod {
Self::Within7days
}
}