messaging_api_line/models/
subscribed_membership_plan.rs

1/*
2 * LINE Messaging API
3 *
4 * This document describes LINE Messaging API.
5 *
6 * The version of the OpenAPI document: 0.0.1
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// SubscribedMembershipPlan : Object containing information about the membership plan.
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct SubscribedMembershipPlan {
17    /// Membership plan ID.
18    #[serde(rename = "membershipId")]
19    pub membership_id: i32,
20    /// Membership plan name.
21    #[serde(rename = "title")]
22    pub title: String,
23    /// Membership plan description.
24    #[serde(rename = "description")]
25    pub description: String,
26    /// List of membership plan perks.
27    #[serde(rename = "benefits")]
28    pub benefits: Vec<String>,
29    /// Monthly fee for membership plan. (e.g. 1500.00)
30    #[serde(rename = "price")]
31    pub price: f64,
32    /// The currency of membership.price.
33    #[serde(rename = "currency")]
34    pub currency: Currency,
35}
36
37impl SubscribedMembershipPlan {
38    /// Object containing information about the membership plan.
39    pub fn new(membership_id: i32, title: String, description: String, benefits: Vec<String>, price: f64, currency: Currency) -> SubscribedMembershipPlan {
40        SubscribedMembershipPlan {
41            membership_id,
42            title,
43            description,
44            benefits,
45            price,
46            currency,
47        }
48    }
49}
50/// The currency of membership.price.
51#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
52pub enum Currency {
53    #[serde(rename = "JPY")]
54    Jpy,
55    #[serde(rename = "TWD")]
56    Twd,
57    #[serde(rename = "THB")]
58    Thb,
59}
60
61impl Default for Currency {
62    fn default() -> Currency {
63        Self::Jpy
64    }
65}
66