# Web App Guide

## Main Navigation

- Dashboard: KPIs and quick actions
- Bookings: calendar/list views, approvals
- Clients: profiles, package balances, history
- Coaches: profile, availability, public link
- Courts: court setup, blocks, public booking toggle
- Reports: payment summaries and trends
- Settings: plan, workspace, org settings

## Bookings

Key flows:
- Create booking
- Edit booking
- Approve/reject pending booking
- Mark payment status (`pending`, `paid`, `overdue`)
- Cancel/delete booking

Conflict checks:
- Court overlap blocking
- Coach overlap blocking
- Court block range enforcement

## Clients

- Create/edit/delete client
- Phone + email support
- Lesson totals/remaining support
- Lesson/package usage history in related screens

## Coaches

- Create/edit/delete coach
- Hourly rate and bio
- Weekly availability ranges
- Public coach booking enablement (plan-dependent)

## Courts

- Create/edit/delete court
- Set open/close time and hourly rate
- Create maintenance/event blocks
- Optional public court booking URL

## Settings

- Current plan and limits
- Workspace switcher (multi-membership users)
- Availability setup
- Group templates and upcoming groups links
- Notification settings (system-level)

## Access Control

UI is permission-aware:
- Sidebar modules
- Quick-action cards
- Stats cards

Actions still enforce backend permissions even if UI is modified.
