Skip to content
Last updated

Error Catalog

This document provides a comprehensive list of all error codes used in the Bookings API.

Format: RESOURCE-X-NNN

  • RESOURCE: 3-5 character resource identifier (AVAIL, OPRUL, BOOK, PMAP, VENUE, USER, IDENT)
  • X: Retryability indicator
    • R = Retryable (transient error, may succeed on retry)
    • N = Non-retryable (permanent error, requires different input)
  • NNN: 3-digit error code (001-999)

Error Response Format

All errors follow the RFC 7807 ProblemDetails format:

{
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
  "title": "Error Title",
  "status": 400,
  "detail": "Detailed error message",
  "code": "RESOURCE-N-001",
  "isRetryable": false
}

Availability Errors (AVAIL)

Availability checking and product validation errors

CodeTitleDescriptionRetryable
AVAIL-N-001Product Not FoundThe requested product could not be found for the specified venueNo
AVAIL-N-002Venue Not Configured for PartnerThe venue is not configured for access by the current partnerNo
AVAIL-N-003No Products Available for PartnerNo products are accessible to this partner based on partner mappingsNo
AVAIL-N-004Venue Closed on Requested DateThe venue is closed on the requested date and cannot accept bookingsNo
AVAIL-N-005No Availability for Time SlotNo availability exists for the requested date and timeNo
AVAIL-N-006Requested Duration Outside Product BoundsThe requested booking duration is outside the minimum/maximum duration configured for the requested product(s)No
AVAIL-N-007Requested Time Within Booking Cutoff WindowThe requested start time is too close to now to satisfy the product's minimum advance-booking notice, or an operator booking-window rule (BOO-823) that closes bookings this close to the reservationNo
AVAIL-N-008Requested Date Beyond Advance Booking HorizonThe requested date is further ahead than the product's maximum advance-booking horizon, or than an operator booking-window rule (BOO-823) allowsNo
AVAIL-N-009Date and Time Conflict With startDateTimeThe request sent both startDateTime and date/startTime/endTime, and they describe different moments. Send one form, or make them agree.No
AVAIL-N-010Invalid Availability WindowstartDateTime/endDateTime must carry a UTC offset, endDateTime needs startDateTime, must not be before it, and the window may span at most 48 hoursNo
AVAIL-R-001Availability Check Rate LimitedThe rate management system rejected the availability check due to rate limiting. Retry after a short delay.Yes

Operator Rule Errors (OPRUL)

Operator availability rule validation errors

CodeTitleDescriptionRetryable
OPRUL-N-001Specific Date DisabledThe operator has disabled availability for the requested specific dateNo
OPRUL-N-002Date Range DisabledThe requested date falls within a date range disabled by the operatorNo
OPRUL-N-003Recurring Pattern DisabledThe requested date matches a recurring pattern disabled by the operatorNo
OPRUL-N-004Time Range DisabledThe requested start time falls within a time range disabled by the operatorNo
OPRUL-N-005Availability Rule Not FoundThe requested availability rule could not be foundNo
OPRUL-N-006Scope Value Already ExistsThe value is already present in the scope collection and cannot be added againNo
OPRUL-N-007Scope Entity Not FoundOne or more scope values do not correspond to an existing entity for this operatorNo
OPRUL-N-008Product Reserved For OtherThe operator has reserved the requested date/time for a different productNo
OPRUL-N-009Space Blocked By Operator RuleThe selected space is not available at the requested date/time because of an operator rule that targets the space or one of its zonesNo
OPRUL-N-010Dmn Rule Not SupportedA rule scoped to the DesignMyNight channel can only hide booking types on whole weekdays: recurring, daysOfWeek only, permitted false, no packages, menus, zones or spaces. It may name other channels too, but the whole rule must fitNo
OPRUL-N-011Dmn Collins Managed DayThe DesignMyNight rule would replace a custom DesignMyNight setup that DesignMyNight staff configured in Collins; narrow the rule, or resend with replaceCollinsManaged=trueNo
OPRUL-N-012Dmn Channel Not LinkedThe DesignMyNight channel is not enabled in this environment, or not linked to this operator's DesignMyNight booking sourceNo
OPRUL-N-013Rule Scope InvalidThe rule's scope expression is not valid: malformed JsonLogic, an operator or fact outside the scope profile, a limit exceeded (depth 8, 64 nodes, 200-element lists) or an unresolved reference. Applies to availability, booking condition and booking label rulesNo
OPRUL-N-014Rule Scope Reference Not FoundThe rule's scope names a channel category that does not exist or is neither global nor this operator's own, or a partner or a venue (composite id) that does not exist for this operatorNo
OPRUL-N-015Dmn Rule Cannot Have ScopeA rule that targets DesignMyNight (DMN) cannot use a scope: DMN rules are sent to Collins and need explicit venues and channels. Remove the scope, or remove DMN from the rule's channelsNo

Partner Mapping Errors (PMAP)

Partner access and mapping validation errors

