====== Inventory ====== Inventory Status Interface (ISI) is a telephony interface allowing users the ability to report item and quantity information to remote servers. The original design was for reporting inventory of the room mini-bar by maid staff. However the interface has been designed to allow for any type of inventory reporting the user may have in mind. ===== Features ===== * No PMS required. * No VM/AA required. * No mailboxes required. * Unlimited number of user accounts. * Unlimited number of items. * Telephony interface uses user's configured language. * All items may have a recorded description in any language supported. * Reporting of all item and user changes made via web interface (InnDesk). * Support posting changes up to five remote servers simultaneous. ===== Requirements ===== Inventory Status Interface is a licensed feature and must be purchased from DuVoice on a per-site basis. ===== 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 ==== === inventory === ^ Attribute ^ Required ^ Description ^ | 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. | | Status | No | Room status as defined in the system configuration under hospitality. | | 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. | === item === Item information. ^ Attribute ^ Description ^ | id | Item ID entered by user. | | description | Item Description. (optional) | | price | Price of single item. | | quantity | Quantity of this item. | | category | Category name item has been assigned in InnDesk. (optional) | | catid | Internal ID of the category. (optional)| | catdesc | Description of the category defined in InnDesk. (optional)| === 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. | ==== Example ==== POST /isi/ Date: 2018-02-08T22:35:16Z User-Agent: DuVoice/6.01.19 ISI/200 Content-Length: 423 Content-Type: text/xml Connection: Close Host: 127.0.0.1:8080 Dean Venture ===== JSON ===== ==== Syntax ==== ^ Name ^ Type ^ Description ^ | attempt | number | What attempt is this. | | date | string | Date item was posted by user. YYYYMMDD. | | description | string | Mailbox description. | | id | string | Item id. | | price | string | Price per item. | | quantity | number | Number of items charged. | | 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. | ==== Example ==== POST /isi/ Date: 2018-02-08T22:48:49Z User-Agent: DuVoice/6.01.19 ISI/200 Content-Length: 284 Content-Type: application/json Connection: Close Host: 127.0.0.1:8080 { "inventory" : { "room" : { "attempt" : "0", "date" : "20180208", "description" : "", "id" : "41", "price" : "150.00", "quantity" : 1, "room" : "7101", "time" : "14:48:49", "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 | Mailbox description. | | id | string | Item id. | | price | string | Price per item. | | 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. | | quantity | number | Number of items charged. | ==== Example ==== POST /isi/ Date: 2018-02-08T22:56:05Z User-Agent: DuVoice/6.01.19 ISI/200 Content-Length: 203 Content-Type: application/x-www-form-urlencoded Connection: Close Host: 127.0.0.1:8080 type=inventory&room=7101&id=41&description=Cognac%20Croizet%20XO%2050ml&description=&price=150.00&date=20180208&time=14%3A56%3A05&attempt=0&userid=dean&fname=Dean&lname=Venture&quantity=1