Skip to main content
POST
/
Bookings
/
UpdateBookingAsync
POST /Bookings/UpdateBookingAsync
curl --request POST \
  --url https://{base_url}/Bookings/UpdateBookingAsync \
  --header 'Content-Type: <content-type>' \
  --header 'X-API-KEY: <x-api-key>' \
  --data '
{
  "bookingId": "<string>",
  "time": "<string>",
  "bookingTimeAsUtc": "<string>",
  "numOfPeople": 123,
  "serviceId": "<string>",
  "sectionId": "<string>",
  "notes": "<string>",
  "status": "<string>",
  "duration": 123,
  "staffId": "<string>",
  "staffName": "<string>",
  "tables": [
    {}
  ],
  "customer": {},
  "links": [
    {}
  ]
}
'
Update an existing booking. Accepts the same payload as POST /Bookings. The bookingId field in the request body identifies which booking to update.
X-API-KEY
string
required
Your API key
Content-Type
string
required
Must be application/json
bookingId
string
required
The NowBookIt Booking ID to update
time
string
New booking datetime in venue timezone. Format: yyyy-MM-dd HH:mm. Ignored if bookingTimeAsUtc provided.
bookingTimeAsUtc
string
New booking datetime in UTC. Format: yyyy-MM-ddTHH:mm:ssZ. Overrides time.
numOfPeople
integer
Updated number of guests
serviceId
string
NowBookIt Service ID
sectionId
string
NowBookIt Section ID
notes
string
Updated booking notes
status
string
Updated booking status. Use GET /Resources/booking-statuses for valid values.
duration
integer
Updated duration in minutes
staffId
string
Staff member ID
staffName
string
Staff member name
tables
array
Updated list of NowBookIt Table IDs
customer
object
Customer details: id, firstName, lastName, company, email, phone, address
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" }'
201 Created — Example Response
{
  "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
}
StatusDescription
201Booking updated successfully
400loggedInAppId — Internal app ID could not be resolved
400No Venue Subscribed to your App.
400Invalid booking status {status}. Query GET /resources/booking-statuses...
400Invalid Booking Time passed in the payload.
401X-API-KEY missing or invalid
500An error occurred. Unable to Update booking.