using TakeoutSaaS.Shared.Abstractions.Entities;

namespace TakeoutSaaS.Domain.Products.Entities;

/// <summary>
/// 商品时段规则（门店维度）。
/// </summary>
public sealed class ProductSchedule : MultiTenantEntityBase
{
    /// <summary>
    /// 所属门店。
    /// </summary>
    public long StoreId { get; set; }

    /// <summary>
    /// 规则名称。
    /// </summary>
    public string Name { get; set; } = string.Empty;

    /// <summary>
    /// 开始时间。
    /// </summary>
    public TimeSpan StartTime { get; set; }

    /// <summary>
    /// 结束时间。
    /// </summary>
    public TimeSpan EndTime { get; set; }

    /// <summary>
    /// 星期位掩码（周一到周日）。
    /// </summary>
    public int WeekDaysMask { get; set; }

    /// <summary>
    /// 是否启用。
    /// </summary>
    public bool IsEnabled { get; set; } = true;
}
