using Meezi.Core.Enums; namespace Meezi.Core.Entities; public class SubscriptionPayment : TenantEntity { public PlanTier PlanTier { get; set; } public int Months { get; set; } public decimal AmountToman { get; set; } public long AmountRials { get; set; } public PaymentProvider Provider { get; set; } = PaymentProvider.ZarinPal; public string? Authority { get; set; } public string? RefId { get; set; } public SubscriptionPaymentStatus Status { get; set; } = SubscriptionPaymentStatus.Pending; /// When this paid period starts. For an immediately-activated purchase this is /// (around) the payment time; for a queued (Scheduled) purchase it is the end of the /// current coverage. Null until the payment completes. public DateTime? EffectiveFrom { get; set; } /// When this paid period ends (EffectiveFrom + Months). Null until completed. public DateTime? EffectiveTo { get; set; } public Cafe Cafe { get; set; } = null!; }