Hotels Search Engine Results Page

Hotels Search Engine Results Page

https://api.worldota.net/api/b2b/v3/search/serp/hotels
ℹ️
The call is required.

Search Engine Results Page (SERP) - this is for the preliminary search of a hotel with available accommodation that meets the given search conditions. It is not recommended to let the users choose the rates from this method (a full match with results from the Hotelpage request is not expected).

Request example

curl --location 'https://api.worldota.net/api/b2b/v3/search/serp/hotels/' \
--header 'Content-Type: application/json' \
--data '{
  "checkin": "2020-06-25",
  "checkout": "2020-06-26",
  "residency": "gb",
  "language": "en",
  "guests": [
    {
      "adults": 2,
      "children": []
    }
  ],
  "ids": [
    "access_international_hotel_annex",
    "rila_muam_castle_hotel",
    "alama_hotel_multipurpose",
    "prestige_hotel_limited",
    "chimcherry_hotel_limited",
    "green_suites_villa",
    "kenfeli_international_palmbeach_hotel"
  ],
  "currency": "EUR"
}'

Request body

checkin String required
Check-in date, no later than 730 days from the day on which the request is made.
checkout String required
Check-out date, no later than 30 days from checkin date.
currency String optional

Currency of the rooms’ price in the response.

If no currency is specified or the default value is set, then the actual currency requested is the contract’s currency for prepay rates.

It influences show_amount and show_currency_amount only.

default: Contract’s currency

ids [Int] required
List of hotels identifiers.
language String optional

The language.

ℹ️
  • The default value is the contract language.
  • The possible values:
    • ar—Arabic.
    • bg–Bulgarian.
    • cs–Czech.
    • de–German.
    • el–Greek.
    • en–English.
    • es–Spanish.
    • fr–French.
    • he–Hebrew.
    • hu–Hungarian.
    • it–Italian.
    • ja–Japanese.
    • kk–Kazakh.
    • ko–Korean.
    • nl–Dutch.
    • pl–Polish.
    • pt–Portuguese.
    • pt_PT–Portuguese (Portugal).
    • ro–Romanian.
    • ru–Russian.
    • sq–Albanian.
    • sr–Serbian.
    • th–Thai.
    • tr–Turkish.
    • uk–Ukrainian.
    • vi–Vietnamese.
    • zh_CN–Simplified Chinese.
residency String required or optional

Guest’s (or multiple guests’) citizenship.

This is recommended for usage if there are doubts regarding a country’s/hotel’s policy towards citizens of a specific country.

Value’s standard = ISO 3166-1 alpha-2, the value shall be transferred in lower case, number of the value’s symbols = 2.

(could be required for some partners)

timeout Number optional

The maximum amount of time (in seconds) within which searched for rates will be returned.

ℹ️
  • The maximum value is 100.
guests Array[Object] optional

The list of guests in the rooms.

The maximum number of rooms per request, which is 9 (one object corresponds to one room).

In case of multiroom search, for each room equal pax numbers are highly recommended for usuge. If different pax numbers are required, we recommend that you make a separate request for each room.

adults Int required

Number of adult guests.

ℹ️
  • The minimum value is 1.
  • The maximum value is 6.
children [Int] optional

Age of children who will stay in the room.

ℹ️
  • Maximum number of children is 4.
  • The maximum age is 17.
upsells Object optional

Whether or not additional services are needed.

early_checkin v optional

Whether or not early check-in is needed.

time String optional
The time of early check-in.
late_checkout v optional

Whether or not late check-out is needed.

time String optional
The time of late check-out.
multiple_eclc Boolean optional
Multiple eclc.
only_eclc Boolean optional
Whether or not rates with only early check-in / late check-out are needed.

Response

total_hotels Int optional
Total number of hotels.
hotels Array[Object] optional

Information about the found hotel and its rates.

bar_price_data Object optional

BarPriceData.

