Is there any way to accept Advance Payments but keep Ticket Open

Is there any way to Create a ticket, accept payment but keep it open, till it is given to the customer. Let me explain. I want to run a setup, where a customer chooses items from a menu, pays for it in advance and waits for the order to be completed to pick it up. I would like the status update to PAID’, but the ticket should be on the POS, till the waiter updates it to ‘ORDER SERVED’ status, upon which the ticket closes and the table is released for new customers

Hi, not to familiar with this but I would create a new Button (Settle) and call him Paid and Waiting on Delivery Paid WD for example.
Look at the Mappings for Print Bill.
Clone the Settle Button and rename.
Change the Enable States in Mappings New Orders,Unpaid,Paid,IsClosed or something like that.

1 Like

This is what i have managed to achieve by going through the forums.

Now, My setup is going to be a Quick Service Restaurant (Like a Takeaway), where payment is to be collected First from the customer, who waits for the Package at the table.
So I want Step 6 in the above image to come after Step 2. I.e Customer Pays after the ticket is created, but the ticket is not Marked as Closed after Payment and Emre’s Kitchen Displays still Update Various Status, Till the customer gets his package wherein the Ticket is Manually closed.
I tried Removing the ‘Mark Ticket as Closed’ Action from the ‘Ticket Payment Check Rule’ and putting it Under a Separate Automation Command to close the Paid Ticket Manually

This Keeps the Ticket on Screen with the Ticket status as Paid but the New Automation Command created to Close the Ticket does not work. And also order updates from the Kitchen Displays do not work, because what i have essentially done is Changed the status to paid and hence the Display update step is skipped. This is driving me crazy. Any Help on how i can achieve this…?

I have seen that @Jesse has developed this in a very nice way.
I’m not behind my own computer, so I can not look for you at this moment.
If I have some time later I will look into this.

Mark Ticket as Closed is a special action that needs to be executed with Before Ticket Closing Event.

You can implement something like that.

I’ve added '{TICKET STATE:Delivery Status}' == 'Delivered' constraint to Mark Ticket As Closed action so it will work only ticket’s delivery status equals delivered.

I’ve created an action to update Ticket’s delivery status to delivered. When this action called Mark Ticket as Closed action will work while closing ticket.

I need a button to mark ticket as delivered.

First I’ll map button to under ticket. The important setting here is the Visibility State. Setting Visibility State as Paid will make this button to appear only ticket gets paid.

I want to place this button between Settle and Close buttons so I’ve re-ordered commands to place Deliver button somewhere between Settle and Close buttons.

Finally create a rule for Deliver button to execute Update Delivery Status as Delivered action.

That command will also Close Ticket.

###How it works

I don’t have Deliver button until ticket state becomes Paid.

When I settle ticket Deliver button appears. Ticket is fully paid but still not closed. For example I can add orders. I won’t cover these but of course you should handle such alterations according to your needs.

Clicking deliver button will mark ticket as closed and close ticket.

Thank you very much … Will try it out later in the night… Thanks again

I moved 6 posts to a new topic: Display ticket action

Thank you again emre. Works Wonderfully except for a couple of issues…
I am using your kitchen display tutorial from here Setup Courses - different serving areas on same order.. with entity screens and the tickets do not display in the custom entity screens Namely the Kitchen, Bar or Waiter Display, if the Ticket status is Paid. How do i put a rule here that tickets are updated and visible in the custom entity screens even if paid.
Secondly, i need the Deliver button that we have now created to be visible to clear a ticket only after the Order is Served entirely by the waiter. Since he will be getting orders partially from the bar as well as the kitchen, how do i define a state that complete order has been served, and use this as a constraint to the order served button on his entity screen to enable the Delivered button on the Main POS Ticket screen to close that ticket.

Okay… First problem solved… Changed the State of the Custom Entity Screen to ‘Paid,Unpaid’. The screen now shows Tickets even if Paid. Now trying to figure out the 2nd Part, to make a command button visible on the POS Screen once a condition has been met. Small Victory. Feels good that i figured it out on my own, however miniscule the problem.

Okay… Stuck on the Enabled States of an Automation Command.
I want a Automation Command on the Screen Visible and Enabled after the Delivery Status of the Ticket is Marked as Delivered.
How do i use a custom constraint as the value of an Enabled state.
The Format used for the custom constraint of a Ticket state is ‘{TICKET STATE:State Name}’==“State”
Same format used as a Value for an Command’s Enabled State does not work. According to the Samba POS Wiki the syntax used is {TICKET STATE:Status} - equals - “Some State”.
I tried with Both Single Quote and Double quotes and with One = and two ==. Could someone pls help me out with the proper usage of the condition to enable an automation command.

You need to just type Delivered to Enabled & Visible states on command mapping but I’m not sure if I’ve understood it.

If a question does not get a reply in 9hrs that generally means people didn’t understand your question. Better post a screen shot that. I bet you’ll get instant replies.