namespace Baya.Domain.Entities.Refunds;

/// <summary>
/// The closed <c>nurse_clawbacks.status</c> code set. This phase only ever creates rows in <see cref="Pending"/>
/// (and supports an admin <see cref="WrittenOff"/>); <see cref="Recovered"/> is set by <b>b13</b>'s payout
/// netting — recovery is not implemented here. Persisted as these stable snake_case codes.
/// </summary>
public static class ClawbackStatus
{
    /// <summary>Open receivable owed by the nurse. The only state this phase creates.</summary>
    public const string Pending = "pending";

    /// <summary>Netted out of a later payout batch. Set by b13 — never here.</summary>
    public const string Recovered = "recovered";

    /// <summary>Admin-declared uncollectable; balanced by a <c>bad_debt</c> posting.</summary>
    public const string WrittenOff = "written_off";
}
