3 Configurations

To start calling Property APIs, you must perform the following tasks:

OPERA Cloud PMS Prerequisites for Using Guest Messages:
  • The OPERA Cloud Function "Messages (activates Guest Message functionailty)" must be active.
  • Activate the function in /Applications/OPERA Controls/Reservations/Messages.
  • Use the OperationId: getOperaParameters to check if the parameter is already enabled.
  • Example: GET {{HostName}}/ent/config/v1/settings?hotelId={{HotelId}}&parameterNameWildCard=Messages

Streaming Business Events for Guest Message

  • To retrieve Streaming Business Events, subscribe to NEW GUEST MESSAGE, UPDATE GUEST MESSAGE, and DELETE GUEST MESSAGE.
  • Ensure the GraphQL subscription contains the primaryKey element. The primaryKey value equals reservationId in these events, allowing the partner system to link the event to the reservation.
  • The reservationId is required in all guestMessage API operations (POST, PUT, DELETE).
  • For configuration details, see Streaming APIs in the OHIP User Guide.

Retrieve OPERA Cloud Rooms Configured for a Property

To retrieve the defined rooms and its details from OPERA Cloud, use the Get Rooms operation.

Description Operation

Get the configured Rooms in OPERA Cloud that will be used for Guest Messages.

Physical rooms are those where guests stay and where devices receive Guest Messages; set the search filter physical = true.

If the room shows "pseudo": false in the response, it is not a pseudo room. Pseudo rooms do not exist physically and are used for other purposes; however, based on external system setup, Guest Messages can also be sent for reservations in pseudo rooms (for example, into Conference Rooms set up as pseudo rooms).

Note:

Room numbers can have leading zeros (0 or 00) or other prefixes (for example, a letter). OPERA Cloud expects the connecting system to handle this. There is no translation or conversion to remove leading zeros or prefixes.

Get Rooms

GET {{HostName}}/rm/config/v1/hotels/{{HotelId}}/rooms?physical=true

200 response