hotel Object optional

HotelBarPriceData.

currency String optional
Currency.
price Number optional
Price.
room_groups String optional

RoomGroupsBarPriceData.

currency String optional
Currency.
price Number optional
Price.
rg_ext Object optional

Type of hotel room.

rg_ext can be used to obtain extra information about the room from the hotel’s static information (room images, description etc.).

balcony Integer required
Balcony.
bathroom Integer required
Bathroom.
bedding Integer required
Bedding.
bedrooms Integer required
Bedrooms.
capacity Integer required
Capacity.
class Integer required
Class.
club Integer required
Club.
family Integer required
Family.
floor Integer required
Floor.
quality Integer required
Quality.
sex Integer required
Sex.
view Integer required
View.
id String required or optional

The unique hotel identifier.

ℹ️
  • Either this field or the hid field is required.
hid Int required or optional

The most preferred hotel ID.

ℹ️
  • Either this field or the id field is required.
  • The maximum length is 7 characters.
rates Array[Object] required

List of available rates at the hotel.

allotment Int required
Allotment.
amenities_data [String] required

List of amenities in the room.

There is a request which returns all available room amenities and definitions (room_amenities key):

https://api.worldota.net/api/b2b/v3/hotel/static/

any_residency Boolean required
Whether or not the rate is allowed to be booked by the guest with any kind of residency. Should be used by the partners that do not collect the real guest’s residency.
bar_rate_price_data Object required

BarRatePriceData.

amount Number optional
Amount.
currency_code String optional
Currency code.
book_hash String required

Unique identifier of the rate. This value is passed to booking API method to identify a selected rate.

book_hash key’s value can be transferred via the Order Booking Form method within 6 hours after the corresponding rate was returned in the search results. Exceeding this limit will return an error with error.slug containing a “rate_not_found” value.

daily_prices [Number] required
Daily rate prices breakdown in the search currency.
deposit Object required

The deposit information of the order. Has a value if the rate payment_types.type field has the hotel value.

amount Number optional
The deposit amount.
currency_code String optional
The deposit amount currency code. Is the same as the charged (hotel) currency code.
is_refundable Boolean optional
Whether the deposit is refundable or not.
match_hash String required

The match_hash field of the rate from the call made by the SERP mechanism.

Use this field if you are:

  • Showing rates to the users from the call made by the SERP mechanism.
  • Making a booking from these rates.
  • Using this call response as actual data on the rate.
  • Using this call response to actualize the exact rate from the calls made by the SERP mechanism.

Usage of this field can help the ETG collect analytics for SERP-HP matching.

meal String required

Meal type in the rate.

There is a request which returns all available meals and definitions (meals key): https://api.worldota.net/api/b2b/v3/hotel/static/

If there is no meal type provided by the rate’s source, nomeal value is displayed.

no_show Object required

No-show penalty information.

amount Number optional
Amount of the no-show penalty (in the hotel’s currency - currency_code).
currency_code String optional
Amount’s currency. Is the same as the charged (hotel’s) currency.
from_time String optional
Time (local timezone) from which amount would be charged for the no-show.
payment_options Object required

Accepted payment options, with specified amount to be charged, transferred as an object with key-value pairs payment_options.payment_types.

Please note that for a reservation, namely the specified sum (with the given currency) shall be paid.

payment_types String optional

Array with accepted payment option for the requested rate.

amount Number optional
Amount to be charged for the booking (in the contract’s currency - currency_code).
by String optional
Payment instrument.
cancellation_penalties String optional

Rate’s cancellation rules with commission information.

free_cancellation_before String optional

Date when free cancellation policy expires (may return null - no free cancellation).

Timezone is UTC+0.

policies String optional

Cancellation policies’ breakdown by time periods.

amount_charge Number optional
Cancellation penalty amount (in the charge/contract currency).
amount_show Number optional
Cancellation penalty amount (in the search currency).
commission_info Array[Object] optional

