Auth: Sanctum + analytics.read permission — Owner-only (Manager/Staff get 403, unlike most other read endpoints they share with Owner).
Query params: date_from (date, optional, default 30 days ago), date_to (date, optional, default today; must be ≥ date_from).
Response 200 (data):
{
"period": {"from": "<iso8601>", "to": "<iso8601>"},
"bookings": {"total": int, "by_status": {"<status>": int, ...}},
"cancellation_rate": float, // percent, 0-100
"revenue": [{"currency": "USD", "amount": float}, ...], // "booked" revenue: sum of price for confirmed/checked_in/completed bookings, NOT net of refunds
"top_services": [{"id": "srv_...", "name": "...", "bookings": int}, ...], // top 5
"top_resources": [{"id": "res_...", "name": "...", "bookings": int}, ...] // top 5
}
Errors: 403 PERMISSION_DENIED if not Owner.