How it works
Every role, in detail
Five roles. What each can do, and what it deliberately cannot — enforced on the server, not just hidden in the interface.
A customer's first visit
JG's Coffee
Check in to earn points
It starts at the counter.
- 1
They type their number on the kiosk
If the shop has not seen it, they are registered there and then, with a name and optionally an email and birthday.
- 2
Staff award the points
The member of staff enters the amount spent and their own PIN. The points are worked out on the server using the shop's own rate.
- 3
They collect
Points build up at that shop. If the shop runs a wheel, checking in unlocks one spin a day.
- 4
They claim
When they have enough for a reward, they ask a member of staff, who redeems it at the counter.
The same customer at a second shop
JGRewards member
Your member code
Show this at any shop
JG-2EZ9C
They show one code
240 points
JG's Coffee
A new card appears
Hi Jack
My Rewards
JGREWARDS
MEMBER
Jack
MEMBER SINCE 2026
Both shops, one wallet
- 1
They open the app and become a member
Entering their number brings up whatever cards they already hold. If they are new to JGRewards entirely, they are offered free membership.
- 2
They get a member code
One code for the person, not one per shop. It works at every participating shop, including ones they have never visited.
- 3
A new shop scans it
The counter recognises the code and offers to add them, with their name already filled in. They do not type anything.
- 4
A second card appears
Their wallet now holds two shops. The points at each stay separate and belong to that shop.
Roles and permissions
Member (shopper)
The app at jgrewards.com/app, or the iOS and Android apps · Signs in with: Phone number
Can
- See every shop card in one wallet, with points, rewards and recent activity
- Show one member code that works at any participating shop
- Reveal partner coupon codes
- Correct their own name and email, which updates at every shop they belong to
- Set or clear their country, and choose from nine languages
- Delete their own membership at any time
Cannot
- Award themselves points — every award needs a staff PIN checked on the server
- Redeem a reward without a member of staff
- See another member's card, points or details
- Change the phone number on their membership, since it is what identifies them
Shop staff
The kiosk on the shop's tablet · Signs in with: A personal PIN, entered per transaction
Can
- Check a customer in and register a new one
- Award points by entering the amount and their PIN
- Redeem a reward a customer has earned
- Mark a voucher as used
- Request a change to their own PIN, for the owner to approve
Cannot
- Open the dashboard, or see reports and customer lists
- Change rewards, offers, prices or settings
- See another member of staff's PIN
- Change their own PIN without approval
Shop manager
The dashboard at jgrewards.com/admin · Signs in with: Shop email and PIN
Can
- Everything staff can do
- See the dashboard, customer list, transactions and reports
- Create and edit rewards, offers, the spin wheel and raffles
- Adjust a customer's points, with the change recorded
- Add and edit staff and other managers
Cannot
- See other staff members' PINs
- Approve or reject PIN change requests
- Add or modify an owner account
- Delete an owner
Shop owner
The dashboard at jgrewards.com/admin · Signs in with: Shop email and PIN
Can
- Everything a manager can do
- See staff PINs and set them directly
- Approve or reject PIN change requests
- Add owners, and change any staff account
- Change shop settings: points rate, expiry, logo, kiosk text, review link
- Export their own customer and transaction data
Cannot
- See any other shop's customers, points or reports
- See what customers corrected about themselves in the app
- Change their own billing plan or invoices
JGAI platform team
The console at jgrewards.com/superadmin · Signs in with: Email, PIN and an authenticator code
Can
- Create shops and issue their sign-in details
- Set plans, prices, billing dates and currencies, and record payments
- See revenue across countries and currencies
- Suspend or restore a shop that has not paid
- Manage the JGRewards member store and partner coupons
- See system health, queued email and an audit log of its own actions
Cannot
- Award or remove points at a shop
- Use a shop's kiosk or act as its staff
- Read what customers corrected about themselves
How it is kept separate
Every shop's data is scoped to that shop. A request carries the shop it belongs to, and records are matched on it. A shop asking for a reward that belongs to someone else gets nothing back.
The browser never talks to the database. Every read and write goes through one server-side gateway. Direct access from a browser is switched off at the database, so a leaked public key gets nobody anything.
Points are never calculated on the customer's phone. Amounts, rates and balances are worked out on the server, and awarding requires a staff PIN checked there.
Repeated wrong PINs slow down. Each failure makes the next attempt wait longer, so guessing a four-digit PIN is not practical. The console additionally requires an authenticator code.