Business tool builder

Swap the laminated menu for a QR menu
your floor staff keep current.

Describe your dishes, your service times and how the room is laid out, and Netiva’s AI agent builds a web app with a code for every table, allergen filters and a service board — in a live preview.

Starter prompt

Build a QR menu web app for a 40-seat bistro with a patio and a takeaway counter. Store each dish with its course, description, price, the allergens it contains and its diet tags, grouped into menus that carry the days and hours they run: breakfast until 11 a.m., lunch, dinner and a happy hour at the bar. Give every table, patio number and the counter its own code that opens whichever menu is serving at that moment. Servers sign in on a phone to mark a dish 86’d and it drops off the guest menu until they put it back. Add a dated specials menu and a language switcher.

Build it in Netiva Paste the prompt into a new workspace and adjust it to your business.
Overview

Who this QR menu is for

A laminated menu goes out of date the minute the kitchen runs out of halibut, and a PDF parked behind a QR code is barely better: it was laid out for print, and nobody on the floor can change it. A QR menu built with Netiva keeps every dish in a collection your team edits between services. Each table, patio number and the takeaway counter gets a code of its own, the menu that runs at that hour loads on the guest’s phone, and a server can take the halibut off in one tap.

Key features

What your QR menu can do

  • A code for every table and the patio

    Each table, bar stool, patio number and the takeaway counter is a record with a link of its own, so a guest who scans at table 12 lands on the menu you serve in that part of the room.

    • Codes grouped by area: dining room, bar, patio, takeaway counter
    • A print sheet that renders a code and label for every tent
    • The counter code pinned to a shorter takeaway list
    • Retired codes open a short note instead of a dead page
  • Menus that follow service times

    Breakfast, lunch, dinner and the bar list are separate menus, each with the days and hours it runs. A code resolves to whichever one is live when someone scans, and a dated specials menu sits above it on its day.

    • Days and service hours held on the menu, not on each dish
    • A specials menu with a single date, gone by the next morning
    • Saved views for the chef: everything running tonight, the whole bar list
    • A header note per menu for the service charge or advisory line
  • 86 it from the floor

    When the last duck goes, a server signed in on a phone marks it 86’d from the service board and the next guest who scans doesn’t see it. The dish stays in the collection, so putting it back is one tap.

    • Servers and bar staff sign in with their own accounts
    • Tonight’s dishes listed by course on one phone screen
    • A scheduled job that clears the 86s before first service
    • A morning email to the kitchen listing what’s still off
  • Allergen filters and second languages

    Every dish carries a contains line and the diet tags your chef stands behind before it goes on a menu, so a guest can hide anything with peanuts. The collection assistant drafts the Spanish or German for a bilingual server to check.

    • Filter by diet tag, or hide every dish that names one allergen
    • Translations drafted in bulk, then checked row by row — allergen line and diet tags too
    • Unchecked rows fall back to the original; menu headings live on the menu record
    • A saved view of dishes whose contains line is still blank, all kept off the menu
Data model

The collections behind it

Netiva keeps your records in built-in collections. Here’s a starting structure — the agent adapts it to your prompt, and you can change it any time.

Menus

One record per service, with the days and hours it belongs to.

  • Name (required) Breakfast, Lunch, Dinner, Bar list, Takeaway, Today’s specials Text
  • Serves on (required) Days of the week, e.g. Tue–Sun Text
  • Starts at (required) Time of day service opens, e.g. 11:30 a.m. Text
  • Ends at (required) Text
  • Runs on A single date for a specials or holiday menu; blank for a standing menu Date
  • Courses (required) Sections in the order they read: snacks, starters, mains, sides — one line per language Paragraph
  • Header note Allergy line, consumer advisory or service charge, written out in each language you run Paragraph
  • Live (required) Yes or no; no hides the menu from every code Text

Dishes

Every plate and drink, written the way a guest reads it on a phone.

  • Name (required) Text
  • Menus (required) Every menu this dish appears on; a lunch dish can also run at dinner Relation to Menus
  • Course (required) The section to file it under on each menu it appears on Text
  • Description (required) Paragraph
  • Price Blank for market-price and sold-by-weight items Number
  • Contains Every major allergen as served; name any shared fryer or bench rather than a bare “none” Text
  • Diet tags Vegetarian, vegan, gluten-free — plus a shared-fryer note where a tag would mislead Text
  • Availability (required) Off menu, on the menu or 86’d; only dishes on the menu with a contains line reach a guest Text

