#nullable enable
using Baya.Application.Models.Booking;
using Baya.Application.Models.Common;
using Mediator;

namespace Baya.Application.Features.Booking.Queries.ListBookingRequests;

/// <summary>
/// The role-scoped inbox: a customer sees their own requests, a nurse sees requests addressed to them.
/// <c>Role</c> disambiguates a user who holds both roles (<c>customer</c>/<c>nurse</c>); when omitted it is
/// inferred from which profile the caller has. Optional <c>Status</c> filter; actionable rows sort first.
/// </summary>
public record ListBookingRequestsQuery(
    string? Status = null,
    string? Role = null,
    int Page = 1,
    int PageSize = 50) : IRequest<OperationResult<PagedResult<BookingRequestListItemDto>>>;
