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

/// <summary>
/// 新客有礼券规则 DTO。
/// </summary>
public sealed class NewCustomerCouponRuleDto
{
    /// <summary>
    /// 规则 ID。
    /// </summary>
    public long Id { get; init; }

    /// <summary>
    /// 场景（welcome/inviter/invitee）。
    /// </summary>
    public string Scene { get; init; } = "welcome";

    /// <summary>
    /// 券类型（amount_off/discount/free_shipping）。
    /// </summary>
    public string CouponType { get; init; } = "amount_off";

    /// <summary>
    /// 面值或折扣值。
    /// </summary>
    public decimal? Value { get; init; }

    /// <summary>
    /// 使用门槛。
    /// </summary>
    public decimal? MinimumSpend { get; init; }

    /// <summary>
    /// 有效期天数。
    /// </summary>
    public int ValidDays { get; init; }

    /// <summary>
    /// 排序值。
    /// </summary>
    public int SortOrder { get; init; }
}
