Arena: horário diário, edição de quadras, reserva pelo dono na agenda
Documentação KOLOS

Arena: horário diário, edição de quadras, reserva pelo dono na agenda

Dados

  • Migração 2026_04_12_100000_venue_daily_operating_hours: venues.daily_opens_at, daily_closes_at (time, nullable).

Comportamento

  • Picker de horas livres (turmas): ListAvailableCourtPickerHoursForWeekdayAction usa VenueCourtPickerHourRange::fromVenue(); se a arena não tiver horários, mantém-se config('kolos_academy.court_picker_*').
  • Quadras (ManageCourts): cartão para guardar abertura/fecho; edição inline por quadra (UpdateCourtAction).
  • Agenda (VenueSchedule): texto com horário efetivo; formulário «Nova reserva (arena)» → BOOKING via CreateBookingAction.

Ficheiros-chave

  • src/Modules/Venue/Support/VenueCourtPickerHourRange.php
  • src/Modules/Venue/Actions/UpdateVenueOperatingHoursAction.php, UpdateCourtAction.php
  • app/Livewire/Venue/ManageCourts.php, VenueSchedule.php + blades

Testes

  • VenueOperatingHoursPickerTest, UpdateCourtActionTest, UpdateVenueOperatingHoursActionTest, ManageCourtsLivewireTest, VenueScheduleLivewireTest

Validar

  • vendor/bin/sail artisan migrate
  • vendor/bin/sail artisan test tests/Feature/Venue
  • UI: Quadras → horário + editar quadra; Agenda → nova reserva; Turmas → picker só dentro da janela.