GETBookings
List Bookings
/api/v1/bookingsRetrieve all bookings belonging to the authenticated partner (resolved from Bearer token). Results are grouped by booking number — each entry may contain multiple products under items. Metadata (guests, payments, customerNote, resellerReference, resellerSource, resellerNote, status) is at the booking level, taken from the primary item.
Authentication Required
Include Bearer token in Authorization header: Authorization: Bearer YOUR_TOKEN
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
page | integer | No | Page number for pagination (default: 1) |
limit | integer | No | Items per page, max 100 (default: 25) |
status | string | No | Filter by status: created, pending, confirmed, completed, canceled |
bookingNumber | string | No | Exact booking number filter |
Response
Success Response Example:
{
"success": true,
"bookings": [
{
"bookingNumber": "PC2524A7B",
"customer": {
"title": "Mr",
"firstName": "John",
"lastName": "Doe",
"phone": "+33612345678",
"email": "[email protected]"
},
"items": [
{
"id": 43,
"productCode": "TOUR-EIFFEL-SKIP-LINE",
"reservationDate": "2026-03-25",
"reservationTime": "10:00",
"quantities": [
{
"label": "adult",
"quantity": 2,
"price": 75
},
{
"label": "child",
"quantity": 1,
"price": 40
}
]
},
{
"id": 44,
"productCode": "TOUR-SEINE-CRUISE",
"reservationDate": "2026-03-25",
"reservationTime": "14:00",
"quantities": [
{
"label": "adult",
"quantity": 2,
"price": 35
}
]
}
],
"guests": [
{
"title": "Mr",
"firstName": "John",
"lastName": "Doe",
"age": 37
},
{
"title": "Mrs",
"firstName": "Jane",
"lastName": "Doe",
"age": 35
}
],
"payments": [
{
"method": "CREDIT_CARD",
"amount": 150,
"currency": "EUR",
"reference": "txn-2026-03-20-001"
}
],
"customerNote": "Wheelchair accessible entrance requested",
"resellerReference": "RS-TRAVELMATE-9912",
"resellerSource": "mytravelmate",
"resellerNote": "VIP customer",
"status": "created",
"createdAt": "2026-03-20T10:12:43.000+01:00",
"updatedAt": "2026-03-20T10:12:43.000+01:00"
}
],
"pagination": {
"page": 1,
"limit": 25,
"total": 1,
"totalPages": 1,
"hasNextPage": false,
"hasPreviousPage": false
}
}Error Response
Error Example:
{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Unauthorized - Partner not authenticated"
}
}Available Errors
| HTTP Status | Code | Meaning |
|---|---|---|
401 | UNAUTHORIZED | Invalid or missing authentication token |
400 | INVALID_REQUEST | Invalid status filter value |
500 | INTERNAL_SERVER_ERROR | Failed to retrieve bookings |