Commission information.

charge Array[Object] optional

Commission information (in the charge/contract currency).

amount_commission Number optional
Commission.
amount_gross Number optional
Gross price.
amount_net Number optional
Net price.
show Array[Object] optional

Commission information (in the search currency).

amount_commission Number optional
Commission.
amount_gross Number optional
Gross price.
amount_net Number optional
Net price.
end_at String optional

Date when this particular cancellation policy expires (null means all the time from start_at till check in).

Timezone is UTC+0.

If start_at == end_at == null then this particular cancellation policy has no time restrictions / is in effect all the time.

start_at String optional

Date when this particular cancellation policy takes effect (null means that it is in effect till end_at).

Timezone is UTC+0.

commission_info Array[Object] optional

Commission information.

charge Array[Object] optional

Commission information (in the charge/contract currency).

amount_commission Number optional
Commission.
amount_gross Number optional
Gross price.
amount_net Number optional
Net price.
show Array[Object] optional

Commission information (in the search currency).

amount_commission Number optional
Commission.
amount_gross Number optional
Gross price.
amount_net Number optional
Net price.
currency_code String optional
Amount’s currency. Is the same as the charged (contract’s) currency.
is_need_credit_card_data Boolean optional
Whether or not credit card information is needed.
is_need_cvc Boolean optional
Whether or not a CVC code is needed.
perks String optional

Additional service information: early check-in / late check-out.

early_checkin Array[Object] optional

Additional service type.

Free cancellation policy of upsell equals to the cancellation policy of the rate and should be parsed from “cancellation_penalties”.“free_cancellation_before”. Upsell cancellation policy does not have cancellation policies’ breakdown.

charge_price Number optional
Additional service amount (in the charge/contract currency).
commission_info Array[Object] optional

Commission information.

charge Array[Object] optional

Commission information (in the charge/contract currency).

amount_commission Number optional
Commission.
amount_gross Number optional
Gross price.
amount_net Number optional
Net price.
show Array[Object] optional

Commission information (in the search currency).

amount_commission Number optional
Commission.
amount_gross Number optional
Gross price.
amount_net Number optional
Net price.
is_requested Boolean optional
Is requested.
show_price Number optional
Additional service amount (in the search currency).
time String optional
Additional service time.
late_checkout Array[Object] optional

Additional service type.

Free cancellation policy of upsell equals to the cancellation policy of the rate and should be parsed from “cancellation_penalties”.“free_cancellation_before”. Upsell cancellation policy does not have cancellation policies’ breakdown.

charge_price Number optional
Additional service amount (in the charge/contract currency).
commission_info Array[Object] optional

Commission information.

charge Array[Object] optional

Commission information (in the charge/contract currency).

amount_commission Number optional
Commission.
amount_gross Number optional
Gross price.
amount_net Number optional
Net price.
show Array[Object] optional

Commission information (in the search currency).

amount_commission Number optional
Commission.
amount_gross Number optional
Gross price.
amount_net Number optional
Net price.
recommended_price String optional

The price below which the rate cannot be sold on b2c website. This price will be transferred only if you have signed an additional agreement with ETG, for details, you can contact your account manager. If the agreement is not signed, a null will be transferred.

amount Number optional
Amount of the deposit (in the hotel’s currency - currency_code).
currency_code String optional
Amount’s currency. Is the same as the charged (hotel’s) currency.
show_amount Number optional
Rate price in the requested (show_currency_code) currency (not necessarily the sum in the charged/payment currency).
show_currency_code String optional
Requested currency (not necessarily the charged/payment currency).
show_amount Number optional
Rate price in the requested (show_currency_code) currency (not necessarily the sum in the charged/payment currency).
show_currency_code String optional
Requested currency (not necessarily the charged/payment currency).
tax_data Object optional

Information about taxes in the rate.

taxes Object optional

List of taxes, information about which is available for these rates.

