Many of the restaurants we work with run point-of-sale software that was installed before smartphones existed. It works, the staff know it, and nobody is replacing it for us. So we integrate.
What we run into
- XML over SOAP, with schemas that differ per install.
- APIs reachable only from the restaurant's local network.
- Menu IDs that change when the manager reorders a category.
How we cope
Every integration sits behind an adapter that translates the POS into our own order model. The rest of the platform never sees vendor quirks. A small agent runs inside the restaurant network and holds an outbound connection to us, so we never ask anyone to open a firewall port.
- Normalize every inbound payload at the edge.
- Match menu items by fingerprint, not by vendor ID.
- Retry idempotently, because the POS will time out.
None of this is glamorous, but it is why an order placed online shows up in the kitchen.