Troubleshooting Availability error responses
We have standardised the treatment of HTTP error codes. The following table captures all the common conditions and the HTTP error codes.
| If the endpoint encounters | The endpoint returns |
|---|---|
| Authentication failed | HTTP 401 |
| Schema validations such as invalid integer, date. | HTTP 400 |
| All updates with errors. | HTTP 400 |
| At least one successful update. | HTTP 200 in addition to errors or warnings, if any. |
| All updates are unauthorized. | HTTP 403 |
| INTERNAL_SERVER_ERROR. | HTTP 500 |
Warnings on v1.1
The following table summarises the warnings for the availability endpoints.
| New error code | Error message | Notes |
|---|---|---|
| WARN_UNPROCESSED_ADDITIONAL_GUEST | Additional guest updates weren't processed. Please try again later. | |
| WARN_DUPLICATE_DATES | Request contains duplicate dates, we have applied only the first occurrence. |
Error codes on v1.1
The following table summarises the error codes for the availability endpoints.
| Error code | Error message | Notes |
|---|---|---|
| ROOM_ID_MISSING | Room ID is missing | Room ID is required for the request. |
| ROOM_ELEMENT_REQUIRED | Room is missing | The request contains an empty request body. |
| FROM_DATE_SHOULD_BE_LESS_THAN_TO_DATE | From date should be less than or equal To Date | The From date should be less than or equal to the To date. |
| LOS_PRICING_PASSED_FOR_OBP_RATE | LOS pricing format sent for OBP room-rate | The request contains pricing information in LOS pricing format. However, the property is set to OBP pricing type. |
| LOS_PRICING_PASSED_FOR_DEFAULT_RATE | LOS pricing format sent for Standard room-rate | The request contains pricing information in LOS pricing format. However, the property is set to Standard pricing type. |
| OBP_PRICING_PASSED_FOR_DEFAULT_RATE | OBP format sent for Standard room-rate | The request contains pricing information in OBP pricing format. However, the property is set to Standard pricing type. |
| CANT_SET_PERCENTAGE_FOR_OBP_LOS | Cannot set percentage for OBP/LOS room-rate | The request is trying to send percentage pricing for Flexible Children Rates (FCR) while the roomrate is on OBP or LOS pricing mode. This is not accepted. You can set a fixed amount FCR in case the roomrate is on OBP or LOS pricing model. |
| ADDITIONAL_PRICE_TYPE_CAN_BE_CHILDREN_ONLY | Additional guest type can only be child | For the Type attribute of <additional_guest> element, the only supported value is child. |
| INVALID_CURRENCY_CODE | Supplied currency code '%s' doesn't match the hotel's currency code '%s' for room ID '%s' and rate ID '%s' | Currency code in the request should match the property's currency code. |
| INVALID_USE_OF_SINGLE_OCCUPANCY | Cannot set price for occupancy 1. Please check the room-rate pricing model | Cannot set pricing for single occupancy as the pricing type of the property or roomrate is other than Standard. |
| RATE_EDITABLE_ONLY_ON_EXTRANET | Rate '%s' is only editable on Extranet | You are not allowed to edit the rate via the connectivity API. The property can edit the rate via the Booking.com extranet. |
| ROOM_EDITABLE_ONLY_ON_EXTRANET | Room '%s' is only editable on Extranet | You are not allowed to edit the room via the connectivity API. The property can edit the room via Booking.com extranet. |
| RATE_NOT_ACTIVE_FOR_ROOM | Rate '%s' is not active for room '%s' | Rate is not activated for the selected room. Please check allowed roomrates using the roomrates endpoint. |
| HOTEL_ACCESS_DENIED | Request for forbidden hotel id(s) | Check the property ID and either provide the correct property ID or make sure the machine account credentials have enough permissions. |
| NOT_A_VALID_OCCUPANCY | An occupancy may not be zero, Occupancy '%s' may not be negative, Occupancy '%s' exceeds maximum value $MAX, Occupancy '%s' does not look numeric | Make sure to send pricing information for the correct occupancy level defined in the roomrate for the specific roomtype. |
| NOT_A_VALID_DATE | INVALID_DATE | The supplied date format is invalid. The valid format is yyyy-mm-dd. Or, the supplied date is more than 1 day in the past. |
| PRICE_EXCEEDS_MAX_PRICE | You are setting ‘$price’ for room ID ‘%room_id’, rate ID ‘%rate_id’ and date ‘%date’ which exceeds the maximum allowed price of ‘%max_price’ | You are setting the price for the combination of room, rate and date that exceeds the maximum price set. |
| PRICE_BELOW_MIN_PRICE | You are setting ‘$price’ for room ID ‘%room_id’, rate ID ‘%rate_id’ and date ‘%date’ which is below the minimum allowed price of ‘%min_price’ | You are setting the price for the combination of room, rate and date that goes below the minimum price set. |
| NOT_A_VALID_RELEASE_TIME | Release times should be in the expected format. This is not the case for room ID $room_id, rate ID $rate_id on date '$date' | Make sure to specify the release time in the expected format. |
| TYPE_VIOLATION | Generic error when provided data type is different than specified. | |
| HOTEL_HAS_MISCONFIGURED_UFI | The timezone value is missing for the Ufi associated with hotel ID $hotel_id | Check the property's UFI configuration. |
| INVALID_GUEST_AGE_BAND | Please define a to and from ages that match an age bucket | This error is related to configurations set for flexible children rates. See also, managing flexible children rates. |
| INVALID_GUEST_AGE_BAND_ID | Please define an existing age bucket ID | This error is related to configurations set for flexible children rates. See also, managing flexible children rates. |
| INVALID_ADDITIONAL_PRICES | Prices length cannot be 0 | This error is related to configurations set for flexible children rates. See also, managing flexible children rates. |
| ADDITIONAL_GUEST_PRICE_DATES_OVERLAP | The dates of the guest prices cannot overlap for the same roomId and rateId | This error is related to configurations set for flexible children rates. See also, managing flexible children rates. |
| INVALID_GUEST_AGE_BAND_ID | ageBandId must be 1, 2 or 3 | This error is related to configurations set for flexible children rates. See also, managing flexible children rates. |
| PROVIDED_DATES_OUTSIDE_ALLOWED_RANGE | Please check if date is not in the past or more than 4 years in the future | This error is related to configurations set for flexible children rates. See also, managing flexible children rates. |
| INVALID_ADDITIONAL_GUEST_NUMBER | Invalid additionalGuestNumber. It should be a non negative number up to + MAX_GUEST_NUMBER | This error is related to configurations set for flexible children rates. See also, managing flexible children rates. |
| PRICE_LESS_THAN_0 | There's no support for negative prices | Make sure to specify a price greater than 0. This error is related to configurations set for flexible children rates. See also, managing flexible children rates. |
| PRICE_GREATER_THAN_10_DIGITS | Max Price Value is + MAX_PRICE | This error is related to configurations set for flexible children rates. See also, managing flexible children rates. |
| PRICE_PERCENTAGE_IS_BIGGER_THAN_100 | Percentage should be between [0.0, 100.0] | This error is related to configurations set for flexible children rates. See also, managing flexible children rates. |
| PRICE_PERCENTAGE_IS_ZERO | There's no support for percentage price zero | This error is related to configurations set for flexible children rates. See also, managing flexible children rates. |
| ADULT_PERCENTAGE_IS_MIXED | Price Type Adult Percentage cannot be mixed with other price types for the same Age Band Id | When using Adult percentage don't use percentage or fixed amount for the same age band. This error is related to configurations set for flexible children rates. See also, managing flexible children rates. |
| PRICE_DATES_OVERLAP | The dates of the prices cannot overlap for the same guestNumber and ageBucket. The dates [Date{year=%s, month=%s, day=%s},Date{year=%s, month=%s, day=%s}] overlaps with [Date{year=%s, month=%s, day=%s},Date{year=%s, month=%s, day=%s}] for guestNumber: %s and ageBucket: %s | |
| DATE_ELEMENT_MISSING | Date is missing | Date is required for this request. |
| RATE_ID_REQUIRED | Rate Id is required | Rate id is required for this request. |
| OBP_PRICING_PASSED_FOR_RLO_RATE | OBP format sent for RLO room-rate | Room-rate is on RLO pricing model while request is trying to set OBP prices for it. |
| ROOM_ID_INVALID | Room ID '%s' is not valid | Provide a valid Room ID. Make sure to retrieve the correct Room ID using the rooms endpoint. |
| RATE_IS_A_SLAVE_RATE | You cannot set $attribute for a child rate $rate_id, since they are automatically set based on Rate Relations | Cannot update a child rate. |
| CURRENCY_SWITCH_IN_PROGRESS | There is a hotel currency switch currently in progress | You need to wait until hotel switch currency. |
| EXCEEDS_MAX_RELATIVE_RELEASE_TIME | Relative release time {release_time} exceeds max allowed value. This is not the case for room id{room_id}, rate id {rate_id} on date{date} | You are setting release time that exceeds the maximum allowed value. |
| OCCUPANCY_EXCEEDS_MAX_PERSONS | Room '%s' has a maximum occupancy of '%s'. You cannot set price for higher occupancy for rate '%s' | Cannot set pricing for occupancy that is higher than the maximum occupancy. |
| NOT_A_VALID_RESTRICTION | You are trying to set the value '%s' for restriction min_stay_arrival for room id '%s', rate id '%s', and date '%s'. It must be 0 or exceed 31. | The value for min_stay_arrival or min_stay_through is invalid. Certain special products in specific regions require the restriction value to be either 0 (no restriction) or greater than 31 days. Verify the restriction requirements for your property type and region, then update the value accordingly. |
| NOT_A_VALID_PRICE | Values of prices should be within the acceptable range. This is not the case for room id %s, rate id %s on date '%s'. | Price cannot be set lower or higher than the defined Booking.com acceptable values. |
| NOT_VALID_OCCUPANCY_PRICE | Values of OBP prices should be a mapping of occupancy to prices. A valid occupancy price must be greater than 0 and less than %s. This is not the case for room id %s, rate id %s on date '%s'. | Price cannot be set lower or higher than the defined Booking.com acceptable values. |
| AUTHENTICATION_FAILURE | Authentication failed for the request | The credentials provided in the request was not sufficient for a successful authentication check. To fix a failed authentication request, see the Authentication page. |
| INTERNAL_SERVER_ERROR | Internal server error | Booking.com service failed. |