# Integration types

**Use the Demand API to implement the integration that best fits your business scenario.**

The following sections describe the basic flows you can implement with the Demand API and the endpoints required.

While these flows were initially focused on accommodation, they now also apply partially to cars and, in the upcoming Beta version, also to attractions.

## Content only

Let travellers browse relevant content about Booking.com offerings directly from your application. Redirect them to Booking.com to check availability, prices, and make bookings.

*Content* is [static data](#static-data-and-caching) that changes infrequently—or not at all—such as addresses or photos. This flow works for all travel services.

![Content only flow](/assets/application-flows-1.9daff51bd50da246fec3c82f83ca09d6366fe1f9f2f0a644ff7a1424a5abf909.c8327c81.png)

In your application:

* Use the static data endpoints to build a local storage with data relevant to your business scenario.
* Display the content to travellers.
* Redirect travellers to Booking.com when they want to explore further and book.


### Static data and caching

Static data comprises two types:

* **Content**: Data about a property, car, or attraction that may change infrequently, if at all - such as its address, or photos.
  * Content is obtained via endpoints like [/accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details), or [/cars/depots](/demand/docs/open-api/demand-api/cars/depots).
* **Reference**: Data that provides identifiers (IDs or codes) and names (in multiple languages) for location, currencies, payment cards, and languages. Other Demand API endpoints use these IDs or codes in requests and responses.
  * Reference data is provided by [/accommodations/chains](/demand/docs/open-api/demand-api/accommodations/accommodations/chains), cars or accommodation constants, and all the [/common endpoints](/demand/docs/open-api/demand-api/commonlocations).


Using a local storage of static data reduces endpoint traffic and improves response times.

#### Recommendations

We strongly recommend using a local storage of static data in any production application.

* Without storing, your application must call the relevant static data endpoints whenever the data is needed by other endpoints.
* For example, without a storage, using the /search endpoint may require additional calls to fetch static data.


![Static data and caching endpoints](/assets/application-flows-2.fdb7d4cdfe28eb5cd10ff98e64e1bcbfc867723aa3dcb1b5d36133db24812e0e.c8327c81.png)

Do not cache prices or availability as these change frequently
* Using cached prices or availability may result in failed requests due to stale data.
* Current prices and availability are returned via the /search and /availability endpoints.


## Search, look and redirect

Allow travellers to search for offerings that match their requirements, view full details—including current prices and availability—and redirect them to Booking.com to book.

This flow applies to all travel services.

![Search and look flow](/assets/application-flows-3.2e433311a4a304870b91d637f7424e874cfe0e9f5841bfc874e595bec0abe9e9.c8327c81.png)

In your application:

| Endpoint | Use it to ... |
|  --- | --- |
| /search | ✓ To provide a search experience for your business scenario. |
| /availability | ✓ To let travellers see full pricing and availability. |
| [Local cache of static data](#static-data-and-caching) | ✓ To provide additional content for your search results and product pages. |
| URL | ✓ Redirect travellers to Booking.com to complete bookings. |


## Search, look and book

Let travellers search for offerings, view full details, and book directly from your application.

This flow is currently supported for accommodations.

Support for cars and attractions will be included in upcoming Beta versions.

![Search, look, book and post-booking flow](/assets/application-flows-4.a95c422eda0ac28d11ff980d5b96aa8d752127baba71a3b7cedf8ae2d37f92d2.c8327c81.png)

In your application:

| Step | Endpoint | Use it to |
|  --- | --- | --- |
| **Search** | /search | * Find available products based on user preferences.

 |
| **Look** | /availability | * Retrieve real-time information on travel products like cars or accommodation availability and rates.

 |
| **Book** | 1. [order/preview](/demand/docs/open-api/demand-api/orders/orders/preview)



---

1. [order/create](/demand/docs/open-api/demand-api/orders/orders/create)

 | * Get a detailed summary of the order, including pricing disclosure before confirming the booking.
* Complete the booking process - Ensure that the payment method and timing are set correctly.

 |


## Post-booking

Perform management and reporting tasks for placed orders.

![Post-booking flow](/assets/application-flows-5.8ead4e278a33cd2b1b38ee6718a97290967f99785f361246426cc8e9a9ca9a2d.c8327c81.png)

In your application:

| Task | Endpoint | Use it to |
|  --- | --- | --- |
| **See order details** | [/orders/details/*](/demand/docs/orders-api/order-details/) | * Access detailed booking information for commission reporting, loyalty programmes, and other post-booking management tasks.

 |
| **Modify an order** | [/orders/modify](/demand/docs/open-api/demand-api/orders/orders/modify) | * Update existing booking details, such as payment information or check-in/check-out dates.

 |
| **Cancel an order** | [/orders/cancel](/demand/docs/open-api/demand-api/orders/orders/cancel) | * Cancel an existing booking when required.

 |


## Next steps

Once you’ve identified the integration flow that best fits your business scenario:

1. **Explore the relevant endpoints**
Review the [OpenAPI reference](/demand/docs/open-api/demand-api/) to understand the request and response structures for each endpoint in your chosen flow.
2. **Set up your test environment**
  * Use your [API credentials](/demand/docs/development-guide/authentication/) to make test calls in the [sandbox environment](/demand/docs/getting-started/sandbox).
  * Verify that your integration handles key use cases, such as search, booking, and order management.
  * Use the [Try out guide](/demand/docs/getting-started/try-out-the-api) for *hello world* cases.
3. **Implement caching and error handling**
Follow best practices for [static data caching](#static-data-and-caching) and [error handling](/demand/docs/support/error-handling/about-errors) to ensure a stable and efficient integration.
4. **Expand to additional services**
If you start with accommodations, you can later extend your integration to cars and attractions as these services become available in the Demand API.
5. **Go live**
Once your implementation has been validated in sandbox, follow the production readiness checklist before switching to production.


Need help choosing the right flow or combining endpoints across travel services? Contact your Booking.com Account manager for more information.