# API Overview

## **Reservation** Journey

{% stepper %}
{% step %}

### Get properties

Call the get properties endpoint to retrieve the available inventory on Channels Plus that matches your booking guest's criteria.
{% endstep %}

{% step %}

### Get property

Call the get property endpoint to retrieve the room rates for a specific property that your booking guest is interested in.
{% endstep %}

{% step %}

### Lock reservation

Call the lock reservation endpoint once your booking guest has reviewed the room rates and would like to reserve the selected room rate.
{% endstep %}

{% step %}

### Confirm reservation

Call the confirm reservation endpoint after your booking guest has provided all necessary details (e.g., payment information) to complete the booking.
{% endstep %}
{% endstepper %}

***

## **Flow Examples**

### **Make a Reservation**

<div data-with-frame="true"><figure><img src="/files/9MrUOF3cHBpHPEmMVndA" alt=""><figcaption></figcaption></figure></div>

### **Modify Guest Details**

<div data-with-frame="true"><figure><img src="/files/8ZvAlCzZU67orXSaJfvZ" alt=""><figcaption></figcaption></figure></div>

### **Cancel a Reservation**

<div data-with-frame="true"><figure><img src="/files/2WBOK0yjNXAYixuopKyA" alt=""><figcaption></figcaption></figure></div>

***

## **Endpoints**

{% columns %}
{% column %}

### <sub>Properties</sub>

`REST/JSON`

Returns an array of shoppable properties on Channels Plus that match the specified search criteria. This endpoint also provides property content, along with the best available deal and non-deal room rate for each property.

* [Properties](/channels-plus-api/reference/property.md)
  {% endcolumn %}

{% column %}

### <sub>Property</sub>

`REST/JSON`

Returns content and available room rates for a specific property that meets the requested occupancy combination.

* [Property](/channels-plus-api/reference/property.md)
  {% endcolumn %}
  {% endcolumns %}

***

{% columns %}
{% column %}

### <sub>Lock Reservation</sub>

`REST/JSON`

Temporarily locks one or more room rates at a specific property for a limited period.

* [Lock Reservation](/channels-plus-api/reference/lock-reservation.md)
  {% endcolumn %}

{% column %}

### <sub>Confirm Reservation</sub>

`REST/JSON`

Confirms a locked reservation that is still within the lock period.

* [Confirm Reservation](/channels-plus-api/reference/confirm-reservation.md)
  {% endcolumn %}
  {% endcolumns %}

***

{% columns %}
{% column %}

### <sub>Modify Reservation</sub>

`REST/JSON`&#x20;

Updates guest details and remarks for an existing reservation. Changes that affect pricing cannot be modified. If pricing-related details need to be updated, the reservation must be canceled and rebooked following the same reservation flow.

* [Modify Reservation](/channels-plus-api/reference/modify-reservation.md)
  {% endcolumn %}

{% column %}

### <sub>Cancel Reservation</sub>

`REST/JSON`&#x20;

Cancel a reservation that is still within the cancellation period.

* [Cancel Reservation](/channels-plus-api/reference/cancel-reservation.md)
  {% endcolumn %}
  {% endcolumns %}

***

{% columns %}
{% column %}

### <sub>Reservations List</sub>

`REST/JSON`

Retrieves a list of reservations based on the specified dateType (bookedOn, checkIn, or checkOut) and a date range (fromDate to toDate) of no more than 31 days.

* [Reservations List](/channels-plus-api/reference/reservations-list.md)
  {% endcolumn %}

{% column %}

### <sub>Reservation Detail</sub>

`REST/JSON`

Retrieves detailed information for a specific reservation created via the API.

* [Reservation Detail](#reservation-detail)
  {% endcolumn %}
  {% endcolumns %}

{% 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/guides/api-overview.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.
