Skip to content

Bookings VenueAPI (6.0.0)

Bookings VenueAPI is a RESTful, OpenAPI-based interface that enables seamless, standardized booking operations across diverse table management systems (TMS).

Designed for maximum interoperability, the API allows platforms to search, discover, and book venues regardless of the underlying technology stack.

Key capabilities include:

  • Retrieving venue data and availability in real-time
  • Creating bookings through a unified interface
  • Supporting both direct bookings and inquiry-based workflows
  • Enabling venues and distributors to discover each other via a dynamic, service-driven marketplace

The API supports RBAC-secured OAuth2 to ensure role-based access control and secure data transactions. Built for SaaS environments, this service offers scalable, multi-tenant integrations for distribution platforms, booking engines, and TMS providers.

Download OpenAPI description
Languages
Servers
Production
https://api.bookabletech.com
Sandbox
https://api-sandbox.bookabletech.com
Operations

Information about the booking

Operations

Request

Security
Production(Required scopes:
venue-booking:create
)
or Sandbox(Required scopes:
venue-booking:create
)
Path
compositeIdstringrequired

The unique identifier of the venue/product.

Headers
X-Partner-Referencestring

Required for Bookable Agents. Specifies the partner reference for whom the booking is being made. This header must contain a valid partner reference when making requests with the agent:write scope.

Example: bottomlessbrunch.com
X-Correlation-IDstring

An optional ID which you can use to track transactions across multiple systems. It can have any value, but we recommend avoiding . characters. Mirrored back in a response header.

Example: 11C46F5F-CDEF-4865-94B2-0EE0EDCC26DA
X-Booking-Sourcestring

Identifies the source or channel through which the booking was created. Valid values include:

  • "email" - Booking created via email integration
  • "phone" - Booking created via phone integration
  • "api" - Booking created via API (default if not provided)
  • "webhook" - Booking created via webhook integration
  • "js-tag" - Booking created via JavaScript tag integration
  • "chatbot" - Booking created via chatbot integration
  • "puller" - Booking created via puller synchronization
  • "portal" - Booking created via portal integration

If not provided, defaults to "api" in the application logic.

Enum"email""phone""api""webhook""js-tag""chatbot""puller""portal"
Example: api
Bodyapplication/jsonrequired
firstNamestringrequired

The first name for the booking.

Example: "John"
lastNamestringrequired

The last name for the booking.

Example: "Doe"
partySizeinteger>= 1required

The number of people the booking is for.

Example: 4
datestring or null(date)required

The date of the booking, in the format YYYY-MM-DD.

Example: "2025-02-15"
timestring or null(time)required

The time of the booking, in the format HH:mm.

Example: "18:30"
typestring(AvailabilityType)required

Specifies how an operators time slot can be handled. A value of book indicates the slot is available for instant confirmation, while request means the slot requires manual approval through an enquiry-based process.

Enum"book""request"
Example: "request"
durationinteger or null

The duration of the booking in minutes.

Example: 90
emailstring(email)^\S+@\S+\.\S+$required

The guest’s email address.

Example: "john.doe@example.com"
phonestringrequired

The guest’s phone number.

Example: 1234567890
notesstring or null

Any additional booking notes or special requests.

Example: "Please prepare a birthday cake."
adminNotesArray of strings or null

Internal notes or comments specific to the distributor.

commentsArray of strings or null

Additional comments or notes provided by the distributor.

labelsArray of strings or null

A list of labels or tags associated with the booking.

preordersobject(PreorderContainer)

Container for all preorder items (packages and menus)

partnerBookingIdstring or null

Optional field that stores a reference code or unique identifier provided by an external system, used to link or synchronize records across platforms.

