# Overview

The Opportunities API enables you to discover business opportunities for your connected properties. These opportuntities aim to improve the property's chances of gaining more bookings. Each opportunity carries information that explains what it is about and what actions you and the property can take.

## Features

You can use the Opportunities API to:

* [retrieve all opportunities on Booking.com](/connectivity/docs/opportunities-api/retrieving-opportunities/#retrieving-all-opportunities)
* [retrieve all opportunities for a specific property](/connectivity/docs/opportunities-api/retrieving-opportunities/#retrieving-opportunities-for-a-property)
* [retrieve all properties eligible for a specific opportunity](/connectivity/docs/opportunities-api/retrieving-opportunities/#retrieving-properties-by-opportunity)
* [implement or dismiss an opportunity](/connectivity/docs/opportunities-api/implementing-or-dismissing-opportunities/#implementing-or-dismissing-an-opportunity)
* [implement or dismiss opportunities in bulk](/connectivity/docs/opportunities-api/implementing-or-dismissing-opportunities/#implementing-or-dismissing-opportunities-in-bulk)


## Key concepts

The Opportunities API enables you to retrieve information on opportunities. The most important part of that information is the `implementation type`, which tells you *how to act* upon the opportunity. You can encounter the follow three types:

* `TOGGLE` enables you to act upon opportunities solely through the Opportunities API with the following two actions:
  * Enable: Implements opportunity for specified property or properties.
  * Dismiss: Causes opportunity for specified property or properties to disappear.
* `REDIRECT` enables you to implement the opportunity in two ways: (1) It informs you of what API you must use (destination API), or (2) it contains a URL that redirects you to the appropriate extranet page of the specified property. You can still perform the following action through the Opportunities API:
  * Dismiss: Causes opportunity for specified property or properties to disappear.
* `PROVIDER` is a special version of `REDIRECT`. This implementation type concerns time-sensitive date-level inventory opportunities, such as High Demand Dates to inform properties when demand for rooms in their area is high. You can access date-level inventory opportunities by implementing the `date_level_inventory_opportunities` feature. You *must* implement the opportunity yourself via the Rates and Availability API. For more information, see [How do I access date-level inventory opportunities?](/connectivity/docs/con-faq-opportunities/#how-do-i-access-date-level-inventory-opportunities)


## Getting started

Are you certified?
You must be a [certified Booking.com Connectivity Partner](/connectivity/docs#what-we-expect-from-connectivity-partners) to use the Opportunities API. If you're not certified yet, [submit your details](https://connect.booking.com) first.

### Authentication

The Opportunities API uses basic authentication. Each request must have the following `Authorization` header:

| Parameter | Description | Type | Required/Optional | Notes |
|  --- | --- | --- | --- | --- |
| `Authorization` | [Machine account username and password](/connectivity/docs/authentication) | string | Required | Example: `Authorization: Basic {username:password}` |


If you need more information on how it works, see [Authentication](/connectivity/docs/authentication).

## Use case

To find and implement (or dismiss) a specific Opportunities for multiple properties at the same time, do the following:

1. Retrieve all opportunities that are available on Booking.com by calling the [retrieving all opportunities](/connectivity/docs/opportunities-api/retrieving-opportunities/#retrieving-all-opportunities) endpoint.
2. Choose (or look for) the opportunity that you want to implement and show to your properties.
3. Copy the `opportunity_id`.
4. See which of your properties are eligible for the opportunity you chose by pasting the `opportunity_id` as a query parameter in the [retrieving properties by opportunity](/connectivity/docs/opportunities-api/retrieving-opportunities/#retrieving-properties-by-opportunity) endpoint.
5. Filter on status `eligible` to group the eligible properties.
6. Add the `opportunity_id` together with `property_id` and `action` as separate JSON objects in the request body of the [implementing or dismissing opportunities in bulk](/connectivity/docs/opportunities-api/implementing-or-dismissing-opportunities/#implementing-or-dismissing-opportunities-in-bulk) endpoint.


Set action to `ENABLE`
Do not forget to add `ENABLE` to each `action` key.

## Going live

Before you go live with your API integration, you'll need to meet certain requirements. For more information, see [Going Live.](/connectivity/docs/going_live/)

## Support and feedback

If you have questions or suggestions for improvement, please feel free to [contact us](https://connectivity.booking.com/s/article/Contact-Us?language=en_US).