Last updated

Troubleshooting B.XML availability error responses

With the v1.1 of the B.XML availability endpoint, we have standardised the treatment of HTTP error codes. The following table captures all the common conditions and the HTTP error codes that the v1.1 endpoint returns.

If the endpoint encountersThe endpoint returns
Incorrect username or password.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

Changes to existing error messages

The following table lists only the error codes that have changed for the B.XML availability endpoint.

Old error code (v1.0)Error messageNew error code (v1.1)Error messageNotes
NO_HOTEL_FOUND_FOR_ROOMSNo hotel found for provided room IDs.ROOM_ID_INVALIDRoom ID '%s' is not validIncorrect room ID. Make sure to retrieve the correct Room ID using the rooms endpoint.
ROOM_DOES_NOT_EXISTRoom does not exist.ROOM_ID_INVALIDRoom ID '%s' is not validProvide a valid Room ID. Make sure to retrieve the correct Room ID using the rooms endpoint.
ROOM_NOT_ACTIVERoom is not active.ROOM_ID_INVALIDRoom ID '%s' is not validProvide a valid Room ID. Make sure to retrieve the correct Room ID using the rooms endpoint.
DATES_TOO_FAR_OR_INVALIDSome of the date(s) for RoomID %s are too much into the future or invalid (e.g. %s)NOT_A_VALID_DATEDates should be in YYYY-MM-DD format, not before '%s',and not be past $y'. The data should also be validAvoid 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_PROGRESSThere is a hotel currency switch currently in progressTry to run the request after the currency switch is in place.
DATE_ELEMENT_ATTRIBUTE_NOT_SETNeither from/to nor value attribute has been set.DATE_ELEMENT_MISSINGDate is missingA valid date is required for the request.
FROM_OR_TO_DATE_INVALIDFrom or To date is invalid.DATE_ELEMENT_MISSINGDate is missingA valid date is required for the request.
TAG_NOT_ALLOWEDTag not allowed inside date block when using room level inventory with no rate.RATE_ID_REQUIREDRate Id is requiredRate 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.

New warnings on v1.1

The following table summarises the new warnings for the B.XML availability endpoint.

New error codeError messageNotes
WARN_UNPROCESSED_ADDITIONAL_GUESTAdditional guest updates weren't processed. Please try again later.
WARN_DUPLICATE_DATESRequest contains duplicate dates, we have applied only the first occurrence.

New error codes on v1.1

The following table summarises the new error codes for the B.XML availability endpoint.

Error codeError messageNotes
ROOM_ID_MISSINGRoom ID is missingRoom ID is required for the request.
ROOM_ELEMENT_REQUIREDRoom is missingThe request contains an empty request body.
FROM_DATE_SHOULD_BE_LESS_THAN_TO_DATEFrom date should be less than or equal To DateThe From date should be less than or equal to the To date.
LOS_PRICING_PASSED_FOR_OBP_RATELOS pricing format sent for OBP room-rateThe request contains pricing information in LOS pricing format. However, the property is set to OBP pricing type.
LOS_PRICING_PASSED_FOR_DEFAULT_RATELOS pricing format sent for Standard room-rateThe request contains pricing information in LOS pricing format. However, the property is set to Standard pricing type.
OBP_PRICING_PASSED_FOR_DEFAULT_RATEOBP format sent for Standard room-rateThe request contains pricing information in OBP pricing format. However, the property is set to Standard pricing type.
CANT_SET_PERCENTAGE_FOR_OBP_LOSCannot set percentage for OBP/LOS room-rateThe 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_ONLYAdditional guest type can only be childFor the Type attribute of <additional_guest> element, the only supported value is child.
INVALID_CURRENCY_CODESupplied 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_OCCUPANCYCannot set price for occupancy 1. Please check the room-rate pricing modelCannot set pricing for single occupancy as the pricing type of the property or roomrate is other than Standard.
RATE_EDITABLE_ONLY_ON_EXTRANETRate '%s' is only editable on ExtranetYou 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_EXTRANETRoom '%s' is only editable on ExtranetYou 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_ROOMRate '%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_DENIEDRequest 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_OCCUPANCYAn occupancy may not be zero, Occupancy '%s' may not be negative, Occupancy '%s' exceeds maximum value $MAX, Occupancy '%s' does not look numericMake sure to send pricing information for the correct occupancy level defined in the roomrate for the specific roomtype.
NOT_A_VALID_DATEINVALID_DATEThe 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_PRICEYou 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_PRICEYou 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_TIMERelease 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_VIOLATIONGeneric error when provided data type is different than specified.
HOTEL_HAS_MISCONFIGURED_UFIThe timezone value is missing for the Ufi associated with hotel ID $hotel_idCheck the property's UFI configuration.
INVALID_GUEST_AGE_BANDPlease define a to and from ages that match an age bucketThis error is related to configurations set for flexible children rates. See also, managing flexible children rates.
INVALID_GUEST_AGE_BAND_IDPlease define an existing age bucket IDThis error is related to configurations set for flexible children rates. See also, managing flexible children rates.
INVALID_ADDITIONAL_PRICESPrices length cannot be 0This error is related to configurations set for flexible children rates. See also, managing flexible children rates.
ADDITIONAL_GUEST_PRICE_DATES_OVERLAPThe dates of the guest prices cannot overlap for the same roomId and rateIdThis error is related to configurations set for flexible children rates. See also, managing flexible children rates.
INVALID_GUEST_AGE_BAND_IDageBandId must be 1, 2 or 3This error is related to configurations set for flexible children rates. See also, managing flexible children rates.
PROVIDED_DATES_OUTSIDE_ALLOWED_RANGEPlease check if date is not in the past or more than 4 years in the futureThis error is related to configurations set for flexible children rates. See also, managing flexible children rates.
INVALID_ADDITIONAL_GUEST_NUMBERInvalid additionalGuestNumber. It should be a non negative number up to + MAX_GUEST_NUMBERThis error is related to configurations set for flexible children rates. See also, managing flexible children rates.
PRICE_LESS_THAN_0There's no support for negative pricesMake 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_DIGITSMax Price Value is + MAX_PRICEThis error is related to configurations set for flexible children rates. See also, managing flexible children rates.
PRICE_PERCENTAGE_IS_BIGGER_THAN_100Percentage 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_ZEROThere's no support for percentage price zeroThis error is related to configurations set for flexible children rates. See also, managing flexible children rates.
DATE_ELEMENT_MISSINGDate is missingDate is required for this request.
RATE_ID_REQUIREDRate Id is requiredRate id is required for this request.
OBP_PRICING_PASSED_FOR_RLO_RATEOBP format sent for RLO room-rateRoom-rate is on RLO pricing model while request is trying to set OBP prices for it.
ROOM_ID_INVALIDRoom ID '%s' is not validProvide a valid Room ID. Make sure to retrieve the correct Room ID using the rooms endpoint.
RATE_IS_A_SLAVE_RATEYou cannot set $attribute for a child rate $rate_id, since they are automatically set based on Rate RelationsCannot update a child rate.
CURRENCY_SWITCH_IN_PROGRESSThere is a hotel currency switch currently in progressYou need to wait until hotel switch currency.
EXCEEDS_MAX_RELATIVE_RELEASE_TIMERelative 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_PERSONSRoom '%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.
AUTHENTICATION_FAILUREAuthentication failed for the requestThe 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_ERRORInternal server errorBooking.com service failed.