curl -i -X POST \
  'https://api.bookabletech.com/venues/{compositeId}/booking' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Booking-Source: api' \
  -H 'X-Correlation-ID: 11C46F5F-CDEF-4865-94B2-0EE0EDCC26DA' \
  -H 'X-Partner-Reference: bottomlessbrunch.com' \
  -d '{
    "firstName": "John",
    "lastName": "Doe",
    "partySize": 4,
    "date": "2025-02-15",
    "time": "18:30",
    "type": "request",
    "duration": 90,
    "email": "john.doe@example.com",
    "phone": 1234567890,
    "notes": "Please prepare a birthday cake.",
    "adminNotes": [
      "string"
    ],
    "comments": [
      "string"
    ],
    "labels": [
      "string"
    ],
    "preorders": {
      "packages": [
        {
          "id": "62692e90d2cf1f163744efc4",
          "quantity": 2
        }
      ],
      "menus": [
        {
          "id": "61a4af3137b80d0bae3a7e19",
          "quantity": 4,
          "items": [
            {
              "id": "619d19eb40e1512ebb03b378",
              "quantity": 3,
              "options": [
                {}
              ]
            }
          ]
        }
      ]
    },
    "partnerBookingId": "string"
  }'

Responses

Success created

Bodyapplication/json
idstring(The Booking ID)

A globally unique identifier for the booking.

compositeIdstring(The Composite ID)

A globally unique identifier for the venue/product.

datestring(date)(Reservation Date)

The date of the booking.

timestring(time)(Reservation Time)

The time of the booking.

partySizeinteger(int32)(Party Size)

Number of guests for the booking.

statusstring(Booking Status)

Indicates the current status of the booking:

  • Pending: The booking request has been received but not yet processed.
  • InProgress: The enquiry has been received and assigned but is not yet confirmed.
  • Confirmed: The booking has been confirmed.
  • Cancelled: The booking was cancelled or rejected.
  • Deleted: The booking has been deleted from the system.
  • Lost: The booking was not completed before its scheduled date.
Enum"Pending""InProgress""Confirmed""Cancelled""Deleted""Lost"
Example: "Confirmed"
firstNamestring(First Name)

Guest's first name.

lastNamestring(Last Name)

Guest's last name.

emailstring(email)(Email)

Email address of the guest.

phonestring(Phone)

Phone number of the guest.

venueGroupNamestring(Venue Group Name)

The name of the venue group that the booked venue belongs to.

locationobject(Location)
durationinteger(int32)(Duration)

Duration of the booking in minutes.

productNamestring(Product Type)

Name of the product or service reserved.

notesstring(Notes)

Additional notes for the booking.

createdDatestring(date-time)(Created Date)

Timestamp when the booking was created.

lastUpdatestring(date-time)(Last Updated)

Timestamp of the last booking update.

preordersobject or null

Preordered items for the booking

partnerBookingIdstring(Partner Booking Reference)

A custom booking identifier provided by the distributor (partner). This ID is submitted when creating a booking via API or Portal and serves as the partner’s own reference code for cross-system tracking.

operatorBookingIdstring(Operator Booking ID)

The booking identifier generated by the operator’s TMS platform (e.g., SevenRooms, Collins, Zonal). This ID uniquely identifies the reservation within the operator’s system and is displayed in the portal instead of the composite ID.

referencestring(Reference (deprecated))Deprecated

Legacy reference code for the booking. This field is deprecated and will be removed in future versions. Please use operatorBookingId instead.

Response
application/json
{ "id": "string", "compositeId": "string", "date": "2019-08-24", "time": "14:15:22Z", "partySize": 0, "status": "Confirmed", "reference": "string", "firstName": "string", "lastName": "string", "email": "user@example.com", "phone": "string", "venueGroupName": "string", "location": { "area": "string", "city": "string", "lat": 0.1, "lng": 0.1, "street": "string", "postCode": "string", "gPlace": "string" }, "duration": 0, "productName": "string", "notes": "string", "createdDate": "2019-08-24T14:15:22Z", "lastUpdate": "2019-08-24T14:15:22Z", "preorders": { "packages": [], "menus": [] }, "partnerBookingId": "string", "operatorBookingId": "string" }

Request

Returns a paginated list of all bookings.

Security
Production(Required scopes:
venue-booking:read
)
or Sandbox(Required scopes:
venue-booking:read
)
Query
compositeIdstring or null

Filter bookings by the unique composite identifier. This parameter supports two filtering modes:

  • Filter by venue: Provide a 3-part composite ID (venueGroupId|rmsId|venueId) to retrieve all bookings for a specific venue, regardless of product.
  • Filter by product: Provide a complete 4-part composite ID (venueGroupId|rmsId|venueId|productId) to retrieve bookings for a specific product within a venue.