CodeTitleDescriptionRetryable
PMAP-N-001Venue Not Mapped to PartnerThe requested venue is not mapped to the current partnerNo
PMAP-N-002Product Not Mapped to PartnerThe requested product is not accessible to the current partnerNo
PMAP-N-003Partner Booking Access DeniedYou do not have permission to perform this action on the requested booking. Check that the booking reference is correct and that your credentials are authorised for it.No
PMAP-N-004Partner Not FoundThe specified partner could not be foundNo
PMAP-N-005Product Mapping Not FoundCannot replace: one or more products are not currently mapped to this partnerNo
PMAP-N-006Product Already MappedCannot add: one or more products are already mapped to this partnerNo
PMAP-N-007Partner Source Mapping Not FoundCannot replace: one or more partner sources are not currently mapped to this operatorNo
PMAP-N-008Partner Source Already ExistsA partner source with this identifier already exists for the operatorNo
PMAP-N-009Partner Source Owned By Another PartnerThis partner source identifier is already linked to a different partnerNo
PMAP-N-010Partner Source Not FoundThe specified partner source has not been registered for this operatorNo
PMAP-N-011Partner Source UnresolvedThis partner source is not currently linked to a partnerNo
PMAP-N-012Partner Source Already ResolvedThis partner source is already linked to a partner; use PUT to relink, or unmap firstNo
PMAP-N-013Company Config InvalidThe company configuration is invalid: mode must be none, single or list, with at most 500 company names of at most 150 characters eachNo
PMAP-N-014Similar Partner ExistsA partner with the same or a near-identical name already exists; link the partner source to it, or retry with allowSimilarName to create a new partner anywayNo
PMAP-N-015Dmn Mapping Not SupportedDesignMyNight's own marketplace reads booking types straight from Collins, so its venue, product, menu and package mappings can't be changed; hide or show a booking type on DMN with an availability rule scoped to the DesignMyNight channelNo

Booking Errors (BOOK)

Booking creation and management errors

CodeTitleDescriptionRetryable
BOOK-N-001No TMS Configurations FoundCannot perform any research for the provided venue group. No TMS configurations found.No
BOOK-N-002Booking Already ExistsThe booking already exists in the databaseNo
BOOK-N-003TMS Configuration Not FoundNo TMS configuration found for the specified composite IDNo
BOOK-N-004Missing Partner Source ConfigurationThe partner source is not configured for this venue group and partnerNo
BOOK-N-005Venue Group Partner Association Not FoundNo venue group and partner association foundNo
BOOK-N-006Booking Not FoundThe requested booking could not be foundNo
BOOK-N-007Preorder is requiredA preorder is required to proceed with this bookingNo
BOOK-N-008Card prepayment requiredThis booking requires a card pre‑payment, but card payments are not currently supported.No
BOOK-N-009TMS Booking Request FailedThe booking request was rejected by the table management systemNo
BOOK-N-010Space Does Not ExistThe specified space ID does not existNo
BOOK-N-011Space Not ConfiguredThe space exists but is not linked to a TMS zone. Please configure the space correctly.No
BOOK-N-012Space Zone Has No AreasThe TMS zone linked to this space has no areas defined. Please sync areas to zone before booking.No
BOOK-R-001TMS Booking Temporarily Rate LimitedThe table management system rate-limited this booking request. The booking, amendment, or cancellation was not applied — please retry shortly.Yes
BOOK-R-002TMS Temporarily UnavailableThe table management system could not process this booking request due to an upstream error. The change was not applied — please retry shortly.Yes
BOOK-N-013Ticket Quantity Increase Not SupportedThis booking's ticket quantity cannot be increased via update — only decreasing it is supported, which is processed as a partial refund of the difference. To add more tickets, create a new order item instead.No
BOOK-N-014Invalid Booking Status TransitionThe requested status change is not allowed from the booking's current status. Only pending or in-progress bookings can be confirmed or rejected.No
BOOK-N-015Company Not In Channel ListThe company does not match any company name configured for this channel. Use one of bookingRequirements.company.companyNames from GET /venues/{venueId}.No
BOOK-N-016Company RequiredThis channel requires a company on every booking. Supply one of bookingRequirements.company.companyNames from GET /venues/{venueId}.No
BOOK-N-017Space Not Offered By ProductThe space's area is not offered by the product being booked. Use a spaceId from this product's availability response (times[].product.spaces).No
BOOK-N-018Date and Time Conflict With dateTimeThe request sent both dateTime and date/time, and they describe different moments. Send one form, or make them agree.No
BOOK-N-019Booking Date and Time MissingA booking needs either dateTime, or both date and timeNo
BOOK-N-020Invalid Booking Date TimedateTime was supplied but is not RFC 3339 with a UTC offset or Z, e.g. 2026-10-18T00:30:00+01:00No

Venue Errors (VENUE)

Venue retrieval and management errors

CodeTitleDescriptionRetryable
VENUE-N-001Venue Not FoundThe requested venue could not be foundNo
VENUE-N-002Product Not Found for VenueThe specified product does not exist for this venue and cannot be usedNo
VENUE-N-003TMS Zone Not FoundThe specified TMS zone does not exist for this venueNo
VENUE-N-004Space Not FoundThe requested Venue Bible space could not be foundNo
VENUE-N-005TMS Zone Cannot Be ClearedThis space already has a TMS zone; an update cannot remove it. Include the existing tms_zone_id in the request.No
VENUE-N-006Invalid Time RangeThe supplied time range is invalidNo
VENUE-N-007Override Windows OverlapMinimum spend overrides on the same date must not have overlapping time windowsNo
VENUE-N-008Invalid Zone Count for RMSThe number of TMS zone IDs provided is not supported by this venue's RMSNo
VENUE-N-009Venue No Longer AvailableThe venue is no longer available and cannot be retrieved, checked for availability, or bookedNo
VENUE-N-010Booking Rule Change In ProgressA booking-rule change for the same venue, product and weekday is still queued or being written; retry once it completesYes
VENUE-N-011Media File RejectedThe file is not a supported photo or video, or is over the size limit for its typeNo
VENUE-N-012Media Upload IncompleteThe uploaded file was not found in storage, or does not match the type and size declared when the upload startedNo

