Prebook rate from hotelpage step

Prebook rate from hotelpage step

#affiliate

https://api.worldota.net/api/b2b/v3/hotel/prebook/
ℹ️
This call is required if you don’t use the Prebook rate from search step call.

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_percent limit). The search does not extend to different room types or board types. If an alternative rate is found, new book_hash and match_hash values are returned.
  • In cases where the same rate cannot be found and a price increase is permitted via the price_increase_percent field. 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 the payment_options field 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 hash field value isn’t found.
  • The hash field value has expired.

Send another search request and change the hash field value.

invalid_params

  • The hash field is required.
  • The hash field value is incorrect.
  • The price_increase_percent field value is less than 0.

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.