Super Simple Happy Hour Price List

Quick and easy super simple happy hour setup. As always BACKUP before making changes…

Create a price definition;

image

Set Happy Hour (HH) prices in price list editor;

Create a new action to set order price to HH price band leave all other fields empty as its only price band you want to change;

image

Create a new ORDER ADDED TO TICKET event rule, add the CHANGE ORDER TO HH PRICE action just created;

Quickly check in POS that the rule is working by adding a few applicable products. NOTE: we havnt set time constraints for HH yet, just want to check all is working so far;

Can see the prices are HH prices and the HH next to price showing they are HH price band.

Now we can go back to the HH rule and add some constraints to set days/times of our Happy Hour;
First we will want to change the execute if drop down to ‘Matches All’ as we will want all the constraints to be matched as will be setting a start, end and day of week constraint.
Then using {DATE:HHmm} we can add two custom constraints for a start and end time, the constraint option i the middle will want to be Greater for start time and Less for end time.

I have added a third constraint for days of week using {DATE:ddd} and using Matches and pipe char ’ | ’ can set multiple days for those times.
So the above rule will have a happy hour on Friday and Saturday (Fri and Sat as used the ‘ddd’ format for the date expression) between 11:30 and 11:33.
I set a narrow window to test as time was 11:31 which allowed me to save and start a ticket in happy hour and test it was active and ended as expected;

image

As you can see the first 3 orders were added before 11:33 and the last two after 11:33

This is a very simple and basic Happy hour setup you can create in around 5 minutes very easily.

If you were to want different times on different days you can simply add multiple rules. For example if I wanted;
18:00 till 20:00 Monday through Thursday but 17:00 till 19:00 Friday and Saturday the two rules would be as follows;

image

image

If you wanted different HH offers on different days you could set separate rules but change the action in each to the corresponding price definition

One thing to note is you DO NOT have to set a price for every single product if the price isnt effected by your happy hour deal. If there is no price in a price band it will default back to the normal price and not get updated.

9 Likes

Reserved for updates, notifications and changes…

2 Likes

Super awesome! Simple yet straight to the point.

Awesome! I will try to apply this solution to my holiday menu. Thanks for sharing

everytings work great for me but not the time setting…

Setup defiantly works so likely a mistake somewhere.
You need to show that rule if you want feedback.

Wow, ok…
That could defiantly be simplified with a custom product tag.
Also, you realise that if you leave HH price as 0 (-) it doesnt change th price and just uses default price…

What have you set at top for matches?
Matches All will not work with setup like that as guessing thats menu group or menu item name constraint and product cannot match all those constraints.
Its not the time thats not working its your other constraint lines.

In theory plain ‘matches’ (not all or any) should work as that should make similar constraint types OR…
Scrap that, you need ALL as the two time constraints need to be AND…

You either need to simplify the other constraints using say custom product tag OR if suitable forget those constraints and just not set a HH price for applicable items.

Alternatively - and this isnt my suggestion but a work around would be to move the time parts to an action constraint rather than overall rule constraint.
Your menu item/group constraints could be left and match set to matches or matches any.
And action constraint set to;

[=TN('{DATE:HHmm}')] > 1500 && [=TN('{DATE:HHmm}')] < 1800

The change good just not the time …

Not sure what your showing me…

From that list if your saying to set price list for order to 2x1.
Jagermeister would change to 55 but smoothiew would remain at 60 as no 2x1 price set.
So long as you dont have other price list related actions running at same time.

My preference would be custom product tag for 2x1, fill applicable products 2x1 field with anything - say ‘Y’ and rather than specify a huge list of groups/names just have

{PRODUCT TAG:2X1} not null
{DATE:HHmm} greater 1500
{DATE:HHmm} less 1800

I use similar tactic for allot on my system, printing, package items, deals and discounts.

What does that mean?
Did you read my post?
If you changed to matches or matches any when you added all those other constraints it wont work. these would mean that either DATE would match as at any time the time will be greater than 1500 OR less than 1800. It needs to be ALL to make it only within that window, but all wint work with your specification of all those groups/names. As I said above.

Yep sorry I read it I have to translate everything ’ and I know nothing about computers and programs so please be patient… last time I try to use that I maded a mess …

Use what?

Simplest work arround for you would be this;

Thanks I think I got it I will try that

This one was my solution follow step by step

Hi guys! I’ve done this setup and, supossedly, it works, but it only works in single terminal where it was done, as well as server, however three other terminals dont ring up HH discount. I have a small restaurant, and just started to do our Happy Hour. I have checked over and over setup, but cant figure out whats wrong. Is there anyone out there who would give me some kind help.

Sounds like caching to me. Restart samba or the machine itself on the other terminals.