Prebook rate from hotelpage step
https://api.worldota.net/api/b2b/v3/hotel/prebook/
ℹ️
This call is recommended. If method is not used:
- The risk of receiving a soldout error at the booking stage increases.
- The order confirmation process will take longer.
The call checks if the requested rate is still available before it can be booked and improves the booking success rate:
- When the original rate is not available, the system searches only for alternative rates of the same room type and board type (e.g., switching between refundable and non-refundable conditions within the
price_increase_percentlimit). The search does not extend to different room types or board types. If an alternative rate is found, newbook_hashandmatch_hashvalues are returned. - In cases where the same rate cannot be found and a price increase is permitted via the
price_increase_percentfield. The call will attempt to find the same room and board type at an increased price, but not exceeding the allowed percentage. The value in thepayment_optionsfield may change.
ℹ️
The limitations:
- The recommended call timeout is 60 seconds.
- The minimum call timeout is 30 seconds.
Request example
curl --user '<KEY_ID>:<API_KEY>' 'https://api.worldota.net/api/b2b/v3/hotel/prebook/' \
--header 'Content-Type: application/json' \
--data '{
"hash": "h-027a29bc-eb54-5a23-a73c-07261af22c1b",
"price_increase_percent": 20
}'Request body
Response
Response example
{
"data": {
"hotels": [
{
"id": "hilton_dubai_palm_jumeirah",
"hid": 9764165,
"rates": [
{
"book_hash": "p-ba6844aa-8b05-45e7-ae98-f32cc61c80c7",
"match_hash": "m-dedd4686-5a70-5763-8e08-7b7a821c60fb",
"daily_prices": [
"65078.00",
"65078.00"
],
"meal": "breakfast",
"meal_data": {
"value": "breakfast",
"has_breakfast": true,
"no_child_meal": false
},
"payment_options": {
"payment_types": [
{
"amount": "1558.00",
"show_amount": "130156.00",
"currency_code": "USD",
"show_currency_code": "RUB",
"by": null,
"is_need_credit_card_data": false,
"is_need_cvc": false,
"type": "deposit",
"vat_data": {
"included": true,
"applied": true,
"amount": "74.19",
"currency_code": "USD",
"value": "74.19"
},
"tax_data": {
"taxes": [
{
"name": "city_tax",
"included_by_supplier": false,
"amount": "40.00",
"currency_code": "AED"
},
{
"name": "occupancy_tax",
"included_by_supplier": true,
"amount": "7062.73",
"currency_code": "RUB"
},
{
"name": "resort_fee",
"included_by_supplier": true,
"amount": "7062.73",
"currency_code": "RUB"
},
{
"name": "service_fee",
"included_by_supplier": true,
"amount": "10089.61",
"currency_code": "RUB"
},
{
"name": "vat",
"included_by_supplier": true,
"amount": "5044.81",
"currency_code": "RUB"
}
]
},
"perks": {},
"commission_info": {
"show": {
"amount_gross": "130156.00",
"amount_net": "130156.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "1558.00",
"amount_net": "1558.00",
"amount_commission": "0.00"
}
},
"cancellation_penalties": {
"policies": [
{
"start_at": null,
"end_at": "2025-09-30T19:59: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": "2025-09-30T19:59:00",
"end_at": "2025-10-05T19:59:00",
"amount_charge": "636.00",
"amount_show": "53132.00",
"commission_info": {
"show": {
"amount_gross": "53132.00",
"amount_net": "53132.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "636.00",
"amount_net": "636.00",
"amount_commission": "0.00"
}
}
},
{
"start_at": "2025-10-05T19:59:00",
"end_at": null,
"amount_charge": "1558.00",
"amount_show": "130156.00",
"commission_info": {
"show": {
"amount_gross": "130156.00",
"amount_net": "130156.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "1558.00",
"amount_net": "1558.00",
"amount_commission": "0.00"
}
}
}
],
"free_cancellation_before": "2025-09-30T19:59:00"
},
"recommended_price": null
}
]
},
"bar_rate_price_data": null,
"rg_ext": {
"class": 3,
"quality": 2,
"sex": 0,
"bathroom": 2,
"bedding": 3,
"family": 0,
"capacity": 2,
"club": 0,
"bedrooms": 0,
"balcony": 1,
"view": 0,
"floor": 0
},
"room_name": "6 Bedrooms Villa",
"room_name_info": null,
"serp_filters": [
"has_bathroom"
],
"sell_price_limits": null,
"allotment": 9,
"amenities_data": [
"non-smoking",
"king-bed",
"balcony"
],
"any_residency": false,
"deposit": null,
"no_show": null,
"room_data_trans": {
"main_room_type": "Doppel Zimmer mit Balkon",
"main_name": "Doppel Zimmer mit Balkon",
"bathroom": null,
"bedding_type": "Doppelbett",
"misc_room_type": "Kingsize-Bett"
},
"legal_info": null,
"is_package": true
}
],
"bar_price_data": null
}
],
"changes": {
"price_changed": false
}
},
"debug": {
"api_endpoint": {
"endpoint": "api/b2b/v3/hotel/prebook",
"is_active": true,
"is_limited": true,
"remaining": 199,
"requests_number": 200,
"reset": "2025-09-23T09:48:00",
"seconds_number": 60
},
"request": {
"hash": "h-027a29bc-eb54-5a23-a73c-07261af22c1b",
"price_increase_percent": 20
},
"method": "POST",
"real_ip": "10.97.2.10",
"request_id": "5584aef8d9258a086e00fcb908acf867",
"key_id": 1234,
"api_key_id": 1234,
"utcnow": "2025-09-23T09:47:18.387950"
},
"status": "ok",
"error": null
}Errors
The error field has the value specified in the headers below.
no_available_rates
The rate with the price_increase_percent field value isn’t found. Try to change the value.
rate_not_found
- The rate with the
hashfield value isn’t found. - The
hashfield value has expired.
Send another search request and change the hash field value.
invalid_params
- The
hashfield is required. - The
hashfield value is incorrect. - The
price_increase_percentfield value is less than0.
unknown
The internal ETG services’ timeout.
prebook_disabled
There is no permission to use this call for this contract. Contact the API support team.
contract_mismatch
The pre-book contract differs from the rate contract. They should be the same.