Skip to content

Bookings

Confirm a hold, then read it back.

Auth: x-api-key. You only see bookings your partner owns.

Confirm

http
POST /api/v1/bookings/confirm
Content-Type: application/json
x-api-key: <your-api-key>

{
  "hold_id": "…",
  "payment_reference": "pay_example_ref",
  "customer_name": "Aarav Sharma",
  "customer_phone": "9876543210",
  "idempotency_key": "confirm-9f2a-4c1e-8b7d-1a2b3c4d5e6f"
}

payment_reference is opaque — CBMS does not charge a card on this call. Optional: customer_email, use_package_credit.

201: booking_id, slot_id, status: "BOOKED", booked_at, price_rupees. If you set use_package_credit, you may also get package_credit_consumed.

Must run before the hold’s hold_expiry_at. Errors: HOLD_NOT_FOUND (404), HOLD_EXPIRED / INVALID_HOLD_STATE / DOUBLE_BOOKING_ATTEMPT (409).

Reusing this confirm key for a different hold is 409. Same key, same confirm → original booking_id (201).

Get one

http
GET /api/v1/bookings/{bookingId}
x-api-key: <your-api-key>

Missing id and another partner’s booking both return 404 BOOKING_NOT_FOUND.

Payload includes venue/resource, slot window, payment_reference, and customer fields — useful after a confirm retry.

List

http
GET /api/v1/bookings?venue_id=<uuid>&from=YYYY-MM-DD&to=YYYY-MM-DD&limit=50
x-api-key: <your-api-key>

Newest booked_at first. venue_id filters within your bookings. Optional customer_phone / customer_name. partner_id in the query is ignored.

To undo a booking: Cancellations.

Start in the sandbox. Production access is granted after certification.