Error codes

Errors arrive in three shapes: authentication errors as HTTP 401, business-rule errors inside an HTTP 200 with success: false, and booking-push errors in BookingPushRS.Error. This page lists every code.

Authentication errors#

HTTPResponseCause
401{"success": false, "error": "Authentication required"}Token missing, unknown or the Bearer format is malformed.
200message: partner_is_not_foundLogin: key pair did not match.
200message: hotel_is_not_foundLogin: no hotel for hotelSeoUrl.
200message: hotel_permission_is_not_foundLogin: the partner is not authorised for the hotel.

message codes#

Snake_case text codes, returned together with success: false.

messageEndpointDescription
hotel_id_is_not_foundMosthotelID was not sent.
start_date_is_not_found / end_date_is_not_foundAvailabilityDate parameter missing.
online_cupon_is_not_foundCouponCode unknown, inactive, expired or not available.
mail_host_is_not_foundE-mail settingsNo SMTP configured for the online channel.
hotel_company_info_could_not_foundVirtual POS detailsNo payment provider configured for the hotel.
bank_info_is_not_foundPayment (type 3)No bank account enabled for online sales.
required_input_info_not_submittedPayment (type 10)A required field is missing; errors[] lists which ones.
country_info_sent_incorrectlyPayment (type 10)countryID is not in the country list.
there_is_missing_info_in_the_shopping_cartPayment (type 10)A basket item lacks id, name, piece or price; errors[] points to it.

Room list error codes#

The room list (POST /external/online/roomType) returns a numeric errorCode and a human-readable errorMessage. The message is translated according to the language parameter; write your code against errorCode.

errorCodeMeaningWhat to do
10001Hotel not foundCheck hotelID.
10002Missing parameter (hotelID, startDate, endDate, adultCount)Send the required fields.
10003Hotel closed to online salesThe hotel must enable the online channel in the panel.
10004No room type open to channelsThe hotel must open room types for online sale.
10022Invalid parametersCheck-in today or later, check-out after check-in, at most 30 nights, 1–40 adults, 0–10 children.
20001Not enough adult availabilitySuggest other dates or occupancy.
20002Not enough child availabilityNo rooms with child capacity left.
20003 / 20004Not enough adult and child availabilityTotal capacity cannot meet the request.

When there is availability but a specific room type cannot be sold, its roomCount is 0 and the reason is in roomRestrictionMessage: closed_to_checkin, closed_to_checkout, passive_sales, minimum_stay, maximum_stay, closed_to_arrival, price_not_found.

Booking push errors#

Instead of Success: true, BookingPushRS carries an Error field:

Response · 200 (error)
{
    "BookingPushRS": {
        "Error": "Could not register.",
        "BookingConfirmNumbers": [
            {
                "confirmTime": 1755500000,
                "bookingID": 0,
                "bookingType": "Book",
                "HMS_ID": null
            }
        ]
    }
}
ErrorCodeCause
No available data could be found.01Empty body or JSON could not be parsed; Bookings[0].hotelID missing.
Hotel registration not found on HMS.02The hotel is not linked to the online channel, or the channel is inactive.
Could not register.Error while saving (invalid room/board type ID, inconsistent dates).
Failed to parse information.The structure lacks expected fields.

Retry guidance#

  • 401: log in once more and retry the request.
  • 500 and network errors: up to 3 attempts at 1 s, 2 s, 4 s. When retrying a booking push, reuse the same ID; a Book with an existing code updates the record instead of creating a duplicate.
  • success: false: do not retry; fix the parameter or offer the guest an alternative.
  • Include the full request (secrets and card data masked), the response and the time in support tickets.
Last updated: 8 September 2026Found a mistake? Let us know