Event Errors (EVENT)

Event-ticket availability and booking errors

CodeTitleDescriptionRetryable
EVENT-N-001RMS Configuration Not FoundNo RMS configuration found for the specified eventNo
EVENT-N-002Ticket Type Not FoundThe requested ticket type does not exist for this eventNo
EVENT-N-003Ticket Quantity Increase Not SupportedThis booking's ticket quantity cannot be increased via update — only decreasing it is supported, which is processed as a partial refund of the difference. To add more tickets, create a new order item instead.No

Operator Errors (OPRTR)

Operator management and access errors

CodeTitleDescriptionRetryable
OPRTR-N-001Operator Not FoundThe requested operator could not be foundNo
OPRTR-N-002Operator Access DeniedYou do not have permission to access this operatorNo
OPRTR-N-003Partner Source RequiredThe partnerSource field is required when creating an operator as a partner userNo
OPRTR-N-004Operator Already ExistsAn operator with this name already existsNo
OPRTR-N-005Cannot Delete OperatorThis operator cannot be deleted because it has associated resourcesNo
OPRTR-N-006Invalid Operator ConfigurationThe operator configuration is invalid or incompleteNo
OPRTR-N-007TMS Credentials Already ExistsTMS credentials already exist for this operator and TMS combinationNo
OPRTR-N-008TMS Credentials Not FoundThe requested TMS credentials for this operator could not be foundNo
OPRTR-N-009Invalid TMS CredentialsThe TMS credentials could not be validated. Please check your configuration and try again.No

User Errors (USER)

User management and authentication errors

CodeTitleDescriptionRetryable
USER-N-001Email Already In UseA user with this email address already existsNo
USER-N-002User Not FoundThe specified user could not be foundNo
USER-N-003Invalid User CredentialsThe provided credentials are invalidNo
USER-N-004User Invite Not FoundThe user invitation could not be foundNo
USER-N-005User Invite Already AcceptedThis invitation has already been acceptedNo
USER-N-006User Invite ExpiredThis invitation has expiredNo
USER-N-007Invalid Venue Group AssignmentThe user cannot be assigned to the specified venue groupNo
USER-N-008Insufficient PermissionsYou do not have sufficient permissions to perform this actionNo
USER-N-009Invalid Role AssignmentThe specified role cannot be assigned to this userNo
USER-N-010User Account DisabledThis user account has been disabledNo
USER-N-011Invalid Email FormatThe provided email address format is invalidNo
USER-N-012Password Requirements Not MetThe password does not meet security requirementsNo
USER-N-013User Session ExpiredYour session has expired, please log in againNo
USER-N-014Maximum Login Attempts ExceededAccount locked due to too many failed login attemptsYes
USER-N-015Email Verification RequiredEmail address must be verified before proceedingNo

Identity Errors (IDENT)

Identity resolution errors

CodeTitleDescriptionRetryable
IDENT-N-001Invalid IdentityThe identity could not be resolvedNo
IDENT-N-002Invalid Partner ReferenceThe partner reference could not be resolvedNo
IDENT-N-003Partner Impersonation Not AllowedThe agent partner is not permitted to impersonate the requested partner referenceNo
IDENT-N-004Agent Partner Allowlist Entry Already ExistsAn allowlist entry already exists for this agent and target partner pairNo

Sandbox Errors (SBOX)

Sandbox environment restriction errors

CodeTitleDescriptionRetryable
SBOX-N-001Not Available in SandboxThis endpoint is not available in the sandbox environmentNo
SBOX-N-004Invalid SimulationThe simulated change can't be applied to this bookingNo

Validation Errors (VALID)

Request validation errors

CodeTitleDescriptionRetryable
VALID-N-001Validation FailedOne or more validation errors occurred.No

Additional Response Fields for VALID-N-001:

  • errors (object): Dictionary of field names mapped to arrays of validation error messages
    "errors": {
    "Date": [
      "Availability date cannot be in the past."
    ],
    "EndTime": [
      "EndTime must be after StartTime."
    ]

}



## FSEL Errors (FSEL)

Field selection (partial response) validation errors

| Code | Title | Description | Retryable |
|------|-------|-------------|-----------|
| `FSEL-N-001` | Unknown Field | One or more requested field names are not valid for this resource type | No |

**Additional Response Fields for FSEL-N-001:**

