bitwarden_api_api/models/
billing_subscription.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct BillingSubscription {
17 #[serde(rename = "trialStartDate", skip_serializing_if = "Option::is_none")]
18 pub trial_start_date: Option<String>,
19 #[serde(rename = "trialEndDate", skip_serializing_if = "Option::is_none")]
20 pub trial_end_date: Option<String>,
21 #[serde(rename = "periodStartDate", skip_serializing_if = "Option::is_none")]
22 pub period_start_date: Option<String>,
23 #[serde(rename = "periodEndDate", skip_serializing_if = "Option::is_none")]
24 pub period_end_date: Option<String>,
25 #[serde(rename = "cancelledDate", skip_serializing_if = "Option::is_none")]
26 pub cancelled_date: Option<String>,
27 #[serde(rename = "cancelAtEndDate", skip_serializing_if = "Option::is_none")]
28 pub cancel_at_end_date: Option<bool>,
29 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
30 pub status: Option<String>,
31 #[serde(rename = "cancelled", skip_serializing_if = "Option::is_none")]
32 pub cancelled: Option<bool>,
33 #[serde(rename = "items", skip_serializing_if = "Option::is_none")]
34 pub items: Option<Vec<models::BillingSubscriptionItem>>,
35 #[serde(rename = "collectionMethod", skip_serializing_if = "Option::is_none")]
36 pub collection_method: Option<String>,
37 #[serde(rename = "suspensionDate", skip_serializing_if = "Option::is_none")]
38 pub suspension_date: Option<String>,
39 #[serde(
40 rename = "unpaidPeriodEndDate",
41 skip_serializing_if = "Option::is_none"
42 )]
43 pub unpaid_period_end_date: Option<String>,
44 #[serde(rename = "gracePeriod", skip_serializing_if = "Option::is_none")]
45 pub grace_period: Option<i32>,
46}
47
48impl BillingSubscription {
49 pub fn new() -> BillingSubscription {
50 BillingSubscription {
51 trial_start_date: None,
52 trial_end_date: None,
53 period_start_date: None,
54 period_end_date: None,
55 cancelled_date: None,
56 cancel_at_end_date: None,
57 status: None,
58 cancelled: None,
59 items: None,
60 collection_method: None,
61 suspension_date: None,
62 unpaid_period_end_date: None,
63 grace_period: None,
64 }
65 }
66}