Get Table
Pay at Table integrations are currently standalone from Pay at Counter and Online payments. This is because the current version of the Tables API uses an asynchronous WebSocket protocol for its messaging.
The GetTable
operation requests information about a single table.
To retrieve information about multiple specified tables, use ListTables
.
- SUB /GetTable
- PUB /GetTable
A request from Dojo for a table:
- Receive a
getTableRequest
from Dojo. - If the specified table does not exist, the EPOS should send an Error response with the code
TABLE_NO_SUCH_TABLE
. - Otherwise, if the table exists, the EPOS should respond with a
getTableResponse
.
{
"jsonrpc": "2.0",
"id": "b02c1f76-c7f7-4259-a826-4eff4792ccd1",
"method": "GetTable",
"params": {
"name": "TBL 101",
"requestorInfo": {
"requestorType": "REQUESTOR_TYPE_CARD_MACHINE",
"cardMachineRequestorInfo": {
"terminalId": "123123",
"waiterId": 1
}
}
}
}
The request specified that it was searching for TBL 101
and the response contains relevant information, including how many people can be seated at the table at once (maxCovers
)
and its current status (TABLE_STATUS_OCCUPIED
). Because the request also named specific requestorInfo
parameters, this response also confirms that TBL 101
is associated with the
waiter associated with the waiterId
of 1
and the terminal with the terminalId
of 123123
.
{
"jsonrpc": "2.0",
"id": "b02c1f76-c7f7-4259-a826-4eff4792ccd1",
"result": {
"table": {
"name": "TBL 101",
"maxCovers": 5,
"status": "TABLE_STATUS_OCCUPIED"
}
}
}