Click on images to see them in full screen
The Door Tablet server interfaces with the world’s most common platforms: MS Exchange, IBM Domino and Google Calendar. Many other scheduling systems could also be integrated with Door Tablet using the interface defined here. Our software makes little demand on your system as most of Door Tablet functionality is contained within it. For the purpose of this document, your scheduling system is the "target server".
What does Door Tablet require from your system?
Why use the DTSI
If you have an in-house developed system or a facilities system that you would like to connect to Door Tablet, you do not need to engage in complicated integration challenges. Simply ask your in-house developers to implement the interface as defined here and Door Tablet will work right away. This also eliminates the need for you to make any part of your existing system available to us. Furthermore, the requirements are simple and low cost thus enabling you to deploy Door Tablet easily, and in a short time.
Read only implementations
We introduced the concept of a Read Only interface where a DTSI does not offer the ability to create appointments, or modify them in any way. The Read Only implementation also prevents the automatic termination of appointment or the ability to extend these. One reason to have a Read Only system is that it is simpler and costs less to implement. You may also wish to use this capability as a way to phase the implementation of a full DTSI response from your server.
Configure Door Tablet
If the target system responds exactly as defined by this document, no further work will be required when deploying Door Tablet. When configuring Door Tablet select the following technology: "Door Tablet Standard Interface (DTSI)" and add the following parameters: URL, Username, Password and Account. Now click on "Check connection" – Door Tablet will attempt access to the target system by reading the list of resources and reporting back on what was found.
Test your connectivity
Once you have finished your implementation of DTSI you are ready to test it. Note: the test only applies to the meeting space list.
This standard defines a common set of technologies used in the interface. Unsurprisingly, communication with your system is over HTTP/S. Requests are made using HTTP GET and responses are in JSON. Each call to the target system is made by the Door Tablet server that acts as a proxy for all the Door Tablet client applications, but for your system it is a client. The Door Tablet client applications are not aware of your scheduling system and any of its characteristics.
About your Server
As Door Tablet communicates with your server over HTTP/S, it is important to clarify some points, listed below. For the IT professionals that will be a given, but we think it is worth mentioning. So, your server:
- Meeting spaces - a list of meeting spaces which participate
- Meetings - the list of reservations or meetings which are confirmed for a resource on a particular day, by default today
- Create - insert a reservation for a given resource that starts now and lasts x minutes (not required for Read Only)
- Update - given a reservation, change its end time to terminate or extend it (not required for read only)
This interface refers to parameters, both when posting and receiving responses. In all cases parameters are written in lower case. Time arguments are in the ISO 8601 format ("2015-05-23T18:25:43.511Z"). Date arguments are in the truncated version of time ("2015-05-23"). All returned variables are strings unless explicitly defined otherwise. For example error_cd is an integer.
Each call made to the target server is made out of two parts:
- May be anywhere – on premise, on the cloud, hosted by you or others
- Run on any computer with any OS
- May run any other application
"Read Only" Appointments
Note: for a Read Only Appointments system, the server must implement only two calls listed ahead: rooms and meetings.
Responses from your server
Responses to calls made to the target system are expected to be in JSON, if the server returned HTTP 200. Each action will elicit a different response from the target system. The response can be either a good or bad one. A bad response will be when the target system is not happy to communicate with the source system (Door Tablet). For example, if the credentials provided by the source system are not acceptable by the target, a bad response will be generated:
|The fix part:|
|Base HTTP: protocol, host, port, root|
|The variable part:|
|action: the name of the action you wish to perform|
|the list of parameters depends on the action you wish to perform|
message: "Access Denied – please contact the administrator",
As you can see the response is in JSON format. For readability we are not showing the double quotes surrounding parameter names, for example "version".
Each response has three fixed parameters: ok, version and time. The ok parameter is a Boolean with two values, true or false. If the value returned in ok is false, Door Tablet will consider it an error response and will refer to the message. The version is, well, the version. The time parameter should be the time the JSON was generated in ISO 8601 format or Epoch format.
Calls to your server and Responses from your server
Door Tablet makes specific calls to the target system.
|rooms - get a list of rooms/resources which may be used for bookings|
Array of "rooms", each with the following parameters:
|room||the id of the room or resource which uniquely identifies it in the target system|
|name||the name of the room|
|location||where the room is|
|capacity||how many people can be accommodated in the room/resource. Integer|
|groups||a comma delimited list of group name the resource is in|
|Example Response from your server:|
name: "Blue Room",
name: "Green Room",
|meetings - returns an array of meetings scheduled for a particular room|
date (optional – if not listed assume today)
Array of "meetings", each with the following parameters:
|id||a unique meeting ID on the target system|
|start||the start time of the meeting in ISO 8601 format|
|end||the end time of the meeting in ISO 8601 format|
|subject||the subject of the meeting|
|owner||the name of the person who own the meeting (Chair)|
|owneremail||the email address of the meeting owner|
|participants||number of all attendees, integer|
|isprivate||indicates if the meeting is private, true/false – Boolean|
|Example Response from your server:|
subject: "Marketing Review",
owner: "John Travolta",
subject: "Marketing Review – phase 2",
owner: "John Travolta",