Availability

Filtering properties

Apart from the basic required parameters like check-in and check-out, you should specify either a list of property ids to retrieve, or geo coordinates and radius of a location you want to search in.

📘

List size

The maximum number of property ids you can pass in each request is 50.

Passing property ids

The way the Katanox API expects arrays is the following:
/v2/availability?property_ids[]=ABCDEFGH&property_ids[]=IJKLMNOP

Multi occupancy search

The API allows users to search for multiple rooms with 2 ways:

  1. Using number_of_units
    Using this approach, you can search for multiple rooms by specifying the number of units as a number. In this case, adults and children parameters will be applied for all rooms
  2. Using occupancy
    Using this approach, you can specify different occupancies per room and children ages

Examples

  1. adults=2&children=0&number_of_units=3

This asks for 3 rooms where each one can fit 2 adults and 0 children

  1. occupancy=2,1,3

This asks for 3 rooms with 2 , 1 and 3 adults respectively

  1. occupancy=2-16,1-16;16

This asks for 2 rooms where the first room has 2 adults and 1 child (that is 16 years old) and the second room has 1 adult with 2 children (both aged 16)

Offer ids

The availability endpoint returns offer ids which are required to create a booking. In case of a multi room search, you might want to book the same room/rate twice. You can reuse the same offer id up to N times, where N is the number in data.number_of_units.$PROPERTY_ID.$UNIT_ID

Offer per occupancy

In the response, there is a field named occupancy_has_offer which indicates if the offer can be used for the specified occupancy.

For single occupancy searches this will be always true in the response.

For multi room searches, a room might be able to cover a part of the occupancy you want but not all of them. In this case you can combine different unit/rates combinations.

e.g: occupancy=2;1 and occupancy_has_offer = [true, false]indicates that the room can be used for the 2 adults but not for the 1 adult and in that case you need to find an offer which has[X, true]in itsoccupancy_has_offer in order to cover the second occupancy