namespace Books.Api.EventFlow.Repositories;

/// <summary>
/// Service for generating sequential order numbers per company per year.
/// </summary>
public interface IOrderNumberService
{
    /// <summary>
    /// Gets the next available order number for a company.
    /// Format: ORD-YYYY-NNNN (e.g., ORD-2024-0001)
    /// </summary>
    Task<string> GetNextOrderNumberAsync(
        string companyId,
        DateOnly orderDate,
        CancellationToken cancellationToken = default);
}