amount Number optional
Amount of the tax.
currency_code String optional
Currency in which the amount is specified.
included_by_supplier Boolean optional
Shows if the tax is included in the rate by the supplier; if the tax is not included, it is supposed to be paid at the hotel (in the specified currency).
name String optional

Tax identifier at Emerging Travel Group.

There is a request which returns all available taxes and definitions (taxes key):

https://api.worldota.net/api/b2b/v3/hotel/static/

type String optional
Payment type.
vat_data Object optional

Information about VAT in the rate.

amount Number optional
Amount.
applied Boolean optional
Applied.
currency_code String optional
Currency code.
included Boolean optional
Whether or not VAT is included.
value Number optional
⚠️
DEPRECATED

The VAT amount in the currency of this object currency_code field value.

rg_ext Object optional

Type of hotel room.

rg_ext can be used to obtain extra information about the room from the hotel’s static information (room images, description etc.).

balcony Integer required
Balcony.
bathroom Integer required
Bathroom.
bedding Integer required
Bedding.
bedrooms Integer required
Bedrooms.
capacity Integer required
Capacity.
class Integer required
Class.
club Integer required
Club.
family Integer required
Family.
floor Integer required
Floor.
quality Integer required
Quality.
sex Integer required
Sex.
view Integer required
View.
room_data_trans Object required

Structured room name in the selected language.

bathroom String optional

Room’s bathroom information.

null means private bathroom.

bedding_type String optional
Room’s bedding information.
main_name String optional
Room name.
main_room_type String optional
Room name.
misc_room_type String optional
Additional room information.
room_name String required
Room name in the selected language.
room_name_info Object optional
The optional object that may help resolve certain matching problems. To get access to the object, contact your account manager.
sell_price_limits Object required

Information about restrictions on the final selling price for the client.

If this parameter is not null, the final selling price should be within min_price and max_price (the amount is in the search currency).

max_price Number optional
Maximum final selling price for the client (in the search currency).
min_price Number optional
Minimum final selling price for the client (in the search currency).
serp_filters [String] required
⚠️
DEPRECATED

List of amenities at the hotel.

Response example

