Bookings API
Create, read, update, and manage bookings. All booking amounts are in cents (EUR).
Endpoints
GET
/tenants/{tenantId}/bookingsList all bookings with pagination and filters
GET
/tenants/{tenantId}/bookings/{bookingId}Get a single booking by ID
POST
/tenants/{tenantId}/bookingsCreate a new booking
PATCH
/tenants/{tenantId}/bookings/{bookingId}Update booking status (confirm, cancel, complete)
GET
/tenants/{tenantId}/bookings/{bookingId}/credentialsGet 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
| Parameter | Type | Description |
|---|---|---|
page | integer | Page number (default: 1) |
pageSize | integer | Items per page (default: 20, max: 100) |
status | string | Filter by status: PENDING, CONFIRMED, CANCELLED, COMPLETED |
objectId | uuid | Filter by object ID |
from | ISO 8601 | Bookings starting after this date |
to | ISO 8601 | Bookings 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
| Field | Type | Required | Description |
|---|---|---|---|
objectId | uuid | Yes | The bookable object to reserve |
guestName | string | Yes | Guest's full name |
guestEmail | string | Yes | Guest's email address |
guestPhone | string | No | Guest's phone number |
startTime | ISO 8601 | Yes | Booking start time |
endTime | ISO 8601 | Yes | Booking 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"
}
}