Example: compositeId=29|X9|275cc44dd2e2496fba44857c9257443a
firstNamestring or null

Filter bookings by customer first name (partial match).

lastNamestring or null

Filter bookings by customer last name (partial match).

emailstring or null

Filter bookings by customer email (partial match).

partnerBookingIdstring or null

Filter bookings by partner booking reference ID.

operatorBookingIdstring or null

Filter bookings by operator booking reference ID.

datestring or null(date)

Filter bookings by exact booking date (YYYY-MM-DD).

dateFromstring or null(date)

Filter bookings from this date onwards (inclusive, YYYY-MM-DD).

dateTostring or null(date)

Filter bookings up to this date (inclusive, YYYY-MM-DD).

statusstring(Booking Status)

Filter bookings by status.

Enum"Pending""InProgress""Confirmed""Cancelled""Deleted""Lost"
Example: status=Confirmed
pageNumberinteger or null>= 1

The index of the page to return (default is 1).

pageSizeinteger or null[ 1 .. 100 ]

The number of items to return per page (default is 20, max is 100).

Headers
X-Partner-Referencestring

Required for Bookable Agents. Specifies the partner reference for whom the booking is being made. This header must contain a valid partner reference when making requests with the agent:write scope.

Example: bottomlessbrunch.com
X-Correlation-IDstring

An optional ID which you can use to track transactions across multiple systems. It can have any value, but we recommend avoiding . characters. Mirrored back in a response header.

Example: 11C46F5F-CDEF-4865-94B2-0EE0EDCC26DA
curl -i -X GET \
  'https://api.bookabletech.com/venues/bookings?compositeId=29%2CX9%2C275cc44dd2e2496fba44857c9257443a&firstName=string&lastName=string&email=string&partnerBookingId=string&operatorBookingId=string&date=2019-08-24&dateFrom=2019-08-24&dateTo=2019-08-24&status=Confirmed&pageNumber=1&pageSize=1' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'X-Correlation-ID: 11C46F5F-CDEF-4865-94B2-0EE0EDCC26DA' \
  -H 'X-Partner-Reference: bottomlessbrunch.com'

Responses

A list of bookings

Bodyapplication/json
metaobject
dataArray of objects(Bookings)

The list of bookings

Response
application/json
{ "meta": { "totalItems": 0, "totalPages": 0, "currentPage": 0, "limit": 0 }, "data": [ {} ] }

Request

Returns a specific booking by its unique ID.

Security
Production(Required scopes:
venue-booking:read
)
or Sandbox(Required scopes:
venue-booking:read
)
Path
bookingIdstringrequired

Unique identifier of the booking

Headers
X-Partner-Referencestring

Required for Bookable Agents. Specifies the partner reference for whom the booking is being made. This header must contain a valid partner reference when making requests with the agent:write scope.

Example: bottomlessbrunch.com
X-Correlation-IDstring

An optional ID which you can use to track transactions across multiple systems. It can have any value, but we recommend avoiding . characters. Mirrored back in a response header.

Example: 11C46F5F-CDEF-4865-94B2-0EE0EDCC26DA
curl -i -X GET \
  'https://api.bookabletech.com/venues/bookings/{bookingId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'X-Correlation-ID: 11C46F5F-CDEF-4865-94B2-0EE0EDCC26DA' \
  -H 'X-Partner-Reference: bottomlessbrunch.com'

Responses

Reservation details

Bodyapplication/json
idstring(The Booking ID)

A globally unique identifier for the booking.

compositeIdstring(The Composite ID)

A globally unique identifier for the venue/product.

datestring(date)(Reservation Date)

The date of the booking.

timestring(time)(Reservation Time)

The time of the booking.

partySizeinteger(int32)(Party Size)

Number of guests for the booking.

statusstring(Booking Status)

Indicates the current status of the booking:

  • Pending: The booking request has been received but not yet processed.
  • InProgress: The enquiry has been received and assigned but is not yet confirmed.
  • Confirmed: The booking has been confirmed.
  • Cancelled: The booking was cancelled or rejected.
  • Deleted: The booking has been deleted from the system.
  • Lost: The booking was not completed before its scheduled date.
Enum"Pending""InProgress""Confirmed""Cancelled""Deleted""Lost"
Example: "Confirmed"
firstNamestring(First Name)

