using System.ComponentModel.DataAnnotations;
using TakeoutSaaS.Shared.Abstractions.Entities;
namespace TakeoutSaaS.Domain.Stores.Entities;
///
/// 门店自提档期。
///
public sealed class StorePickupSlot : MultiTenantEntityBase
{
///
/// 门店标识。
///
public long StoreId { get; set; }
///
/// 档期名称。
///
public string Name { get; set; } = string.Empty;
///
/// 当天开始时间(UTC)。
///
public TimeSpan StartTime { get; set; }
///
/// 当天结束时间(UTC)。
///
public TimeSpan EndTime { get; set; }
///
/// 截单分钟(开始前多少分钟截止)。
///
public int CutoffMinutes { get; set; } = 30;
///
/// 容量(份数)。
///
public int Capacity { get; set; }
///
/// 已占用数量。
///
public int ReservedCount { get; set; }
///
/// 适用星期(逗号分隔 1-7)。
///
public string Weekdays { get; set; } = "1,2,3,4,5,6,7";
///
/// 是否启用。
///
public bool IsEnabled { get; set; } = true;
///
/// 并发控制字段(映射到 PostgreSQL xmin)。
///
public uint RowVersion { get; set; }
}