Track Groupon (Voucher) Redemption

Hello, I have a question. Is there a way for Samba to track a specific type of coupon used? Specifically, Groupon. Currently, when we take a groupon, we have a voucher type called Groupon and we have that payment button available on the payment screen. The server enters the groupon dollar amount and presses the groupon button. This reduces the customer’s bill by $40 which is what the groupon is for. The server prints the customer’s new bill and the customer pays. We have our own account set up in the account screen to help track groupon. What we would like is for when the server takes a groupon, Samba has a button with a predefined amount of $40 that automatically takes the $40 off of the customer’s check and for samba to record the after spend amount. For example, the customer’s bill is $84 and they have a $40 groupon. The groupon is taken off and the final spend amount would be $44. The system would record the Ticket ID, Table number, Server name, Original ticket amount, and final spend amount and save this information. At the end of the day it would print a report. Is there a way to accomplish this?

Also, is there a way to generate data from the account screen, into a spreadsheet view. where it shows the ticket, time, date, total due and payment methods, including any vouchers taken? This is the screen i’m referencing.

One question I have would be what about the commission/discount?
From my dealing with groupon they obviously expect a discount and also take commission.
Your till presumably has full price, even if you discounted to groupoin deal rpice your payments from groupon will still be net of their commission…

Yea, that all gets entered into the groupon website at the time the groupon is taken. We just need to make sure that servers are entering this data accurately and to be able to hold them accountable. The current system, involves our accountant to spend hours looking through the current month to match up the groupons tendered in samba to the totals entered into the system. It would be simplified if this data was easily track able and easily view able.

I would add a payment processing rule to ask for the voucher number and save it as say a ticket state or tag or something and just report ticket details based on tickets with that state/tag and payment type?

Yes, using a Data Export to CSV which is like a Report, but it exports the data to a file instead of displaying it on screen. Using Excel, you can read/load CSV files …

Thanks for the help. Working on the coding now.

Ok, I have the basics down but would like some help on fine tuning it. Here is what I have so far

  1. An order is taken

    2)The server tenders the Groupon in the Settle Screen
  2. When the server presses thye “$40 Groupon Button” a new window appears asking for the Groupon’s ID number. The server enters this information and presses OK.
  3. The total is updated to reflect the Groupon value and the server can now present the customer with their bill.

As shown here, it does update the Ticket State and Ticket Tag correctly as expected, with the proper information.

Here is the code I used for this

Now my question is, can this be refined so that the information is track able and in a way it can be viewed on a report and exported to CSV? What I would like is for this information to be stored in the system (Ticket tags and ticket status) so that it can be printed out on a report. I would like the report to show the Table Number, Ticket Number, User ID, Ticket Tag, Ticket total, and the total amount spent AFTER the groupon is deducted, meaning what the customer actually paid. Also if it can store the groupon ID numbers so that a number can not be duplicated. If ID number 12345 has been used, it will not let number 12345 be used again. any help would be great. Thanks guys!

Tags are in the system… You would use report ticket details and include that ticket tag name as one of the coumns.

Verifying the code is a little more complex. Since I think report expressions by default only look at current work period. It might be better to use an SQL query to check database directly since it’s only a query.
Either that or if you can import voucher codes as entities not only could you mark them used but the code would have to be in the system to be used in the first place.

1 Like

Ok, never thought about it like that. So i guess the only thing left is the reporting. Its probably something I’m over looking because I never have been very good with understanding how the Syntax works for Custom Reports. Never could get one report to work perfectly, and I tried to look at the tutorial, that didn’t clear things up for me. So I took a stab at making a report, but it does not work. Here is what I have.

Well first thing is TS Groupon is definitely wrong.
It might be TS.Groupon but haven’t checked as on the road but space is definitely not valid.
The original V4 reports tutorial covers most basics.
Field are allot easier not allot of the expressions have auto fill for the fields/columns part

I removed the space, still not working.

Also, it will allow them to just press cancel to bypass and it still takes off the groupon. How can I set it to require data to be entered into this field? If no data is entered, it will not apply the discount.

You will have to automate it to check for cancel button and if cancel then remove discount.

1 Like

I’m still struggling with this. I can’t seem to get the syntax right for the code. I found a tutorial for selling Age Restricted Items and my setup is very similar to this. I see on that tutorial there is a way to customize the keypad that appears so that only the number pad and OK button are visible. Every time I try it, it either does not work or crashes. What would I need to do to just get the number pad to appear and OK button?

There are sections for prompt tags separated by semicolons. I believe the keyboard/pinpad options are after the second one. Search for ?prompt it’s documented with button layout sample codes on forum


Thanks so much for the help with custom keyboard layout. I am still having trouble with one section tho. I NEED this to require an entry in the field to accept the discount. If they click cancel I need it to remove the discount. It is becoming a hassle now with the servers as they just bypass this and it renders it useless. Please, any help is appreciated.I have looked through the above tutorials and could not locate the syntax i need. I’m pulling my hair out here, lol.

You could pass the ?prompt value into a second rule using in in execute automation command action rather than update ticket tag action or wherever you currently using. Put the prompt in the command value field and give it a command name. Then constrain the automation command executed rule using the chosen command name and whatever you want to constrain the command value (prompt value) against.
If you want to tag the ticket for example you would use the update tag action in that seccond rule but rather than ?prompt which has already been entered its not in command value variable so update tag with command value

1 Like