Guest's first name.

lastNamestring(Last Name)

Guest's last name.

emailstring(email)(Email)

Email address of the guest.

phonestring(Phone)

Phone number of the guest.

venueGroupNamestring(Venue Group Name)

The name of the venue group that the booked venue belongs to.

locationobject(Location)
durationinteger(int32)(Duration)

Duration of the booking in minutes.

productNamestring(Product Type)

Name of the product or service reserved.

notesstring(Notes)

Additional notes for the booking.

createdDatestring(date-time)(Created Date)

Timestamp when the booking was created.

lastUpdatestring(date-time)(Last Updated)

Timestamp of the last booking update.

preordersobject or null

Preordered items for the booking

partnerBookingIdstring(Partner Booking Reference)

A custom booking identifier provided by the distributor (partner). This ID is submitted when creating a booking via API or Portal and serves as the partner’s own reference code for cross-system tracking.

operatorBookingIdstring(Operator Booking ID)

The booking identifier generated by the operator’s TMS platform (e.g., SevenRooms, Collins, Zonal). This ID uniquely identifies the reservation within the operator’s system and is displayed in the portal instead of the composite ID.

referencestring(Reference (deprecated))Deprecated

Legacy reference code for the booking. This field is deprecated and will be removed in future versions. Please use operatorBookingId instead.

Response
application/json
{ "id": "string", "compositeId": "string", "date": "2019-08-24", "time": "14:15:22Z", "partySize": 0, "status": "Confirmed", "reference": "string", "firstName": "string", "lastName": "string", "email": "user@example.com", "phone": "string", "venueGroupName": "string", "location": { "area": "string", "city": "string", "lat": 0.1, "lng": 0.1, "street": "string", "postCode": "string", "gPlace": "string" }, "duration": 0, "productName": "string", "notes": "string", "createdDate": "2019-08-24T14:15:22Z", "lastUpdate": "2019-08-24T14:15:22Z", "preorders": { "packages": [], "menus": [] }, "partnerBookingId": "string", "operatorBookingId": "string" }

Request

Security
Production(Required scopes:
venue-booking:update
)
or Sandbox(Required scopes:
venue-booking:update
)
Path
bookingIdstringrequired

The unique identifier of the booking.

Headers
X-Partner-Referencestring

Required for Bookable Agents. Specifies the partner reference for whom the booking is being made. This header must contain a valid partner reference when making requests with the agent:write scope.

Example: bottomlessbrunch.com
X-Correlation-IDstring

An optional ID which you can use to track transactions across multiple systems. It can have any value, but we recommend avoiding . characters. Mirrored back in a response header.

Example: 11C46F5F-CDEF-4865-94B2-0EE0EDCC26DA
Bodyapplication/jsonrequired
compositeIdstringrequired

The unique identifier of the venue/product.

Example: "29|X9|275cc44dd2e2496fba44857c9257443a|e4d909c290d0fb1ca068ffaddf22cbd0"
firstNamestringrequired

The first name for the booking.

Example: "John"
lastNamestringrequired

The last name for the booking.

Example: "Doe"
partySizeinteger>= 1required

The number of people the booking is for.

Example: 4
datestring or null(date)required

The date of the booking, in the format YYYY-MM-DD.

Example: "2025-02-15"
timestring or null(time)required

The time of the booking, in the format HH:mm.

Example: "18:30"
durationinteger or null

The duration of the booking in minutes.

Example: 120
emailstring(email)^\S+@\S+\.\S+$required

The guest’s email address.

Example: "john.doe@example.com"
phonestringrequired

The guest’s phone number.

Example: 1234567890
notesstring or null

Any additional booking notes or special requests.

Example: "Please prepare a birthday cake."
curl -i -X PUT \
  'https://api.bookabletech.com/venues/bookings/{bookingId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Correlation-ID: 11C46F5F-CDEF-4865-94B2-0EE0EDCC26DA' \
  -H 'X-Partner-Reference: bottomlessbrunch.com' \
  -d '{
    "compositeId": "29|X9|275cc44dd2e2496fba44857c9257443a|e4d909c290d0fb1ca068ffaddf22cbd0",
    "firstName": "John",
    "lastName": "Doe",
    "partySize": 4,
    "date": "2025-02-15",
    "time": "18:30",
    "duration": 120,
    "email": "john.doe@example.com",
    "phone": 1234567890,
    "notes": "Please prepare a birthday cake."
  }'

