Data: 2026-04-09
BOOKING podem ser canceladas (status → CANCELLED) apenas por created_by_user_id, e apenas enquanto faltarem pelo menos N horas até starts_at (predefinição 24 = cerca de 1 dia antes do horário de início).config/kolos_booking.php · env BOOKING_CANCEL_MIN_HOURS_BEFORE_START./booking (jogador) e na agenda da arena para blocos de reserva próprios.status = CONFIRMED.bookings_no_overlap passa a aplicar-se só a linhas CONFIRMED, para o mesmo intervalo poder ser reutilizado após cancelamento.config/kolos_booking.phpdatabase/migrations/2026_04_09_215500_bookings_overlap_only_confirmed.phpsrc/Modules/Booking/Models/Booking.php, CancelBookingAction.php, BookingCancellationDeniedException.phpCreateBookingAction.php, Academy overlap helpers (queries confirmed())app/Livewire/Booking.php, Venue/VenueSchedule.php, Venue/DeclareMaintenance.phpresources/views/livewire/booking.blade.php, venue/venue-schedule.blade.phptests/Feature/Booking/CancelBookingActionTest.phpvendor/bin/sail exec laravel.test php artisan test tests/Feature/Booking/Em PostgreSQL, correr migrações após deploy.