Translations

A second and third language for every dish, one row per dish per language.

  • Dish (required) Relation to Dishes
  • Language (required) Spanish, French, German — the languages your room actually gets Text
  • Name (required) Text
  • Description (required) Paragraph
  • Contains The contains line in this language; blank leaves the original wording showing Text
  • Diet tags The same tags in this language; blank falls back to the original too Text
  • Checked by The staff member who read the row, allergen line included; unchecked rows stay hidden Text

Table codes

Every printed code in the room, and the link behind it.

  • Label (required) What’s printed on the tent: Table 12, Patio 3, Bar 4, Takeaway counter Text
  • Area (required) Dining room, bar, patio or counter Text
  • Code (required) The last part of the link the tent points at, such as t12 Text
  • Pinned menu Blank to follow the clock; set it to hold a code on one list, as the bar tents usually do Relation to Menus
  • Active (required) Yes or no; retired codes stop resolving to a menu Text
  • Last printed So you know which tents predate the new links Date

Required field. Types are Netiva collection field types.

Screens

Pages and screens to start with

A typical first version. Ask the agent for more, or annotate the preview to change any of them.

  • Table menu

    What a guest sees after scanning: the menu live at that hour for that table’s area, by course, with diet and allergen filters and a language switcher.

    Public
  • Dish

    One dish in full — description, price, what it contains and its diet tags, in the guest’s language where a staff member has checked that row, in the original where not.

    Public
  • Service board

    Tonight’s dishes by course on a phone, with a tap to 86 a dish or put it back, and the bar list on the same screen.

    Signed-in users
  • Menus

    Each menu with its days, hours, courses and header note, and a preview of what a code would open right now.

    Your team
  • Table codes

    Codes by area with their links and print dates, plus a sheet laid out for tents and a list of retired codes.

    Your team
  • Translations

    Each dish beside its drafted second-language text, so a bilingual staff member can fix a line and check the row off.

    Your team
How it works

From prompt to a live QR menu

  1. Describe your service

    Tell Netiva which menus you run, when each one opens and closes and how the room is laid out. The agent drafts collections for menus, dishes, translations and table codes.

  2. Type in tonight’s menu

    Work through the dishes in the spreadsheet-like grid, or describe a course to the collection assistant and review the rows it drafts. A dish only moves to on the menu once the chef has filled its contains line and diet tags.

  3. Scan a test code at a two-top

    Open the preview on a phone and read the menu the way a guest will, in the light your room actually has. Annotate whatever is hard to read and the agent changes it.

  4. Print the tents and publish

    Publish in one click and point your own domain at it from the Starter plan up, then print the tents once the links are final. Every later edit is checkpointed, so a seasonal rewrite can be rolled back.

Why Netiva

Netiva vs a traditional build

Building a QR menu with Netiva compared with a traditional build
Criterion With Netiva Traditional build
Taking a dish off mid-service One tap on the service board, and the next scan doesn’t show the dish A pen through the line on 30 laminates, or a server explaining it table by table
Reading the menu at the table A page sized for a phone, with diet and allergen filters and a language switcher A print PDF the guest drags around the screen, with no way to find the vegan plates
Getting started Describe what you need in chat and watch it take shape in a live preview Hire developers, or stitch together templates, plugins and a hosting plan
Content and data Built-in collections with nine field types, bound straight to your pages Set up and connect a separate database or CMS
Making changes Ask the agent; every change is checkpointed and reversible File a ticket, wait for a sprint, redeploy
Hosting and domain Global hosting and automatic SSL; connect a custom domain from the Starter plan Buy hosting, then install and renew SSL certificates yourself
Code ownership Clean production code you own and can export Locked into a template, plugin or agency setup
Examples

