• Mahmoud Aglan's avatar
    Pool management complete overhaul: interactive 2D grid, schedules, dashboard · 5c9ce3c8
    Mahmoud Aglan authored
    Grid rewrite:
    - Fully interactive lanes×timeslots grid with click/drag cell selection
    - Click individual cells, drag-select rectangles, row headers (full lane),
      column headers (full time slot)
    - Inline booking panel slides up from bottom when cells are selected —
      no separate page needed, book directly from the grid
    - Recurring schedules shown as purple cells on the grid
    - Real-time refresh every 30s via AJAX
    - Visual pool dimensions display with lane numbers
    
    New: Weekly Schedules (pool_schedules):
    - Create recurring weekly templates (coach, academy, age group, gender, lanes)
    - Effective date range, color-coded, max swimmers per schedule
    - Auto-displayed on the grid for the matching day of week
    - Manage page with create form + list of all schedules with delete
    
    New: Pool Dashboard (/pool/{id}/dashboard):
    - KPI cards: today/week/month bookings, swimmers, revenue, utilization %
    - Heatmap: bookings per hour per day of week (last 30 days) with color intensity
    - Booking type breakdown with progress bars
    - Lane utilization bars (hours used vs available)
    - Peak hours chart with AI recommendations for increasing occupancy
    - Low-utilization detection + suggestions
    
    Updated pool index:
    - Cards with mini pool visual, 3 action buttons (grid, dashboard, schedules)
    - Better visual hierarchy and information density
    Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
    5c9ce3c8
PoolScheduleController.php 3.9 KB