{
  "data": {
    "hotels": [
      {
        "id": "access_international_hotel_annex",
        "rates": [
          {
            "match_hash": "m-d580b80f-4189-5020-ba37-b0a73f4b67a3",
            "daily_prices": [
              "24.10"
            ],
            "meal": "nomeal",
            "payment_options": {
              "payment_types": [
                {
                  "amount": "1905.00",
                  "show_amount": "24.00",
                  "currency_code": "RUB",
                  "show_currency_code": "EUR",
                  "by": "credit_card",
                  "is_need_credit_card_data": true,
                  "is_need_cvc": true,
                  "type": "now",
                  "tax_data": {},
                  "cancellation_penalties": {
                    "policies": [
                      {
                        "start_at": null,
                        "end_at": "2020-06-23T17:00:00",
                        "amount_charge": "0.00",
                        "amount_show": "0.00"
                      },
                      {
                        "start_at": "2020-06-23T17:00:00",
                        "end_at": null,
                        "amount_charge": "1905.00",
                        "amount_show": "24.00"
                      }
                    ],
                    "free_cancellation_before": "2020-06-23T17:00:00"
                  }
                }
              ]
            },
            "rg_ext": {
              "class": 3,
              "quality": 2,
              "sex": 0,
              "bathroom": 2,
              "bedding": 3,
              "family": 0,
              "capacity": 2,
              "club": 0
            },
            "room_name": "Standard Double room (double bed)",
            "room_name_info": null,
            "serp_filters": [
              "has_bathroom"
            ],
            "allotment": null,
            "amenities_data": [
              "double",
              "non-smoking",
              "private-bathroom",
              "window"
            ],
            "any_residency": true,
            "deposit": {
              "amount": "270.00",
              "currency_code": "EUR",
              "is_refundable": false
            },
            "no_show": {
              "amount": "270.00",
              "currency_code": "EUR",
              "from_time": "12:00:00"
            },
            "room_data_trans": {
              "main_room_type": "Standard Double room",
              "main_name": "Standard Double room",
              "bathroom": null,
              "bedding_type": "double bed",
              "misc_room_type": null
            }
          }
        ]
      },
      {
        "id": "rila_muam_castle_hotel",
        "rates": [
          {
            "match_hash": "m-854d6b9f-82ee-56d8-bd0e-e585edec3a89",
            "daily_prices": [
              "31.33"
            ],
            "meal": "nomeal",
            "payment_options": {
              "payment_types": [
                {
                  "amount": "2199.00",
                  "show_amount": "27.00",
                  "currency_code": "RUB",
                  "show_currency_code": "EUR",
                  "by": "credit_card",
                  "is_need_credit_card_data": true,
                  "is_need_cvc": true,
                  "type": "now",
                  "tax_data": {},
                  "cancellation_penalties": {
                    "policies": [
                      {
                        "start_at": null,
                        "end_at": "2020-06-23T15:00:00",
                        "amount_charge": "0.00",
                        "amount_show": "0.00"
                      },
                      {
                        "start_at": "2020-06-23T15:00:00",
                        "end_at": null,
                        "amount_charge": "2199.00",
                        "amount_show": "27.00"
                      }
                    ],
                    "free_cancellation_before": "2020-06-23T15:00:00"
                  }
                }
              ]
            },
            "rg_ext": {
              "class": 3,
              "quality": 2,
              "sex": 0,
              "bathroom": 2,
              "bedding": 3,
              "family": 0,
              "capacity": 2,
              "club": 0
            },
            "room_name": "Standard Double room (double bed) (bed type is subject to availability)",
            "serp_filters": [
              "has_bathroom"
            ],
            "allotment": 2,
            "amenities_data": [
              "double",
              "non-smoking",
              "private-bathroom",
              "window"
            ],
            "any_residency": false,
            "deposit": null,
            "no_show": {
              "amount": "25.00",
              "currency_code": "USD",
              "from_time": "12:00:00"
            },
            "room_data_trans": {
              "main_room_type": "Standard Double room",
              "main_name": "Standard Double room",
              "bathroom": null,
              "bedding_type": "double bed",
              "misc_room_type": "bed type is subject to availability"
            }
          }
        ]
      },
      {
        "id": "alama_hotel_multipurpose",
        "rates": [
          {
            "match_hash": "m-96a3ba8c-a183-5cac-8e56-7a268612g0537",
            "daily_prices": [
              "29.95"
            ],
            "meal": "nomeal",
            "payment_options": {
              "payment_types": [
                {
                  "amount": "2367.00",
                  "show_amount": "29.00",
                  "currency_code": "RUB",
                  "show_currency_code": "EUR",
                  "by": "credit_card",
                  "is_need_credit_card_data": true,
                  "is_need_cvc": true,
                  "type": "now",
                  "tax_data": {},
                  "cancellation_penalties": {
                    "policies": [
                      {
                        "start_at": null,
                        "end_at": "2020-06-24T17:00:00",
                        "amount_charge": "0.00",
                        "amount_show": "0.00"
                      },
                      {
                        "start_at": "2020-06-24T17:00:00",
                        "end_at": null,
                        "amount_charge": "2367.00",
                        "amount_show": "29.00"
                      }
                    ],
                    "free_cancellation_before": "2020-06-24T17:00:00"
                  }
                }
              ]
            },
            "rg_ext": {
              "class": 3,
              "quality": 6,
              "sex": 0,
              "bathroom": 2,
              "bedding": 3,
              "family": 0,
              "capacity": 2,
              "club": 0
            },
            "room_name": "Deluxe Double room (double bed)",
            "serp_filters": [
              "has_bathroom"
            ],
            "allotment": 23,
            "amenities_data": [
              "double",
              "non-smoking",
              "private-bathroom",
              "window"
            ],
            "any_residency": true,
            "deposit": null,
            "no_show": null,
            "room_data_trans": {
              "main_room_type": "Deluxe Double room",
              "main_name": "Deluxe Double room",
              "bathroom": null,
              "bedding_type": "double bed",
              "misc_room_type": null
            }
          }
        ]
      },
      {
        "id": "prestige_hotel_limited",
        "rates": [
          {
            "match_hash": "m-e8ada8a5-16e7-543c-8497-4e52d7yuu672",
            "daily_prices": [
              "24.10"
            ],
            "meal": "nomeal",
            "payment_options": {
              "payment_types": [
                {
                  "amount": "1905.00",
                  "show_amount": "24.00",
                  "currency_code": "RUB",
                  "show_currency_code": "EUR",
                  "by": "credit_card",
                  "is_need_credit_card_data": true,
                  "is_need_cvc": true,
                  "type": "now",
                  "tax_data": {},
                  "cancellation_penalties": {
                    "policies": [
                      {
                        "start_at": null,
                        "end_at": "2020-06-23T17:00:00",
                        "amount_charge": "0.00",
                        "amount_show": "0.00"
                      },
                      {
                        "start_at": "2020-06-23T17:00:00",
                        "end_at": null,
                        "amount_charge": "1905.00",
                        "amount_show": "24.00"
                      }
                    ],
                    "free_cancellation_before": "2020-06-23T17:00:00"
                  }
                }
              ]
            },
            "rg_ext": {
              "class": 3,
              "quality": 2,
              "sex": 0,
              "bathroom": 2,
              "bedding": 3,
              "family": 0,
              "capacity": 2,
              "club": 0
            },
            "room_name": "Standard Double room (double bed)",
            "serp_filters": [
              "has_bathroom"
            ],
            "allotment": null,
            "amenities_data": [
              "double",
              "non-smoking",
              "private-bathroom",
              "window"
            ],
            "any_residency": true,
            "deposit": null,
            "no_show": null,
            "room_data_trans": {
              "main_room_type": "Standard Double room",
              "main_name": "Standard Double room",
              "bathroom": null,
              "bedding_type": "double bed",
              "misc_room_type": null
            }
          }
        ]
      },
      {
        "id": "chimcherry_hotel_limited",
        "rates": [
          {
            "match_hash": "m-63d0c135-ca74-58ef-82a7-959346bb55y1",
            "daily_prices": [
              "24.10"
            ],
            "meal": "nomeal",
            "payment_options": {
              "payment_types": [
                {
                  "amount": "1905.00",
                  "show_amount": "24.00",
                  "currency_code": "RUB",
                  "show_currency_code": "EUR",
                  "by": "credit_card",
                  "is_need_credit_card_data": true,
                  "is_need_cvc": true,
                  "type": "now",
                  "tax_data": {},
                  "cancellation_penalties": {
                    "policies": [
                      {
                        "start_at": null,
                        "end_at": "2020-06-23T17:00:00",
                        "amount_charge": "0.00",
                        "amount_show": "0.00"
                      },
                      {
                        "start_at": "2020-06-23T17:00:00",
                        "end_at": null,
                        "amount_charge": "1905.00",
                        "amount_show": "24.00"
                      }
                    ],
                    "free_cancellation_before": "2020-06-23T17:00:00"
                  }
                }
              ]
            },
            "rg_ext": {
              "class": 3,
              "quality": 2,
              "sex": 0,
              "bathroom": 2,
              "bedding": 3,
              "family": 0,
              "capacity": 2,
              "club": 0
            },
            "room_name": "Standard Double room (double bed)",
            "serp_filters": [
              "has_bathroom"
            ],
            "allotment": null,
            "amenities_data": [
              "double",
              "non-smoking",
              "private-bathroom",
              "window"
            ],
            "any_residency": true,
            "deposit": null,
            "no_show": null,
            "room_data_trans": {
              "main_room_type": "Standard Double room",
              "main_name": "Standard Double room",
              "bathroom": null,
              "bedding_type": "double bed",
              "misc_room_type": null
            }
          }
        ]
      },
      {
        "id": "green_suites_villa",
        "rates": [
          {
            "match_hash": "m-8313f2e4-524a-566b-9f11-be838d62x3f3",
            "daily_prices": [
              "48.39"
            ],
            "meal": "nomeal",
            "payment_options": {
              "payment_types": [
                {
                  "amount": "3396.00",
                  "show_amount": "42.00",
                  "currency_code": "RUB",
                  "show_currency_code": "EUR",
                  "by": "credit_card",
                  "is_need_credit_card_data": true,
                  "is_need_cvc": true,
                  "type": "now",
                  "tax_data": {},
                  "cancellation_penalties": {
                    "policies": [
                      {
                        "start_at": null,
                        "end_at": "2020-06-23T15:00:00",
                        "amount_charge": "0.00",
                        "amount_show": "0.00"
                      },
                      {
                        "start_at": "2020-06-23T15:00:00",
                        "end_at": null,
                        "amount_charge": "3396.00",
                        "amount_show": "42.00"
                      }
                    ],
                    "free_cancellation_before": "2020-06-23T15:00:00"
                  }
                }
              ]
            },
            "rg_ext": {
              "class": 3,
              "quality": 8,
              "sex": 0,
              "bathroom": 2,
              "bedding": 3,
              "family": 0,
              "capacity": 2,
              "club": 0
            },
            "room_name": "Executive Double room (double bed) (bed type is subject to availability)",
            "serp_filters": [
              "has_bathroom"
            ],
            "allotment": 13,
            "amenities_data": [
              "double",
              "non-smoking",
              "private-bathroom",
              "window"
            ],
            "any_residency": false,
            "deposit": null,
            "no_show": {
              "amount": "39.00",
              "currency_code": "USD",
              "from_time": "12:00:00"
            },
            "room_data_trans": {
              "main_room_type": "Executive Double room",
              "main_name": "Executive Double room",
              "bathroom": null,
              "bedding_type": "double bed",
              "misc_room_type": "bed type is subject to availability"
            }
          }
        ]
      },
      {
        "id": "kenfeli_international_palmbeach_hotel",
        "rates": [
          {
            "match_hash": "m-598117c2-ce0c-54ee-a1c4-f222d2877559",
            "daily_prices": [
              "18.86"
            ],
            "meal": "nomeal",
            "payment_options": {
              "payment_types": [
                {
                  "amount": "1491.00",
                  "show_amount": "18.00",
                  "currency_code": "RUB",
                  "show_currency_code": "EUR",
                  "by": "credit_card",
                  "is_need_credit_card_data": true,
                  "is_need_cvc": true,
                  "type": "now",
                  "tax_data": {},
                  "cancellation_penalties": {
                    "policies": [
                      {
                        "start_at": null,
                        "end_at": "2020-06-23T17:00:00",
                        "amount_charge": "0.00",
                        "amount_show": "0.00"
                      },
                      {
                        "start_at": "2020-06-23T17:00:00",
                        "end_at": null,
                        "amount_charge": "1491.00",
                        "amount_show": "18.00"
                      }
                    ],
                    "free_cancellation_before": "2020-06-23T17:00:00"
                  }
                }
              ]
            },
            "rg_ext": {
              "class": 3,
              "quality": 6,
              "sex": 0,
              "bathroom": 2,
              "bedding": 3,
              "family": 0,
              "capacity": 2,
              "club": 0
            },
            "room_name": "Deluxe Double room (double bed)",
            "serp_filters": [
              "has_bathroom"
            ],
            "allotment": null,
            "amenities_data": [
              "double",
              "non-smoking",
              "private-bathroom",
              "window"
            ],
            "any_residency": true,
            "deposit": null,
            "no_show": null,
            "room_data_trans": {
              "main_room_type": "Deluxe Double room",
              "main_name": "Deluxe Double room",
              "bathroom": null,
              "bedding_type": "double bed",
              "misc_room_type": null
            }
          }
        ]
      }
    ],
    "total_hotels": 7
  },
  "debug": {
    "request": {
      "checkin": "2020-06-25",
      "checkout": "2020-06-26",
      "residency": "gb",
      "language": "en",
      "guests": [
        {
          "adults": 2,
          "children": []
        }
      ],
      "ids": [
        "access_international_hotel_annex",
        "rila_muam_castle_hotel",
        "alama_hotel_multipurpose",
        "prestige_hotel_limited",
        "chimcherry_hotel_limited",
        "green_suites_villa",
        "kenfeli_international_palmbeach_hotel"
      ],
      "currency": "EUR"
    },
    "key_id": 1234,
    "validation_error": null
  },
  "status": "ok",
  "error": null
}

