namespace QRRapidoApp.Models.ViewModels { public class UpgradeViewModel { public string CurrentPlan { get; set; } = "Free"; public decimal PremiumPrice { get; set; } public Dictionary Features { get; set; } = new(); public int RemainingQRs { get; set; } public int DaysUntilAdExpiry { get; set; } public bool IsAdFreeActive { get; set; } } public class PremiumDashboardViewModel { public User User { get; set; } = new(); public int QRCodesThisMonth { get; set; } public int TotalQRCodes { get; set; } public string SubscriptionStatus { get; set; } = string.Empty; public DateTime? NextBillingDate { get; set; } public List RecentQRCodes { get; set; } = new(); public Dictionary QRTypeStats { get; set; } = new(); } public class AdFreeStatusViewModel { public bool IsAdFree { get; set; } public int TimeRemaining { get; set; } // minutes public bool IsPremium { get; set; } public DateTime? ExpiryDate { get; set; } public string SessionType { get; set; } = string.Empty; } }