Data: 2026-04-09
Era possível criar BOOKING / MAINTENANCE num intervalo onde existe academy_class_schedule_slot na mesma quadra quando não havia linha ACADEMY_CLASS_HOLD (ex.: dias já passados na janela de sync). Na agenda, o bloco “Padrão semanal” desaparecia porque a grelha omite o padrão quando qualquer booking sobrepõe o intervalo.
CreateBookingAction passa a recusar (com BookingConflictException) sobreposição com slots semanais de turmas não arquivadas na mesma court_id, exceto quando o tipo é ACADEMY_CLASS_HOLD (sync de holds).src/Modules/Academy/Support/ProposedBookingOverlapsAcademyCourtSlot.phpsrc/Modules/Booking/Actions/CreateBookingAction.phptests/Feature/Booking/CreateBookingActionTest.phpvendor/bin/sail exec laravel.test php artisan test tests/Feature/Booking/CreateBookingActionTest.php tests/Feature/Academy/AcademyClassCourtHoldsTest.php