This section outlines basic usage of the API. See the technical documentation for detailed information on all endpoints.
Note: API users will only be able to see the documentation for endpoints they have permission to call. See the [support section](https://developers.booking.com/api/help/index.html) for questions about endpoint permissions.
## Caching and types of endpoints
The API consists of three general endpoint classes:
**Availability**: real-time pricing and availability which is constantly changing. It is not permissible to cache availability. Instead, request the data each time it is needed.
**Static data**: property descriptions, facility information, city names, hotel types, and other data that changes less frequently in comparison to availability. It is recommended to cache this data.
**Booking endpoints**: these are related to processing bookings via the API.
## Using destination endpoints
Destination information with translations can be obtained from the following endpoints:
English is the default language and the translations are not available for every language.
If no value is returned then use the English value. For example the translation of "Amsterdam" in Dutch is the same as the English translation, therefore no Dutch translation will be returned.
## Using reference endpoints
Use reference endpoints such as **hotelFacilityTypes, hotelTypes, chainTypes, and paymentTypes** to obtain supporting data to be used with other endpoints.
## Using changedHotels and the hotels endpoint
To build a cache of property data for the first time, request all desired static content from the **hotels** endpoint. For example, if a website is focused on properties in the Netherlands, first use the cities endpoint and then use the **hotels** endpoint with the city_ids parameter. This will return data for all cities in the Netherlands.
After the initial data load into your database, use the **changedHotels** endpoint to get a list of properties that have been changed or closed since the given timestamp. New properties also appear in changed list.
**Important:** If a property is marked as closed, you must remove all related data from your websites, apps, and databases. Note that closed properties may reopen and appear in the change list again.
## Availability endpoints
The **hotelAvailability** endpoint should generally be used first to provide the least expensive rooms for the provided guest configuration and search parameters. This is comparable to the initial property search on Booking.com.
After a property is selected, **blockAvailability** can be used to return all available rooms for a specific property. This is comparable to the property page on Booking.com where rooms are selected.
## Recommended update frequency
All availability endpoints should be used in real-time and never cached. The other endpoints can be used less frequently:
Once a day:
- **changedHotels** to receive a list of properties with changed data
- **hotels** to update the changed hotels
Once a week:
- The "types" endpoints such as **hotelFacilityTypes** and **hotelTypes**
- The destination endpoints such as **countries** and **cities**