// EN: Query to get barista queue statistics for a shop.
// VI: Query de lay thong ke hang doi barista cho shop.

using MediatR;
using FnbEngine.Domain.AggregatesModel.BaristaAggregate;

namespace FnbEngine.API.Application.Queries;

/// <summary>
/// EN: Query to get queue statistics for a shop.
/// VI: Query de lay thong ke hang doi cho shop.
/// </summary>
public record GetQueueStatsQuery(Guid ShopId) : IRequest<QueueStatsDto>;

/// <summary>
/// EN: Queue statistics DTO.
/// VI: DTO thong ke hang doi.
/// </summary>
public record QueueStatsDto(
    int TotalQueued,
    int TotalPreparing,
    int TotalReady,
    int TotalDelivered,
    int TotalCancelled,
    double AveragePrepTimeMinutes
);
