Skip to main content

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

StatusDescription
pendingBooking created, awaiting payment or confirmation
confirmedPayment received or auto-confirmed
activeBooking is currently in progress
completedBooking has ended
cancelledBooking 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