Hotelpage
https://api.worldota.net/api/b2b/v3/search/hp/
Hotel rates actualization.
This request is necessary to make a booking via API.
This request is not supposed to be made for each of the hotels found via region_id or IDs, but is supposed to be made only in case when the user chooses it.
The recommended storage time of retrieved rates is no longer than 1 hour. The actual period within which rates from this method are available for booking requests is longer, and can depend on many internal factors.
Request example
curl --location 'https://api.worldota.net/api/b2b/v3/search/hp/' \
--header 'Content-Type: application/json' \
--data '{
"checkin": "2024-04-25",
"checkout": "2024-04-26",
"residency": "gb",
"language": "en",
"guests": [
{
"adults": 2,
"children": []
}
],
"id": "access_international_hotel_annex",
"currency": "EUR"
}'
Request body
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
The unique hotel identifier.
- Either this field or the
hid
field is required.
The most preferred hotel ID.
- Either this field or the
id
field is required. - The maximum length is
7
characters.
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.
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.
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)
The maximum amount of time (in seconds) within which searched for rates will be returned.
- The maximum value is
100
.
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.
Response
Information about the found hotel and its rates.
The unique hotel identifier.
- Either this field or the
hid
field is required.
- Either this field or the
hid
field is required.
The most preferred hotel ID.
- Either this field or the
id
field is required. - The maximum length is
7
characters.
- Either this field or the
id
field is required. - The maximum length is
7
characters.
List of available rates at the hotel.
List of amenities in the room.
There is a request which returns all available room amenities and definitions (room_amenities key):
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.
The deposit information of the order. Has a value if the rate payment_types.type
field has the hotel
value.
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 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 penalty information.
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.
Array with accepted payment option for the requested rate.
currency_code
).
Rate’s cancellation rules with commission information.
Date when free cancellation policy expires (may return null - no free cancellation).
Timezone is UTC+0.
Cancellation policies’ breakdown by time periods.
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.
Information about taxes in the rate.
List of taxes, information about which is available for these rates.
Tax identifier at Emerging Travel Group.
There is a request which returns all available taxes and definitions (taxes
key):
The rate VAT information.
The currency code in the ISO 4217 format.
- The length is
3
characters. - The possible values:
AED
.AFN
.ALL
.AMD
.ANG
.AOA
.ARS
.AUD
.AWG
.AZN
.BAM
.BBD
.BDT
.BGN
.BHD
.BIF
.BMD
.BND
.BOB
.BOV
.BRL
.BSD
.BTN
.BWP
.BYR
.BYN
.BZD
.CAD
.CDF
.CHE
.CHF
.CHW
.CLF
.CLP
.CNY
.COP
.COU
.CRC
.CUC
.CUP
.CVE
.CZK
.DJF
.DKK
.DOP
.DZD
.EGP
.ERN
.ETB
.EUR
.FJD
.FKP
.GBP
.GEL
.GHS
.GIP
.GMD
.GNF
.GTQ
.GYD
.HKD
.HNL
.HRK
.HTG
.HUF
.IDR
.ILS
.INR
.IQD
.IRR
.ISK
.JMD
.JOD
.JPY
.KES
.KGS
.KHR
.KMF
.KPW
.KRW
.KWD
.KYD
.KZT
.LAK
.LBP
.LKR
.LRD
.LSL
.LTL
.LVL
.LYD
.MAD
.MDL
.MGA
.MKD
.MMK
.MNT
.MOP
.MRO
.MUR
.MVR
.MWK
.MXN
.MXV
.MYR
.MZN
.NAD
.NGN
.NIO
.NOK
.NPR
.NZD
.OMR
.PAB
.PEN
.PGK
.PHP
.PKR
.PLN
.PYG
.QAR
.RON
.RSD
.RUB
.RWF
.SAR
.SBD
.SCR
.SDG
.SEK
.SGD
.SHP
.SLL
.SOS
.SRD
.SSP
.STD
.SVC
.SYP
.SZL
.THB
.TJS
.TMT
.TND
.TOP
.TRY
.TTD
.TWD
.TZS
.UAH
.UGX
.USD
.USN
.USS
.UYI
.UYU
.UZS
.VEF
.VND
.VUV
.WST
.XAF
.XAG
.XAU
.XBA
.XBB
.XBC
.XBD
.XCD
.XDR
.XFU
.XOF
.XPD
.XPF
.XPT
.XSU
.XTS
.XUA
.YER
.ZAR
.ZMW
.ZWL
.
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.).
Structured room name in the selected language.
Response example
{
"data": {
"hotels": [
{
"id": "access_international_hotel_annex",
"rates": [
{
"book_hash": "h-689f63c7-6663-5148-a7ce-01b007frt2zz",
"match_hash": "m-d580b80f-4189-5020-ba37-b0a73f4b67a3",
"daily_prices": [
"23.60"
],
"meal": "nomeal",
"payment_options": {
"payment_types": [
{
"amount": "98.60",
"show_amount": "22.10",
"currency_code": "PLN",
"show_currency_code": "EUR",
"by": null,
"is_need_credit_card_data": false,
"is_need_cvc": false,
"type": "deposit",
"vat_data": {
"included": false,
"amount": "0.00",
"currency_code": "EUR",
"value": "0.00"
},
"tax_data": {},
"perks": {},
"commission_info": {
"show": {
"amount_gross": "26.00",
"amount_net": "22.10",
"amount_commission": "3.90"
},
"charge": {
"amount_gross": "116.00",
"amount_net": "98.60",
"amount_commission": "17.40"
}
},
"cancellation_penalties": {
"policies": [
{
"start_at": null,
"end_at": "2020-04-24T17:00:00",
"amount_charge": "0.00",
"amount_show": "0.00",
"commission_info": {
"show": {
"amount_gross": "0.00",
"amount_net": "0.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "0.00",
"amount_net": "0.00",
"amount_commission": "0.00"
}
}
},
{
"start_at": "2020-04-24T17:00:00",
"end_at": null,
"amount_charge": "98.60",
"amount_show": "22.10",
"commission_info": {
"show": {
"amount_gross": "26.00",
"amount_net": "22.10",
"amount_commission": "3.90"
},
"charge": {
"amount_gross": "116.00",
"amount_net": "98.60",
"amount_commission": "17.40"
}
}
}
],
"free_cancellation_before": "2020-04-24T17:00:00"
},
"recommended_price": {
"amount": "107.40",
"show_amount": "24.20",
"currency_code": "PLN",
"show_currency_code": "EUR"
}
}
]
},
"bar_rate_price_data": null,
"rg_ext": {
"class": 3,
"quality": 2,
"sex": 2,
"bathroom": 2,
"bedding": 3,
"family": 0,
"capacity": 2,
"club": 0
},
"room_name": "Standard Double (double bed)",
"room_name_info": null,
"serp_filters": [
"has_bathroom"
],
"sell_price_limits": null,
"allotment": 5,
"amenities_data": [
"double",
"non-smoking",
"private-bathroom",
"window"
],
"any_residency": false
}
],
"bar_price_data": null,
"deposit": {
"amount": "135.00",
"currency_code": "EUR",
"is_refundable": false
},
"no_show": {
"amount": "135.00",
"currency_code": "EUR",
"from_time": "12:00:00"
},
"room_data_trans": {
"main_room_type": "Standard Double",
"main_name": "Standard Double",
"bathroom": null,
"bedding_type": "double bed",
"misc_room_type": null
}
}
]
},
"debug": {
"request": {
"checkin": "2020-04-25",
"checkout": "2020-04-26",
"residency": "gb",
"language": "en",
"guests": [
{
"adults": 2,
"children": []
}
],
"id": "access_international_hotel_annex",
"currency": "EUR"
},
"key_id": 1234,
"validation_error": null
},
"status": "ok",
"error": null
}