Update Booking
curl --request POST \
--url https://ipos.dev.nowbookit.com/Bookings/UpdateBookingAsync \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"numOfPeople": 1073741824,
"time": "<string>",
"bookingTimeAsUtc": "<string>",
"bookingId": "<string>",
"serviceId": "<string>",
"sectionId": "<string>",
"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>"
}
},
"notes": "<string>",
"tables": [
"<string>"
],
"links": [
{
"linkName": "<string>",
"linkURL": "<string>"
}
],
"status": "<string>",
"duration": 123,
"staffId": "<string>",
"staffName": "<string>"
}
'import requests
url = "https://ipos.dev.nowbookit.com/Bookings/UpdateBookingAsync"
payload = {
"numOfPeople": 1073741824,
"time": "<string>",
"bookingTimeAsUtc": "<string>",
"bookingId": "<string>",
"serviceId": "<string>",
"sectionId": "<string>",
"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>"
}
},
"notes": "<string>",
"tables": ["<string>"],
"links": [
{
"linkName": "<string>",
"linkURL": "<string>"
}
],
"status": "<string>",
"duration": 123,
"staffId": "<string>",
"staffName": "<string>"
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
numOfPeople: 1073741824,
time: '<string>',
bookingTimeAsUtc: '<string>',
bookingId: '<string>',
serviceId: '<string>',
sectionId: '<string>',
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>'
}
},
notes: '<string>',
tables: ['<string>'],
links: [{linkName: '<string>', linkURL: '<string>'}],
status: '<string>',
duration: 123,
staffId: '<string>',
staffName: '<string>'
})
};
fetch('https://ipos.dev.nowbookit.com/Bookings/UpdateBookingAsync', 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/UpdateBookingAsync",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'numOfPeople' => 1073741824,
'time' => '<string>',
'bookingTimeAsUtc' => '<string>',
'bookingId' => '<string>',
'serviceId' => '<string>',
'sectionId' => '<string>',
'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>'
]
],
'notes' => '<string>',
'tables' => [
'<string>'
],
'links' => [
[
'linkName' => '<string>',
'linkURL' => '<string>'
]
],
'status' => '<string>',
'duration' => 123,
'staffId' => '<string>',
'staffName' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://ipos.dev.nowbookit.com/Bookings/UpdateBookingAsync"
payload := strings.NewReader("{\n \"numOfPeople\": 1073741824,\n \"time\": \"<string>\",\n \"bookingTimeAsUtc\": \"<string>\",\n \"bookingId\": \"<string>\",\n \"serviceId\": \"<string>\",\n \"sectionId\": \"<string>\",\n \"customer\": {\n \"id\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"company\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"address\": {\n \"line1\": \"<string>\",\n \"line2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\"\n }\n },\n \"notes\": \"<string>\",\n \"tables\": [\n \"<string>\"\n ],\n \"links\": [\n {\n \"linkName\": \"<string>\",\n \"linkURL\": \"<string>\"\n }\n ],\n \"status\": \"<string>\",\n \"duration\": 123,\n \"staffId\": \"<string>\",\n \"staffName\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://ipos.dev.nowbookit.com/Bookings/UpdateBookingAsync")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"numOfPeople\": 1073741824,\n \"time\": \"<string>\",\n \"bookingTimeAsUtc\": \"<string>\",\n \"bookingId\": \"<string>\",\n \"serviceId\": \"<string>\",\n \"sectionId\": \"<string>\",\n \"customer\": {\n \"id\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"company\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"address\": {\n \"line1\": \"<string>\",\n \"line2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\"\n }\n },\n \"notes\": \"<string>\",\n \"tables\": [\n \"<string>\"\n ],\n \"links\": [\n {\n \"linkName\": \"<string>\",\n \"linkURL\": \"<string>\"\n }\n ],\n \"status\": \"<string>\",\n \"duration\": 123,\n \"staffId\": \"<string>\",\n \"staffName\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://ipos.dev.nowbookit.com/Bookings/UpdateBookingAsync")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"numOfPeople\": 1073741824,\n \"time\": \"<string>\",\n \"bookingTimeAsUtc\": \"<string>\",\n \"bookingId\": \"<string>\",\n \"serviceId\": \"<string>\",\n \"sectionId\": \"<string>\",\n \"customer\": {\n \"id\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"company\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"address\": {\n \"line1\": \"<string>\",\n \"line2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\"\n }\n },\n \"notes\": \"<string>\",\n \"tables\": [\n \"<string>\"\n ],\n \"links\": [\n {\n \"linkName\": \"<string>\",\n \"linkURL\": \"<string>\"\n }\n ],\n \"status\": \"<string>\",\n \"duration\": 123,\n \"staffId\": \"<string>\",\n \"staffName\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"bookingId": "<string>",
"time": "2023-11-07T05:31:56Z",
"numOfPeople": 123,
"bookingStatus": "<string>",
"duration": 123,
"tableNames": [
"<string>"
],
"serviceId": "<string>",
"serviceName": "<string>",
"sectionId": "<string>",
"isSuccess": true,
"errorMessage": "<string>"
}Bookings
POST /Bookings/UpdateBookingAsync
Update an existing booking. The bookingId field identifies which booking to update.
POST
/
Bookings
/
UpdateBookingAsync
Update Booking
curl --request POST \
--url https://ipos.dev.nowbookit.com/Bookings/UpdateBookingAsync \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"numOfPeople": 1073741824,
"time": "<string>",
"bookingTimeAsUtc": "<string>",
"bookingId": "<string>",
"serviceId": "<string>",
"sectionId": "<string>",
"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>"
}
},
"notes": "<string>",
"tables": [
"<string>"
],
"links": [
{
"linkName": "<string>",
"linkURL": "<string>"
}
],
"status": "<string>",
"duration": 123,
"staffId": "<string>",
"staffName": "<string>"
}
'import requests
url = "https://ipos.dev.nowbookit.com/Bookings/UpdateBookingAsync"
payload = {
"numOfPeople": 1073741824,
"time": "<string>",
"bookingTimeAsUtc": "<string>",
"bookingId": "<string>",
"serviceId": "<string>",
"sectionId": "<string>",
"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>"
}
},
"notes": "<string>",
"tables": ["<string>"],
"links": [
{
"linkName": "<string>",
"linkURL": "<string>"
}
],
"status": "<string>",
"duration": 123,
"staffId": "<string>",
"staffName": "<string>"
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
numOfPeople: 1073741824,
time: '<string>',
bookingTimeAsUtc: '<string>',
bookingId: '<string>',
serviceId: '<string>',
sectionId: '<string>',
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>'
}
},
notes: '<string>',
tables: ['<string>'],
links: [{linkName: '<string>', linkURL: '<string>'}],
status: '<string>',
duration: 123,
staffId: '<string>',
staffName: '<string>'
})
};
fetch('https://ipos.dev.nowbookit.com/Bookings/UpdateBookingAsync', 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/UpdateBookingAsync",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'numOfPeople' => 1073741824,
'time' => '<string>',
'bookingTimeAsUtc' => '<string>',
'bookingId' => '<string>',
'serviceId' => '<string>',
'sectionId' => '<string>',
'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>'
]
],
'notes' => '<string>',
'tables' => [
'<string>'
],
'links' => [
[
'linkName' => '<string>',
'linkURL' => '<string>'
]
],
'status' => '<string>',
'duration' => 123,
'staffId' => '<string>',
'staffName' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://ipos.dev.nowbookit.com/Bookings/UpdateBookingAsync"
payload := strings.NewReader("{\n \"numOfPeople\": 1073741824,\n \"time\": \"<string>\",\n \"bookingTimeAsUtc\": \"<string>\",\n \"bookingId\": \"<string>\",\n \"serviceId\": \"<string>\",\n \"sectionId\": \"<string>\",\n \"customer\": {\n \"id\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"company\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"address\": {\n \"line1\": \"<string>\",\n \"line2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\"\n }\n },\n \"notes\": \"<string>\",\n \"tables\": [\n \"<string>\"\n ],\n \"links\": [\n {\n \"linkName\": \"<string>\",\n \"linkURL\": \"<string>\"\n }\n ],\n \"status\": \"<string>\",\n \"duration\": 123,\n \"staffId\": \"<string>\",\n \"staffName\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://ipos.dev.nowbookit.com/Bookings/UpdateBookingAsync")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"numOfPeople\": 1073741824,\n \"time\": \"<string>\",\n \"bookingTimeAsUtc\": \"<string>\",\n \"bookingId\": \"<string>\",\n \"serviceId\": \"<string>\",\n \"sectionId\": \"<string>\",\n \"customer\": {\n \"id\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"company\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"address\": {\n \"line1\": \"<string>\",\n \"line2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\"\n }\n },\n \"notes\": \"<string>\",\n \"tables\": [\n \"<string>\"\n ],\n \"links\": [\n {\n \"linkName\": \"<string>\",\n \"linkURL\": \"<string>\"\n }\n ],\n \"status\": \"<string>\",\n \"duration\": 123,\n \"staffId\": \"<string>\",\n \"staffName\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://ipos.dev.nowbookit.com/Bookings/UpdateBookingAsync")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"numOfPeople\": 1073741824,\n \"time\": \"<string>\",\n \"bookingTimeAsUtc\": \"<string>\",\n \"bookingId\": \"<string>\",\n \"serviceId\": \"<string>\",\n \"sectionId\": \"<string>\",\n \"customer\": {\n \"id\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"company\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"address\": {\n \"line1\": \"<string>\",\n \"line2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\"\n }\n },\n \"notes\": \"<string>\",\n \"tables\": [\n \"<string>\"\n ],\n \"links\": [\n {\n \"linkName\": \"<string>\",\n \"linkURL\": \"<string>\"\n }\n ],\n \"status\": \"<string>\",\n \"duration\": 123,\n \"staffId\": \"<string>\",\n \"staffName\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"bookingId": "<string>",
"time": "2023-11-07T05:31:56Z",
"numOfPeople": 123,
"bookingStatus": "<string>",
"duration": 123,
"tableNames": [
"<string>"
],
"serviceId": "<string>",
"serviceName": "<string>",
"sectionId": "<string>",
"isSuccess": true,
"errorMessage": "<string>"
}Update an existing booking. Accepts the same payload as
201 Created — Example Response
POST /Bookings. The bookingId field in the request body identifies which booking to update.
string
required
Your API key
string
required
Must be
application/jsonstring
required
The NowBookIt Booking ID to update
string
New booking datetime in venue timezone. Format:
yyyy-MM-dd HH:mm. Ignored if bookingTimeAsUtc provided.string
New booking datetime in UTC. Format:
yyyy-MM-ddTHH:mm:ssZ. Overrides time.integer
Updated number of guests
string
NowBookIt Service ID
string
NowBookIt Section ID
string
Updated booking notes
string
Updated booking status. Use
GET /Resources/booking-statuses for valid values.integer
Updated duration in minutes
string
Staff member ID
string
Staff member name
array
Updated list of NowBookIt Table IDs
object
Customer details:
id, firstName, lastName, company, email, phone, addressarray
Additional links:
[{ linkName, linkURL }]Provide either
time or bookingTimeAsUtc — at least one is required.curl --location '[BASE_URL]/Bookings/UpdateBookingAsync' \
--header 'X-API-KEY: your_api_key_here' \
--header 'Content-Type: application/json' \
--data '{ "bookingId": "abc-123", "numOfPeople": 6, "time": "2024-03-20 20:00" }'
{
"bookingId": "abc-123",
"time": "2024-03-20 20:00",
"numOfPeople": 6,
"bookingStatus": "Confirmed",
"duration": 90,
"tableNames": ["Table 5"],
"serviceId": "svc-001",
"serviceName": "Dinner",
"sectionId": "sec-1",
"isSuccess": true,
"errorMessage": null
}
| Status | Description |
|---|---|
201 | Booking updated successfully |
400 | API key not associated with a venue |
400 | No Venue Subscribed to your App. |
400 | Invalid booking status {status}. Query GET /resources/booking-statuses... |
400 | Invalid Booking Time passed in the payload. |
401 | X-API-KEY missing or invalid |
500 | An error occurred. Unable to Update booking. |
Authorizations
Headers
API Key authentication header
Body
application/json
The number of guests on booking.
Required range:
1 <= x <= 2147483647Booking Date and time in Venue's Timezone. Valid Format: 'yyyy-MM-dd HH:mm'
Booking Date and time in UTC Timezone. Valid Format: 'yyyy-MM-ddTHH:mm:ssZ'
Show child attributes
Show child attributes
Nominate NBI Table Ids for this Booking.
Show child attributes
Show child attributes
The Booking duration in Minutes.
Response
201 - application/json
Update an existing Booking from API.
The new NBI Booking Id.
The Booking Date and Time.
⌘I