Integrate Oracle Hospitality Integration Platform (OHIP)

Integrate Oracle Hospitality Integration Platform (OHIP)

Basic architecture

The NETx Server provides an interface which can be used to integrate information from the Oracle Hospitality Integration Platform (OHIP). Using this interface, information about the check-in/check-out procedure and the hotel room states can be retrieved.

The communication is based on a REST full HTTP web service protocol that is using JSON objects as data payload and a websocket to retrieve events like check-in / check-out or changing room status. The OHIP cloud service is the web API server and the NETx server is the client.

Here you can find our marketplace entry at Oracle:

https://marketplace.oracle.com/listings/netx-ohip-interface/ocid1.mktpublisting.oc1.iad.amaaaaaaqve76hqaukcqksqc2ulxe3occ3lqwc5oxvgj44edoyml5yeurtia

On-boarding process at Oracle Cloud

To start the integration, an on-boarding process is required in the Opera cloud.

The required steps for this on-boarding process depend on the type of Identity Manager in Opera Cloud. Currently, two types of Identity Managers are available:

  • SSD: Shared Security Domain (legacy)

  • OCIM: OPERA Cloud Identity Manager (current and strategic direction)

Please note that it is not possible to select the Identity Manager – it is predefined by Oracle. Newer installation will use the OCIM. Older ones may use SSD but these will soon be migrated to OCIM. If they are unsure which type of Identity Manager you have, contact the Oracle representative for clarification.

How to determine if your are using SSD or OCIM?

You can identify the Identity Manager type by checking the OPERA Cloud PMS URL (not the OHIP URL).

  • If the URL includes “OPERA9”, you are using SSD.

  • If the OPERA Cloud URL includes an code (e.g., OCR4ENT) but does not contain “OPERA9", the customer is on OCIM.

Examples:

On-boarding for SSD

NETx needs for following information:

  1. Identity Manager URL

  2. Chain Code

  3. Hotel id

  4. Region

  5. Confirmation that the hotel has an OPERA Cloud Foundation license

After having received this information, the on-boarding process works as follows:

  1. NETx initiates an integration user request at the chain level via the Identity Manager URL.

  2. Upon submission, your Chain Admin receives an email notification.

  3. You must approve the request and ensures that the Chain-level WSACCESS role is assigned — only this role should be attached at this stage.

  4. Once approved, NETx will receive an email confirming that the integration user has been created.

  5. NETx can then onboard the environment using the approved integration user.

Important: Currently, only chain-level users can be onboarded in the Partner Developer Portal. Therefore, it is crucial that you approve the chain-level user request with the appropriate WSACCESS role.

  1. After onboarding, if preferred, you may log into the Identity Manager and remove the chain-level WSACCESS role, then assign hotel-level WSACCESS roles instead. This is typically required when we need access to multiple hotels.

On-boarding for OCIM

NETx needs for following information:

  1. Enterprise id

  2. Chain Code

  3. Hotel id

  4. Region

  5. Confirmation that the hotel has an OPERA Cloud Foundations license

After having received this information, the on-boarding process works as follows:

  1. NETx starts the on-boarding using the Enterprise ID, Chain Code, and Region.

  2. You will receive an email notification indicating a pending request.

  3. You must login to the Customer Developer Portal to review and approve the request.

  4. During approval, you can select specific hotels for which NETx is allowed to access.

  5. Once approved, NETx is notified and can view the approval status within the Partner Developer Portal.

Integration steps within the NETx Server

After having finished the on-boarding process, you will get all the required information NETx. Start the Core Studio and open the menu Modules > OHIP > Configuration. With the dialog, enter all information that you got from NETx:

image-20260428-115712.png

Afterwards, start the Core server. The OHIP driver will connect to the Oracle OHIP cloud service. When the connection to the cloud service is established successfully, the GATEWAY item will change to true. In addition, you will see the application name and the timestamp of the last successful pong request / response:

image-20260430-075207.png

If the GATEWAY item is false, the connection is not working. Please check the server logs for possible reasons (e.g. wrong authentication keys, …).

After having established the connection to the Oracle OHIP cloud, the NETx server fetches all available rooms. These rooms will be shown immediately in the item tree:

image-20260430-075425.png

The rooms are also stored in the Room Definitions:

image-20260430-075532.png

If you do not want to use some of the fetched rooms, open the room definitions and convert them to comment. Do not delete them since they will be added again during the next server restart.

For room, the following items are available:

Item Name

Data type

Access rights

Notes

Item Name

Data type

Access rights

Notes

FloorId

String

Read-only

Floor identifier the room is located on, taken from the OHIP room configuration.

RoomId

String

Read-only

Room identifier as defined in the OHIP property management system.

RoomChecked

Boolean

Read-only

True if a hotel guest has checked-in to the room. This means that the reservation status is InHouse – false otherwise.

RoomCheckedForecast

Boolean

Read-only

True if a guest is expected (reservation status DueIn or Reserved) – false otherwise.

