# 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.](/connectivity/docs/flexible-children-rates/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.](/connectivity/docs/flexible-children-rates/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.](/connectivity/docs/flexible-children-rates/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.](/connectivity/docs/flexible-children-rates/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.](/connectivity/docs/flexible-children-rates/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.](/connectivity/docs/flexible-children-rates/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.](/connectivity/docs/flexible-children-rates/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.](/connectivity/docs/flexible-children-rates/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.](/connectivity/docs/flexible-children-rates/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.](/connectivity/docs/flexible-children-rates/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.](/connectivity/docs/flexible-children-rates/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.](/connectivity/docs/flexible-children-rates/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](/connectivity/docs/room-type-and-rate-plan-management/managing-room-types/#retrieving-active-room-types). |
| 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.](/connectivity/docs/authentication/#troubleshooting) |
| INTERNAL_SERVER_ERROR | Internal server error | Booking.com service failed. |