One QR per physical table. Branch, table, floor, and default staff are baked into the link — the guest never types any of it.
Location & staff
Geofence (order only allowed nearby)
📍 Xon will refuse to take an order if the guest's phone reports a location outside this radius from the branch coordinates above.
Realistic voice (optional)
Without this, Xon uses your browser's own text-to-speech, which sounds synthetic. Add an ElevenLabs (or compatible) API key here and Xon speaks with a real, natural-sounding voice instead — everything else about the agent stays the same.
🔑 The key is stored only in this browser's local storage for this demo, never sent anywhere except directly to ElevenLabs' own API. Get a key and voice ID at elevenlabs.io — make sure you copy the actual API Key (starts with sk_, shown once when the key is created/rotated), not the Key ID from the API keys list — those look similar but ElevenLabs will reject the ID with an "invalid_api_key" error. If the call fails for any reason (wrong key, network issue, rate limit), Xon quietly falls back to the browser voice — it never goes silent.
Generated link
Scanning this opens the same page you're on now, straight into the Xon Agent tab with this table's context already loaded.
—
Real AES-256-GCM encryption, not a toy cipher — done via the browser's native Web Crypto API, with a fresh random IV every time this link is generated. The one thing that doesn't change: the key lives in this page's own JS, so anyone reading the page source has it, same as any client-side "encryption" ever will. A real deployment should issue this as a short-lived, server-signed token instead (e.g. JWT or an opaque ID resolved server-side) so the key never ships to the browser at all.
Checking your location…
Xon
Hi — one second while I confirm you're at the table.
Xon
Tap the mic and tell me what you'd like.
Your conversation with Xon will appear here.
Tap to speak to Xon
Try: "two idly"
Browse the menu
⏳ Loading…
Order routing
Same Flow posts straight into the kitchen's live order queue. Separate Flow queues it for a staff member to review and accept first.
0
₹0.00
Outside table range
Xon
I can only take orders from inside the restaurant.