Errors

Invalid JSON

The error field has the invalid_json_format value. The debug.validation_error field has the value specified in the headers below.

body_must_be_json

The passed JSON isn’t valid.

Invalid parameters or request body

For these, the error field has the invalid_params value. The debug.validation_error field has the value specified in the headers below.

number of ids should be less than or equal to X

The item number of the ids field must be between 1 and 300.

date should be ISO8601 (YYYY-MM-DD)

The passed checkin and checkout fields have an invalid format. The valid format is YYYY-MM-DD.

checkin date must be current or future date

The checkin field value is in the past. Provide the current or future date.

checkin date must be less than or equal to 730 days since today

The checkin field value should be no later than 730 days from the day of the request.

checkout date must be less than or equal to %d days since today

The checkout field value should be no later than 30 days from the checkin field value.

checkout date must be after checkin date

The checkout field value should be later than the checkin field value.

checkout cannot be later than X days since checkin

The checkout field value should be no later than 30 days from the checkin field value.

residency is required

The residency field is required.

residency must be one of X

The residency field has an invalid format. The valid format is in the ISO 3166-1 alpha-2.

unknown currency

The currency field has an invalid format. The valid format is in the ISO 4217.

early checkin date must be equal checkin date

The upsells.early_checkin.time field value should be the same as the checkin field value.

