namespace TakeoutSaaS.Application.App.Coupons.PunchCard.Dto;

/// <summary>
/// 次卡范围规则。
/// </summary>
public sealed class PunchCardScopeDto
{
    /// <summary>
    /// 范围类型（all/category/tag/product）。
    /// </summary>
    public string ScopeType { get; init; } = "all";

    /// <summary>
    /// 指定分类 ID。
    /// </summary>
    public IReadOnlyList<long> CategoryIds { get; init; } = [];

    /// <summary>
    /// 指定标签 ID。
    /// </summary>
    public IReadOnlyList<long> TagIds { get; init; } = [];

    /// <summary>
    /// 指定商品 ID。
    /// </summary>
    public IReadOnlyList<long> ProductIds { get; init; } = [];
}