- **`invalid_fields`** (array): List of unrecognised field names
```json
"invalid_fields": [
"badField",
"unknownNested"
]
  • valid_fields (array): List of valid field names for the resource type

| FSEL-N-002 | Malformed Field Selection Syntax | The fields parameter contains malformed syntax (e.g. unmatched parentheses or empty field name) | No |

MCP Errors (MCP)

MCP tool invocation and parameter resolution errors

CodeTitleDescriptionRetryable
MCP-N-001Venue Group ID RequiredvenueGroupId must be provided when calling as an Administrator.No

Rate Limit Errors (RATE)

API rate limiting errors

CodeTitleDescriptionRetryable
RATE-R-001Rate Limit ExceededToo many requests have been made in a short period. Please wait and retry.Yes

Messaging Errors (MSG)

Messaging errors

CodeTitleDescriptionRetryable
MSG-N-001Recipient RequiredThe recipient field is required for administrator callers. Specify 'guest' or 'venue'.No
MSG-N-002Venue Booking Email Not ConfiguredThe venue does not have a booking email address configured in the TMS.No
MSG-N-003Booking Contact UnavailableThe booking contact details (guest email or venue ID) are not available in the TMS response.No

SYNC Errors (SYNC)

On-demand force sync errors

CodeTitleDescriptionRetryable
SYNC-N-001RMS Not Eligible For On-Demand SyncThe venue group's TMS cannot be force-synced right now (e.g. Zonal syncs only within its contractual window).No
SYNC-N-002No RMS ConfiguredThe venue group has no TMS credentials configured to sync.No
SYNC-N-003No Sync Phase RequestedThe request didn't resolve to any deployed job profile (every relevant phase flag was false/absent). Set at least one of performBookingSync, performVenueSync, performBookingSourceSync, performZoneSync, or performCategorization.No
SYNC-R-001Force Sync Cooldown ActiveA force sync was already triggered for this venue group recently. Please wait before retrying.Yes
SYNC-R-002Venue Sync Already In ProgressA venue sync is already actively running for this venue group's RMS (recent progress, not a stale/dead lock). Wait for it to finish, or check /force-sync/status.Yes
SYNC-N-004Venue Refresh Not SupportedA single venue can't be refreshed from this venue's TMS (only Collins can read one venue on its own). Force-sync the operator's venues instead.No

Third Party Errors (TPRTY)

Third-party (3P) commercial record errors (BOO-40)

CodeTitleDescriptionRetryable
TPRTY-N-001Third Party Not FoundNo third party with this id exists for this operatorNo
TPRTY-N-002Category Already ExistsA category with this slug already exists for this operatorNo
TPRTY-N-003Partner Not Associated With OperatorThe referenced Partner doesn't exist, or isn't associated with this operatorNo
TPRTY-N-004Partner Already LinkedAnother third party for this operator is already linked to this PartnerNo
TPRTY-N-005Commission Agreement Not FoundNo commission agreement with this id exists for this third partyNo
TPRTY-N-006Commission Rule Not FoundNo commission rule with this id exists for this agreementNo
TPRTY-N-007Category Not FoundNo custom category with this id exists for this operatorNo

Pre-order Catalog Errors (PCAT)

Pre-order catalog errors (BOO-714). This surface is asynchronous: a well-formed request is accepted with 202 and a batchId, and individual package/menu rows succeed or fail later in the background processor. Codes below are therefore split into two groups. The first group is returned as a ProblemDetails on the PUT itself. The second is recorded on the history row and read back via GET /venue-management/preorder-catalog/{batchId}/history - those never appear as an HTTP status. Read a history row's status BEFORE its errorCode: a retryable code can sit on a row that is still Pending and will be retried automatically, which is not a failure.

CodeTitleDescriptionRetryable
PCAT-N-001Invalid Venue IdentifierA venue entry could not be decoded. Each must be a composite venueGroupId|rmsSlug|venueId.No
PCAT-N-002No Catalog Operations SpecifiedThe request carried no package or menu operation. Supply at least one create, update or delete.No
PCAT-N-003Ambiguous Item ReferenceEach update or delete must set exactly one of id or clientRef, never both and never neither. A blank string counts as absent.No
PCAT-N-004Invalid Menu ItemEach menu item is either a package reference (packageId with its type - Food, Drink or Other, matched case-insensitively) or a heading separator (headingText), never both and never neither.No
PCAT-N-005Venues Span Multiple Venue GroupsEvery venue in one request must belong to the same venue group and RMS.No
PCAT-N-006Duplicate Item ReferenceThe same id or clientRef was targeted more than once for the same venue. The offending references are listed in the references extension.No
PCAT-N-007Duplicate Client Reference Among CreatesThe same clientRef appears on more than one create in this request. The offending references are listed in the clientRefs extension.No
PCAT-N-008Venue Not FoundOne or more venues do not exist in the requested venue group. The offending ids are listed in the venueIds extension.No
PCAT-N-009Package Not FoundOne or more package ids do not exist in the requested venue group. The offending ids are listed in the packageIds extension.No
PCAT-N-010Menu Not FoundOne or more menu ids do not exist in the requested venue group. The offending ids are listed in the menuIds extension.No
PCAT-N-011Item Id Matched More Than One VenueAn id-addressed operation resolved to more than one venue, so the intended target is ambiguous. Ids are not unique across venues in existing inventory. A clientRef is not a way out for such an item: it resolves only for an item created through this endpoint, so pre-existing shared inventory cannot be addressed here at all and can currently be renamed only through the deprecated per-resource name-change endpoints. The offending ids are listed in the itemIds extension.No
PCAT-N-012Client Reference Already In UseA create used a clientRef that already exists at the target venue. Address the existing item with an update instead. The offending references are listed in the clientRefs extension.No
PCAT-N-013Item Targeted By More Than One OperationTwo operations in this request resolve to the same item, for example a delete by id and an update by the clientRef that maps to it.No
PCAT-N-014No Change Resolved To An Existing TargetEvery clientRef-addressed operation was absent on every requested venue, so the request would do nothing.No
PCAT-R-001Venue Batch Already In ProgressOne or more venues already have a pre-order catalog batch in flight. The write is whole-document per venue, so batches are serialised. Retry once the in-flight batch completes.Yes
PCAT-N-015Batch Not FoundNo pre-order catalog batch exists with this id.No
PCAT-N-016Batch Access DeniedThis batch belongs to a venue group you do not have access to.No
PCAT-N-017Referential Integrity ViolationThe change would leave a menu referencing a package that no longer exists. Nothing was written for this venue. Recorded on the history row; never returned as an HTTP status.No
PCAT-N-018Item Missing In RMSThe item was present in our mirror but absent from the RMS when the write ran, so the local view was stale. Re-read the catalog before resubmitting. Recorded on the history row.No
PCAT-N-019Outcome Could Not Be VerifiedThe RMS accepted the write but returned no document to verify it against, so this change MAY have been applied. Check the RMS before resubmitting - a blind retry of a create would duplicate it. Recorded on the history row.No
PCAT-N-020Processing InterruptedProcessing was interrupted before the outcome could be recorded, so this change MAY have been applied. Deliberately not retried automatically: re-running a create that landed would duplicate it. Verify against the RMS before resubmitting. Recorded on the history row.No
PCAT-N-021Change Not AppliedThe RMS did not apply this change - the entry is absent, or a delete left it in place. Nothing landed, so this is safe to resubmit. Recorded on the history row.No
PCAT-N-022Change Applied With DifferencesThe change reached the RMS but the stored entry differs from what was requested, usually because the RMS normalised or discarded a value it does not accept. The write DID land - resubmitting a create would duplicate it. Compare the stored entry before acting. Recorded on the history row.No
PCAT-N-023Rate Limit Retry Budget ExhaustedThe RMS rate-limited this change repeatedly and the retry budget ran out. Nothing was applied. Recorded on the history row.No
PCAT-N-024RMS Configuration Not FoundNo RMS configuration exists for this venue group and RMS, so the change cannot be delivered. This is a configuration problem, not a problem with the request. Recorded on the history row.No
PCAT-N-025Internal Write Invariant ViolatedThe change was rejected by an internal consistency check before reaching the RMS. This indicates a defect rather than a problem with the request. Recorded on the history row.No
PCAT-N-026RMS Write FailedThe change could not be applied to the RMS for a reason with no more specific code. The accompanying errorMessage carries the underlying detail. Recorded on the history row.No
PCAT-R-002Minted Item Id Already ExistsThe id minted for a create already existed on the venue's page, so the write was refused rather than creating a duplicate. Resubmitting mints a fresh id and will succeed. Recorded on the history row.Yes
PCAT-R-003RMS Response MalformedThe RMS returned a response that could not be read. Nothing was applied. Recorded on the history row.Yes
PCAT-R-004Rate Limited By RMSThe RMS rate-limited this change and it has been queued for retry automatically. The row stays Pending - this is not a failure and needs no action.Yes
PCAT-R-005Requeued After Host RestartThe service shut down before this change reached the RMS, so it was returned to the queue and will be retried automatically. The row stays Pending - this is not a failure and needs no action.Yes
PCAT-N-027Sub Type Not Valid For Package TypesubType describes where a dish sits in a meal, so it is only meaningful on a package whose type is Food. Remove it, or set the type to Food.No
PCAT-N-028Invalid Menu Item DiscountA menu item discount tier needs a quantity of at least 1 and an amount greater than 0 - each tier means 'order at least this many of this item, take this much off'.No
PCAT-N-029Description Contains Disallowed MarkupPackage and menu descriptions are rendered as HTML by the RMS, so only the markup its own editor produces is accepted: p, br, strong, b, em, i, u, a, ul, ol, li and h1-h3, with href (http, https or mailto), style, class, target and rel. Plain text needs no escaping and passes as-is. Anything else is rejected rather than silently stripped.No
PCAT-R-006Venue BusyAnother venue-management write to the same venue was in progress. The row is back in Pending and will be retried automatically; no action needed. Recorded on the history row.Yes
PCAT-N-030Menu Has No Package ItemsA menu must contain at least one package item - headings alone do not count. The RMS drops a menu with none without reporting an error, so a create would never appear and an update that leaves none would delete the menu.No
PCAT-N-031Package Not Used By VenueThe venue is set to use its organisation's packages in the RMS, which ignores packages of the venue's own: a package created there would never be used, and a menu item referencing one is dropped - along with a menu left with no package item. Nothing was written for this venue. Reference the organisation's existing packages instead, or switch the venue to custom packages in the RMS, which hides the organisation packages at that venue. Creating organisation packages through this API is not supported yet. Recorded on the history row; never returned as an HTTP status.No
PCAT-N-032Package Create At Organisation Packages VenueThe venue is set to use its organisation's packages, so the RMS would store a package created there but never use it - no menu could reference it and the venue would not offer it. Switch the venue to custom packages in the RMS first, which hides the organisation packages at that venue; creating organisation packages through this API is not supported yet. The offending venues are listed in the venueIds extension. Judged from synced venue settings, which can lag the RMS; PCAT-N-031 is the backstop once the write runs.No
PCAT-N-033Menu Not Used By VenueThe venue is set to use its organisation's menus in the RMS, which stores a menu of the venue's own but never uses it, so a menu create there is refused. Updates and deletes of the venue's existing menus are still applied, so they can be cleaned up. Nothing was written for this venue. Switch the venue to custom menus in the RMS first, which hides the organisation menus at that venue; creating organisation menus through this API is not supported yet. Recorded on the history row; never returned as an HTTP status.No
PCAT-N-034Menu Create At Organisation Menus VenueThe venue is set to use its organisation's menus, so the RMS would store a menu created there but never use it. Switch the venue to custom menus in the RMS first, which hides the organisation menus at that venue; creating organisation menus through this API is not supported yet. The offending venues are listed in the venueIds extension. Judged from synced venue settings, which can lag the RMS; PCAT-N-033 is the backstop once the write runs.No

Booking Rule Errors (BKRUL)

Booking condition rule violations (BOO-699) — same_package, max_quantity_party_size, max_quantity, preorder_required, lock_preorder_edits

CodeTitleDescriptionRetryable
BKRUL-N-001Same Package ViolationThe booking mixes more than one item from a same-package exclusivity set, or the chosen item's quantity does not equal the party sizeNo
BKRUL-N-002Max Quantity Party Size ExceededThe total quantity of the selected package(s)/menu(s) exceeds the booking's party sizeNo
BKRUL-N-003Max Quantity ExceededThe total quantity of the selected package(s)/menu(s) exceeds the operator-configured maximum per bookingNo
BKRUL-N-004Preorder Required For Party SizeThe party size meets or exceeds the operator's pre-order threshold, but no qualifying pre-order item is includedNo
BKRUL-N-005Preorder Edits LockedAdding or changing pre-order items is not permitted this close to the booking date for this partner categoryNo
BKRUL-N-006Deposit RequiredThe booking does not carry the deposit an operator rule requires (per person or per booking); collect it and resend with depositAmountNo
BKRUL-N-007Amendment Window ClosedAn operator booking-window rule (BOO-823) stops channels amending this booking: the reservation starts in fewer hours than the rule allows. Measured from the booking's stored start, so moving the booking does not reopen the window; the message states when the window closedNo
BKRUL-N-008Cancellation Window ClosedAn operator booking-window rule (BOO-823) stops channels cancelling this booking: the reservation starts in fewer hours than the rule allows. Contact the venue to cancel; the message states when the window closedNo
BKRUL-N-100Generic Rule ViolationThe booking breaks an operator expression rule (generic rule, ADR-0004); the message is the rule's own text and extensions.violations lists every rejecting ruleNo
BKRUL-N-101Rule InvalidThe booking condition rule cannot be saved: a required parameter or target for its effect is missing or malformedNo
BKRUL-N-102Target Not In OperatorOne or more rule targets (product, package, menu, partner category or partner) do not belong to this operatorNo
BKRUL-N-103Rule DuplicateAn active booking condition rule with the same effect, targets and parameters already exists for this operatorNo
BKRUL-N-104Rule Not FoundThe booking condition rule could not be found for this operatorNo
BKRUL-N-110Draft Text RequiredDrafting a booking condition rule needs the operator's text (1 to 8000 characters)No
BKRUL-R-111Draft Model FailedThe drafting model did not return a usable proposal; retry, or author the rule with the formYes
BKRUL-N-112Unknown Booking HookThe hook filter of GET /booking-rules is not a hook the platform knows; use booking.create, booking.amend or paymentNo
BKRUL-N-113Venue Operator MismatchThe venueId filter of GET /booking-rules belongs to a different operator than the operatorId filterNo

Webhook Errors (WHK)

Webhook subscription management errors (BOO-732)

CodeTitleDescriptionRetryable
WHK-N-001Subscription Not FoundNo webhook subscription with that id exists for this partnerNo
WHK-N-002Invalid Callback URLThe callback URL must be an absolute HTTPS URL that resolves to a public addressNo
WHK-N-003Duplicate Callback URLThis partner already has a subscription for that callback URLNo
WHK-N-004Subscription Limit ReachedThis partner already holds the maximum number of webhook subscriptionsNo
WHK-N-005Unknown Event TypeeventTypes may only contain booking.updated, message.received or venue.updatedNo
WHK-N-006Test Event Not AvailableOnly webhook.ping test events are available in productionNo
WHK-N-007Invalid Test EventThe test request combines fields that do not apply to its event typeNo

Enquiry Errors (ENQRY)

Agency enquiry errors (BOO-888)

CodeTitleDescriptionRetryable
ENQRY-N-001Mailbox Not FoundNo connected mailbox with this id exists for this operatorNo
ENQRY-N-002Enquiry Not FoundNo enquiry with this id exists for this operatorNo
ENQRY-N-003Brief Not ReadyThe enquiry's brief hasn't been read from its emails yet, so no proposal can be draftedNo
ENQRY-N-004Drafting Not SupportedProposals are only drafted for enquiries, not for listing-site notificationsNo
ENQRY-N-005Draft Model FailedThe drafting model failed or did not answer in time; try againYes
ENQRY-N-006Draft Not FoundNo draft with this id exists for this enquiryNo
ENQRY-N-007Venue Not FoundThe venue isn't one of the operator's active venuesNo
ENQRY-N-008Draft In ProgressA draft for this enquiry is already being written; wait for it instead of generating againYes
ENQRY-N-009Status Not AllowedThat status change isn't allowed: confirmed comes only from a paid booking, and a confirmed enquiry's status can't be changedNo
ENQRY-N-010Owner Not In OperatorThe owner must be a user of this operatorNo
ENQRY-N-011Channel Not ConnectedThe channel isn't an active channel of this operatorNo
ENQRY-N-012Collins Booking Not FoundThis operator has no synced Collins booking with that idNo
ENQRY-N-013Collins Booking Already LinkedThat Collins booking is already linked to another enquiryNo
ENQRY-N-014Contact Not FoundNo enquiry contact with this id exists for this operatorNo
ENQRY-N-015Contact Email ConflictAnother contact of this operator already has that email addressNo
ENQRY-N-016Guidance Not FoundNo enquiry guidance with this id exists for this operatorNo
ENQRY-N-017Guidance Channel Not ConnectedA channel in the guidance's scope isn't an active channel of this operatorNo
ENQRY-N-018Mailbox Cannot SendThe enquiry's mailbox can't send replies: it's IMAP, sending isn't enabled, or its sign-in has expiredNo
ENQRY-N-019Mailbox Provider RejectedMicrosoft or Google refused to send the replyYes
ENQRY-N-020Reply In ProgressA reply with this idempotency key is still being sentYes
ENQRY-N-021Lost Reason Not FoundNo lost reason with this id exists for this operatorNo
ENQRY-N-022Lost Reason UnknownThe lost reason isn't one of the operator's active lost reasonsNo
ENQRY-N-023Lost Reason Label TakenThe operator already has an active lost reason with this labelNo
ENQRY-N-024Lost Reason Cannot Be MergedThe lost reason can't be merged that way: it is already merged, or the target is itself or a merged reasonNo
ENQRY-N-025Lost Reason Not MergedOnly a merged lost reason can be restoredNo
ENQRY-N-050Enquiry Channel RequiredThe enquiry has no channel. Assign a channel first (the operator's Direct channel for a direct enquiry): the booking is made as that channelNo
ENQRY-N-051Enquiry Contact IncompleteThe enquiry's contact needs a first and last name and an email address before a booking can be made from itNo
ENQRY-N-052Enquiry Payment Option UnavailableThe venue can't take this payment for this slot: the space has no minimum spend then, or the option isn't one the venue collects through BookableNo
ENQRY-N-053Enquiry Booking In ProgressA booking with this idempotency key is already being madeNo
ENQRY-N-054Enquiry Booking Key ReusedThis idempotency key was already used for a booking from another enquiryNo
ENQRY-R-055Enquiry Payment Link FailedThe booking was made but its payment link couldn't be created. Retry with the same idempotency key to try the payment again; nothing is booked twiceYes
ENQRY-N-056Enquiry Booking Outcome UnknownThe booking may have been made: something failed after it was sent to the venue's booking system. Check there before booking again; the idempotency key stays usedNo
ENQRY-N-057Enquiry Already BookedThe enquiry already has a booking that may be live. Send allowAdditionalBooking true to book another as wellNo
ENQRY-N-058Enquiry Payment In ProgressThe booking's payment link is already being created by another requestNo
ENQRY-N-059Enquiry Not In Channel InventoryThe venue or booking type isn't in the inventory of the enquiry's channel, so the channel can't book itNo

Booking Type Errors (BTYPE)

Booking type errors (BOO-834). PUT /venue-management/booking-types is asynchronous: a well-formed request is accepted with 202 and a batchId, and each venue+booking type target succeeds or fails later in the background processor. Codes below are therefore split into two groups. The first group is returned as a ProblemDetails on the request itself. The second is recorded on the history row and read back via GET /venue-management/booking-types/{batchId}/history - those never appear as an HTTP status. Read a history row's status BEFORE its errorCode: a retryable code can sit on a row that is still Pending and will be retried automatically, which is not a failure.

CodeTitleDescriptionRetryable
BTYPE-N-001Invalid Target IdentifierA target could not be decoded. Each must be a composite venueGroupId|rmsSlug|venueId|bookingTypeId with all four parts.No
BTYPE-N-002No Changes SpecifiedThe request carried no change. Supply at least one of name, preorderSettings, bookingRules or overrides; a preorderSettings block needs at least one field, and bookingRules or overrides at least one entry.No
BTYPE-N-003Targets Span Multiple Venue GroupsAll targets in one request must belong to the same venue group and RMS.No
BTYPE-N-004Targets Not FoundOne or more venue+booking type targets do not exist in the venue group. The missing targets are listed in the targets extension. Nothing was queued.No
BTYPE-N-005Preorder Menus Not FoundA menu in menuRules.add does not exist at one or more target venues. The venue and menu pairs are listed in the menus extension. Nothing was queued.No
BTYPE-N-006Invalid Preorder SettingsThe pre-order settings are inconsistent: a percentage outside 0-100, paymentPercentage without paymentRequired percentage, a lower bound above its upper bound, or an unparseable time or date.No
BTYPE-N-007Duplicate TargetsThe same venue+booking type target appears more than once. List each target once.No
BTYPE-R-001Venue Batch Already In ProgressOne or more target venues already have a booking-type batch queued or being written. The RMS write is whole-document per venue, so batches for a venue are serialised. The busy venues are listed in the venueIds extension. Retry once the in-flight batch completes.Yes
BTYPE-N-008Batch Not FoundNo booking-type batch exists with this id.No
BTYPE-N-009Batch Access DeniedThe batch belongs to a venue group the caller cannot access.No
BTYPE-N-010Booking Type Not FoundNo booking type exists with this venue+booking type id.No
BTYPE-N-011RMS Write FailedThe RMS refused the write (a 4xx), or the write failed before it was sent. Nothing landed, so this is safe to resubmit. Recorded on the history row.No
BTYPE-N-012Booking Type Missing In RMSThe booking type no longer exists at this venue in the RMS (deleted since the last sync). Nothing was written for it. Recorded on the history row.No
BTYPE-N-013Preorder Menu Missing In RMSA menu in menuRules.add no longer exists at this venue or its organisation in the RMS (deleted since the last sync). Nothing was written for this booking type. Recorded on the history row.No
BTYPE-N-014Change Not AppliedThe RMS accepted the write but the booking type does not carry the change. Nothing landed, so this is safe to resubmit. Recorded on the history row.No
BTYPE-N-015Change Applied With DifferencesThe RMS stored the change but some fields differ from what was sent. Check the booking type's current values before resubmitting. Recorded on the history row.No
BTYPE-N-016Outcome Could Not Be VerifiedThe write's outcome is unknown: the RMS accepted it but returned no document to verify against, or the call timed out, lost its connection, failed with a 5xx or returned an unreadable response. This change MAY have been applied. Check the booking type's current values before resubmitting. Recorded on the history row.No
BTYPE-N-017Processing InterruptedProcessing was interrupted before the outcome could be recorded, so this change MAY have been applied. Not retried automatically. Check the booking type's current values before resubmitting. Recorded on the history row.No
BTYPE-N-018Rate Limit Retry Budget ExhaustedThe RMS kept rate limiting this venue and the automatic retry window ran out. Nothing landed; resubmit later. Recorded on the history row.No
BTYPE-N-019RMS Configuration Not FoundThe venue group has no RMS configuration to write with. Nothing was written. Recorded on the history row.No
BTYPE-R-002Rate Limited By RMSThe RMS rate limited this write. The row is back in Pending and will be retried automatically; no action needed. Recorded on the history row.Yes
BTYPE-R-003Venue BusyAnother venue-management write to the same venue was in progress. The row is back in Pending and will be retried automatically; no action needed. Recorded on the history row.Yes
BTYPE-R-004Requeued After Host RestartThe host shut down before this row was written. It is back in Pending and will be retried automatically; no action needed. Recorded on the history row.Yes
BTYPE-N-020Duplicate Booking Rule WeekdayThe same dayOfWeek appears more than once in bookingRules. List each weekday once.No
BTYPE-N-021Invalid Booking Override ChangesThe overrides section is inconsistent: an id both upserted and removed or listed twice, a clientRef shared by two creates, two creates with identical values, or a dateFrom after its dateTo.No
BTYPE-N-022Booking Overrides Not FoundAn override id to update or remove does not exist on one or more targets. The target and id pairs are listed in the overrides extension. Nothing was queued.No
BTYPE-N-023Booking Override Missing In RMSAn override id to update or remove no longer exists on this booking type in the RMS (deleted since the last sync). Nothing was written for this booking type. Recorded on the history row.No

Migration from Old Error Codes

If you're migrating from the old error code format, here's the mapping:

Old CodeNew CodeNotes
USER001USER-N-001Email already in use
BOOKING001BOOK-N-001No RMS configurations
BOOKING002BOOK-N-002Booking already exists
BOOKING003BOOK-N-003RMS configuration not found
BOOKING004BOOK-N-004Missing partner source
BOOKING005BOOK-N-005Venue group partner association not found
OPERATOR_AVAILABILITY_DISABLEDOPRUL-N-001 to OPRUL-N-004Now split into 4 specific codes based on rule type
VENUE001VENUE-N-001Invalid pagination cursor
IDENTITY001IDENT-N-001Invalid identity
IDENTITY002IDENT-N-002Invalid partner reference

Retry Logic

Errors with isRetryable: true indicate transient failures that may succeed if retried:

  • Implement exponential backoff
  • Limit retry attempts (recommended: 3-5 attempts)
  • Examples: Rate limits (429), temporary service unavailability

Errors with isRetryable: false indicate permanent failures:

  • Do not retry with the same input
  • Modify request parameters or contact support
  • Examples: Invalid data (400), unauthorized (401), not found (404)

Support

For questions or issues with error codes, please contact api-support@bookingsgroup.com.


Last updated: 2026-10-02 06:19:13 UTC Version: 2.0 This file is auto-generated from ErrorCatalog.yaml - DO NOT EDIT MANUALLY