# Channels

A **channel** in Adrasis is a partner you connect to — an OTA (Online Travel Agency), a channel manager (the aggregator software between a hotel and the rest of the distribution stack), a bedbank (B2B bed-supply network), a metasearch engine, a B2B platform. Once configured, properties from your catalog publish to it (or ingest from it) automatically. This page explains how channels are set up and what each piece is for.

## What it takes to make a channel work

For a property to publish to (or ingest from) a channel, four pieces have to line up:

<figure><img src="/files/L0QUwAUhoFM8BG347hS8" alt="Connector + credentials + property bindings + mapping = working channel"><figcaption><p>All four pieces have to line up before a channel can publish or ingest.</p></figcaption></figure>

| Piece                 | Who handles it                                               | When it changes                                               |
| --------------------- | ------------------------------------------------------------ | ------------------------------------------------------------- |
| **Connector**         | The platform makes the partner available                     | When a new partner integration ships                          |
| **Credentials**       | Your organization admin sets them up once                    | When the partner rotates them                                 |
| **Property bindings** | An operator sets them per property                           | When you start (or stop) publishing a property to the channel |
| **Mapping**           | An operator does it once, revisits it as the catalog evolves | When you add new rooms, rate plans, meal plans                |

A channel is **active for a property** when all four pieces line up.

## What you do as an operator

Setting up a new channel for a property typically goes:

1. **Confirm the connector is enabled for your organization.** Open *Connectors → Integration*. If the partner you want is not in the list, ask the platform team to enable it.
2. **Add your credentials.** The console takes the partner-issued credentials, keeps them safe, and validates them against the partner where possible.
3. **Bind the property** through the property's *Channels* tab. Enter the partner's identifier for that property.
4. **Map your rooms, rate plans, attributes, and meal plans** to the partner's vocabulary. The mapping page surfaces gaps and helps you close them.
5. **Activate the binding.** Outbound feeds run on schedule; inbound partner traffic can be received.

Concrete picture: Hotel Sunrise wants to start selling on a metasearch engine you have already enabled organization-wide. You bind Hotel Sunrise to that channel, enter the partner's identifier for it, map its three room types and two rate plans (*BAR* and *Non-Refundable Europe*) to the partner's vocabulary, and flip the binding to active. From the next scheduled feed run onward, Hotel Sunrise's rates appear on the partner — you do not log into the partner.

## How credentials are kept safe

You give a credential to your organization once; the platform takes it from there:

* **Stored encrypted.** Partner secrets are kept in a managed vault, not in plain text.
* **Validated where possible.** When a partner offers a verification check, the console checks the credential before saving.
* **Organization-scoped.** A credential serves every property the organization binds to that connector — partners issue one set per hotel group, not per property, and the platform mirrors that.
* **Rotatable.** When a partner rotates your secret, you replace it in the console; the rest of the platform picks up the change without further action.

You manage credentials through the *Connectors → Integration* page; if a credential expires or fails to verify, the page surfaces it.

## Mapping — what makes the channel speak the same language

Once credentials and bindings are in place, the platform must speak the partner's vocabulary: their room codes, their rate plan IDs, their meal-plan codes. Mapping is what turns *"the partner's room 432"* into *"our Deluxe Sea View"* — and back, in either direction.

Mapping is set up once during onboarding through the curation surface. Adragent can fill in obvious matches automatically; the rest you decide. See [Mapping & curation](/console/mapping-and-curation/canonical-mapping.md) for the details.

The platform keeps partner mapping fast at runtime so channel traffic does not slow down on it.

## Knowing if a channel is healthy

Each channel has a status surface that tells you, at a glance:

* **Recent inbound success rate** — are partner messages landing cleanly?
* **Last credential check** — did the credentials verify on the last run?
* **Mapping gaps** — anything the partner sent that does not map to a canonical entity yet.
* **Failed-write follow-up** — anything failing repeatedly enough to need attention.

Failed channel writes do not vanish. They route through a retry chain and then — if they keep failing — into a holding area that operations and the platform can replay or investigate. You see the "needs attention" signal in the console; nothing fails silently.

## Where to next

* **What flows out** → [Outbound overview](/console/distribution/outbound.md)
* **What flows in** → [Inbound overview](/console/distribution/inbound.md)
* **How mapping turns partner codes into your catalog** → [Mapping & curation](/console/mapping-and-curation/canonical-mapping.md)


---

# 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://adrasis.gitbook.io/console/distribution/channels.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.
