# 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: ```json { "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 | Code | Title | Description | Retryable | | --- | --- | --- | --- | | `AVAIL-N-001` | Product Not Found | The requested product could not be found for the specified venue | No | | `AVAIL-N-002` | Venue Not Configured for Partner | The venue is not configured for access by the current partner | No | | `AVAIL-N-003` | No Products Available for Partner | No products are accessible to this partner based on partner mappings | No | | `AVAIL-N-004` | Venue Closed on Requested Date | The venue is closed on the requested date and cannot accept bookings | No | ## Operator Rule Errors (OPRUL) Operator availability rule validation errors | Code | Title | Description | Retryable | | --- | --- | --- | --- | | `OPRUL-N-001` | Specific Date Disabled | The operator has disabled availability for the requested specific date | No | | `OPRUL-N-002` | Date Range Disabled | The requested date falls within a date range disabled by the operator | No | | `OPRUL-N-003` | Recurring Pattern Disabled | The requested date matches a recurring pattern disabled by the operator | No | | `OPRUL-N-004` | Time Range Disabled | The requested start time falls within a time range disabled by the operator | No | ## Partner Mapping Errors (PMAP) Partner access and mapping validation errors | Code | Title | Description | Retryable | | --- | --- | --- | --- | | `PMAP-N-001` | Venue Not Mapped to Partner | The requested venue is not mapped to the current partner | No | | `PMAP-N-002` | Product Not Mapped to Partner | The requested product is not accessible to the current partner | No | | `PMAP-N-003` | Partner Booking Access Denied | You do not have permission to access this booking | No | | `PMAP-N-004` | Partner Not Found | The specified partner could not be found | No | ## Booking Errors (BOOK) Booking creation and management errors | Code | Title | Description | Retryable | | --- | --- | --- | --- | | `BOOK-N-001` | No TMS Configurations Found | Cannot perform any research for the provided venue group. No TMS configurations found. | No | | `BOOK-N-002` | Booking Already Exists | The booking already exists in the database | No | | `BOOK-N-003` | TMS Configuration Not Found | No TMS configuration found for the specified composite ID | No | | `BOOK-N-004` | Missing Partner Source Configuration | The partner source is not configured for this venue group and partner | No | | `BOOK-N-005` | Venue Group Partner Association Not Found | No venue group and partner association found | No | | `BOOK-N-006` | Booking Not Found | The requested booking could not be found | No | | `BOOK-N-007` | Preorder is required | A preorder is required to proceed with this booking | No | ## Venue Errors (VENUE) Venue retrieval and management errors | Code | Title | Description | Retryable | | --- | --- | --- | --- | | `VENUE-N-001` | Venue Not Found | The requested venue could not be found | No | ## Operator Errors (OPRTR) Operator management and access errors | Code | Title | Description | Retryable | | --- | --- | --- | --- | | `OPRTR-N-001` | Operator Not Found | The requested operator could not be found | No | | `OPRTR-N-002` | Operator Access Denied | You do not have permission to access this operator | No | | `OPRTR-N-003` | Partner Source Required | The partnerSource field is required when creating an operator as a partner user | No | | `OPRTR-N-004` | Operator Already Exists | An operator with this name already exists | No | | `OPRTR-N-005` | Cannot Delete Operator | This operator cannot be deleted because it has associated resources | No | | `OPRTR-N-006` | Invalid Operator Configuration | The operator configuration is invalid or incomplete | No | | `OPRTR-N-007` | TMS Credentials Already Exists | TMS credentials already exist for this operator and TMS combination | No | | `OPRTR-N-008` | TMS Credentials Not Found | The requested TMS credentials for this operator could not be found | No | | `OPRTR-N-009` | Invalid TMS Credentials | The TMS credentials could not be validated. Please check your configuration and try again. | No | ## User Errors (USER) User management and authentication errors | Code | Title | Description | Retryable | | --- | --- | --- | --- | | `USER-N-001` | Email Already In Use | A user with this email address already exists | No | | `USER-N-002` | User Not Found | The specified user could not be found | No | | `USER-N-003` | Invalid User Credentials | The provided credentials are invalid | No | | `USER-N-004` | User Invite Not Found | The user invitation could not be found | No | | `USER-N-005` | User Invite Already Accepted | This invitation has already been accepted | No | | `USER-N-006` | User Invite Expired | This invitation has expired | No | | `USER-N-007` | Invalid Venue Group Assignment | The user cannot be assigned to the specified venue group | No | | `USER-N-008` | Insufficient Permissions | You do not have sufficient permissions to perform this action | No | | `USER-N-009` | Invalid Role Assignment | The specified role cannot be assigned to this user | No | | `USER-N-010` | User Account Disabled | This user account has been disabled | No | | `USER-N-011` | Invalid Email Format | The provided email address format is invalid | No | | `USER-N-012` | Password Requirements Not Met | The password does not meet security requirements | No | | `USER-N-013` | User Session Expired | Your session has expired, please log in again | No | | `USER-N-014` | Maximum Login Attempts Exceeded | Account locked due to too many failed login attempts | Yes | | `USER-N-015` | Email Verification Required | Email address must be verified before proceeding | No | ## Identity Errors (IDENT) Identity resolution errors | Code | Title | Description | Retryable | | --- | --- | --- | --- | | `IDENT-N-001` | Invalid Identity | The identity could not be resolved | No | | `IDENT-N-002` | Invalid Partner Reference | The partner reference could not be resolved | No | ## Validation Errors (VALID) Request validation errors | Code | Title | Description | Retryable | | --- | --- | --- | --- | | `VALID-N-001` | Validation Failed | One 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 ```json "errors": { "Date": [ "Availability date cannot be in the past." ], "EndTime": [ "EndTime must be after StartTime." ] ``` } ``` --- ## Migration from Old Error Codes If you're migrating from the old error code format, here's the mapping: | Old Code | New Code | Notes | |----------|----------|-------| | USER001 | USER-N-001 | Email already in use | | BOOKING001 | BOOK-N-001 | No RMS configurations | | BOOKING002 | BOOK-N-002 | Booking already exists | | BOOKING003 | BOOK-N-003 | RMS configuration not found | | BOOKING004 | BOOK-N-004 | Missing partner source | | BOOKING005 | BOOK-N-005 | Venue group partner association not found | | OPERATOR_AVAILABILITY_DISABLED | OPRUL-N-001 to OPRUL-N-004 | Now split into 4 specific codes based on rule type | | VENUE001 | VENUE-N-001 | Invalid pagination cursor | | IDENTITY001 | IDENT-N-001 | Invalid identity | | IDENTITY002 | IDENT-N-002 | Invalid 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-03-03 14:54:46 UTC* *Version: 2.0* *This file is auto-generated from ErrorCatalog.yaml - DO NOT EDIT MANUALLY* ```