How to automate head count ONLY when a table is selected

I have found tutorials on how to do a people count, or head count. I have the tags setup but I only want it to be required when a table is assigned. If a customer is just a walk up at the bar and not eating, I don’t need this tracked in head count. So I want the server to select a table number and Samba to ask for the head count after a table is selected and a ticket is created with the table number on it. Here is what I have so far:




Currently the headcount works if the waitress selects headcount manually. I tried looking for this information but I didn’t find anything specific to this need. Most would require headcount for all tickets.

So you have it? Whats the question? To make it required and not allow cancel?
I setup our system to ask covers count on ticket close based on there being food on the ticket, it predicts the covers count based on the number of mains with an option to overide.
It checks on any ticket close that covers is set. So if it is set it doesnt ask again unless it counts a different number of mains. an option on the prompt allows overide either to enter a different count or to overide using the exsiting count.
2 mains, no covers count = ask is it 2, manual overide, leave as is and dont ask again
extra main added so 3 mains, 2 covers count set = ask is it 3, manual overide, leave as 2 and dont ask again
another main added so 4 mains, leave as 2 selected before = no prompt as set to overide.

Either way the reported values will only be as good as staff entering it. guarantee before long they will just end up selecting 1 everytime unless enforced with discipline. So its good to report mains count next to covers count to check for a close correlation.

1 Like

Yes, that is exactly what I would like to achieve. We only count mains as a “head”. so If the system can automatically recognize a main as a head then ask for verification at the end, that would work perfectly.

I think I may be on the right path here. I created Tags for everything I wanted identified as a Main. I then created an action to Tag the Main items as Head Count. Then I created a rule to apply that action. I am not sure what I need to put in the rule under Tag Value for the system, to update the Ticket Tag every time a main item is added to the ticket. The rule works if I put a number in the Tag Value field, such as a 1. It tags the ticket as Head Count:1. What would I need to put in that field for it to update the ticket tag each time a main item is added to the ticket?

Tag%20for%20Head%20Count

I wouldn’t tag the actual order.
You could report direct from product tag, I used state in place your trying to use update order tag as also used it for other automation. personally i would have made another custom tag like your productType for course and set starter/main/dessert.
My covers rules look like this;



image

Lol that confused me even more, I probably don’t know enough to figure out how to make that work. Was just trying to keep it as simple as possible. I Just want it to tag the ticket with the number of main dishes added to the ticket.

Did you tried this?

{TICKET ORDER QUANTITY TOTAL EXP:M.Tag=="Main"}
1 Like

I’m now trying to get a report to generate with this information. I am about 90% of the way to achieving what I want but I need to figure out how to have the report only pull the data that I want. The report pulls all the data for the selected date range and Lumps it under 1 user. I want it to only pull the data that has the ticket tag of "Head Count’ associated with it and seperate it by user. Here is my syntax:
@{REPORT TICKET DETAILS:T.User::{0}:,}
[Heads Served By By $1:1, 1, 1]
{REPORT TICKET DETAILS:TT.Head Count,EN.Tables,T.TotalAmount}

You parameterized the name of the report but did not parameterize the actual report. Try adding a colon to end of report and add (T.User=$1)

I did that and now no data is generated by the report.
@{REPORT TICKET DETAILS:T.User::{0}:,}
[Heads Served By By $1:1, 1, 1]
{REPORT TICKET DETAILS:TT.Head Count,EN.Tables,T.TotalAmount:(T.User=$1)}

I may have it wrong. I’ll test it.

Ok sorry try (TU=$1) good resource kb.sambapos.com reports section.

Ok, changing that worked for the part of breaking it down by user. Is there a way I can tell it to only pull data if there is a Ticket Tag of “Head Count”? For example, it pulls all tickets rang up be each user, but we are only interested in tracking the head count, not walk up bar and 6 pack sales. Head%20Count%20Report

Try (TT.Head Count=*) maybe? Or do another parameter to get the tags then feed $2 in it

I just discovered a new issue, when an item tagged as a 'Main" item is on the ticket, it allows the ticket to be closed WITHOUT assigning a table number. This allows the wait staff to be in a hurry and forget to assign a table to the ticket. How can I tell samba to not allow the ticket to close without a table number assigned?

Ticket tags allow a ticket to close yes. Just constrain close ticket to look for table entity. Try {ENTITY NAME:Tables} is not null