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

(217) 555-0134
123456789CLR0OK
Rewards
Spin
Offers

It starts at the counter.

  1. 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. 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. 3

    They collect

    Points build up at that shop. If the shop runs a wheel, checking in unlocks one spin a day.

  4. 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

HomeShopsAlertsYou

They show one code

240 points

JG's Coffee

JG's Coffee240
RewardsOffers
Free coffeeReady
$5 off60 to go
HomeShopsAlertsYou

A new card appears

Hi Jack

My Rewards

JGREWARDS

MEMBER

JG-2EZ9C

Jack

MEMBER SINCE 2026

JG's Coffee240
JG's Pizza85
JG's Barber120
JG's Bakery310
HomeShopsAlertsYou

Both shops, one wallet

  1. 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. 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. 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. 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.