Bookings
Bookings are reservations for meeting spaces during specific time windows.
Create Booking
POST /api/v1/bookings
Content-Type: application/json
{
"meeting_space_id": "ms-abc123",
"start_time": "2025-01-15T10:00:00Z",
"end_time": "2025-01-15T11:00:00Z",
"organizer_name": "John Doe",
"organizer_email": "john@example.com",
"notes": "Team standup meeting"
}
info
Public booking creation does not require authentication. Authenticated bookings support additional fields like payment and voucher application.
List Bookings
GET /api/v1/bookings?organization_id=org-123&meeting_space_id=ms-abc123
Authorization: Bearer <jwt>
Get Booking
GET /api/v1/bookings/:id
Authorization: Bearer <jwt>
Cancel Booking
PATCH /api/v1/bookings/:id/cancel
Authorization: Bearer <jwt>
Booking Lifecycle
| Status | Description |
|---|---|
pending | Booking created, awaiting payment or confirmation |
confirmed | Payment received or auto-confirmed |
active | Booking is currently in progress |
completed | Booking has ended |
cancelled | Booking was cancelled |
Booking Sources
Bookings can originate from:
- Admin Dashboard (
zs-admin) — Created by operators - Booking SPA (
zs-booking) — Created by end users - API — Created programmatically by integrations
- Third-party sync — Synced from Google Calendar, Outlook, etc.
Timestamps
All booking times are stored in UTC (ISO-8601 format). Display conversions use the organization's timezone setting.
Next Steps
- Pricing & Payments — Pricing calculation and Stripe
- Webhooks — Booking event notifications