ReservationState

String

Read-only

Current reservation status as reported by OHIP (e.g. Reserved, DueIn, InHouse, CheckedOut, Cancelled, NoShow).

RoomStatus

Integer

Read/Write

Numeric encoding of the housekeeping room status (Clean, Dirty, Inspected, Pickup, OutOfOrder, OutOfService …). Writing this item sends a status update to OHIP.

RoomStatusText

String

Read/Write

Textual representation of the housekeeping room status. Writing this item sends a status update to OHIP.

FrontOfficeStatus

Integer

Read-only

Numeric encoding of the front-office occupancy status.

FrontOfficeStatusText

String

Read-only

Textual representation of the front-office occupancy status (e.g. Vacant, Occupied).

HousekeepingStatus

Integer

Read-only

Numeric encoding of the housekeeping cleanliness status.

HousekeepingStatusText

String

Read-only

Textual representation of the housekeeping cleanliness status.

GuestServiceRequest

Integer

Read/Write

Numeric encoding of the active guest service request. Writing this item sends the corresponding service request to OHIP.

GuestServiceRequestText

String

Read/Write

Textual representation of the guest service request (e.g. DoNotDisturb, MakeUpRoom, GreenChoice). Writing this item sends the request to OHIP.

GuestArrivalDate

DateTime

Read-only

Start date of the current reservation (check-in date).

GuestDepartureDate

DateTime

Read-only

End date of the current reservation (check-out date).

GuestEmail

String

Read-only

Email address of the primary guest, when provided by OHIP.

GuestFirstName

String

Read-only

Given name of the primary guest.

GuestId

String

Read-only

Unique guest identifier as provided by OHIP.

GuestLanguage

String

Read-only

Language code of the primary guest as provided by OHIP.

GuestLastName

String

Read-only

Surname of the primary guest.

GuestName

String

Read-only

Concatenation of the primary guest's given name and surname ({FirstName} {LastName}).

GuestNationalityCode

String

Read-only

Nationality code of the primary guest (ISO country code).

GuestPreferredLanguage

String

Read-only

Preferred language of the primary guest. Currently mirrors GuestLanguage (same OHIP source field).

GuestSecondLastName

String

Read-only

Middle-name / second-surname component of the primary guest (mapped from OHIP's MiddleName field).

GuestTitle

String

Read-only

Salutation / title of the primary guest (e.g. Mr., Mrs., Dr.) as provided by OHIP.

GuestType

String

Read-only

Classification of the primary guest record as provided by OHIP.

Here are the possible values for the different state objects:

ReservationState

Text value

Numeric value

Notes

Text value

Numeric value

Notes

Reserved

0

Reservation has been created but the guest has not yet arrived.

Requested

1

Reservation has been requested but is not yet confirmed.

NoShow

2

Guest did not arrive on the scheduled check-in date.

Cancelled

3

Reservation has been cancelled.

InHouse

4

Guest is checked in and currently staying in the room.

CheckedOut

5

Guest has checked out and the stay is complete.

Waitlisted

6

Reservation is on the waiting list — no room currently allocated.

DueIn

7

Guest is due to arrive today.

DueOut

8

Guest is due to depart today.

Walkin

9

Walk-in guest checked in without a prior reservation.

PendingCheckout

10

Departure process initiated; final folio settlement pending.

RoomStatus

Text value

Numeric value

Notes

Text value

Numeric value

Notes

Clean

0

Room has been cleaned but not yet inspected. Ready for guest assignment in hotels that do not require an inspection step.

Dirty

1

Room requires full cleaning (typical state after a guest has checked out or after an occupied night).

Pickup

2

Room only needs light tidying / a quick "pickup" service rather than a full clean.

Inspected

3

Room has been cleaned and verified by a supervisor — ready for the next arrival.

OutOfOrder

4

Room is unavailable for an extended period (e.g. maintenance, renovation) and is excluded from sellable inventory.

OutOfService

5

Room is temporarily unavailable for a short period and remains in sellable inventory (Oracle distinguishes OOS from OOO precisely on this inventory impact).

FrontOfficeStatus

Text value

Numeric value

Notes

Text value

Numeric value

Notes

Vacant

0

The room is unoccupied from the front-office perspective.

Occupied

1

A guest is checked in and the room is currently occupied.

HousekeepingStatus

Text value

Numeric value

Notes

Text value

Numeric value

Notes

Vacant

0

Housekeeping considers the room as not occupied.

Occupied

1

Housekeeping considers the room as currently occupied by a guest.

GuestServiceRequest

Text value

Numeric value

Notes

Text value

Numeric value

Notes

DoNotDisturb

0

Guest does not want to be disturbed; housekeeping should skip the room.

MakeUpRoom

1

Guest has requested the room to be cleaned / serviced.

NoStatusSelected

2

No active service request — neutral / cleared state.

 

Article applies to the following products:

  • NETx BMS Platform R3

  • NETx Multi Protocol Server R3