using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using System.Collections.Generic; namespace QRRapidoApp.Models { public class Plan { [BsonId] [BsonRepresentation(BsonType.ObjectId)] public string Id { get; set; } = string.Empty; [BsonElement("name")] public Dictionary Name { get; set; } = new(); // e.g., {"pt": "Premium Mensal", "en": "Premium Monthly", "es": "Premium Mensual"} [BsonElement("description")] public Dictionary Description { get; set; } = new(); // Multilingual descriptions [BsonElement("features")] public Dictionary> Features { get; set; } = new(); // Multilingual feature lists [BsonElement("interval")] public string Interval { get; set; } = string.Empty; // e.g., "month", "year" [BsonElement("stripePriceId")] public string StripePriceId { get; set; } = string.Empty; // Default Price ID [BsonElement("pricesByCountry")] public Dictionary PricesByCountry { get; set; } = new(); [BsonElement("isActive")] public bool IsActive { get; set; } = true; } public class PriceInfo { [BsonElement("amount")] public decimal Amount { get; set; } [BsonElement("currency")] public string Currency { get; set; } = string.Empty; [BsonElement("stripePriceId")] public string StripePriceId { get; set; } = string.Empty; } }