VIP & Happy Hour

that doesn’t work, ill try changing the 0 to 0.00

EDIT: That doesn’t work either. I was going to create an edit button that just adjusts the price and adds 0.50 to the price after reducing it by 1

Not the best solution but it’ll serve purpose for tonight.


Both of them are wrong. It should be [=TN('{ITEM TAG:HH}') > 0] or [=TN('{ITEM TAG:HH}') > TN('0.00')]


Thanks, I’ll get that adjusted tomorrow now were a bit busy now :sunny:

I do not understand why this is wrong:

[=TN('{ITEM TAG:HH}')]>0

It does work, and is logically correct. It sounds like the issue at hand is that 0.5>0 is not evaluating to True, but it should.

I have never built an action constraint that looks like this, though in theory it should work as well:

[=TN('{ITEM TAG:HH}') > 0]

My VIP customers don’t seem to be swapping over to Happy Hour rate, all works fine except their discounted price is chosen instead of HH.

I used your import files, so I didnt create any rules or actions

Where should I look to correct this

Well that is more than 2 months old and it is really like asking a sentence from a blog post we read 2 months before. I bet @QMcKay does not remember all details about his tutorial so to be able to answer your question he need to understand your need, activate this setup on a separate computer, implement your need, test it if it works or not and answer your question. We frequently do that but to convince him to dive into this it is a good idea to contribute something more than a single sentence question and give more details about how it worked for you and what did you expected by using real examples, mockups and screenshots.

Instead of doing that it might be a better idea to do it by yourself. In fact the answer is already in the tutorial as @QMcKay explained everything in all detail. So it is a good idea to start implementing it manually. Read each step’s descriptions, ask us when you don’t understand a specific step and when you get how it works you’ll be able to change it as you like. Maybe you’ll implement something nobody thought before.


@emre is correct. The answer to your question is in the Tutorial, near the top…

1 Like

Hello everyone! Thank you so much for this amazing tutorial! It has helped me leaps and bounds in understanding the “under-hood” features of Samba! I already have this implemented in my Bar & Grill and it is working flawlessly with the exception of user entry errors on my part. I, however, do have one question:

Would it be possible to add to this setup which would allow me to track these discounts individually in accounts? I am looking to get a better control on my shrinkage and having these discounts moved to a Discount account for Promotions, VIP Discounts, and HH Discounts would help me better understand where my discount dollars are going. I will also help with Month end analysis on what discounts could be streamlined and/or eliminated.

I use the order tags to track the add-on sales of each item so having these discounts reflect there can throw me off at times. I’ve tinkered with trying to implement this myself but I fear I am too much of a novice to get all this on my own. It will be the last implementation of my SambaPOS setup and I would love to add it to your prebuilt database selection as It is well rounded with a Time Clock, HH pricing, terminal messages, accounting, inventory, ect. I think it would be a great starting point for someone new to the system.

Thank you so much for your time. You guys are amazing and

You could use custom reports and build reports for this.

That may actually be my easiest solution… you think? Simple works for me! The thought had crossed my mind, but “the powers that be” will need to be educated on it. :smile:

I do have another question on this topic. Would it be possible to use the same method mentioned WAY above… by using a formula to count the ticket tag amounts, add them together, apply the discount and remove the ticket tags with automation? If this is overkill please just say “WOAH!” In other words, can I use the same formula used for the ticket in rules, actions, so forth?

Thanks again!

Do you mean this?

Hmm… probably could be done, but why would you want to remove all the Order-level discounts just to re-apply it at a Ticket-level? Seems unnecessarily complex, and it could get really messy. In fact, it defeats the purpose of per-Product Discount-levels which is the way this Tutorial is designed to operate.

How about we just Tag the Ticket with the Total Discount Amount? This would not be the same as applying a Discount; it would simply be a visual indicator, and could easily be used in Reporting.

Action to Refresh Ticket

You might already have one of these Actions; if you do, you can skip this step.

Action to Update Ticket Tag

Rule to handle Ticket Tag Update


[=F(-1*(TN('{ORDER TAG TOTAL:Discount}')+TN('{ORDER TAG TOTAL:VIP Discount}')+TN('{ORDER TAG TOTAL:HH Discount}'))+TN('{ORDER STATE TOTAL:Gift}'))]

:exclamation: What follows is of extreme importance … you must Sort Rules to ensure the above Rule is the last Rule to fire. If you do not do this, the Ticket Tag update will not function properly.

  • Filter your Rules by entering “CD” in the Search Box.
  • Click Sort Rules.
  • Click and Drag the Rule to the bottom.
  • Click OK.

Now you can use the Ticket Tag in Printer Templates and Reporting, using this code:

{TICKET TAG:Discount Total}

Thank you very much Kendash! This will be very helpful in completing this portion of Samba for our Staff and Patrons.

Why add the extra trouble to remove the tag? It really is simply a preference. Our investors prefer to keep everything on an accounting level. One glance while reviewing daily revenues and not having to compare reports to get a big picture idea of our use of discounts and whether we are using them properly. It also rolls into our use of a shrinkage account and profit/loss. It’s taken me some time but I’m starting to see how having order level discounting by dollar amount which rolls into your discounts accounts could be very helpful looking at the big picture, however, this method works very well, also. (Plus they are very picky)

Thank you very much again for all the time you’ve spent helping better understand these questions. It really has helped me get a better grasp on Samba as a whole!

Have a wonderful weekend!

1 Like

Hi guys, I’m having a little trouble with this tutorial,

I’ve added everything the first manual bit and then using the DBTools import files and everything therefore should be as required.

If I first ‘select customer’ from the pos screen before selecting any products even though it then shows vip active, any product added shows ND (no discount). If I then settle the ticket using either the fast payment buttons or the payment screen it settles the full product price, but opening the ticket and viewing it shows the discount and the ticket has been overpaid.

if I close the ticket and then reopen it before settling payment the discount will then appear.

If I do it the other way and select the products first, then add the customer, the vip discount shows straight away.

I tried the refresh ticket action suggested above (9/32), I actually added it to all the rules but it has made no difference.

On this tablet pc I have already set up ‘half pint’ button & fast payment buttons which are functioning correctly but on a second pc with a more basic database without those functions it works correctly so I am guessing that it most be something in one of those settings which is causing the problem, but I have no idea where to start looking in order to solve this, any ideas as to what I am missing?

Really difficult to determine where the problem might be. I don’t have “Half Pint” nor Fast Payment buttons on my systems.

My guess is that it might be a conflicting State somewhere.

You could also try re-ordering your Order Tag Groups. I have mine at the very top, but you may want to sort them so that they make more sense to your flow, especially if you have other tags that contain amounts/prices.

It could also possibly the order of the Rules… this can make a difference in some cases. You can filter the Rules by using the search box, then click the sort Rules link on the right. Drag Rules up or down. The Tutorial presents Rule setup in an sequence/order that makes logical sense to the operational flow, so you can use that as a guide.

Hi guys, I’ve made all steps over, but have a problem. I’m using it only for VIP Level discounts. When active, only some products are with discounted price, most of it are with normal. Where should I check if I’'ve made a mistake?

Are you saying that sometimes it works and sometimes it does not? If that is the case, you should check the Product Tags for the Products to ensure you have assigned the discount amount. Remember, the discount is assigned on a per-product basis.

If this is not your issue, please explain it further.