POS Events
POS Events are notifications about changes relating to entities which are owned by the POS system and allow Dojo products to be able to react in near real time. These events are sent by the POS system to Dojo via the submit event endpoint in the Dojo API.
Each event payload only contains the eventType
and the entity id
, this minimal simple model has been chosen for the following reasons:
- Simplifies the implementation of sending events about entities whenever they are updated on the POS system.
- Reduces the risk of events with outdated data being processed by Dojo, instead Dojo will fetch the latest version of an entity via the relevant capability if required.
The POS Events API does not differentiate between created and updated events, as Dojo products do not require this distinction. When an entity is created on the POS system, an updated event is expected to be sent. In cases where an entity is deleted/cleared from the POS system an updated event should also be triggered. When a Dojo product attempts to fetch an entity and receives a not found error, the product will assume that the entity no longer exists on the POS system.
The difference between these events and Dojo Events is that these events pertain to entities owned by the POS system and are sent from the POS system to Dojo. In contrast, Dojo Events pertain to entities owned by Dojo and are sent from Dojo to the POS system.
Event Types
Below is information about the various event types that can be sent by the POS system to Dojo, including when it is expected to be sent by the POS system, and links to the relevant entity documentation.
Event Type | Description |
---|---|
OrderUpdated | Whenever an order on the POS system is created or changed, a change could be due to adding/removing items on the order, changing the price or quantity of an item, or auxiliary information such as the note on an order changing. Dojo expects to receive this event as different products may require up to date information. |
PartyUpdated | Whenever a party on the POS system is created or changed, a change could be due to the status of the party changing if they were to leave the venue or changed hostNotes after a waiter records information about the party. |
ReservationUpdated | Whenever a reservation on the POS system is created or changed, a change could be due to the startTime /endTime of a reservation being updated or the assigned tableIds being changed due to a different reservation requiring one of the tables. |
API
POST REST /epos/events
This allows a POS system to send events via the Dojo API, more information about getting started with the Dojo API can be found here.