Responses

Reservation details

Bodyapplication/json
idstring(The Booking ID)

A globally unique identifier for the booking.

compositeIdstring(The Composite ID)

A globally unique identifier for the venue/product.

datestring(date)(Reservation Date)

The date of the booking.

timestring(time)(Reservation Time)

The time of the booking.

partySizeinteger(int32)(Party Size)

Number of guests for the booking.

statusstring(Booking Status)

Indicates the current status of the booking:

  • Pending: The booking request has been received but not yet processed.
  • InProgress: The enquiry has been received and assigned but is not yet confirmed.
  • Confirmed: The booking has been confirmed.
  • Cancelled: The booking was cancelled or rejected.
  • Deleted: The booking has been deleted from the system.
  • Lost: The booking was not completed before its scheduled date.
Enum"Pending""InProgress""Confirmed""Cancelled""Deleted""Lost"
Example: "Confirmed"
firstNamestring(First Name)

Guest's first name.

lastNamestring(Last Name)

Guest's last name.

emailstring(email)(Email)

Email address of the guest.

phonestring(Phone)

Phone number of the guest.

venueGroupNamestring(Venue Group Name)

The name of the venue group that the booked venue belongs to.

locationobject(Location)
durationinteger(int32)(Duration)

Duration of the booking in minutes.

productNamestring(Product Type)

Name of the product or service reserved.

notesstring(Notes)

Additional notes for the booking.

createdDatestring(date-time)(Created Date)

Timestamp when the booking was created.

lastUpdatestring(date-time)(Last Updated)

Timestamp of the last booking update.

preordersobject or null

Preordered items for the booking

partnerBookingIdstring(Partner Booking Reference)

A custom booking identifier provided by the distributor (partner). This ID is submitted when creating a booking via API or Portal and serves as the partner’s own reference code for cross-system tracking.

operatorBookingIdstring(Operator Booking ID)

The booking identifier generated by the operator’s TMS platform (e.g., SevenRooms, Collins, Zonal). This ID uniquely identifies the reservation within the operator’s system and is displayed in the portal instead of the composite ID.

referencestring(Reference (deprecated))Deprecated

Legacy reference code for the booking. This field is deprecated and will be removed in future versions. Please use operatorBookingId instead.

Response
application/json
{ "id": "string", "compositeId": "string", "date": "2019-08-24", "time": "14:15:22Z", "partySize": 0, "status": "Confirmed", "reference": "string", "firstName": "string", "lastName": "string", "email": "user@example.com", "phone": "string", "venueGroupName": "string", "location": { "area": "string", "city": "string", "lat": 0.1, "lng": 0.1, "street": "string", "postCode": "string", "gPlace": "string" }, "duration": 0, "productName": "string", "notes": "string", "createdDate": "2019-08-24T14:15:22Z", "lastUpdate": "2019-08-24T14:15:22Z", "preorders": { "packages": [], "menus": [] }, "partnerBookingId": "string", "operatorBookingId": "string" }

Request

Partially updates a booking using JSON Patch operations as defined in RFC 6902. This endpoint allows you to perform granular updates on a booking without sending the entire resource. Supported operations include:

  • add: Add a new field or append to an array
  • remove: Remove a field or array element
  • replace: Update an existing field value

