Simple Coffe Card Reward System

I wanted to implement a simple points reward system for our coffee customers. 1 point per coffee and when they had accumulated 6 points the next one was free. As there was nothing that matched my needs I came up with the following. Special thanks to Nizamettin (Nizam) for the inspiration and Joe (JTRTech), Jesse (Jesse), Rick (RickH), Bob (Bob_Be) and Arian A (ATechAsis) for all their help in getting this running!

Is is perfect? Probably not. But it does the job. Feel free to make any suggestions for additions/alterations to this and I’ll update it.

Simple Coffee Rewards System.pdf (678.4 KB)


I tested your setup. Looks good!

I did find a couple bugs…One is easily fixed, one you will have to try to manually avoid.

After applying the free coffee, if the item is canceled, to points don’t get added back to the customer.
Here is the quick fix:

The other bug is if a coffee is added, and +/- buttons to adjust the quantity, the points won’t be updated. The only solution I know of is to not use the +/- buttons OR instead of adding and subtracting points on the fly, apply the points when the ticket is settled. Unless someone else knows of a solution for +/-.

One other suggestion I have, would be define the gift order state in Manage->Settings->States.

The “Show on Ticket” option will show “Free Coffee, Yay!” for non-admin users. (I hope you have defined non-admin users). By default Admin will see all order states.
If you used End of Day reports, that option will show that report.
Price Format is how the Price filed will be displayed. There are many different ways for the price to be displayed. What I have there is the word “Free” with the strike-through tag and closing tag <s></s> and the price field {0} (the price will be inserted here). The price field can also change the color, size, bold, italic & font separate from the the rest of the order line

Hi Bob, thanks for checking this out :+1:. I will add the ‘cancel order after getting it free’ step, it makes sense. I do have roles defined and I think I can just disable the +/- buttons so I’ll try that. (at this stage we don’t use them anyway). I’ll re-read your last suggestion later :stuck_out_tongue_winking_eye:

I did a tutorial to create custom +/- buttons so they can be hooked into with automation;

@JTRTech solution would be the perfect solution.

One other suggestion I thought of, would be assign a Coffee Points ticket tag to the ticket upon payment. That way you have a kind of paper trail, if there is any discrepancy in coffee points you can look back and see what was added, used and/or the balance at each ticket.

Yes, I had thought of that however if a customer has 5 points and orders 2 coffees the second one could be free. But if the points weren’t added until they paid they wouldn’t be able to claim it until next time. I have customers who may take exception to that :wink:

I’m assuming that I would add the ‘Add Coffee Point’ and ‘Subtract Coffee Point’ Actions to the ‘Automation Command Executed’ automation with the same constraints as the + - Actions?