====== Room Status ====== Room Status Interface (RSI) will provide a telephony interface for room status updates made by housekeeping. These updates will then be sent to the Jazz system via a network connection. RSI provides a web-based administration interface (InnDesk) for configuration of Rooms and User accounts. RSI can be installed as a stand alone service or combined with the DuVoice Hospitality Server (DHS) to provide VM/AA services. ===== Requirements ===== - RSI will be an IVR application hosted on the DuVoice Hospitality Server (DHS). - DHS will not be required to support VM/AA. - RSI may be configured for specific ports or accessible via the standard DHS interface. - The PBX may use a digital or analog interface. - RSI will not require caller ID support from the PBX. ===== Revision History ===== |**Version**|**Released**|**Changes**| | 201 | 2018/11/12 | Changed JSON format to match XML format. Removed post_date and post_time, because they were never in the original specification and could cause confusion having duplicate time and date fields. Added type field to the form format. | | 200 | 2016/01/30 | Updated to support new formats. | | 101 | 2011 | Initial release | ====== Protocol ====== Multiple formats are supported. ^ Format ^ Description ^ | JAZZ | Original format sent as an XML document including extra end node. | | XML | XML document. | | JSON | Post is sent as a JSON document. | | FORM | Post is sent as URL encoded form post. | If DuVoice is protocol is configured as //HTTP POST JAZZ// the server will add an invalid tag of to the end. This makes the post invalid XML, however the original version had this extra tag as a bug and it was requested it remain. For valid XML packets please use //HTTP POST XML//. ===== XML ===== ==== Syntax ==== === Room Status === ^ Attribute ^ Required ^ Description ^ | attempt | No | Attempt number. | | number | Yes | Room number. | | date | Yes | Date item was posted by user. YYYYMMDD. | | description | No | Description of the room. | | time | Yes | Time item was posted by user in 24 hour format. HH:MM:SS. | | sequence | No | Non-unique value between 1 and 2147483647 per-server instance. Once sequence number is equal to 2147483647 then number is reset back to 1. Was once used when sending multiple entries to the server in order to distinguish each individual posting. System now sends a single packet to the server for each charge making rescheduling and error detection better. | === status === User who posted the purchase. ^ Attribute ^ Required ^ Description ^ | code | Yes | Status code reported. | | description | Yes | Description of the code. | === user === User who posted the purchase. ^ Attribute ^ Required ^ Description ^ | id | Yes | User id. This can be either a number or name and is the users account name. However the data can be blank if not configured to require it. | ==== Example ==== POST /rsi/ Date: 2018-02-08T23:15:26Z User-Agent: DuVoice/6.01.19 RSI/200 Content-Length: 315 Content-Type: text/xml Connection: Close Host: 127.0.0.1:8080 Dean Venture ===== JSON ===== ==== Syntax ==== ^ Name ^ Type ^ Description ^ | attempt | number | Number of retries we've made. | | status | document | Details of status. | | date | string | Date item was posted by user. YYYYMMDD. | | description | string | Status description. | | id | string | Item id. | | room | string | Room number for charge. | | time | string | Time item was posted by user in 24 hour format. HH:MM:SS. | | user | document | User document containing who posted the charge. | === status === ^ Name ^ Type ^ Description ^ | code | string | Status code. Sent as a string to support codes like 001. | | description | string | Description assigned to this code. | ==== Example ==== POST /rsi/ Date: 2018-02-08T23:07:37Z User-Agent: DuVoice/6.01.19 RSI/200 Content-Length: 263 Content-Type: application/json Connection: Close Host: 127.0.0.1:8080 { "room_status" : { "room" : { "attempt" : "0", "date" : "20180208", "description" : "", "room" : "7101", "status" : { "code" : "5", "description" : "clean" }, "time" : "15:07:37", "user" : { "fname" : "Dean", "id" : "100", "lname" : "Venture" } } } } ===== Form ===== ==== Syntax ==== ^ Name ^ Type ^ Description ^ | attempt | number | What attempt is this. | | date | string | Date item was posted by user. YYYYMMDD. | | description | string | Status description. | | id | string | Item id. | | code | string | Status code. | | room | string | Room number for charge. | | time | string | Time item was posted by user in 24 hour format. HH:MM:SS. | | userid | string | User id of who posted the charge. | | fname | string | First name of the user who posted the charge. | | lname | string | Last name of the user who posted the charge. | ==== Example ==== POST /rsi/ Date: 2018-02-08T23:11:59Z User-Agent: DuVoice/6.01.19 RSI/200 Content-Length: 181 Content-Type: application/x-www-form-urlencoded Connection: Close Host: 127.0.0.1:8080 type="room_status"&room=7101&code=5&description=Vacant%20Inspected&description=&date=20180208&time=15%3A11%3A59&attempt=0&userid=100&fname=Dean&lname=Venture