# Deals

The Deals feature plays a crucial role in securing competitive rates from hotels on the Channels Plus platform. By offering these competitive rates, the feature significantly increases the likelihood of bookings, benefiting both the partners and the hotels by driving more reservations. This functionality ensures that partners can access attractive offers, helping them stand out in a competitive market and ultimately driving more business to the properties they collaborate with.

## Creating and Managing Deals

Channel partners can create and manage deals through the partner portal. Deals enable partners to create unique offers for properties on the Channels Plus platform. There are two types of deals:

### **Direct Agreements**

* A deal between a single property and a partner.
* Partners define an active date range, a discount rate, and a commission rate for all rates made available via the shopper API.
* Direct Agreements must have a start date but do not require an end date.
* Partners can add a short and long description, plus a single image for the property platform display.
* A static image shows how the deal appears to the hotel on the platform.

### **Campaigns**

* A deal between the partner and one or more properties.
* Partners define two date ranges: **Stay Dates** (reservation must fall within these dates) and **Book Dates** (reservation must be booked within these dates).
* Campaigns require both start and end dates for both sets of dates.
* Partners can add properties manually or through location-based filters.
* A discount rate and commission rate apply to all rates within the eligible date range, available via the shopper API.
* Partners can add a short and long description, plus a single image for the campaign.
* A static image shows how the campaign will be displayed to the hotel on the platform.

## How It Works

### [Properties](/channels-plus-api/reference/properties.md)

* **dealCodes** not included, **dealOnly** not included: Returns all properties and room rates, excluding deals.
* **dealCodes** not included, **dealOnly** false: Returns all properties and room rates, excluding deals.
* **dealCodes** included, **dealOnly** not included: Returns all properties, both with and without deals.
* **dealCodes** included, **dealOnly** true: Returns only properties with deals.
* **dealCodes** included, **dealOnly** false: Returns all properties, both with and without deals.

For `GET Properties`, you can add multiple **dealCodes** by repeating the **dealCodes** parameter. This allows you to filter the properties based on more than one specific deal code. Each **dealCodes** parameter in the request corresponds to a unique deal, and by adding multiple, you can request properties that match any of the provided deal codes. Properties will be returned only if they have at least one of the specified deals and match the other search criteria, such as location, check-in/check-out dates, and number of rooms and guests.

### [Property](/channels-plus-api/reference/property.md)

* **dealCode** not included: Returns normal rates.
* **dealCode** included: Returns rates with deals applied.

If a **dealCode** is included: returns rates with deals applied if the deal is accepted. If the deal is not accepted, no rates are returned. In this scenario, it is recommended to call `GET Property` again without the deal code.

### [Lock Reservation](/channels-plus-api/reference/lock-reservation.md)

* **dealCode** included, **applyDeal** false: Returns price without the deal discount applied.
* **dealCode** included, **applyDeal** true: Returns price with the deal discount applied.

{% hint style="success" icon="sparkles" %}

## Still have questions?

Use the <i class="fa-gitbook-assistant">:gitbook-assistant:</i> **Ask** button at the top of the page to chat with our AI assistant — it can help you navigate the guide, understand requirements, and troubleshoot issues.

If you need more support, visit [Integration Support](/integration-support/integration-support.md).
{% endhint %}


---

# 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://developer.siteminder.com/channels-plus-api/additional-resources/commercial/deals.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.
