Get Booking Schedule
curl --request GET \
--url https://ipos.dev.nowbookit.com/Bookings/schedule \
--header 'X-API-KEY: <api-key>'import requests
url = "https://ipos.dev.nowbookit.com/Bookings/schedule"
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/schedule', 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/schedule",
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/schedule"
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/schedule")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://ipos.dev.nowbookit.com/Bookings/schedule")
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[
{
"isVenueOpen": true,
"blockoutMessage": "<string>",
"services": [
{
"id": "<string>",
"name": "<string>",
"online": true,
"duration": 123,
"sections": [
{
"id": "<string>",
"name": "<string>",
"order": 123
}
],
"times": [
{
"name": "<string>",
"expired": true,
"bookingOptionsCount": 123,
"time": "2023-11-07T05:31:56Z",
"sections": [
{
"id": "<string>",
"sectionState": true
}
]
}
],
"paymentDetails": {
"paymentType": "<string>",
"peopleRequired": 123,
"price": 123,
"optionsFrom": "2023-11-07T05:31:56Z",
"optionsTo": "2023-11-07T05:31:56Z",
"maxPeoplePerBookingOverride": 123,
"hasPromotion": true,
"singleMenuPerBooking": true,
"fee": 123
},
"description": "<string>",
"policyAgreement": "<string>",
"policyAgreementText": "<string>",
"serviceType": "<string>"
}
]
}
]Bookings
GET /Bookings/schedule
Get available booking time slots for a given date and party size.
GET
/
Bookings
/
schedule
Get Booking Schedule
curl --request GET \
--url https://ipos.dev.nowbookit.com/Bookings/schedule \
--header 'X-API-KEY: <api-key>'import requests
url = "https://ipos.dev.nowbookit.com/Bookings/schedule"
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/schedule', 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/schedule",
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/schedule"
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/schedule")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://ipos.dev.nowbookit.com/Bookings/schedule")
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[
{
"isVenueOpen": true,
"blockoutMessage": "<string>",
"services": [
{
"id": "<string>",
"name": "<string>",
"online": true,
"duration": 123,
"sections": [
{
"id": "<string>",
"name": "<string>",
"order": 123
}
],
"times": [
{
"name": "<string>",
"expired": true,
"bookingOptionsCount": 123,
"time": "2023-11-07T05:31:56Z",
"sections": [
{
"id": "<string>",
"sectionState": true
}
]
}
],
"paymentDetails": {
"paymentType": "<string>",
"peopleRequired": 123,
"price": 123,
"optionsFrom": "2023-11-07T05:31:56Z",
"optionsTo": "2023-11-07T05:31:56Z",
"maxPeoplePerBookingOverride": 123,
"hasPromotion": true,
"singleMenuPerBooking": true,
"fee": 123
},
"description": "<string>",
"policyAgreement": "<string>",
"policyAgreementText": "<string>",
"serviceType": "<string>"
}
]
}
]Get available booking time slots for a given date and party size. Optionally pass an existing booking ID to find alternative times for rescheduling.
Response is an array of
ServiceModel
SectionModel —
string
required
Your API key
string
required
Start of date range. Format:
yyyy-MM-ddTHH:mm:ss.fffZinteger
required
Number of guests
string
End of date range. If not provided, returns slots for the entire day.
string
Existing booking ID to find alternative slots for rescheduling.
curl --location '[BASE_URL]/Bookings/schedule?BookingDateTimeStart=2024-03-20T00:00:00.000Z&NumOfPeople=4' \
--header 'X-API-KEY: your_api_key_here'
ScheduleQueryResponse objects.
ScheduleQueryResponse
| Field | Type | Nullable | Description |
|---|---|---|---|
isVenueOpen | boolean | No | Whether the venue is open |
blockoutMessage | string | Yes | Why venue is blocked out. Present when isVenueOpen is false |
services | array of ServiceModel | Yes | Available services with time slots |
| Field | Type | Nullable | Description |
|---|---|---|---|
id | string | Yes | Service identifier |
name | string | Yes | Service name |
online | boolean | No | Accepts online bookings |
duration | integer | No | Default duration in minutes |
description | string | Yes | Service description |
serviceType | string | Yes | Type (e.g. dining) |
policyAgreement | string | Yes | Policy title shown at booking |
policyAgreementText | string | Yes | Full policy text |
sections | array of SectionModel | Yes | Available venue sections |
times | array of TimeModel | Yes | Available time slots |
paymentDetails | ServicePayment | No | Payment configuration |
id (string), name (string), order (integer)
TimeModel — time (string UTC datetime), name (string, e.g. “6:00 PM”), expired (boolean), bookingOptionsCount (integer), sections (array of { id, sectionState: boolean })
ServicePayment — paymentType, peopleRequired, price, fee, optionsFrom, optionsTo, maxPeoplePerBookingOverride, hasPromotion, singleMenuPerBooking
Example 200 Response
[
{
"isVenueOpen": true,
"blockoutMessage": null,
"services": [
{
"id": "svc-101",
"name": "Dinner Service",
"online": true,
"duration": 90,
"description": "Standard dinner bookings",
"serviceType": "dining",
"sections": [
{ "id": "sec-1", "name": "Main Floor", "order": 1 }
],
"times": [
{
"name": "6:00 PM",
"expired": false,
"bookingOptionsCount": 3,
"time": "2024-03-20T18:00:00Z",
"sections": [{ "id": "sec-1", "sectionState": true }]
}
],
"paymentDetails": {
"paymentType": "none",
"peopleRequired": 0,
"price": 0.00,
"fee": 0.00,
"hasPromotion": false,
"singleMenuPerBooking": false
}
}
]
}
]
| Status | Description |
|---|---|
200 | Schedule returned |
400 | API key not associated with a venue |
400 | No Venue Subscribed to your App. |
400 | requested Date is not in correct format '{DateTimeISO8601Format}'. |
401 | X-API-KEY missing or invalid |
429 | Rate limit exceeded |
Authorizations
Headers
API Key authentication header
Query Parameters
The DateTime of Schedule. Format: 'yyyy-MM-ddTHH:mm:ss.fffZ'
The number of guests to find Schedule times
To find new Schedule timings for existing bookings.
Schedule end DateTime. If not passed, schedule for whole day is returned. Format: 'yyyy-MM-ddTHH:mm:ss.fffZ'