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

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

/// <summary>The assigned nurse clocks in: captures GPS + timestamp into the session's EVV record, computes
/// the advisory address-match against <c>evv_location_tolerance_meters</c>, and moves the session (and the
/// booking) to <c>in_progress</c>. A location mismatch raises an admin alert + notifies — it never blocks.
/// GPS-denied (null coordinates) still checks in, flagged. The session id comes from the route.</summary>
public record CheckInVisitCommand(decimal? Latitude, decimal? Longitude, long SessionId = 0)
    : IRequest<OperationResult<VisitVerificationDto>>;
