# API REST principali

Base: `/sport/public/api`

## Auth
- `POST /auth/register`
- `POST /auth/login`
- `POST /auth/logout`

## Catalogo
- `GET /centers`
- `GET /sports?center_id=1`
- `GET /courts?center_id=1`

## Pubblico (no login)
- `GET /public/sports?center_id=1`
- `GET /public/availability?center_id=1&date=2026-05-26&sport_id=2`
- `GET /public/events/poll?center_id=1&since_id=0`
- `POST /public/bookings/guest`

## Booking
- `GET /bookings?center_id=1&date=2026-05-26`
- `POST /bookings/lock`
- `POST /bookings`
- `DELETE /bookings/{id}`

Nota: gli endpoint `Booking` completi sono riservati ai ruoli operativi (`super_admin`, `center_admin`, `staff`).

## Dashboard
- `GET /dashboard/admin?center_id=1`
- `GET /dashboard/client`

## Realtime
- `GET /notifications`
- `GET /events/poll?center_id=1&since_id=0`

## Note sicurezza
- endpoint mutanti richiedono sessione attiva
- CSRF richiesto su `POST /bookings`
- prepared statements su tutte le query
- rate limiting su login
- endpoint `public/*` sono in sola lettura (visibilità/disponibilità)
