This section captures a list of common HTTP errors you might encounter and possible solutions to fix them.
The B.XML availability endpoint (v1.1) returns a specific HTTP status based on the following conditions:
| If the endpoint encounters | The endpoint returns |
|---|---|
| Invalid or expired JWT token. | 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 |
The following table lists only the error codes that have changed for the B.XML availability endpoint.
| Old error code (v1.0) | Error message | New error code (v1.1) | Error message | Notes |
|---|---|---|---|---|
| NO_HOTEL_FOUND_FOR_ROOMS | No hotel found for provided room IDs. | ROOM_ID_INVALID | Room ID '%s' is not valid | Incorrect room ID. Make sure to retrieve the correct Room ID using the [rooms endpoint][retrieving-room-types]. |
| ROOM_DOES_NOT_EXIST | Room does not exist. | 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][retrieving-room-types]. |
| ROOM_NOT_ACTIVE | Room is not active. | 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][retrieving-room-types]. |
| DATES_TOO_FAR_OR_INVALID | Some of the date(s) for RoomID %s are too much into the future or invalid (e.g. %s) | NOT_A_VALID_DATE | Dates should be in YYYY-MM-DD format, not before '%s',and not be past $y'. The data should also be valid | Avoid providing dates that are too far in the future. |
| AVAILABILITY_UPDATE_DISABLE_ HOTEL_SWITCHING_CURRENCY | Updating availability is temporarily disable for the hotel. Currency switch is in progress. | CURRENCY_SWITCH_IN_PROGRESS | There is a hotel currency switch currently in progress | Try to run the request after the currency switch is in place. |
| DATE_ELEMENT_ATTRIBUTE_NOT_SET | Neither from/to nor value attribute has been set. | DATE_ELEMENT_MISSING | Date is missing | A valid date is required for the request. |
| FROM_OR_TO_DATE_INVALID | From or To date is invalid. | DATE_ELEMENT_MISSING | Date is missing | A valid date is required for the request. |
| TAG_NOT_ALLOWED | Tag not allowed inside date block when using room level inventory with no rate. | RATE_ID_REQUIRED | Rate Id is required | Rate ID is required for the request. |
| OBP_PRICING_PASSED_FOR_ LOS_RATE, OBP_PRICING_PASSED_FOR_ RLO_RATE, OBP_PRICING_PASSED_FOR_ DEFAULT_RATE, OBP_PRICING_PASSED_FOR_ SINGLE_USE_RATE | OBP_PRICING_PASSED_FOR_ RLO_RATE, OBP_PRICING_PASSED_FOR_ DEFAULT_RATE. Rest are considered valid. | OBP format sent for RLO room-rate , OBP format sent for Standard room-rate | The request contains pricing information in OBP pricing format. However, the property is set to Standard or Rate Level Occupancy (RLO) pricing type. |
The following table summarises the new error codes for the B.XML availability endpoint.
| 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. |
| 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 (€50,000 or the equivalent in the property local currency) 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 (€5 or the equivalent in the property local currency) 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. |
| New error code (v1.1) | Error message | Notes |
|---|---|---|
| WARN_UNPROCESSED_ADDITIONAL_GUEST | Additional guest updates weren't processed. Please try again later |
The OTA_HotelAvailNotif endpoint (v1.1) returns a specific HTTP status based on the following conditions:
| If the endpoint encounters | The endpoint returns |
|---|---|
| Invalid or expired JWT token. | 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 |
The OTA_HotelRateAmountNotif endpoint (v1.1) returns a specific HTTP status based on the following conditions:
| If the endpoint encounters | The endpoint returns |
|---|---|
| Invalid or expired JWT token. | 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 |
The following table summarises the new error codes for the OTA_HotelRateAmountNotif endpoint.
| 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 in 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. |
| 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 (€50,000 or the equivalent in the property local currency) 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 (€5 or the equivalent in the property local currency) 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. |