using Baya.Application.Models.Booking;
using Baya.Application.Models.Common;
using Mediator;

namespace Baya.Application.Features.Bookings.Commands.DetectNoShowSessions;

/// <summary>The no-show sweep unit of work: any session still <c>scheduled</c> past
/// <c>scheduled_start + no_show_threshold_minutes</c> with no check-in is marked <c>missed</c>, a
/// <c>no_show</c> support alert is raised, and the family is notified. Bounded + idempotent. The recurring
/// scheduler is DEFERRED — this is the command the cron will call, reachable now via an admin/test trigger.</summary>
public record DetectNoShowSessionsCommand : IRequest<OperationResult<NoShowSweepResult>>;
