Normally if you add $0 items or gift/void all items on the ticket, SambaPOS will considered it as settled once you close it and the table entity will be cleared. However, if you have guests that only order free items at first, such as water, you will want to prevent this behavior.
Usually to workaround this, we use multiple states and automation. An alternative simple solution is to use product timers to keep $0 tickets open so you can continue to add more products to the ticket when your guests are ready to order.
4. Allow zero priced orders for your ticket type.
Tickets > Ticket Types > select Ticket > check Allow Zero Priced Orders Note: Your ticket type may be named differently.
5. Test it works Note: You will need to tap Stop Timer then Close when you want to close out the ticket.
“Keep Ticket Open” product will also show up on printed tickets unfortunately.
interesting idea.
You surly can build a stop timers automation into final payment check rule?
You could also use order state formatting to make that product size 1 and transparent so it is virtually invisible
I also want to note that after a bit of testing, product timers seem to cause significant lag when used in conjunction with entity screens that have reporting tags. But adding rules to automatically stop product timers may mitigate this issue.
Add Action: Stop Product Timers
Add Rule: Stop Product Timers when Ticket Total Greater than 0
Add Rule: Stop Product Timers when Payment Processed
Not sure if that would be in conjunction or just report tags on entity screen which if not very basic can quickly slow down loading as has to run those reports for each entity on screen.
Something I’m trying to figure out is constraints for paid ticket rule to check if product timer is active or stopped. I found the following I can use in constraints but don’t think I can use these in this case. Any ideas?
That will be because they are all product specific ie would work on an order level rule event but ticket closing for example would know which product to look at.
You should add server side is closed to that ticket details expression to reduce query load.
Hi Scott,
Can you share the guide on keep ticket open for $0 ticket using multiple states and automation? Cause I don’t want the ticket can be closed if the ticket value only $0 due to whatever reason, this is to avoid having zero priced ticket on the database.
So the ticket only can be closed if it get 0 from the settlement / as the payment result it become 0.