====== Maid status ======
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 [[https://support.duvoice.com/vs6/manual/syscon/hosp/maidcodes|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.
== PMS ==
When a mailbox (room) has it's maid status changed, that information is immediately sent to the PMS.
====== Set maid status ======
==== Request ====
curl -i -X PUT http://127.0.0.1:10022/rest/mailbox/7101 -d "maidStatus=2" -u user:password
==== Response ====
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
====== Get mailbox tenant ======
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 [[https://support.duvoice.com/vs6/manual/syscon/tenants|here]].
Tenant ID's are unique and will never change. The ID for each tenant is displayed in the system configuration.
===== Example =====
==== Request ====
curl -i -X GET http://127.0.0.1:10022/rest/mailbox/7101 -u user:password
==== Response ====
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
}
====== Get maid codes ======
In order to retrieve the maid codes for any particular tenant the [[dev:rest:api:config:tenant:get|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. |
===== Example =====
==== Request ====
curl -i -X GET http://127.0.0.1:10022/rest/tenant/8b9a6860-4a38-11e7-b52d-902b34db254e -u user:password
==== Response ====
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"
}