public async Task <IActionResult> CancelScheduledShift(int scheduledShiftId)
        {
            var now = _clock.UtcNow.UtcDateTime;

            var shift = await _shiftRepository.GetScheduledShift(scheduledShiftId);

            if (User.RoleInPatrol(shift.PatrolId).CanMaintainSchedule() &&
                now < shift.StartsAt)
            {
                await _scheduleService.CancelShift(scheduledShiftId);

                return(Ok());
            }
            else
            {
                return(Forbid());
            }
        }