# Convert every opportunity: bridge availability gaps with alternatives

In our fast-moving industry, inventory gaps and sold-out dates are inevitable, but losing a customer isn't.&#x20;

Integrate the [Alternative recommendation endpoints](/basics/openapi/recommendations-api/get-alternative-recommendations.md) and, if a preferred option is unavailable, instantly pivot to high-quality relevant alternatives that keep your users engaged and your conversion rates protected.

We have leveraged dozens of millions of booking data points to build a dedicated Recommendations Engine within the Partner API. Instead of relying on static popularity lists or manual curation, you can now dynamically surface the most relevant products *to your users*.

{% hint style="info" %}
We are manually enabling this feature for partners on a case-by-case basis. Reach out to get started.
{% endhint %}

***

### Best use cases for commercial impact

To maximise the revenue generated by these endpoints, we recommend the following integrations:

#### 1. The "sold out" safety net

**Where it fits**

A user is on a Product Detail Page, checking availability, but the specific date or timeslot they want is sold out.

**What to do**

If your availability check returns 0 for a specific date, immediately trigger the Alternative endpoint and display a recommendation to your customer.

**Example**

* The customer is checking a **Vatican Museums Guided Tour**.&#x20;
* They click on a date that doesn't have any availability.
* You display the **alternative** Vatican Museums Combo Ticket, with a clear messaging.

<figure><img src="/files/x5XhbgdYQguuMbeuJRpR" alt="Screenshot from tiqets.com with &#x22;Check out this great alternative&#x22; feature" width="375"><figcaption></figcaption></figure>

{% hint style="info" %}
Tip

Display these results with a header like "Tickets for your date are sold out, but travellers also loved these..." to keep the user engaged.
{% endhint %}

#### 2. The "disabled" redirect

**Where it fits**

A product's checkout is being temporarily disabled (seasonality, technical issue, etc.)

**What to do**

[Subscribe to Product Change Notifications](/integration-guides/webhooks/stay-up-to-date-proactively-with-product-change-notifications.md) to be updated, and when a product is temporarily disabled call the Alternative endpoint to display recommendations.

**Example**

* The customer lands on *Summer Jetboat*, a seasonal product **currently disabled**.
* You show *Winter Jetboat*, a **similar but available product** near the "Closed" information.

<figure><img src="/files/poKRFFVSZgLGfvcTuSc1" alt="" width="563"><figcaption></figcaption></figure>

#### 3. The "archived" replacement

**Where it fits**

A product is being disabled for good.

**What to do**

[Subscribe to Product Change Notifications](/integration-guides/webhooks/stay-up-to-date-proactively-with-product-change-notifications.md) to be updated, and when a product is being archived call the Alternative endpoint to find the best substitute, and replace your connection with a new product.

**Example**

* You were listing **Colosseum Early Bird Tour** in your venue page.
* This supplier **stops offering** this product.
* You replace it by **Colosseum Small Group Guided Tour** in your page.

***

### Technical Implementation for alternative recommendations

Use this endpoint to fetch products that serve as a substitute for the current product context.

```http
GET /v2/products/{productId}/recommendations/alternative
```

**Example Request**

*A user is looking at the Colosseum Guided Tour (ID 16034) but availability is tight. You want to show high-conversion alternatives.*

```http
GET /v2/products/16034/recommendations/alternative?sort_by=conversion_rate&currency=EUR
```

**Example Response**

```json
{
  "recommendations": [
    {
      "product_id": 16056,
      "title": "Colosseum VIP Entrance",
      "image_url": "https://images.tiqets.com/...",
      "from_price": {
        "amount": "54.00",
        "currency": "EUR"
      }
    },
    {
      "product_id": 13012,
      "title": "Colosseum Entry Ticket + Audio Guide",
      "image_url": "https://images.tiqets.com/...",
      "from_price": {
        "amount": "42.00",
        "currency": "EUR"
      }
    }
  ]
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.tiqets.dev/integration-guides/product-integration/convert-every-opportunity-bridge-availability-gaps-with-alternatives.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
