List Bookings
curl --request GET \
--url https://ipos.dev.nowbookit.com/Bookings \
--header 'X-API-KEY: <api-key>'import requests
url = "https://ipos.dev.nowbookit.com/Bookings"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://ipos.dev.nowbookit.com/Bookings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://ipos.dev.nowbookit.com/Bookings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://ipos.dev.nowbookit.com/Bookings"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://ipos.dev.nowbookit.com/Bookings")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://ipos.dev.nowbookit.com/Bookings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"bookings": [
{
"locationId": "<string>",
"bookingId": "<string>",
"method": "<string>",
"bookedAt": "<string>",
"bookingTime": "<string>",
"duration": 123,
"people": 123,
"customer": {
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"company": "<string>",
"email": "<string>",
"phone": "<string>",
"address": {
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"phoneNational": "<string>",
"phone2": "<string>",
"birthdayDate": 123,
"birthdayMonth": 123,
"birthdayYear": 123,
"notes": "<string>",
"noShowCount": 123,
"tags": [
{
"id": "<string>",
"identifier": "<string>",
"name": "<string>"
}
],
"subscribed": true,
"lastModifiedDate": "<string>"
},
"tables": [
{
"tableId": "<string>",
"tableName": "<string>",
"sectionId": "<string>",
"sectionName": "<string>"
}
],
"tags": [
{
"tagType": "<string>",
"name": "<string>"
}
],
"status": {
"statusType": "<string>",
"code": "<string>",
"name": "<string>"
},
"notes": "<string>",
"paymentSummary": {
"paymentType": "<string>",
"amount": 123,
"amountDue": 123,
"transactionId": "<string>",
"currencyCode": "<string>",
"amountPaid": 123,
"paymentDate": "<string>"
},
"serviceId": "<string>",
"lastModifiedDate": "<string>",
"serviceName": "<string>",
"serviceType": "<string>",
"items": [
{
"name": "<string>",
"label": "<string>",
"price": 123,
"quantity": 123,
"paymentType": "<string>",
"extras": [
{
"name": "<string>",
"label": "<string>",
"price": 123,
"quantity": 123,
"paymentType": "<string>"
}
]
}
]
}
],
"count": 123
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}Bookings
List Bookings
Retrieve a list of bookings with optional filters for date range, service, and customer details
GET
/
Bookings
List Bookings
curl --request GET \
--url https://ipos.dev.nowbookit.com/Bookings \
--header 'X-API-KEY: <api-key>'import requests
url = "https://ipos.dev.nowbookit.com/Bookings"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://ipos.dev.nowbookit.com/Bookings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://ipos.dev.nowbookit.com/Bookings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://ipos.dev.nowbookit.com/Bookings"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://ipos.dev.nowbookit.com/Bookings")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://ipos.dev.nowbookit.com/Bookings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"bookings": [
{
"locationId": "<string>",
"bookingId": "<string>",
"method": "<string>",
"bookedAt": "<string>",
"bookingTime": "<string>",
"duration": 123,
"people": 123,
"customer": {
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"company": "<string>",
"email": "<string>",
"phone": "<string>",
"address": {
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"phoneNational": "<string>",
"phone2": "<string>",
"birthdayDate": 123,
"birthdayMonth": 123,
"birthdayYear": 123,
"notes": "<string>",
"noShowCount": 123,
"tags": [
{
"id": "<string>",
"identifier": "<string>",
"name": "<string>"
}
],
"subscribed": true,
"lastModifiedDate": "<string>"
},
"tables": [
{
"tableId": "<string>",
"tableName": "<string>",
"sectionId": "<string>",
"sectionName": "<string>"
}
],
"tags": [
{
"tagType": "<string>",
"name": "<string>"
}
],
"status": {
"statusType": "<string>",
"code": "<string>",
"name": "<string>"
},
"notes": "<string>",
"paymentSummary": {
"paymentType": "<string>",
"amount": 123,
"amountDue": 123,
"transactionId": "<string>",
"currencyCode": "<string>",
"amountPaid": 123,
"paymentDate": "<string>"
},
"serviceId": "<string>",
"lastModifiedDate": "<string>",
"serviceName": "<string>",
"serviceType": "<string>",
"items": [
{
"name": "<string>",
"label": "<string>",
"price": 123,
"quantity": 123,
"paymentType": "<string>",
"extras": [
{
"name": "<string>",
"label": "<string>",
"price": 123,
"quantity": 123,
"paymentType": "<string>"
}
]
}
]
}
],
"count": 123
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}string
required
Your partner API key. Contact [email protected] to obtain one.
Query Parameters
string
Filter bookings by service name (e.g.,
"Dinner", "Lunch").string
Start of the booking date range. Required when
EndDate is provided.Format: yyyy-MM-ddTHH:mm:ss.fffZExample: 2024-06-01T00:00:00.000Zstring
End of the booking date range. Required when
StartDate is provided.Format: yyyy-MM-ddTHH:mm:ss.fffZstring
Start of the last-modified date range. Required when
UpdatedToDate is provided.Format: yyyy-MM-ddTHH:mm:ss.fffZUse this pair to poll for changes since your last sync.string
End of the last-modified date range. Required when
UpdatedFromDate is provided.Format: yyyy-MM-ddTHH:mm:ss.fffZboolean
default:"false"
When
true, each booking object will include a nested customer object with the guest’s contact details.boolean
default:"true"
When
false, cancelled bookings are excluded from results.You must provide either
StartDate + EndDate or UpdatedFromDate + UpdatedToDate. Mixing date filter types, or omitting both, will return an empty result set without an error response.Response
integer
Total number of bookings returned in this response.
array
List of booking objects.
Show Booking Object
Show Booking Object
string
Unique NowBookIt booking identifier.
string
NowBookIt venue/location identifier.
string
How the booking was created (e.g.,
"online", "phone", "walkin").string
ISO 8601 timestamp of when the booking was created.
string
ISO 8601 datetime of the booking in venue local time.
integer
Duration of the booking in minutes.
integer
Number of guests in the party.
object
array
Examples
curl "https://{base_url}/Bookings?StartDate=2024-06-01T00:00:00.000Z&EndDate=2024-06-01T23:59:59.999Z&IncludeCustomerDetails=true" \
-H "X-API-KEY: your_api_key"
curl "https://{base_url}/Bookings?UpdatedFromDate=2024-06-01T12:00:00.000Z&UpdatedToDate=2024-06-01T13:00:00.000Z" \
-H "X-API-KEY: your_api_key"
curl "https://{base_url}/Bookings?StartDate=2024-06-01T00:00:00.000Z&EndDate=2024-06-01T23:59:59.999Z&ServiceName=Dinner" \
-H "X-API-KEY: your_api_key"
const response = await fetch(
`https://{base_url}/Bookings?StartDate=2024-06-01T00:00:00.000Z&EndDate=2024-06-01T23:59:59.999Z`,
{
headers: {
"X-API-KEY": "your_api_key",
},
}
);
const data = await response.json();
console.log(`${data.count} bookings returned`);
Example Response
{
"count": 2,
"bookings": [
{
"bookingId": "bk_abc123",
"locationId": "loc_xyz789",
"method": "online",
"bookedAt": "2024-05-28T09:14:22Z",
"bookingTime": "2024-06-01T19:00:00",
"duration": 90,
"people": 4,
"tables": [
{ "tableId": "tbl_001", "tableName": "Table 5" }
],
"tags": [
{ "tagType": "occasion", "name": "Birthday" }
]
},
{
"bookingId": "bk_def456",
"locationId": "loc_xyz789",
"method": "phone",
"bookedAt": "2024-05-30T14:00:00Z",
"bookingTime": "2024-06-01T20:30:00",
"duration": 60,
"people": 2,
"tables": [],
"tags": []
}
]
}
Status Codes
| Code | Description |
|---|---|
200 | Success |
400 | API key not linked to a venue |
401 | Invalid or missing X-API-KEY |
429 | Rate limit exceeded |
Authorizations
Headers
API Key authentication header
Query Parameters
The Service Name.
The Booking Start Date. Format: 'yyyy-MM-ddTHH:mm:ss.fffZ'
The Booking End Date. Format: 'yyyy-MM-ddTHH:mm:ss.fffZ'
The Booking Updated From Start Date. Format: 'yyyy-MM-ddTHH:mm:ss.fffZ'
The Booking Updated To End Date. Format: 'yyyy-MM-ddTHH:mm:ss.fffZ'
Set true to include customer details in the Bookings object.
Set False to exclude Bookings that are in Cancelled status. Default: True.