Court Calendar Management — Edit Courts, Block Time, and Set Hours Without Leaving the Calendar

Court Calendar Management — Edit Courts, Block Time, and Set Hours Without Leaving the Calendar

Manage every court from one screen. Click a court header to rename, recolor, or take it offline. Block off time for maintenance, events, lessons, or private rentals — one-time or weekly recurring. Set per-location operating hours inline. The calendar repaints in place; the front desk never sees stale state. This update is designed for club managers who want a better club operations experience — less manual work, more control, and a smoother workflow.

What's Included

Inline court edit modal — click any court header on the timeline or grid to rename, change number/display order, pick a color, change surface type, toggle indoor/outdoor + lighting + covered, mark unavailable with a public reason

Block Court button — open a modal to block off time on any court for maintenance, event, lesson, tournament, private rental, closure, or other; one-time blocks support full date/time range with public reason + internal notes

Repeat Weekly toggle — extend any block to a recurring weekly or biweekly pattern with day-of-week chip selector and optional end date; generates a full year of occurrences up front

Hours button — inline modal to edit per-location operating hours; 4 quick presets (extended, standard, business, 24/7) plus per-day open/close/closed toggles

Permission gating — Block Court requires can_manage_court_blocks; court editing requires can_manage_courts; hours requires can_manage_locations. Sidebar lock icons for lower-tier staff

Live calendar repaint after every mutation — no manual reload, scroll position preserved (CLAUDE.md §3.8 compliant)

Cancelled blocks no longer falsely subtract from cross-club marketplace availability counts or coach-slot conflict checks (3 .active scope fixes shipped)

Hardened: overlap-on-update validation closed; DB-level exclusion constraint added for race-safe production; mass-assignment IDOR via club_location_id closed; XSS via JSONB hours key closed

🎯
Key Takeaway

Court Calendar Management — Edit Courts, Block Time, and Set Hours Without Leaving the Calendar brings 8 improvements to club operations — streamlining what used to be a manual process into something that just works.

Why This Matters

Court Calendar Management — Edit Courts, Block Time, and Set Hours Without Leaving the Calendar addresses a real need for club managers. Manage every court from one screen. Click a court header to rename, recolor, or take it offline. Block off time for maintenance, events, lessons, or private rentals — one-time or weekly recurring. Set per-location operating hours inline. The calendar repaints in place; the front desk never sees stale state. By building this directly into the platform, club managers save time and get a more reliable experience — no workarounds, no third-party tools, no spreadsheets.

See the full feature breakdown and get started.

Get Started

Ready to organize your next game?

Download Picklebeast and start finding players, running leagues, and hosting tournaments.

Get the App