using TakeoutSaaS.Domain.Tenants.Enums;
using TakeoutSaaS.Shared.Abstractions.Entities;
namespace TakeoutSaaS.Domain.Tenants.Entities;
///
/// 租户套餐订阅记录。
///
public sealed class TenantSubscription : MultiTenantEntityBase
{
///
/// 当前订阅关联的套餐标识。
///
public long TenantPackageId { get; set; }
///
/// 订阅生效时间(UTC)。
///
public DateTime EffectiveFrom { get; set; }
///
/// 订阅到期时间(UTC)。
///
public DateTime EffectiveTo { get; set; }
///
/// 下一个计费时间,配合自动续费使用。
///
public DateTime? NextBillingDate { get; set; }
///
/// 订阅当前状态。
///
public SubscriptionStatus Status { get; set; } = SubscriptionStatus.Pending;
///
/// 是否开启自动续费。
///
public bool AutoRenew { get; set; }
///
/// 若已排期升降配,对应的新套餐 ID。
///
public long? ScheduledPackageId { get; set; }
///
/// 运营备注信息。
///
public string? Notes { get; set; }
}