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:
GetTableretrieves detailed information about a specific table.ListTablesprovides a list of tables as specified by the parameters. If no parameters are set, alistTablesRequestwill 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.