late checkout date must be equal checkout date

The upsells.late_checkout.time field value should be the same as the checkout field value.

early checkin must be in datetime format

The checkin field has an invalid format. The valid formats are:

  • 2006-01-02.
  • 2006-01-02 15:04.
  • 2006-01-02T15:04.
  • 2006-01-02 15:04:05.
  • 2006-01-02T15:04:05.
  • 2006-01-02T15:04:05-07:00.
  • 2006-01-02T15:04:05Z07:00.

late checkout must be in datetime format

The checkout field has an invalid format. The valid formats are:

  • 2006-01-02.
  • 2006-01-02 15:04.
  • 2006-01-02T15:04.
  • 2006-01-02 15:04:05.
  • 2006-01-02T15:04:05.
  • 2006-01-02T15:04:05-07:00.
  • 2006-01-02T15:04:05Z07:00.

guests number must be positive

The guests field value must be positive.

too many rooms, value should be no more than X

The item number of the guests field must be between 1 and 9.

adults number per room must be in range 1 to X inc

The adults field value must be between 1 and 6.

children number per room must be not greater then X

The children field value must be between 1 and 4.

child's age must be in range 0 to X incl

The age field value must be between 0 and 17.

Internal search error

The error field has the сore_search_error value. The debug.validation_error field has the null value.

The error occurs if the ETG has an internal search error. The number of recurrent identical requests must be limited.