Table of Contents

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

  1. RSI will be an IVR application hosted on the DuVoice Hospitality Server (DHS).
  2. DHS will not be required to support VM/AA.
  3. RSI may be configured for specific ports or accessible via the standard DHS interface.
  4. The PBX may use a digital or analog interface.
  5. RSI will not require caller ID support from the PBX.

Revision History

VersionReleasedChanges
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 </xml> 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

<?xml version="1.0" encoding="ISO-8859-1"?>
<room_status>
    <room number="7101" date="20180208" time="15:15:26" description="" attempt="0" sequence="1">
        <status code="5" description="Vacant Inspected"/>
        <user id="100">
                <fname>Dean</fname>
                <lname>Venture</lname>
        </user>
    </room>
</room_status>        

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