Handling Allergy info and displaying dishes that are free from allergens

Displaying allergy information is already a legal requirement for food businesses in the UK, but with recent news it is becoming a very hot topic.

A new client of ours has asked us to display allergy info on each dish within the POS. This is straightforward and we do this already using a Ask Question displaying contents of a Custom Product Tag. However they also presented a nice idea - having the ability to select certain allergens a customer has then display a filtered menu of only dishes that do not contain those allergens. I really like this idea and want to implement it.

So I think it’s possible right now, using Change Screen Menu Action with Group Filter and specifying a comma separate list of filters in the menu item Group Tag. AFAIK you would need to store a comma separated list of the allergens a dish did not contain though as filters. I did a quick proof of concept and it worked for a single filter (i.e. dishes that contain no nuts) but could not find a way to get it to handle passing and filtering of more than one filter / group tag (i.e. dishes that contain no nuts and no dairy).

Anyone got any better ideas on how to implement this? I’m not too keen on having to maintain a list of all the allergens a dish does not contain, as there are something like 15 or more allergens that have to be tracked and it would get messy to manage for the client later on. I would ideally like it that I could have a Product Tag for each allergen that can be flagged on each dish, but then use that info to easily filter the menu, i.e. show all menu items where Nuts == False.

Also for selecting a menu filter, I think the “only” way I could implement a multiple choice type question would be multiple looping Ask Question popups with all of the allergens shown and storing the state values of which is selected in a program setting, then also having a Display results button to “exit the loop” and a “clear results” button to reset all the program settings (filters).

Custom entity screen with toggle commands maybe?

If not a filter could you perhaps set custom menu item headers to grey out or highlight red?

1 Like

Yeah this is a better method I think - and I did a proof of concept a while back with checkboxes based on buttons.

But how would you update them? I can’t think of a straightforward method way.

I think the Change Screen Menu with Group Filter works well and is the best approach as it will just show menu items that match the filter, just don’t think it can work with more than one filter currently.

I’m thinking I could have each allergen stored as a Custom Product Tag, then just have a script using SQL that updates the Group Tag on all the menu items, then that field never needs to be touched manually.

1 Like

Will be interested to see how you get on.
We are going live with tablets at the main hotel finally in a couple of weeks as had discussed allergens. The order details popup showing allergen ingredients would be a good start but like your idea of filtering the menu.
Shame you would have to have duplicate menu and increased maintenance. Would be nice if it were possible to apply filters to normal menu.

I don’t have to duplicate menu

You can, this is what my way to implement was. But I can only foresee being able to use one filter and I need to store comma separated list of all allergens each item does not contain for filtering to work (as you want to show all items with no nuts, etc.).

Just because I am using Change Screen Menu action doesn’t mean I am changing the menu, I would leave the Screen Menu Name blank and add the filter to Group Filter. This then displays the menu with only those items that have a Group Tag that matches the Group Filter. Group Tag can be found on Product Properties when editing the menu.


I added 3 features.

  1. Change Screen Menu > Filter accepts multiple comma separated parameters.
  2. If a parameter starts with ! character it means not contains.
  3. I added multi select setting for Ask Question action so you can click multiple buttons and receive selected button values as a comma separated command value.

It will be available on next update.


Wow very nice @emre thanks this will help a lot! :smiley:

I think the multiple choice ask question will also have other uses too.


@emre thinking about how the menu would be presented to the staff member when it has been filtered with the allery info, would it be possible to have different options how the group filter works, for example instead of hiding the items not matching the filter, have the option where a different style could be applied to the non matching or to the matching items? I guess it would be additional parameters on the Change Screen Menu action.

I’m thinking about the use case, imagine if a customer asks the staff what dishes does not contain nuts and gluten, the staff will apply those filters, then they see the filtered menu on screen with only “safe” items shown. However if the customer then asks is “dish 123” safe, the staff member can only go from their menu knowledge as they either see or not see the item depending on the filters (they may have to remove the filters to check where the item is on the menu, then apply the filters again to confirm). Whereas if we are changing the formatting, maybe we change the text and background colour of the “unsafe” items so they appear “greyed out”, the staff member can immediately see what is and isn’t safe and can easily answer the customer question from looking at the menu.

Could be a nice feature for other filtering as well.

1 Like

You say that but what about ‘posibly safe’ say something has a gluten based sauce?
Generally menus show what is ‘safe’ as is however I’m sure most places like the hotel here don’t have vast amounts of ‘safe’ as is dishes but with minor change like changing sauce or an alternate side can easily be made safe.
Personally the perfect setup would involve some form of solution for that, the 100% not safe are say greyed, twwekable blue and as is green?
This could then be achieved with some form of tag key or prefix.

I used “safe” or “not safe” just for ways of clarifying on here from a technical point.

I know what you are saying, but what this client wants is just a means to show which dishes contain what allergens, and to make it simple for staff to know. The knowledge of changing a sauce isn’t always something every staff member would know, and having the ability to store on the system about what dishes contain specific allergens in which part and which part is changeable is complicating the case by multiple dimensions. You can’t possibly have a system that can store every little bit of data about what allergens are in the sauce or in a side, etc. The purpose is to provide an easy system that any staff member can use, that shows the best correct result based on menu items. If someone wants a specific dish I’m sure there are ways it can be made safe for them but it’s a more specialist thing that likely would need to confirm with the chef, etc.

1 Like

True, in our case these substitutions for making safe are common specific adaptions rather than an list of possibilities. Yes most can be adapted in one way or another but there are several which are regular changes for the more major allergies. Not the sulfates or more neische ones, mainly gluten.
Anyway, was only throwing it out there.

1 Like

Sorry for bringing up an oldish thread, but I was just wondering if anyone will be doing a ‘How-To Guide’ for adding Allergy Advice as I’m in the UK too and will be having to implement something soon.

If nothing else you can use custom product tags and display etc as needed. Marks idea is a step further and should when done allow filtering the menu by safeitems