Read-only Fields (cannot be patched):

  • /id, /compositeId, /status, /reference, /venueGroupName, /location/*, /productName, /createdDate, /lastUpdate

Patchable Fields:

  • /date - Change booking date (format: YYYY-MM-DD)
  • /time - Change booking time (format: HH:MM)
  • /duration - Update duration in minutes
  • /partySize - Change number of guests
  • /firstName - Update guest first name
  • /lastName - Update guest last name
  • /email - Update guest email
  • /phone - Update guest phone number
  • /notes - Update booking notes
  • /partnerBookingId - Update partner booking reference
  • /operatorBookingId - Update operator booking ID Preorders - Packages:
  • /preorders/packages - Add/remove entire packages array
  • /preorders/packages/- - Add a package to the end of the array
  • /preorders/packages/{packageId} - Replace/remove a specific package by ID
  • /preorders/packages/{packageId}/quantity - Update quantity by package ID Note: For packages, only id and quantity can be modified. Other fields (name, description, type, price) are read-only. Package IDs are alphanumeric strings (e.g., "5de64c68ce9583458c447544"). Index-based paths are NOT supported. Preorders - Menus:
  • /preorders/menus - Add/remove entire menus array
  • /preorders/menus/- - Add a menu to the end of the array
  • /preorders/menus/{menuId} - Replace/remove a specific menu by ID
  • /preorders/menus/{menuId}/quantity - Update menu quantity by ID
  • /preorders/menus/{menuId}/items - Replace entire items array for a menu
  • /preorders/menus/{menuId}/items/- - Add an item to a menu
  • /preorders/menus/{menuId}/items/{itemId} - Replace/remove a menu item by ID
  • /preorders/menus/{menuId}/items/{itemId}/quantity - Update item quantity by ID Note: For menu items, only id and quantity can be modified. The name field is read-only. Menu and Item IDs are alphanumeric strings (e.g., "5de64c68ce9583458c447544"). Index-based paths are NOT supported. Examples: Update guest information:
  { "op": "replace", "path": "/email", "value": "newemail@example.com" },
  { "op": "replace", "path": "/phone", "value": "+44 20 7946 0958" }
] ```
Update booking date and time: ```json [
  { "op": "replace", "path": "/date", "value": "2025-12-25" },
  { "op": "replace", "path": "/time", "value": "19:30" }
] ```
Add a package to preorders: ```json [
  { "op": "add", "path": "/preorders/packages/-", "value": { "id": "5de64c68ce9583458c447544", "quantity": 2 } }
] ```
Update package quantity: ```json [
  { "op": "replace", "path": "/preorders/packages/5de64c68ce9583458c447544/quantity", "value": 5 }
] ```
Remove a package: ```json [
  { "op": "remove", "path": "/preorders/packages/5de64c68ce9583458c447544" }
] ```
Add a menu with items: ```json [
  {
    "op": "add",
    "path": "/preorders/menus/-",
    "value": {
      "id": "5de64c68ce9583458c447abc",
      "quantity": 3,
      "items": [
        { "id": "5de64c68ce9583458c447001", "quantity": 1 },
        { "id": "5de64c68ce9583458c447002", "quantity": 2 }
      ]
    }
  }
] ```
Add item to existing menu: ```json [
  { "op": "add", "path": "/preorders/menus/5de64c68ce9583458c447abc/items/-", "value": { "id": "5de64c68ce9583458c447003", "quantity": 1 } }
] ```
Update menu item quantity: ```json [
  { "op": "replace", "path": "/preorders/menus/5de64c68ce9583458c447abc/items/5de64c68ce9583458c447001/quantity", "value": 2 }
] ```
Security
Production(Required scopes:
venue-booking:update
)
or Sandbox(Required scopes:
venue-booking:update
)
Path
bookingIdstringrequired

The unique identifier of the booking.

Headers
X-Partner-Referencestring

Required for Bookable Agents. Specifies the partner reference for whom the booking is being made. This header must contain a valid partner reference when making requests with the agent:write scope.

Example: bottomlessbrunch.com
X-Correlation-IDstring

An optional ID which you can use to track transactions across multiple systems. It can have any value, but we recommend avoiding . characters. Mirrored back in a response header.

Example: 11C46F5F-CDEF-4865-94B2-0EE0EDCC26DA
Bodyapplication/json-patch+jsonrequired

Array of JSON Patch operations to apply to the booking

Array [
opstringrequired

The operation to perform

Enum"add""remove""replace"
Example: "replace"
pathstring^\/.*required

JSON Pointer (RFC 6901) to the target location in the document. Must start with / and use / as path separator.

Example: "/status"
valueany or null

The value to use for the operation. Required for add, replace, and test operations. Can be any valid JSON value (string, number, boolean, object, array, null).

Example: "Confirmed"
]
curl -i -X PATCH \
  'https://api.bookabletech.com/venues/bookings/{bookingId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json-patch+json' \
  -H 'X-Correlation-ID: 11C46F5F-CDEF-4865-94B2-0EE0EDCC26DA' \
  -H 'X-Partner-Reference: bottomlessbrunch.com' \
  -d '[
    {
      "op": "replace",
      "path": "/email",
      "value": "newemail@example.com"
    },
    {
      "op": "replace",
      "path": "/firstName",
      "value": "John"
    }
  ]'

Responses

Booking successfully updated

Bodyapplication/json
idstring(The Booking ID)

A globally unique identifier for the booking.

compositeIdstring(The Composite ID)

A globally unique identifier for the venue/product.

datestring(date)(Reservation Date)

The date of the booking.

timestring(time)(Reservation Time)

The time of the booking.

partySizeinteger(int32)(Party Size)

Number of guests for the booking.

statusstring(Booking Status)

Indicates the current status of the booking:

  • Pending: The booking request has been received but not yet processed.
  • InProgress: The enquiry has been received and assigned but is not yet confirmed.
  • Confirmed: The booking has been confirmed.
  • Cancelled: The booking was cancelled or rejected.
  • Deleted: The booking has been deleted from the system.
  • Lost: The booking was not completed before its scheduled date.
Enum"Pending""InProgress""Confirmed""Cancelled""Deleted""Lost"
Example: "Confirmed"
firstNamestring(First Name)

Guest's first name.

lastNamestring(Last Name)

Guest's last name.

emailstring(email)(Email)

Email address of the guest.

phonestring(Phone)

Phone number of the guest.

venueGroupNamestring(Venue Group Name)

The name of the venue group that the booked venue belongs to.

locationobject(Location)
durationinteger(int32)(Duration)

Duration of the booking in minutes.

productNamestring(Product Type)

Name of the product or service reserved.

notesstring(Notes)

Additional notes for the booking.

createdDatestring(date-time)(Created Date)

Timestamp when the booking was created.

lastUpdatestring(date-time)(Last Updated)

Timestamp of the last booking update.

preordersobject or null

Preordered items for the booking

partnerBookingIdstring(Partner Booking Reference)

A custom booking identifier provided by the distributor (partner). This ID is submitted when creating a booking via API or Portal and serves as the partner’s own reference code for cross-system tracking.

operatorBookingIdstring(Operator Booking ID)

The booking identifier generated by the operator’s TMS platform (e.g., SevenRooms, Collins, Zonal). This ID uniquely identifies the reservation within the operator’s system and is displayed in the portal instead of the composite ID.

referencestring(Reference (deprecated))Deprecated

Legacy reference code for the booking. This field is deprecated and will be removed in future versions. Please use operatorBookingId instead.

Response
application/json
{ "id": "string", "compositeId": "string", "date": "2019-08-24", "time": "14:15:22Z", "partySize": 0, "status": "Confirmed", "reference": "string", "firstName": "string", "lastName": "string", "email": "user@example.com", "phone": "string", "venueGroupName": "string", "location": { "area": "string", "city": "string", "lat": 0.1, "lng": 0.1, "street": "string", "postCode": "string", "gPlace": "string" }, "duration": 0, "productName": "string", "notes": "string", "createdDate": "2019-08-24T14:15:22Z", "lastUpdate": "2019-08-24T14:15:22Z", "preorders": { "packages": [], "menus": [] }, "partnerBookingId": "string", "operatorBookingId": "string" }

Request

Security
Production(Required scopes:
venue-booking:delete
)
or Sandbox(Required scopes:
venue-booking:delete
)
Path
bookingIdstringrequired

Unique identifier of the booking

Headers
X-Partner-Referencestring

Required for Bookable Agents. Specifies the partner reference for whom the booking is being made. This header must contain a valid partner reference when making requests with the agent:write scope.

Example: bottomlessbrunch.com
X-Correlation-IDstring

An optional ID which you can use to track transactions across multiple systems. It can have any value, but we recommend avoiding . characters. Mirrored back in a response header.

Example: 11C46F5F-CDEF-4865-94B2-0EE0EDCC26DA
curl -i -X DELETE \
  'https://api.bookabletech.com/venues/bookings/{bookingId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'X-Correlation-ID: 11C46F5F-CDEF-4865-94B2-0EE0EDCC26DA' \
  -H 'X-Partner-Reference: bottomlessbrunch.com'

Responses

Booking cancelled successfully

Response
No content