Home Use cases Restaurants

QR Menus for Restaurants

The menu code outlives the last time you signed in.

Café Luna, 12 Rue des Tournelles, Paris. Tuesday to Saturday, eight in the morning until eleven at night, closed Mondays. One laminated table tent per table, and four different things being served at four different times of day.

A table scans at

The rule engine

ScanEvery scan enters hereScheduleBreakfast · Lunch · Dinner · La…Breakfast · Lunch · Dinner · Late licence1BreakfastBreakfast2LunchLunch3DinnerDinner4Late licenceLate licenceEveryone elseEveryone elseBreakfast menuBreakfast menuexample.com/menu/breakfastexample.com/menu/breakfastLunch menuLunch menuexample.com/menu/lunchexample.com/menu/lunchDinner menuDinner menuexample.com/menu/dinnerexample.com/menu/dinnerLate listLate listexample.com/menu/lateexample.com/menu/lateHours and addressHours and addressexample.com/hoursexample.com/hours

What the scanner gets

Breakfast menu

Breakfast, because the window says so. Not because anybody edited the code this morning.

The windows pin the restaurant own timezone rather than the scanner one, which is what a venue with fixed opening hours wants: a guest whose phone is still set to another country still sees the menu actually being served. A range that crosses midnight wraps instead of splitting in two.

Get this wrong and a table sitting down at nine in the evening is reading the breakfast menu. The card is laminated; the rule is the only part still editable.

no subscription · pay per scan · nothing to cancel

The failure is not the code breaking. It is the code working, for somebody else.

A menu code gets set up once and then forgotten, which is exactly right and exactly what most billing models punish. In this category a lapsed account can mean the short URL is recycled and claimed by another customer, so a printed table tent later resolves to a stranger destination.

  • A short URL recycled after a lapse, so the printed card points somewhere that is not yours.
  • The code opens a lunch menu to a table sitting down at nine in the evening.
  • A price change means reprinting and relaminating every table.
  • A menu platform charges monthly per venue whether or not anyone scanned.

What Café Luna set up once, before the tents were laminated

  1. One window per service

    Breakfast, lunch, dinner and a late licence. Windows hold weekdays plus a from-to time and are matched in order.

    { "days": [2,3,4,5,6], "from": "11:30", "to": "15:00" }
  2. Pin the restaurant timezone

    A venue has fixed opening hours, so the window pins its own clock rather than following the scanner. A guest from abroad still gets the menu actually being served.

    { "tz": "Europe/Paris" }
  3. Then stop thinking about it

    Outside every service window the code opens your all-day page: hours, the booking link, the address. Never a menu for a kitchen with nobody in it.

What one laminated card handles by itself

  • Scans keep the account alive

    A code that is still being scanned keeps your account alive, whether or not you ever sign in. We measure the printed object, not the login.

  • The address is never reassigned

    A code is never recycled or handed to another customer. If a balance empties the code pauses, and any top-up resumes it on the same URL.

  • Service-aware menus schedule

    The same printed code opens breakfast, lunch, dinner or the all-day page depending on when it is scanned.

  • Price changes without reprinting

    The menu lives at a URL. Repointing the code costs nothing, so a Tuesday price change costs nothing in print.

  • Late licence in one window

    A bar menu from 23:00 to 01:00 is one window, because a range crossing midnight wraps.

  • No per-venue monthly fee

    1 credit to create the code and 1 credit per scan, on prepaid credits. A quiet January costs nothing.

Real previews

The menus a table tent opens

Four services, four pages, one printed code. Every frame below is rendered by the same code that answers a scan.

Lunch · Café Luna
Dinner · a tasting menu
Late licence · the bar list

These are not screenshots. Each frame is the page itself, rendered by the same code that answers a scan.

Questions

What happens to my table tents if I stop topping up?

On a paid account a grace period runs for 14 days or 5 percent of your last pack, whichever ends first. After that the code pauses and serves a branded page saying so. It is never deleted, the address is never given to another link, and topping up brings it back pointing exactly where it pointed before.

I set this up and never sign in again. Does it keep working?

Yes. A code that is still being scanned keeps your account alive, whether or not you ever sign in, because we measure the printed object rather than the login. An account only closes after six months with no sign-ins, no scans and no unexpired credits, and even then it is four emails and a one-click cancel first.

Do I need a separate code for lunch and dinner?

No. One code with several schedule windows opens whichever menu is being served, which is the whole reason to use a schedule rule rather than printing two table tents.

Do I have to build the menu on your platform?

No. The code points at a URL, so a PDF, your own site or a hosted page here all work. Hosted pages are available and priced separately from the code.

If I add a Sunday brunch next spring, do I reprint?

No. A new window is an edit to the rule, and the tent on the table does not know how many services you run.