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.