DocsMenu
Menu
Categories, dishes, prices, availability, photos, options and allergens.
How a menu is put together
A menu is made of categories, and every category holds dishes. You set the order of both, and the ordering page shows them exactly that way.
Every dish has a name and a price. On top of that, optionally: a description, a photo, allergens, dietary marks such as vegetarian or vegan, and option groups.
A dish without a category is allowed. It sits on the ordering page under a heading of its own at the end.
Sold out
A dish can be set to sold out instead of being deleted. It then disappears from the ordering page and comes back with one switch. That is the way for an evening when something has run out; deleting is the way for something you no longer serve.
The same goes for single options. When the fries have run out, you switch the option “Fries” off, and it disappears from every dish it hangs on.
Options, sides and extras
A dish can have option groups: sizes, sides, extras, heat level. A group sets how many entries may be picked at least and at most. A minimum of one means required, a minimum of zero means optional.
Every entry can raise the price. The surcharge applies to one item and is only then multiplied by the quantity; two pizzas with 1,50 euro of extra cheese each cost three euro more, not 1,50.
There are two kinds of group. A group in the library you create once and attach to as many dishes as you like; change the price of a side and it changes everywhere. A dish's own group belongs to that one dish and is the usual case for sizes that exist only there.
Pizza Salami
9,50 €
Size
exactly 1
Small
Large+ 2,50 €
Extras
0 to 3
Extra cheese+ 1,50 €
Chilli
2 × (9,50 + 2,50 + 1,50) = 27,00 €
- 1
Required: at least 1, at most 1
The guest cannot skip it
- 2
Optional: at least 0
Several choices up to the limit
- 3
The surcharge is per item
only then multiplied by the quantity
A group from the library hangs on many dishes. An own group belongs to this one dish only.
Allergens and dietary marks
For every dish you can tick the fourteen EU allergens, plus marks such as vegetarian, vegan or spicy. They appear as small badges on the dish, in the guest's language.
If you keep additives or notes of your own, you enter them as free text, comma separated. They then sit on the dish exactly as written.
⚠️ After an AI import the allergens need checking. Printed menus often number their additives themselves, and those numbers are not the fourteen EU allergens. Responsibility for the labelling lies with the restaurant.
In other languages
The ordering page comes in five languages, and the menu inside it can be translated along. Without that, a French guest would get a flawless French page saying “Schweinshaxe mit Kraut und Semmelknödel”.
The menu page carries a box with two entries for that. First: which language your menu is written in. That is not necessarily the language you use Flavoso in; someone reading their dashboard in Italian while writing a German menu sets German here. Second, the “Translate automatically” switch.
Switching it on translates the whole menu in one pass. After that, every new or changed dish follows on save. There is no second button: the switch is the whole decision.
Changing the source language later re-translates everything as well. The old translations would come from a language your menu never had, and would be no basis any more.
Names and descriptions of categories, dishes, option groups and options are translated. Prices, allergens and labels are not: those are numbers and keys, not language, and they are the same in every language anyway.
⚠️ Proper names stay put. “Pizza Margherita” is Pizza Margherita everywhere, “Currywurst” has no translation, and a “Nonna lasagne” is your house's product name, not a description. Descriptive names such as “Mixed salad” are translated, mixed forms halfway: “Pizza Margherita mit extra Käse” becomes “Pizza Margherita with extra cheese”.
Change a text later and Flavoso notices, fetching that one dish again. A changed price triggers nothing, because the text did not change.
The responsibility stays with you. A machine translation is a good first draft, not a proofread; writing a wording yourself overwrites the machine's version for good, and the automation does not touch that line again.
That is exactly what the “Translations” page linked in the box is for. Every entry of your menu is there with the original beside it, one language after the other, ready to be overwritten. It saves when you leave the field, no button. A filter shows only what is missing, or only what you wrote yourself; “let the automation take over” undoes your own version again.
An entry can be marked “outdated” there. That means you changed the original after the translation was made. Until then the ordering page shows the original, because a description that is no longer true is worse than one in the wrong language.
There is a monthly cap, and it counts requests to the translation model, not passes: Starter 60, Pro 150, Premium 300. One request is up to twenty entries in all four languages, so a full menu of a hundred entries is five. Once the cap is reached only the automation stops: the menu stays orderable, existing translations stay put, and writing by hand keeps working.
Photos
One photo per dish, uploaded or linked as an address from the web. Uploaded images are stored scaled down, so the ordering page stays fast on a mobile connection.
Photos are optional and they work. A menu without pictures looks clean; one with pictures sells the more expensive dishes.
Still unclear? Ask the assistant in the corner or write to us