Bookings API

Create, read, update, and manage bookings. All booking amounts are in cents (EUR).

Endpoints

GET
/tenants/{tenantId}/bookings

List all bookings with pagination and filters

GET
/tenants/{tenantId}/bookings/{bookingId}

Get a single booking by ID

POST
/tenants/{tenantId}/bookings

Create a new booking

PATCH
/tenants/{tenantId}/bookings/{bookingId}

Update booking status (confirm, cancel, complete)

GET
/tenants/{tenantId}/bookings/{bookingId}/credentials

Get access credentials (QR code, SMS) for a booking

List Bookings

Retrieve a paginated list of bookings. Filter by status, date range, object, or guest email.

Query Parameters

ParameterTypeDescription
pageintegerPage number (default: 1)
pageSizeintegerItems per page (default: 20, max: 100)
statusstringFilter by status: PENDING, CONFIRMED, CANCELLED, COMPLETED
objectIduuidFilter by object ID
fromISO 8601Bookings starting after this date
toISO 8601Bookings starting before this date

Example

Requestbash
curl -X GET \
  "https://your-domain.booqr.nl/api/v1/tenants/{tenantId}/bookings?status=CONFIRMED&page=1" \
  -H "Authorization: Bearer booqr_your_api_key"
Response 200json
{
  "bookings": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "objectId": "...",
      "objectName": "Court 1",
      "guestName": "Jan de Vries",
      "guestEmail": "jan@example.com",
      "startTime": "2026-02-17T10:00:00Z",
      "endTime": "2026-02-17T11:00:00Z",
      "status": "CONFIRMED",
      "totalPrice": 2500,
      "currency": "EUR",
      "createdAt": "2026-02-16T09:00:00Z"
    }
  ],
  "pagination": { "page": 1, "pageSize": 20, "total": 42 }
}

Create Booking

Request Body

FieldTypeRequiredDescription
objectIduuidYesThe bookable object to reserve
guestNamestringYesGuest's full name
guestEmailstringYesGuest's email address
guestPhonestringNoGuest's phone number
startTimeISO 8601YesBooking start time
endTimeISO 8601YesBooking end time

Example

Requestbash
curl -X POST \
  "https://your-domain.booqr.nl/api/v1/tenants/{tenantId}/bookings" \
  -H "Authorization: Bearer booqr_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "objectId": "object-uuid",
    "guestName": "Jan de Vries",
    "guestEmail": "jan@example.com",
    "startTime": "2026-02-18T10:00:00Z",
    "endTime": "2026-02-18T11:00:00Z"
  }'
Response 201json
{
  "booking": {
    "id": "new-booking-uuid",
    "status": "PENDING",
    "totalPrice": 2500,
    "paymentUrl": "https://pay.nl/...",
    "createdAt": "2026-02-16T12:00:00Z"
  }
}