{
    "rooms": [
        {
            "room": [
                {
                    "roomType": {
                        "pseudo": false,
                        "suite": false,
                        "roomClass": "ALL",
                        "houseKeeping": true,
                        "maximumOccupancy": 6,
                        "accessible": false,
                        "roomType": "CLASSIC",
                        "meetingRoom": false
                    },
                    "roomDescription": "Classic Room",
                    "description": {
                        "defaultText": "Classic Room",
                        "translatedTexts": []
                    },
                    "accessible": false,
                    "roomId": "001",
                    "meetingRoom": false,
                    "roomComponents": [],
                    "rateCode": "1-MBOERACK",
                    "rateAmount": {},
                    "maximumOccupancy": 6,
                    "ownerRoom": false,
                    "keyOptions": [],
                    "turndownService": false,
                    "roomSection": {}
                },
                {
                    "roomType": {
                        "pseudo": false,
                        "suite": false,
                        "roomClass": "ALL",
                        "houseKeeping": true,
                        "maximumOccupancy": 6,
                        "accessible": false,
                        "roomType": "CLASSIC",
                        "meetingRoom": false
                    },
                    "roomDescription": "Classic Room",
                    "description": {
                        "defaultText": "Classic Room",
                        "translatedTexts": []
                    },
                    "accessible": false,
                    "roomId": "002",
                    "meetingRoom": false,
                    "roomComponents": [],
                    "rateCode": "1-MBOERACK",
                    "rateAmount": {},
                    "maximumOccupancy": 6,
                    "ownerRoom": false,
                    "keyOptions": [],
                    "turndownService": false,
                    "roomSection": {}
                },
                {
                    "roomType": {
                        "pseudo": false,
                        "suite": false,
                        "roomClass": "ALL",
                        "houseKeeping": true,
                        "maximumOccupancy": 6,
                        "accessible": false,
                        "roomType": "CLASSIC",
                        "meetingRoom": false
                    },
                    "roomDescription": "Classic Room",
                    "description": {
                        "defaultText": "Classic Room",
                        "translatedTexts": []
                    },
                    "accessible": false,
                    "roomId": "01",
                    "meetingRoom": false,
                    "roomComponents": [],
                    "rateAmount": {},
                    "maximumOccupancy": 6,
                    "ownerRoom": false,
                    "keyOptions": [],
                    "turndownService": false,
                    "roomSection": {}
                },
                {
                    "roomType": {
                        "pseudo": false,
                        "suite": false,
                        "roomClass": "ALL",
                        "houseKeeping": true,
                        "maximumOccupancy": 6,
                        "accessible": false,
                        "roomType": "CLASSIC",
                        "meetingRoom": false
                    },
                    "roomDescription": "Classic Room",
                    "description": {
                        "defaultText": "Classic Room",
                        "translatedTexts": []
                    },
                    "accessible": false,
                    "roomId": "02",
                    "meetingRoom": false,
                    "roomComponents": [],
                    "rateAmount": {},
                    "maximumOccupancy": 6,
                    "ownerRoom": false,
                    "keyOptions": [],
                    "turndownService": false,
                    "roomSection": {}
                },
                {
                    "roomType": {
                        "pseudo": false,
                        "suite": false,
                        "roomClass": "ALL",
                        "houseKeeping": true,
                        "maximumOccupancy": 6,
                        "accessible": false,
                        "roomType": "CLASSIC",
                        "meetingRoom": false
                    },
                    "roomDescription": "Classic Room",
                    "description": {
                        "defaultText": "Classic Room",
                        "translatedTexts": []
                    },
                    "accessible": false,
                    "roomId": "1",
                    "meetingRoom": false,
                    "roomComponents": [],
                    "rateAmount": {},
                    "maximumOccupancy": 6,
                    "ownerRoom": false,
                    "keyOptions": [],
                    "turndownService": false,
                    "roomSection": {}
                },
                {
                    "roomType": {
                        "pseudo": false,
                        "suite": false,
                        "roomClass": "ALL",
                        "houseKeeping": true,
                        "maximumOccupancy": 6,
                        "accessible": false,
                        "roomType": "CLASSIC",
                        "meetingRoom": false
                    },
                    "roomDescription": "Classic Room",
                    "description": {
                        "defaultText": "Classic Room",
                        "translatedTexts": []
                    },
                    "accessible": false,
                    "roomId": "100",
                    "meetingRoom": false,
                    "roomComponents": [],
                    "rateCode": "EURO",
                    "rateAmount": {
                        "amount": 100
                    },
                    "maximumOccupancy": 6,
                    "ownerRoom": false,
                    "keyOptions": [],
                    "turndownService": false,
                    "roomSection": {}
                },
                {
                    "roomType": {
                        "pseudo": false,
                        "suite": false,
                        "roomClass": "ALL",
                        "houseKeeping": true,
                        "maximumOccupancy": 6,
                        "accessible": false,
                        "roomType": "CLASSIC",
                        "meetingRoom": false
                    },
                    "roomDescription": "Classic Room",
                    "description": {
                        "defaultText": "Classic Room",
                        "translatedTexts": []
                    },
                    "accessible": false,
                    "roomId": "101",
                    "meetingRoom": false,
                    "roomComponents": [],
                    "rateAmount": {},
                    "maximumOccupancy": 6,
                    "ownerRoom": false,
                    "keyOptions": [],
                    "turndownService": false,
                    "roomSection": {}
                },
                {
                    "roomType": {
                        "pseudo": false,
                        "suite": false,
                        "roomClass": "ALL",
                        "houseKeeping": true,
                        "maximumOccupancy": 6,
                        "accessible": false,
                        "roomType": "CLASSIC",
                        "meetingRoom": false
                    },
                    "roomDescription": "Classic Room",
                    "description": {
                        "defaultText": "Classic Room",
                        "translatedTexts": []
                    },
                    "accessible": false,
                    "roomId": "102",
                    "meetingRoom": false,
                    "roomComponents": [],
                    "rateAmount": {},
                    "maximumOccupancy": 6,
                    "ownerRoom": false,
                    "keyOptions": [],
                    "turndownService": false,
                    "roomSection": {}
                },
                {
                    "roomType": {
                        "pseudo": false,
                        "suite": false,
                        "roomClass": "ALL",
                        "houseKeeping": true,
                        "maximumOccupancy": 6,
                        "accessible": false,
                        "roomType": "CLASSIC",
                        "meetingRoom": false
                    },
                    "roomDescription": "Classic Room",
                    "description": {
                        "defaultText": "Classic Room",
                        "translatedTexts": []
                    },
                    "accessible": false,
                    "roomId": "103",
                    "meetingRoom": false,
                    "roomComponents": [],
                    "rateAmount": {},
                    "maximumOccupancy": 6,
                    "ownerRoom": false,
                    "keyOptions": [],
                    "turndownService": false,
                    "roomSection": {}
                },
            ],
            "hotelId": "{{HotelId}}"
        }
    ],
    "links": []
}}