Slatis

Bookings

The booking lifecycle, status machine, and available operations.

Booking lifecycle

DRAFT  ──────────────────────────────► SCHEDULED
  │                                       │
  │                                       ├─► COMPLETED
  │                                       ├─► CANCELLED
  │                                       ├─► NO_SHOW
  │                                       └─► RESCHEDULED

  └─► PENDING_CONFIRMATION ─────────► SCHEDULED (after host confirms)
                            └───────► CANCELLED
StatusDescription
DRAFTCreated, routing in progress (transient — milliseconds to seconds)
SCHEDULEDAssigned to a team member, confirmed
PENDING_CONFIRMATIONAwaiting host confirmation (event types with requiresConfirmation: true)
COMPLETEDMeeting happened
CANCELLEDCancelled by host or via API
NO_SHOWAttendee did not attend
RESCHEDULEDReplaced by a newer booking

Idempotency

For POST /bookings, pass an idempotency key to safely retry without creating duplicates:

curl -X POST https://api.slatis.com/bookings \
  -H "Authorization: Bearer sk_live_xxx" \
  -H "Idempotency-Key: order_12345_booking_attempt_1" \
  -H "Content-Type: application/json" \
  -d '{ ... }'

If a booking with that key already exists, the existing booking is returned with status 200.

Filtering

GET /bookings?status=SCHEDULED&eventTypeId=evt_01abc&limit=25&offset=0

Supported filters: status, eventTypeId, assignedToId, attendeeEmail, startDate, endDate.

Cancellation

curl -X DELETE https://api.slatis.com/bookings/bkg_01xyz \
  -H "Authorization: Bearer sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{ "reason": "Customer requested reschedule" }'

On this page