Table
The Table
object is used to represent physical tables in your EPOS system.
Operations
Because Tables is a WebSockets Async API, each of these table operations has both a SUB (subscribe) as well as a PUB (publish) message. The subscribe messages are the requests, while the publish messages are the responses.
There are three table operations included in the Tables API:
GetTable
retrieves detailed information about a specific table.ListTables
provides a list of tables as specified by the parameters. If no parameters are set, alistTablesRequest
will return a list of all tables.
Name
The tableName
is a human-readable, unique identifier, stored on the EPOS level.
It is essential that the table name does not contain the sequence of characters: ' - ' (whitespace, hyphen, whitespace). This restriction ensures compatibility with Dojo's card terminals, which use the format of "${Table.name} - ${Session.name}"
to represent any session with a table.
Ensure that when you assign a Session
to a Table
that the Table.name
matches the Session.tableName
.
Covers
The EPOS should accurately report the maximum amount of covers available on a table, so that there is always a full picture of maximum capacity.
Status
The status of a table allows consumers of the Tables API to understand the currently available cover count at any given time:
TABLE_STATUS_NOT_IN_USE
- The table is currently not in use, such as when a restaurant's terrace space is closed for the winter.TABLE_STATUS_AVAILABLE
- The table is prepared and available for new customers.TABLE_STATUS_OCCUPIED
- The table is currently occupied by a customer or group of customers who are dining at it.TABLE_STATUS_PENDING_AVAILABLE
- The table is unoccupied but not yet fully ready for customers to be seated, potentially requiring cleaning or other preparations.