Integrate Protel

Basic architecture

The NETx Server provides an interface which can be used to integrate information from the hotel management system Protel. Using this interface, information about the check-in/check-out procedure, the hotel guests and the hotel room states can be retrieved. In addition, it is also possible to send dedicated information from the NETx Server to the Protel system. This interface for the NETx Server is certified by Protel. 

The following figure shows how the integration has to be done.

The communication between the Protel and the NETx Server is based on TCP/IP. In detail, the Protel side acts as a TCP server and the NETx Server acts a TCP client. The protocol itself is based on a communication standard called FIAS.

FIAS is a common protocol for interfacing with hotel management system. Many other vendors for hotel management system are also using FIAS. If you have to integrate a hotel management system other the than supported ones, please contact the team of NETxAutomation.

Integration steps

To start, open the BMS Studio. First, configure the IP address and port number that you have enter within the web service URL.This can be done by selecting "Driver Configuration" within the menu "Modules" -> "Protel". If this information is not known, please ask the Protel integrator.

In addition the IP address and the port number, there are several configuration options which depend on the IFC settings at the Protel side. Normally, you can leave the default options. If the communication is not working correctly, please ask the Protel integrator whether "LRC" or "Use Ack" option have to be used.

Then, the used hotel rooms have to be defined. This is done within the "Room definitions" within the menu "Modules" -> "Protel ". Each definition line corresponds to one room. The first column defines the room name. The room name must be unique and must identically be the name that is used within the Protel system. If you do not know them, please ask the Protel integrator for the room list.

The next two columns "Building Name" and "Floor Name" are used to define an optional structure within the item tree. "Description" is used to provide additional information which is stored within the item property "Description".

After having defined all rooms, the NETx Server has to be restarted. Afterwards, the configured devices are shown within the item tree. You will find the items under the sub tree "NETx\XIO\Protel". 

The retrieved information from Protel is stored as Server Items. Here all available Server Items that are available for each room are listed (including their access rights):

  • BuildingNumber
    • String, read only
    • Specified within Room Definitions within NETx Server
  • LevelNumber
    • String, read only
    • Specified within Room Definitions within NETx Server
  • RoomNumber
    • String, read only
    • Specified within Room Definitions within NETx Server. Must be identically with the room number used within Protel
  • Description
    • String, read only
    • Specified within Room Definitions within NETx Server
  • GuestsCount
    • UINT8, read only
    • Amount of guest that are checked in for this room
  • GuestName
    • String, read only
    • Guest name that is received from Protel
  • GuestLanguage
    • String, read only
    • Language code that is received from Protel . E.g. de, en, es, ...
  • GuestVIP
    • UINT8, read only
    • VIP status that is received from Protel
  • GuestId
    • String, read only
    • Reserveration / guest ID
  • RoomCheckedForecast (only available if enabled in "Driver configuration...")
    • Boolean, read only
    • True if there is a forecast check in for this room – False if room not
  • RoomChecked
    • Boolean, read only
    • True if at least 1 guest is check in this room – False if room is free
  • ClassOfService (read only)
    • UINT8, read only
    • Received from Protel . 0 (Barred/hotel internal only), 1 (local), 2 (national), 3 (no restrictions)
  • DoNotDisturb 
    • Boolean, read only
    • True if DND is received from Protel  – False otherwise
  • RoomStatus
    • UINT8, read and writable
    • See table below
  • ClearText
    • String, read and writable
  • GuestArrivalDate
    • DateTime, read only
    • Arrival data and time of guest. Normally this is equal to the checkin data and time. Please keep in mind that Protel is not providing an arrival date before the checkin signal
  • GuestDepartureDate
    • DateTime, read only
    • Scheduled depature data and time of guest.
  • PrinterPort
    • UINT8, read only
  • MessageCount
    • UINT8, read only
    • Amount of messages that are available for this room
  • NextMessage
    • Boolean, write only
    • If set to true, the next message that is queued within the server is shown within the server item "MessageText"
  • MessageText
    • String, read only
    • Last message that was received from Protel
  • GetMessage 
    • Boolean, write only
    • If set to true, all available messages are fetched from Protel and stored within the server. Using the item "NextMessage", these messages can be shown within the item "MessageText"
  • SendMessage 
    • String, read and writable
    • Used to send a message to Protel for this room
  • MessageLightStatus
    • Boolean, write only

Note that this list of data points is fixed by Protel  – not by the server.

The room status is a very important information which can also be changed from the server side. Protel specifies the following predefined values:

CodeRoom status
1Dirty/Vacant
2Dirty/Occupied
3Clean/Vacant
4Clean/Occupied
5Inspected/Vacant
6Inspected/Occupied

These are the predefined room states that are available within Protel . However, it is possible to specify additional room states for additional functionality. For example, further states for "Do not disturb" or "Make up room" can be defined. Using this additional room states, it is possible  to send additional information from the BMS to the Protel system. A typical use case is to add a KNX switch for DND that sends a user-defined room status (e.g. 7 "DND) to the Protel system. These additional room states have to configured within Protel by the Protel integrator.

Forecast check in

Protel provides the possibility to get the check-in signal before the hotel guest does the real check-in at the hotel reception. If the time interval for this so called "forecast check-in" is set to, for example, 6 hours, this "forecast check in" can be used to enable the HVAC system for the dedicated room in advance. This has the advantage that there is already a comfort room temperature when the guest arrives at his or her room.

In order to use this functionality, the "forecast check-in" has to be enabled within the Protel software. For more information, please contact the Protel technical team.

If the "forecast check in" is enabled at the Protel side, you can enable it with the NETx Server, too. To do so, open the driver configuration menu within the studio and set the option "Enable forecast check-in" to true.

After having restarted the server, you will get for each room two check-in/check-out server items:

  • RoomCheckedForecast: this item changes from false to true, when a "forecast check-in" signal is received from Protel. The time interval for sending it before the real check-in can be set within the Protel system (not within the NETx Server). Obviously, a forecast check-in is only received if there is reservation within Protel. During a check-out, the item changes from true to false.
  • RoomChecked: when there is a real check-in e.g. the hotel guest arrives at the hotel reception for check-in, this item changes from false to true. During a check-out, the item changes from true to false.

Adding control functionality

After having configured the Protel interface, the provided data points can be linked to other data points within the server. You can use V-Links, Server Tasks, LUA script or XLogic commands for providing this functionality.

A typical use case would be the mapping of the RoomCheck item from Protel to a data point like the set point or the mode of the room's climate control. For implementing this use case, a predefined XLogic command called "HotelCheckInCheckOut" is already included within the server. Open the XCommand Event Definitions (BMS Studio --> Extensions) and add a new definition line. Give the logic a name (e.g. Room101), select "ON_VALUE_CHANGE" as type and select the XLogic "Hotel.CheckInCheckOut". Within the configuration dialog, select the input item (e.g. NETx\XIO\Protel\PartA\Floor1\101\RoomChecked) and as output the data point that shall be controlled by the checkin/checkout signal (e.g. KNX group address of the set point of the room). The following screenshot shows an example:


Repeat these steps for a hotel rooms. After having finished all definitions, restart the server.

To add additional definitions in a more easier and faster way, you can use the export/import to MS Excel function of the definition table.

Article applies to the following products:

  • NETx BMS Platform
  • NETx Multi Protocol Server
  • NETx BMS Server 2.0