Rebuild pool grid as physical 2D zone system with timeline
Pool is now a real 2D grid (rows × cols = squares). Admin sets dimensions,
selects time slot from timeline strip above, then assigns squares to
academies/groups/hourly/blocked/maintenance via drag selection.
- New table: sa_pool_zone_bookings (zone_row × zone_col per time slot)
- ALTER sa_facilities: add pool_grid_rows, pool_grid_cols
- Rewritten PoolGridService with zone-based logic + copy-slot feature
- Interactive view: timeline strip, 2D grid with drag/click/shift-rect select
- API: state, assign, clear, update-grid, copy-slot
- Seed: 4×6 grid with sample zone bookings
- Fix mirror route mismatch (/sa/mirror/{id} now works)
Co-Authored-By:
Claude Opus 4.6 <noreply@anthropic.com>
Showing
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment