> ## Documentation Index
> Fetch the complete documentation index at: https://docs.conduit.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect Opera Cloud

> Connect Oracle OPERA Cloud to Conduit using OHIP credentials so property, reservation, and guest data sync automatically.

## Overview

Conduit connects to Oracle OPERA Cloud through the **Oracle Hospitality Integration Platform (OHIP)**. Unlike most PMS integrations, OPERA Cloud does not use a single API key. You collect five values from the OHIP Developer Portal, paste them into Conduit, and Conduit starts syncing that property.

Every value comes from the Developer Portal except the Hotel ID, which is your OPERA property code.

<Note>
  You connect **one property at a time**. A chain with six hotels means six connections in Conduit, all sharing the same Gateway URL, Client ID, Client Secret, and Enterprise ID, and each with its own Hotel ID.
</Note>

## What you need

| Field in Conduit       | Where it comes from                | Example                                                        |
| ---------------------- | ---------------------------------- | -------------------------------------------------------------- |
| **Gateway URL**        | Developer Portal, Environments tab | `https://xxx.hospitality-api.us-ashburn-1.ocs.oraclecloud.com` |
| **Hotel ID**           | Your OPERA property (resort) code  | `SANDPT`                                                       |
| **Client ID**          | Developer Portal, Environments tab | `a1b2c3d4-...`                                                 |
| **Client Secret**      | Developer Portal, Environments tab | (secret)                                                       |
| **Enterprise ID**      | Developer Portal, Environments tab | `ABCD`                                                         |
| **App Key** (optional) | Developer Portal, Applications tab | `e4f7a2b1-...`                                                 |

## Before you start

The person collecting the credentials needs the **DEVELOPERPORTALACCESS** role on their OPERA Cloud user. Without it, the Oracle Hospitality Developer Portal link will not appear in the OPERA Cloud menu.

If the role is missing, request it through OPERA Cloud Identity Management, or ask whoever administers your OPERA Cloud tenant. See Oracle's [Accessing the OHIP Developer Portal](https://docs.oracle.com/en/industries/hospitality/opera-cloud/23.4/ocsuh/c_getting_started_accessing_the_ohip_developer_portal.htm).

## Part 1: Collect your OHIP credentials

<Steps>
  <Step title="Open the Oracle Hospitality Developer Portal">
    In OPERA Cloud, open the side menu and select **Oracle Hospitality Developer Portal**.

    You can also sign in directly using the portal URL from your OHIP welcome email. There are separate portals for UAT and PROD, so make sure you are in the one matching the environment you want to connect. Conduit should normally be pointed at **PROD**.
  </Step>

  <Step title="Get the Gateway URL, Client ID, Client Secret and Enterprise ID">
    Click the **Environments** tab at the top of the portal, then click **View Details** on your environment card.

    The details panel shows:

    * **Gateway URL**, copy it exactly, with no trailing slash and no spaces
    * **Client ID** and **Client Secret**
    * **Enterprise ID**
    * The list of properties approved for integration

    If no Client ID and Secret are shown, click **Create Client Credentials** to generate them.

    <Warning>
      The Gateway URL is an API host, not the address you use to log in to OPERA Cloud. It looks like `https://xxx.hospitality-api.<region>.ocs.oraclecloud.com`. If the URL you copied contains `/operacloud/faces/` or `adf.task-flow`, you copied the OPERA Cloud web UI address and the connection will not work.
    </Warning>

    <Note>
      The Client Secret is only fully visible when it is created. If nobody saved it, generate a new one from the same panel.
    </Note>
  </Step>

  <Step title="Register an application and copy the Application Key">
    Open the **Applications** tab and register a new application for Conduit (or open the existing one if your team already created it).

    When creating the application, **subscribe it to all the APIs that appear**. Conduit calls reservations, guest profiles, property configuration, availability, folios, and housekeeping, so a partial subscription will make parts of the integration fail silently.

    Once the application is registered, copy its **Application Key**. This is the value you paste into Conduit's **App Key** field.

    <Note>
      An application key belongs to one chain. If you operate multiple chains, create one application per chain and use the matching key for each connection.
    </Note>
  </Step>

  <Step title="Note your Hotel ID">
    The Hotel ID is your OPERA property code, the same short code you use to select a property inside OPERA Cloud. It is usually 5 to 6 uppercase characters, for example `SANDPT` or `BLUBAY`.

    It is not a number and it is not the hotel's display name. The properties approved for integration are listed in the environment details panel from step 2.
  </Step>

  <Step title="Confirm the property is approved for integration">
    In the environment details panel, check that the property you want to connect appears in the **Properties** list.

    Only your team can approve properties for integration. If a hotel is missing from that list, no credentials will make it work until it is added.
  </Step>
</Steps>

## Part 2: Connect Opera Cloud in Conduit

<Steps>
  <Step title="Open the PMS connection screen">
    In Conduit, go to **Settings > Connections > PMS** and click **Connect PMS**.

    <Note>
      If PMS is not visible, your workspace needs to be a **Short Term Rental** or **Hotel** type. Set the industry in the workspace's company settings, or create a new workspace of that type.
    </Note>
  </Step>

  <Step title="Pick Opera from the provider list">
    Search for **Opera** and click it.
  </Step>

  <Step title="Fill in the credentials">
    Paste the values you collected in Part 1:

    * **Gateway URL**
    * **Hotel ID**
    * **Client ID**
    * **Client Secret**
    * **Enterprise ID**
    * **App Key**, optional

    Then click **Connect**.

    <Note>
      Leave **Username** and **Password** empty. Those fields are only used for the older SSD (Resource Owner) authentication scheme. Almost every OPERA Cloud tenant uses client credentials, which is what the Client ID, Client Secret and Enterprise ID combination above enables.
    </Note>
  </Step>

  <Step title="Import the property">
    Conduit calls OPERA Cloud and shows the property it found. Click **Import** to bring it in, or **Skip** to connect without importing yet.

    The property becomes a listing in Conduit, carrying its address, timezone, currency, check-in and check-out times, room types, and amenities.
  </Step>

  <Step title="Repeat for each additional property">
    For a second hotel, run through **Connect PMS > Opera** again with the same Gateway URL, Client ID, Client Secret, Enterprise ID, and App Key, changing only the **Hotel ID**.
  </Step>
</Steps>

## What syncs

Conduit imports the property once, then polls OPERA Cloud every few minutes to keep reservations current.

| Data                 | Notes                                                                                                                         |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| Property details     | Imported when you import the property: name, address, timezone, currency, check-in and check-out times, amenities, room types |
| Reservations         | Kept current in a rolling window of roughly 30 days in the past and 180 days ahead                                            |
| Guest profile fields | Names and contact details attached to synced reservations                                                                     |

Reservations create contacts automatically, so guest conversations land in the inbox already linked to the right booking. Property information appears under **Build > Knowledge** after the first sync completes.

### Tools available to agents

Connecting Opera Cloud registers a set of tools on the connection. An agent can use them once you assign the connection to that agent, and each tool can be switched off on the connection.

Read-only lookups:

* Check availability for a date range, room type, and rate plan
* Get a reservation
* Get a guest profile, and search guests by name, email, phone, or membership number
* Read stay history and folios
* Read the housekeeping overview

Actions that write back to OPERA:

* Create, update, and cancel a reservation
* Update room status
* Post a routing instruction

<Warning>
  The write actions change live PMS data. Try them against a test property, or keep the agent in copilot mode so a person approves each one, before letting an agent run them unattended on a production property.
</Warning>

See [Integrations: capabilities](/setting-up-conduit/integrations/capabilities) for how connections and tools reach an agent.

## Troubleshooting

<AccordionGroup>
  <Accordion title="The import step shows no properties">
    This is the usual symptom of a credential problem, since Conduit saves what you paste and then immediately tries to read the property.

    Check, in this order:

    1. The **Gateway URL** is the API host and has no trailing slash, no leading or trailing spaces, and no `/operacloud/faces/` path.
    2. The **Hotel ID** matches the property code exactly, including case.
    3. The **Enterprise ID** is present. Client credentials authentication fails without it.
    4. The **App Key** belongs to the same chain as the environment.
    5. The property appears in the **Properties** list in the environment details panel.
  </Accordion>

  <Accordion title="Authentication fails but the credentials look right">
    Regenerate the Client Secret from **Environments > View Details > Create Client Credentials** and reconnect. A secret that was partially copied, or was rotated in the portal after Conduit was connected, produces the same failure as a wrong one.

    Also confirm you are using PROD portal credentials against a PROD environment. UAT credentials will not authenticate against production.
  </Accordion>

  <Accordion title="Reservations sync but some data is missing">
    Open the application in the **Applications** tab and confirm it is subscribed to every available API. If your environment uses module level access control, the client also needs access to the OPERA modules behind the data you are missing, such as reservations, profiles, cashiering for folios, and housekeeping.
  </Accordion>

  <Accordion title="A far-future booking has not appeared">
    Conduit syncs a rolling window of roughly 180 days ahead. A reservation past that window arrives once the window slides forward. If you regularly take bookings further out, tell us and we can widen the window for your deployment.
  </Accordion>
</AccordionGroup>

## Reference

* [Accessing the OHIP Developer Portal](https://docs.oracle.com/en/industries/hospitality/opera-cloud/23.4/ocsuh/c_getting_started_accessing_the_ohip_developer_portal.htm)
* [Viewing Environment Details](https://docs.oracle.com/en/industries/hospitality/integration-platform/ohipu/t_viewing_environment_details.htm)
* [Quick Start for Hoteliers](https://docs.oracle.com/en/industries/hospitality/integration-platform/ohipu/t_quick_start_for_hoteliers.htm)
