Docs / Hardware
Bring your own printer
The Adapter SDK — write 100 lines, get a new vendor on halopos.
If your printer isn't on the list, the Adapter SDK lets you ship a driver. The contract is in @halopos/adapter-sdk in the repo and lives under the Apache-2.0 licence. At a high level:
You implement
export interface Printer {
print(job: PrintJob): Promise<string>;
}One method. A PrintJob carries the payload kind (receipt, kitchen, test), the structured data (lines, totals, modifiers), and the tenant-scoped metadata (venue name, printed-at timestamp).
You return
A target URI the cloud logs for the audit trail (tcp://192.168.1.50:9100 or similar). Print failures throw; the bridge handles retry and queues the job for re-delivery.
Reference implementations
apps/bridge/src/printer/escpos-tcp.ts— Epson.apps/bridge/src/printer/star-tcp.ts— Star.apps/bridge/src/printer/bixolon-tcp.ts— Bixolon.
Three adapters, three pages of code each. The encoder sits in a separate file; it's pure and unit-tested.
Shipping as a partner
See Partners → Hardware vendors for the certification process and revenue-share terms.