All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
VenuePreordersschema: new wrapper object containingpackagesandmenusarraysProductAvailabilityRulesschema: availability rules for a product grouped by source (weekly,exceptions,rules)WeeklyRuleschema: weekly booking schedule, one entry per day of the weekRuleExceptionschema: date-specific availability exceptions imposed by the TMSAvailabilityRuleschema: operator-defined availability rules per partnerAvailabilityRuleTypeenum:date_range,recurring,time_based,specific_dates,specific_dates_with_time,date_range_with_time,recurring_with_timeRuleDataBaseand all discriminated subtypes:DateRangeRuleData,RecurringRuleData,TimeBasedRuleData,SpecificDatesRuleData,SpecificDatesWithTimeRuleData,DateRangeWithTimeRuleData,RecurringWithTimeRuleDataPreorderContainerschema: container for all preorder items (packages→PreorderPackageRequest,menus→PreorderMenuRequestV2)MenuItemOptionschema: configurable option for a menu item (fieldvalue)MenuItem: added fieldsname,price,description,diet_types,allergens,configurable_options,type,subType,displayOrderMenuItemSelection: added fieldoptions(array ofMenuItemOption)Booking.preorders.menus: added fieldsubmitted(enum:pre/post)PATCH /venues/bookings/{bookingId}: new endpoint for partial booking updates via JSON Patch (RFC 6902)JsonPatchOperationschema supportingadd,remove,replaceoperationsProduct: added fieldpreOrderRequired(boolean)
MenuItem.subGroupNamerenamed tosubTypePOST /venues/{compositeId}/bookingresponse201: changed fromBookingResponseto fullBookingschema- Terminology updated throughout: "RMS (Restaurant Management System)" → "TMS (Table Management System)"
- Security schemes consolidated: staging environments (
Staging,SandboxStaging,SandboxProduction) removed; onlyProductionandSandboxremain - Servers list reduced to
Production(https://api.bookabletech.com) andSandbox(https://api-sandbox.bookabletech.com)
Venue.packages(top-level array) — replaced byVenue.preorders.packagesVenue.menus(top-level array) — replaced byVenue.preorders.menusBookingRequest.preorderPackages— replaced byBookingRequest.preorders.packagesBookingRequest.preorderMenus— replaced byBookingRequest.preorders.menus- Sandbox Staging server
https://api-sandbox-staging.bookabletech.com
compositeIdquery filter to theGET /venues/bookingsendpoint.
BREAKING CHANGE in the following endpoints:
GET /venues/bookingsGET /venues/bookings/{bookingId}PUT /venues/bookings/{bookingId}Changed:
companyfield is nowvenueGroupNameproductTypefield is nowproductName
Removed:
cursorquery parameter fromGET /venues/bookingscursorfield from response fromGET /venues/bookings
Added: Standard pagination parameters in
GET /venues/bookings:pageNumber(integer, default: 1, min: 1) - The page index to returnpageSize(integer, default: 20, min: 1, max: 100) - Items per pageNumbermetaobject with pagination metadata:
"meta": { "currentPage": 1, "pageSize": 20, "totalItems": 26, "totalPages": 2 }Migration Guide:
- GET /venues/bookings?cursor=abc123 + GET /venues/bookings?pageNumber=1&pageSize=20GET /venues/{compositeId}/availabilityAdded: preOrderItems
venueGroupNamefield on venue object inGET /venuesandGET /venues/{venueId}endpoints.
- Remove constraints on bookingRules.
X-Booking-Sourceheader inPOST venues/bookingsis now an enumeration.
Added sorting capabilities to
GET /venuesendpoint:New Query Parameters
sortBy(optional): Field to sort results bydefault- Sort by composite ID (venue_group_id, rms_id, venue_id)name- Sort alphabetically by venue namecity- Sort by city name, then venue namearea- Sort by area, then venue namevenueGroup- Sort by venue group name (requires venueGroupName filter)relevance- Sort by semantic similarity using vector embeddings (requires embedding filters)
sortDirection(optional): Sort directionASC- Ascending (A-Z, 0-9, most to least similar)DESC- Descending (Z-A, 9-0, least to most similar)
- Operator Booking Id and Partner Booking Id support to
GET venues/bookingsbyoperatorBookingIdandpartnerBookingIdfields - Partner Booking Id support to
POST venues/bookingsbypartnerBookingIdfield
Referencefield is deprecated inGET venues/bookings; useoperatorBookingIdinstead.
- Booking Overrides support to
GET venuesandGET venues\{venueId}bybookingOverridesfield - Operator availability rule support to
GET venuesandGET venues\{venueId}byoperatorAvailabilityRulesfield
- Preorders support to
GET venues/bookingsbypreordersfield - Preorder menus support to
GET venues/bookingsbypreorderMenusfield
- Possibility to filter by
dateandtimewithin theGET /venuesendpoint.
X-Booking-Sourceheader which identifies the source or channel through which the booking was created.
X-Partner-Referenceheader is now mandatory on all the endpoints for Bookable Agent clients.
- noAvailabilityAction support to
GET venues/:venueId/availability - autoConfirmRule support to
GET venues/:venueId/availability
- Preorder menu support to
GET venuesandGET venues/:venueIdbymenusfield - Preorder menu support to
POST venues/:venueId/bookingbypreorderMenusfield - Preorder menu email triggering on submit booking
- Preorder menu support to
GET venues/bookings/:bookingIdbypreorderMenusfield
packageIdfield onPOST venues/:venueId/bookingrequest
- BREAKING CHANGE: Booking PUT request now requires
compositeId
GET /venues/products/{compositeId}endpoint
- Venue packages detail by
packages - Booking POST request now accepts
packageId - Booking POST request now accepts
preorders
- Endpoint to get a venue product detail by
compositeId
- Venue Schema Fields: Deprecated
is_activeandcreated_atfields in venue responses - Booking POST request now accepts
nullvalue fordurationfield
- Booking POST request includes admin_notes, comments & labels field
- Standardized error handling across all endpoints
- BREAKING CHANGE: Modified venue composition - products are now contained within the venue structure
- X-Partner-Reference header for Bookable Agents. The header specifies the partner reference for whom the booking is being made.
- Endpoint to update an existing booking by its unique ID
- Endpoint to cancel a booking by its unique ID
- Endpoint to retrieve a paginated list of bookings
- Endpoint to retrieve a specific booking by its unique ID
- Support for paginated venue listings
- Rename shut into bookingCutoff
- bookingRules: Insert booking rules on Venue to show information about the opening/ close time, max min number of people, and other
- Validation on require field (#TS-948)
- Add the unified api
- VenueId: Introduced the concept of composite Id to manage id into the system
- type into avalability response: Specifies how an operators time slot can be handled.
- type into revervation request
- product_name: the name of product offer from venue