pub struct SubscriptionPlan {Show 20 fields
pub id: Uuid,
pub code: String,
pub name: String,
pub description: Option<String>,
pub status: PlanStatus,
pub billing_interval: BillingInterval,
pub custom_interval_days: Option<i32>,
pub price: Decimal,
pub setup_fee: Option<Decimal>,
pub currency: CurrencyCode,
pub trial_days: i32,
pub trial_requires_payment_method: bool,
pub min_cycles: Option<i32>,
pub max_cycles: Option<i32>,
pub items: Vec<SubscriptionPlanItem>,
pub discount_percent: Option<Decimal>,
pub discount_amount: Option<Decimal>,
pub metadata: Option<Value>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
}Expand description
A subscription plan template
Fields§
§id: Uuid§code: StringUnique code for the plan
name: StringDisplay name
description: Option<String>Description
status: PlanStatus§billing_interval: BillingInterval§custom_interval_days: Option<i32>Custom interval in days (when billing_interval is Custom)
price: DecimalBase price per billing cycle
setup_fee: Option<Decimal>Setup/activation fee (charged once)
currency: CurrencyCode§trial_days: i32Trial period in days (0 = no trial)
trial_requires_payment_method: boolWhether payment method is required for trial
min_cycles: Option<i32>Minimum number of billing cycles
max_cycles: Option<i32>Maximum number of billing cycles (None = unlimited)
items: Vec<SubscriptionPlanItem>§discount_percent: Option<Decimal>Percentage discount for this plan
discount_amount: Option<Decimal>Fixed discount amount
metadata: Option<Value>§created_at: DateTime<Utc>§updated_at: DateTime<Utc>Trait Implementations§
Source§impl Clone for SubscriptionPlan
impl Clone for SubscriptionPlan
Source§fn clone(&self) -> SubscriptionPlan
fn clone(&self) -> SubscriptionPlan
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SubscriptionPlan
impl Debug for SubscriptionPlan
Source§impl<'de> Deserialize<'de> for SubscriptionPlan
impl<'de> Deserialize<'de> for SubscriptionPlan
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SubscriptionPlan, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SubscriptionPlan, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for SubscriptionPlan
impl Serialize for SubscriptionPlan
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for SubscriptionPlan
impl RefUnwindSafe for SubscriptionPlan
impl Send for SubscriptionPlan
impl Sync for SubscriptionPlan
impl Unpin for SubscriptionPlan
impl UnsafeUnpin for SubscriptionPlan
impl UnwindSafe for SubscriptionPlan
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more