What will be the best way to offer a free Item off a main meal purchase

I would like to give one of our kids meals free as a special with any main meal order on weekends only.

What will the best way to do this?


Add Order Action

Rule for Order Added to Ticket

1 Like

thank you, but the customer must choose a free meal from a selection of items. How do you create a pop up to then choose the free gift?

You could try;
Same actions as QMcKay but have it add a ‘Free Kids Meal’ with the gift status
Then you could either use portions as the dish choices, maybe use the autoselect option (although thats on the menu list, would have to check if similar feature can be used from an action adding), or maybe you could use order tags specific to that product of meal types.

I would imagine though that you don’t want it to automaticly add a free kids meal for every main meal, ie two adults one child? Not quite the same as say a free muffin with a coffee.

A more complex option could be one similar to what @Jesse helped me with a wile back when trying to have a half pint ‘multiplier’ type button to auto select portion size.

If I was implementing an offer like yours I would like a solution like that.
The workflow would then become;
Adult meal product added --> samba logs that as a program setting to something like KidsMainOffer value True --> you would add a kids meal product --> a rule with constraints Setting: KidsMainOffer value True & product added is ‘kids meal’ group --> if both constrains are met the action of update order status to gift & action to clear setting value to blank
You may want to add a setting to ‘clear’ the setting value if a non kids meal is added after a main mean - or alternatively leave it and have it cleared on ticket close so then you could add drinks and then a kids meal and it would still remember while that ticket is open.
With my half pint setup I used the shell subtitle to add a notification to the top of the ticket section highlighted that the half print setting was active, yours would maybe say ‘eligible for free kids meal’
Am tinkering on a different setup today but can discuss how i did my half pint feature and how you could use similar workflow for your offer in a little more detail if your interested.
Let me know.


What would be good is a button on the left activates a free meal question pop up, that creates a order. when a Main Meal is selected.

If you have a free kids meal as Order tag the chef will probably miss it

Creating a button should be easy, but what about times? can we make the button only appear in the weekend or on specific dates when the special runs?

@stephanhenning the method I describe above does not place the kids meal as a tag but automatically makes the kids meal a gift is a main meal as already been ordered.

If you want a button to make kids meal free why not just use the gift button?

the only problem I have with that is that staff could gift meals left right and centre, that is why I wanted it only activated on certain days and on possible to do with selecting a main meal.

I’ve not done much work with time based offered unfortunately but sure there is a way.
Does the offer have to be automatic timed or that you just want to turn it on and off from a admin mapped button?

automatic is the best way, I’m the only one who is (very limited) tech savvy, so the automation is key as I leave my restaurant without a manager often.

I seem to be using allot of ‘program settings’ in all my ideas atm but a way to automate my suggestion above could be.
Action for program setting kidsmealfreeON - is not local would be chosen.
A trigger for start and stop
And two rules for start and stop looking for the trigger and action to be set kidsmealfreeON to say ON and OFF or 1 and 0…
Then add a constraint to the rule from above which updates the other program setting of elidgable for free kids meal to check is the kidsmealfreeON setting is ON so it only fires if between trigger a and b.
Hope that offers a sution… Someone may have a better one.

Use ticket states for this. The state would only activate if specific date found as a constraint. You can check that state for visibility,enabled mapping of the gift automation command

Use ticket created event to set state.

Example use Update Ticket State action for State Name put Free Item for State put [:State] as a variable so we can defined the state inside the rule.

In Ticket Created rule put a custom constraint of {DATE:ddd} Equals Sat|Sun

Insert your action and put Activated for the State

Go to Automation Commands and click on the mapping for Gift. In enabled put Free Item=Activated you can put this state in Visible as well if you want the button to only be visible with that state.

1 Like

Good shout, didn’t that about dates as constraints.

Sorry should be Matches not Equals. Also we should use Order States instead since you need it to be on Order Line.

Let me redo it and ill fix my quick tutorial.

1 Like

How would you add time to this? Second constraint line and make matches all?

Use {TIME} and put it on a 2nd Constraint


{TIME} After 700  
{TIME} Before 1100

Those two constraints would set a time period for it to be active between 7am and 11am

Thanks, looks simple way to time basic happy hour :slight_smile:

Do you need to format the {TIME:hhmm}?

Forget that, you cleared that - 24hr clock :wink:

Yes this is something me and @QMcKay have been trying to tell the many people that seem bent on using Triggers for HH.

No need to format it if your using 24hr format.

I think I found the triggers method early on and used that which Is why I didnt think of date constraints.

So to sum it all up as you see in my last screenshots.

  1. Create Update Order State action
    Set Free Item as State Name and [:State] for State
  2. Create Order Added to Ticket Rule
    Put the custom constraint {DATE} Matches Sat|Sun
    Put your action in the rule and set Activated for the State.

Finally go back to Automation Commands and click on Gift. Click on Mapping and for Enabled type Free Item=Activated you can also type this for Visible if you want it only visible during this state.