Skip to main content
Internal API

This describes internal KDS functionality. Only the 6 core KDS endpoints (tickets, expo, bump, recall, void, priority) are exposed through the API gateway.

KDS Real-time Events

Subscribe to real-time KDS updates for live ticket state changes via WebSocket.

Subscription

// Subscribe to station events
ws.subscribe('kds', {
location_id: 'loc-xyz789',
station_id: 'station-grill'
});

Event Types

EventPayloadDescription
kds.ticket.createdFull ticket objectNew ticket routed to station
kds.ticket.startedTicket with started_atCook started working on ticket
kds.ticket.readyTicket objectItems complete, ready for pickup
kds.ticket.bumpedTicket with completed_atTicket completed and cleared
kds.ticket.recalledTicket objectTicket brought back for modification
kds.ticket.voidedTicket objectTicket cancelled

Event Payload Structure

{
"type": "kds.ticket.created",
"aggregate_id": "ticket-abc123",
"tenant_id": "tenant-xyz",
"payload": {
"ticket": {
"id": "ticket-abc123",
"order_id": "order-12345",
"station_id": "station-grill",
"status": "pending",
"items": ["..."],
"created_at": "2026-01-23T12:00:00Z"
}
}
}