Skip to content
FunctiesPrijzenPartnersBlogHelpOver onsContact
Aan de slagInloggen
Terug naar Blog
tips2026-07-295 min. leestijd

Lightspeed K-Series: menu-items automatisch grijs zodra voorraad op nul staat

Hoe een poke bowl-keten in Amsterdam Lightspeed Restaurant K-Series via WebSocket aan thMenu koppelde voor sub-seconde sold-out badges op 18 vestigingen.

th

thMenu Team

thmenu.com

In Amsterdam liep de zalm halverwege de lunch op, maar het digitale menu wist het pas 20 minuten later. Met thMenu gekoppeld aan Lightspeed K-Series WebSocket verschijnt het grijze "Vandaag uitverkocht"-label nu 280ms na voorraad nul. Restituties voor verkeerde bestellingen daalden 94%.

WebSocket-persist in plaats van 5s polling

Permanente verbinding met /inventory-events via Cloudflare Durable Objects, een socket per vestiging. 18 sockets passen ruim in 32 KB geheugen.

Alleen de laatste SKU-snapshot in geheugen, geen historie — push-update met sub-seconde latency, geen polling.

Grijs label, niet verwijderen

Kaart blijft zichtbaar met opacity 0.5 en label "Vandaag uitverkocht". Gast ziet de foto, komt morgen terug. Add-to-cart krijgt pointer-events:none.

  • Kleur: antraciet (#3a3a3a), nooit rood.
  • Animatie: 220ms cross-fade.
  • Allergenenfilter: uitverkocht blijft zichtbaar, alleen niet bestelbaar.

Edge case: ober annuleert

Een ober annuleert 1 zalm, Lightspeed zet voorraad terug op +1, maar de keuken heeft de laatste portie misschien al klaargemaakt. Oplossing: handmatige sold-out lock. Manager zet "uitverkocht" handmatig aan, WebSocket-events worden genegeerd tot vrijgave. Opgeslagen in manual_soldout_until, 23:00 cron ruimt na service op.

Geen spookbestellingen meer met "voorraad 1, realiteit 0".

FAQ

L-Series compatibel? Nee — L-Series doet alleen REST polling. K-Series heeft WebSocket.

Als de socket valt? Exponentiele reconnect 1s/2s/4s/8s plus REST-fallback elke 5 minuten.

Welk plan? Pro en Platinum. Starter behoudt handmatige toggle.

Was dit nuttig? Deel het.