Maid status changes are maid via the mailbox resource API.
The mailbox is the basic unit for managing subscribers, guest rooms and system (auto attendant) menus within the DuVoice system. In cases of hospitality systems the mailbox number is typically configured to match the room number. In some cases it's configured as the primary extension number.
Maid status is changed via the same methods as a mailbox, however maid status is dependent on the hospitality configuration settings and the PMS configured. Because of this it can take more calls to change the maid status if they are not already configured in your application.
If your application doesn't have the ability to configure what codes should be sent, then they must be retrieved by first performing a GET on the specific mailbox (room) then retrieving the tenant information for that mailbox using it's tenant field.
The maid code settings typically do not change once configured and in many cases are the same regardless of PMS installed. It's therefore possible to read the maid status types and cache them if needed.
When a mailbox (room) has it's maid status changed, that information is immediately sent to the PMS.
curl -i -X PUT http://127.0.0.1:10022/rest/mailbox/7101 -d "maidStatus=2" -u user:password
HTTP/1.1 200 OK Date: Fri, 27 Sep 2019 18:41:24 GMT Connection: Close Content-Language: en Server: DuVoice/6.03.32 DVREST/6.0.1 Access-Control-Allow-Origin: * Location: 127.0.0.1:10022
In order to get the correct maid codes for a particular room you must know the room's tenant id. A tenant can represent individual buildings, hotels or even different sections of the same hotel. For more information on how tenants are configured and used see here.
Tenant ID's are unique and will never change. The ID for each tenant is displayed in the system configuration.
curl -i -X GET http://127.0.0.1:10022/rest/mailbox/7101 -u user:password
HTTP/1.1 200 OK Date: Fri, 27 Sep 2019 18:11:20 GMT Connection: close Content-Language: en Server: DuVoice/6.03.32 DVREST/6.0.1 Access-Control-Allow-Origin: * Location: 127.0.0.1:10022 Content-Type: application/json Content-Length: 675 { "arrivaldate" : "", "callScreening" : false, "checkedindate" : "", "checkedoutdate" : "", "cosname" : "guest", "created" : "20190604215303759", "custominfo" : [ ], "departuredate" : "", "description" : "", "directory" : true, "dnd" : false, "firstName" : "Brock", "greeting" : 0, "id" : "7101", "language" : 0, "lastLogin" : "", "lastName" : "Sampson", "maidStatus" : 0, "modified" : "20190927110847951", "occupied" : false, "pmsGuest" : "", "restriction" : "", "roomid" : "7101", "tenant" : "8b9a6860-4a38-11e7-b52d-902b34db254e", "textCount" : 0, "title" : "Mr", "tutorial" : false, "type" : 5, "vip" : false }
In order to retrieve the maid codes for any particular tenant the GET method is used for the tenant resource.
The tenant configuration has multiple settings, in this case only the array of maidcodes is needed. The id field is what you would send to change the maid status of a mailbox (room).
Name | Type | Description |
---|---|---|
description | string | Description of this code. |
id | int | Maid code. |
pbx | string | Code sent to PBX. |
pms | string | Code sent to PMS. |
curl -i -X GET http://127.0.0.1:10022/rest/tenant/8b9a6860-4a38-11e7-b52d-902b34db254e -u user:password
HTTP/1.1 200 OK Date: Fri, 27 Sep 2019 18:35:07 GMT Connection: close Content-Language: en Server: DuVoice/6.03.32 DVREST/6.0.1 Access-Control-Allow-Origin: * Location: 127.0.0.1:10022 Content-Type: application/json Content-Length: 835 { "hospitality" : { "description" : "Primary PMS", "enabled" : true, "id" : "1", "maidcodes" : [ { "description" : "Dirty", "id" : "0", "pbx" : "", "pms" : "0" }, { "description" : "Clean", "id" : "1", "pbx" : "", "pms" : "1" }, { "description" : "In progress", "id" : "2", "pbx" : "", "pms" : "2" }, { "description" : "Maintenance", "id" : "3", "pbx" : "", "pms" : "3" }, { "description" : "Out of service", "id" : "4", "pbx" : "", "pms" : "4" } ], "protocol" : "DV Advanced", "restrictions" : [ ] }, "id" : "8b9a6860-4a38-11e7-b52d-902b34db254e", "name" : "Sound Casino" }