Skip to main content

09. Use Device Router

Date: 2025-03-04

Status​

Accepted

Context​

We need to be able to communicate between the cashchanger plugin and each cashchanger device. We need to be able to send commands to the cashchanger device and receive responses from the cashchanger device.

Decision​

We will use a device router to communicate between the cashchanger plugin and each cashchanger device. The device router will be responsible for sending commands to the cashchanger device and receiving responses from the cashchanger device.

Consequences​

We will have only one router implementation for all in-store devices (Checkout Light API, Printer, Scanner & Scale, Cash changer, Local Payment). This will allow us to have the same logic in the cloud, edge, and local.

However, this will also mean that we will have a single point of failure. If the router fails, then all devices will be affected. We will need to ensure that the router is highly available and reliable.