Ways teams use it

  • A bistro through tourist season

    Half the tables in July are visitors. The collection assistant drafts Spanish and German text for every dish, a bilingual server checks the rows over two shifts, and the switcher at the top of the menu handles the rest of the summer.

  • A taproom where the draft list turns daily

    Kegs blow mid-shift. Bar staff 86 the line from behind the bar and add the replacement to the bar list, which is pinned to every bar tent, so the numbers printed on the tents never have to change.

  • A café with a patio and a counter

    Patio codes follow the clock from breakfast to the afternoon menu, the counter code stays pinned to a shorter takeaway list without the plated dishes, and the dated specials menu retires yesterday’s soup on its own.

Good to know

Before you build

  • The contains line is your kitchen’s record

    The menu shows what your team typed. The nine major US allergens, sesame added in 2023, are a federal packaged-food labeling list; what a menu must declare is set by your state or local food code. FDA says a gluten-free claim should match its federal 20-parts-per-million rule.

  • Translations need a human read

    The collection assistant drafts second-language rows in bulk, but an allergen line is the wrong place for wording nobody has checked. Keep translated rows hidden until a staff member signs off, and send the same person back to a dish when its recipe changes.

  • Keep a menu that needs no scanning

    Some guests have no data or no working camera, and some use a screen reader. The Justice Department’s web guidance says the ADA covers what businesses offer online, but sets no standard for private businesses. Keep printed menus at the host stand and use real text, not an image.

  • A menu, not an ordering system

    Guests still order from a server: the QR menu doesn’t take orders, take payment or talk to your point-of-sale system. If your POS provider offers an API, you can ask the agent to pull item availability from it. Otherwise the 86s are whatever the floor sets.

Compliance note

A QR menu changes faster than a laminate, which cuts both ways: the contains line and diet tags a guest reads are whatever your team last typed, and Netiva doesn’t review recipes. Re-read each dish when a recipe, supplier or prep station changes, say where a shared fryer or bench makes a tag unreliable, and keep a line on the menu asking guests with a food allergy to tell their server before they order.

FAQ

Questions about building a QR menu

How does a guest open the menu from the table?

They point a phone camera at the code on the tent and tap the link, which opens a page in the browser. There is nothing to install and no account to make. The code carries its own label and area, so the page knows whether it is serving the dining room, the patio or the takeaway counter, and it loads the menu that runs at that hour.

Can a server 86 a dish in the middle of service?

Yes. Staff sign in on their own phones and open the service board, where tonight’s dishes are listed by course. One tap sets a dish to 86’d and the next guest who scans doesn’t see it. Put it back when the delivery lands, or ask the agent for a scheduled job that clears every 86 before first service so nothing stays off by accident.

Can one code show breakfast in the morning and dinner at night?

That is why the menus and the codes are separate collections. Each menu carries the days and the hours it runs, so a code resolves to whichever menu is live at the moment of the scan, and a dated specials menu sits above the standing one on its day. You can also pin a code to a single menu, which is what most bar tents want.

Can the menu be read in more than one language?

Yes. Translations are their own collection, one row per dish per language, carrying the name, the description, the contains line and the diet tags. The collection assistant can draft that text for every dish in a couple of bulk edits, and a bilingual staff member reads and checks each row. Until a row is checked it stays hidden and the switcher falls back to the original wording. Course headings and the header note are written once per language on the menu record.

Can guests filter the menu by what they can’t eat?

The dishes collection has a contains line and optional diet tags, and a dish stays off the menu until that line is filled, so the guest menu can offer filter buttons: hide anything that names peanuts, or show only the vegan plates. Filters narrow what is displayed; they do not vouch for a kitchen. Where a shared fryer or bench makes a tag unreliable, write that on the dish instead of tagging it.

Which Netiva plan do I need to run a QR menu on my own domain?

You can build the menus, the codes and the service board on the free plan and test them in the live preview. Connecting your own domain starts on the Starter plan, which also adds basic SEO tools and analytics — worth having before you print tents that point at your address. Compare the current plans on Netiva’s pricing page. The generated code stays yours to read and export.

Drafted with AI assistance from Netiva’s product pages and reviewed by the Netiva team. Example data models, screens and prompts are illustrative starting points, not customer projects.

Build your QR menu today

Describe it in a sentence and watch Netiva’s agent build it. Free to start — no credit card required.