Coffee Loyalty Points

Hi All,
I’m wanting to implement a loyalty points system for coffee purchases. Nothing fancy, the customer gets a point for each coffee purchased then a free one after 6. I’ve had a look at the tutorial but it seems more complicated than I need? Any tips?

I’ll start working through the tutorial implementation tomorrow - I’m assuming that instead of using *0.01 as in the tutorial I just use +1?

Thanks in advance for any help :stuck_out_tongue_winking_eye:


I’ll be using an RFID reader for customer input :+1:

Which tutorial your referring to would be helpful.

This one:
Plus I’m currently watching this: Customer Loyalty Points Setup [4K with Voiceover]

Depends on the system you want to impliment, hard to sugest without more info.

Currently we use cardboard cards. When someone buys a coffee the card is stamped, once they have 6 stamps the next coffee is free. They get a new card and start from scratch.

The above tutorials look to use a percentage of the total sale to add points and those points translate to dollars off a subsequent purchase (which is not what I want). I need something similar but a point is only added per coffee they purchase.

Hopefully that explains it?


If you are looking for something simple you could create an automation that checks if the entity field Points is 6. Then gift the coffee and modify the field back to 0.

With every purchase of a specific product it adds 1 point.

That sounds pretty much what I need, cheers.

I’m about 2/3 through the above tutorial ( and I’ve got a couple of questions:

At step 5. Adding Rules, the rule name LC-Apply Loyalty Discount Button it says ‘Event Type’, should that say ‘Event Name’?

At step 5.3 when I Add Custom Constraint, the tutorial says ‘Automation Command Name|Equals|ClaimUnusedLoyaltyPointsCommand’. However in the drop-down there is ‘LC-Claim Unused Points’, do I select that or type in ‘ClaimUnusedLoyaltyPointsCommand’?

This is where I have stopped :stuck_out_tongue_winking_eye:
Great tutorial BTW, easy to follow and pics are good as well :grinning:

Hello @Muzzargh,

Thanks for your feedback, I replaced related phrases with Event Name.
Regarding your other question, you can type Automation Command Names manually even though they are not displayed in the drop-down list.

1 Like

So I’ve worked through the tutorial and all seems well, cheers.
Now I’ve created some custom fields in the ‘New Customer’ screen but how do I link the Loyalty Card Number (entered via an RFID tag) to the Loyalty Card Entity?

If you refer to my video tutorial pretty sure I covered using numberpad value entered rule.

Hi Joe,

Yes you did and that bit works fine. The issue I have is that when I create a new customer the Loyalty Card field isn’t linked to anything, i.e. no Loyalty Card Entity is created. If I manually create a Loyalty Card Entity everything works as expected (although no Customer entity is created).

Thanks for your help so far. :smiley:

So you have customer and loyalty card entity types?
I used loyalty card instead/in place of customers.
I wouldn’t have seperate.
I either add a card to customer entity or just use card entity with a name field.
If for whatever reason you wanted two entity types you would need to look at creating automation flow using ask questions and [?prompt] to pragmatically create both in tandem but without specific need I wouldn’t bother.

Only because the Loyalty Card Entity is created at the start of the tutorial.

Can I re-implement the Loyalty Card (via the tutorial) but use the Customer Entity instead, so instead of “[Holder Name] - [Points] Points” I use “[Name] - [Points] Points” (or some variation of that)?
I assume I’d have to add a “Points” field to the Customer Entity?

Yer, entity types are all the same to use however need.

OK, I’ll crack into it and see how it all goes.

OK, so here’s what I can get working (good enough for my needs :stuck_out_tongue_winking_eye:)
First thing I did was create a new backup (you don’t know how important this is until you need it!!!)
Then Created all the following Rules, Actions and Automation Commands.


If not shown, all the ‘Mappings’ are like this:



Not sure if the syntax is correct here but it works. Could I drop the ‘[=TN’ and the last ‘]’?


I’m at home so haven’t tested the printing side as yet.





This is basically a copy of the Gift Automation Command



So that’s it. As far as I can tell so far it works.


Loophole in this would be canceling or voiding an order which gave a point.
This is why many would change to use a counting report ticket type expression to count ip valid orders on final payment when orders are final.

Yeah, I asked another question re Event creation but this will do for now. This way we can see if someone crosses the threshold for a free coffee during the order rather than realise at the end. I might tweak this later but I need to get the system into production.
Thanks for your help so far :+1: