Reservation
Retrieve a paginated list of reservations
get/api/v1/restaurants/{restaurant_id}/reservations
Request
- Base URL: https://gotable.app
- URL: https://gotable.app/api/v1/restaurants/{restaurant_id}/reservations
- Auth: HTTP bearer
Path parameters
restaurant_idinteger required
Query parameters
pageinteger
Current page number
per_pageinteger
Number of results per page (max 100)
querystring
Search reservations by a combination of query and operators to filter.
List of fields you can filter by:
- type: The type of reservation (Reservation or WalkIn).
- offer_id: The (optional) ID of the offer this reservation was booked for.
- date: The date the reservation was booked for.
- time: Time (HH:MM) of reservation.
- starts_at: Datetime (ISO 8601) of the start of the reservation.
- ends_at: Datetime (ISO 8601) of the end of the reservation.
- state: The current state of the reservation.
- party_size: Number of guests in the party.
- guest_name: Primary guest's name.
- guest_email: Primary guest's email.
- guest_telephone: Primary guest's telephone.
- comments: Primary guest's comments for the reservation.
- duration_in_minutes: The duration of the reservation in minutes.
List of comparison functions you can use with these fields:
- <= less than or equal to
- < less than
- >= greater than or equal to
- > greater than
- != not_equal_to
- =, == equal_to
- !:, !~ does not contain
- :, ~ contains
For example, "John date>=2026-09-08 state=confirmed party_size=2" to find all confirmed reservations matching the keyword "John" that are for any date equal to or in the future of 2026-09-08 and have exactly 2 guests in the party.
Response
With a valid API token
Example response
{
"reservations": [
{
"id": 98765,
"offer_id": 45678,
"restaurant_id": 12345,
"created_at": "2026-09-15T06:18:20+02:00",
"updated_at": "2026-09-15T06:18:20+02:00",
"date": "2026-09-15",
"time": "18:00",
"duration_in_minutes": 90,
"starts_at": "2026-09-15T18:00:00+02:00",
"ends_at": "2026-09-15T19:30:00+02:00",
"party_size": 2,
"state": "confirmed",
"guest_name": "John Doe",
"guest_email": "john.doe@example.com",
"guest_telephone": "+31612345678",
"comments": "One of our guests is vegan.",
"tags": [
"vip",
"soja",
"halal"
],
"invited_guests": [
{
"primary": true,
"guest_id": 98765,
"name": "John Doe",
"email": "john.doe@example.com",
"access_token": "d3d49d51bc9bdedbf2ae3fc38899c9f22a8958d68a4d5819a59756660d0aab4aa51b95df29197af6",
"links": [
{
"url": "https://gotable.app/api/v1/restaurants/12345/guests/98765",
"rel": "guest",
"method": "GET"
},
{
"url": "https://gotable.app/reservations/98765?access_token=d3d49d51bc9bdedbf2ae3fc38899c9f22a8958d68a4d5819a59756660d0aab4aa51b95df29197af6",
"rel": "guest-reservation-view",
"method": "GET"
}
]
}
],
"tables": [
{
"id": 98765,
"label": "Tafel 1",
"section": "Terras"
}
],
"table_ids": [
101,
102
],
"payment": {
"amount": {
"cents": 4000,
"currency_iso": "EUR"
},
"provider": "Mollie",
"state": "paid"
},
"notes": [
{
"id": 12345,
"author_id": 12345,
"author_name": "John Doe",
"content": "John Doe"
}
],
"links": [
{
"url": "https://gotable.app/api/v1/restaurants/12345/reservations/98765",
"rel": "self",
"method": "GET"
},
{
"url": "https://gotable.app/reservations/98765?access_token={access_token}",
"rel": "guest-reservation-view",
"method": "GET"
},
{
"url": "https://gotable.app/api/v1/restaurants/12345/reservations/98765/cancel",
"rel": "cancel",
"method": "PUT"
},
{
"url": "https://gotable.app/api/v1/restaurants/12345",
"rel": "restaurant",
"method": "GET"
},
{
"url": "https://gotable.app/api/v1/restaurants/12345/offers/45678",
"rel": "offer",
"method": "GET"
}
]
}
],
"meta": {
"current_page": 1,
"per_page": 20,
"total_pages": 1,
"total_count": 1,
"links": [
{
"href": "https://gotable.app/api/v1/",
"method": "GET",
"rel": "next"
}
]
}
}Changes
No recorded changes to this operation across all 1 revision of this API.