Hospitality · Features

Five capability chapters of
the dining vertical adapter.

Explore stateless seating check-ins, decline safety counters, stream updates, and table cleanup flows.

01

Stateless QR Seating Intake — lightweight connections

Guest devices connect directly to our API gateway via table-specific QR links, bypassing legacy middleware servers.

fig 01 · stateless seating gateway table QR link /hospitality/table_14 payload: table_id=14 Stateless Gateway Routing bypass middleware · directly binds table to localStorage cache cache = { active_order: null } client load rendered ✓ table_14 menu active idempotency token created
table QRdirect routingclient load

Direct gateway routing

QR codes map tables immediately to browser states, avoiding intermediate translation layers.

browser cacheread catalogrendered ✓

Stateless client storage

Maintains catalog configurations and pending carts in localStorage, preventing database bloat.

checkout keycreate ordersent ✓

Idempotent cart checkout

Pushes orders directly to Billing with unique transaction keys, ensuring zero duplicate bills.

02

Decline-Sensitive Upsell scoring — non-intrusive pushes

Maximize sales without driving guests away. The upsell algorithm measures suggestions and stops when decline limits are hit.

fig 02 · fatigue protection limits recommendation pairing main course: steak suggest: cabernet Redis Decline Threshold decline_count_01: yes decline_count_02: yes decline_count_03: yes [limit reached] HALT PUSHES suggestions suppressed ✗ fatigue protection active
item checkscoring indexsuggested

Ecosystem scoring index

Pulls pairings dynamically from catalog configuration metrics (e.g., wine pairing with mains).

decline logincrementcount: 1

Decline counter cache

Maintains counter scores in Redis session memory to monitor customer fatigue levels.

check countlimit checkshalted ✗

Safety cut-off limit

Terminates recommendations when the decline count hits three, preserving a smooth dining experience.

03

SSE Operator Stream — real-time monitoring feeds

Broadcasts kitchen and table updates directly to service tablets via clean server-sent streams.

fig 03 · SSE operator stream order.placed trigger table_14 · items: 4 sub-10ms DB commit Server-Sent Events Pipeline HTTP text/event-stream · sub-100ms propagation keep-alive: active pushed to dashboard ✓ kitchen tablet update latency: 48ms
connectkeepaliveopen stream

Persistent SSE pipeline

Establishes low-overhead HTTP connection channels for immediate message delivery.

json eventdispatchpushed ✓

Immediate data updates

Pushes orders, seating checks, and table status triggers to dashboards in sub-100ms.

disconnectretry headerrestored

Failsafe reconnect hooks

Automatically rebuilds pipeline connections if restaurant WiFi drops, ensuring zero missed events.

04

Database Turnover Release — automated status loops

Updates table availability in Calendar immediately when bills commit, reducing guest waiting times.

fig 04 · database turnover releases bill.settled commit POS payment settled amount: ₹4,290 PostgreSQL release_table() trigger resets Calendar block status · updates table_id capacity state = available SK Calendar release ✓ table_14 is available Queue waitlist alerted
bill.settledDB triggerfired ✓

Trigger-driven releases

Uses native PostgreSQL triggers to detect paid checks instantly, bypassing custom API hooks.

free tableCalendar slotavailable ✓

Integrated Calendar sync

Resets block timelines inside SK Calendar atomically, preparing tables for the next booking.

release eventalert Queueallocated ✓

Waitlist allocation checks

Queries SK Queue instantly to notify the next matching walk-in party waiting in line.

05

Redis Single-Use OTPs — session protection gates

Pins guest sessions to physical tables using temporary verification tokens to block cross-table order injections.

fig 05 · single-use Redis session keys guest OTP verification SMS verification prompt table: 14 Redis OTP Check & JWT Binds deletes OTP instantly after read · binds session JWT to table_id token: verified (expire 120s) session locked ✓ blocks cross-table injection tamper-proof bounds
issue OTPRedis writeissued ✓

Single-use Redis tokens

Stores numeric OTPs with a brief 120-second expiration to guard guest table registrations.

verify OTPvalidate keycleared ✓

Auto-cleanup keys

Deletes OTP references from Redis cache memory instantly on validation, preventing code reuse.

session JWTbind table_idlocked ✓

Table-locked sessions

Binds the guest session token to its physical table ID, blocking cross-table ordering attempts.

Looking for developer setup details?

API specifications, Redis templates, and SSE event formats live on the developers page.

Developers →

Smart guest dining adapters change everything.

Add Hospitality to the Core Suite subscription and scale restaurant operations smoothly.

Start free  Compare alternatives →