namespace Meezi.Core.Entities;

public class MenuItem : TenantEntity
{
    public string CategoryId { get; set; } = string.Empty;
    public string Name { get; set; } = string.Empty;
    public string? NameAr { get; set; }
    public string? NameEn { get; set; }
    public string? Description { get; set; }
    public decimal Price { get; set; }
    /// <summary>Item-level promo (0–100). Takes precedence over category discount when &gt; 0.</summary>
    public decimal DiscountPercent { get; set; }
    public string? ImageUrl { get; set; }
    public string? VideoUrl { get; set; }
    /// <summary>GLB/GLTF 3D model for QR menu interactive view (poster = ImageUrl).</summary>
    public string? Model3dUrl { get; set; }
    public bool IsAvailable { get; set; } = true;

    public Cafe Cafe { get; set; } = null!;
    public MenuCategory Category { get; set; } = null!;
    public ICollection<OrderItem> OrderItems { get; set; } = [];
    public ICollection<BranchMenuItemOverride> BranchOverrides { get; set; } = [];
    public ICollection<MenuItemIngredient> RecipeIngredients { get; set; } = [];
}
