Skip to content

Profile, Settings & Referrals

Overview

The Profile tab is each member's account hub in the member app. From here a member edits their personal details, secures their login, controls which notifications they receive, manages addresses and parked bottles, reads your terms — and invites friends to earn referral rewards.

This page covers what your members see and do in that tab, so you can answer questions and know which of your settings switch each piece on or off.

Member-facing, not an admin screen

Everything here lives in the member app (the Customer channel). You don't configure these screens directly — they appear based on your merchant settings and the programs you run. Cross-references below point to the admin side that controls each.

The profile hub

Opening Profile shows the member's avatar, name, phone number, and their active membership card — tapping the card opens a benefits drawer with the tier's discount/cashback tiles and a How it works description.

Below that is the settings menu. Items appear conditionally — a member only sees a row when it applies to them or you've enabled it:

Menu itemWhat it opensWhen it shows
My profileThe full profile editor (see below). Shows a "!" warning badge when the profile is incomplete.Always.
Change mobile numberReplace the member's phone, verified by OTP.Always.
Change passwordSet or change the account password.Always.
PIN settingsSet up, change, or disable a 4-digit login PIN.Only once the member has a password.
Notification settingsPer-type notification toggles (see below).Always.
Touch ID / Face IDRegister a device biometric for login.When the device supports it.
Member dietary preferencesDemographic, consent, and food-preference tags.When you enable Show dietary on profile.
My addressSaved shipping addresses for delivery orders.When you enable Show address on profile.
Attendance HistoryA staff member's clock-in/out record.Only for staff with attendance access.
My BottlesParked bottles, with a remaining-count badge.Only when the member has parked bottles (SG).
Refer friendsThe referral hub (see below).When Allow referral is on and the member has an active membership.
About us / Contact us / Privacy policy / FAQ / TermStatic information pages.Always.
LogoutSigns the member out after a confirmation.Always.

A forced password may appear

If you require a password (Password is required in your signup fields) and a member doesn't have one yet, a password-setup modal blocks the Profile tab until they set one. PIN login depends on a password existing first — so members are nudged to create a password before they can turn on a PIN.

My profile — editing personal details

My profile opens the detail editor where the member can:

  • Change their avatar — uploaded and compressed on device.
  • Edit name, gender (Male / Female / Not specific), and birthday (date picker).
  • Change their email, with a verification step.
  • View and manage sub-accounts.
  • Link social logins (Google / Facebook).
  • Run phone and email verification.

The "!" badge on the My profile row clears once the profile is complete. If you award a profile-completion bonus (the Bonus Point On Completing Profile setting on the Loyalty Points side), filling everything in is what triggers it.

Sub-accounts

The profile editor lets a member view and manage sub-accounts — secondary member accounts linked to their main account. A member can keep more than one profile under a single login, and the editor lists the linked accounts and lets them switch between or manage them.

You'll see this in practice when one person manages loyalty for several people (for example a parent holding accounts for family members) but signs in once. Each sub-account is still its own member record on your side, so transactions, points, and vouchers stay attached to the right account.

Social logins and verification

From the same editor the member can:

  • Link or unlink social loginsGoogle and Facebook. Each provider runs its own sign-in/verification flow when linked, after which the member can log in with that provider.
  • Verify their phone — confirmed by OTP.
  • Verify their email — confirmed through the change-email step.

These verification flows live alongside the avatar, name, gender, birthday, and email edits, so a member completes everything from one screen.

Securing the account

Change mobile number

Changing the phone number sends an OTP to the new number; the member enters the code to confirm the switch.

Change password

A straightforward set/change-password modal. This is also the password the PIN flow checks against.

PIN settings (4-digit)

A modal to set up, change, or disable a 4-digit login PIN.

ActionWhat it requires
Set upThe account password (confirmed), then a new 4-digit PIN entered twice.
ChangeThe current PIN, then the new one.
DisableThe account password.

The PIN must be exactly 4 digits, and the confirmation must match. If the member has no password, the app tells them to "Set up a password first before enabling PIN."

Deep link to PIN setup

A ?action=set-pin link auto-opens PIN setup, even carrying the intent through the login screen — handy if you ever send members straight to that step.

Touch ID / Face ID

Members on a supported device can register a platform biometric (Touch ID / Face ID) so they can log in without typing a password. The login screen then offers a fingerprint button. Availability is detected from the device — there's nothing for you to switch on.

Notification settings

Notification settings lists each notification type with a name, a short description, and an on/off toggle. Turning a type off stops the member from receiving that kind of push notification; a confirmation toast shows when a toggle is saved.

These same types drive what lands in the member's notifications list and what pops up as a live toast while the app is open.

The notifications list

Tapping the notification bell (in the profile and other headers) opens the member's notifications, grouped by day — Today, Yesterday, N days ago — with infinite scroll, a newest/oldest sort toggle, and a Mark all as Read action. Opening unread items marks them read and updates the unread badge.

Each notification reflects a real event, with a sign and value where one applies:

EventShown as
Points earned+ points
Points redeemed / returned points
POS transaction+$
Cashback−$
Voucher redeemedno sign
Voucher reloaded+
Store value redeemed / reloaded−$ / +$
Stamp added+
Membership joined / tier up / tier downno monetary value
Referral acceptedno monetary value
Program joinedno monetary value

Voucher amounts carry the right unit for their type — $ for cash/gift vouchers, % for discount vouchers, or the word Voucher for a free-item voucher.

Feedback survey

You can prompt members to complete a short post-experience feedback survey — a star rating plus your own questions. Unlike the settings rows above, members don't open this from a menu: it arrives as a real-time event and pops up on its own, wherever the member is in the app.

A survey is triggered one of two ways, both carrying a survey reference id:

  • A socket notification of type feedback, pushed while the app is open.
  • A Firebase push notification titled "Feedback", which works even when the app is in the background.

When one arrives, a bottom drawer titled Feedback slides up, greeting the member with "Thank you for taking part 😍 — Please complete this document to help improve the taste of future meals." The drawer then loads the survey you configured and shows:

FieldNotes
RatingA 1–10 star rating, labelled "1 = Strongly Disagree, 10 = Strongly Agree".
NameRequired. Pre-filled from the member's profile.
PhoneRequired. Pre-filled from the member's profile.
Email addressRequired. Pre-filled from the member's profile.
Your questionsA numbered list of the questions you authored, each with a required free-text answer box.

Tapping Send posts the rating, contact details, and answers back against the survey, closes the drawer, and shows a "Thank you" success toast. A member who has already responded to a survey isn't shown it again.

You author the questions, not the member

The rating scale is fixed, but the question list comes from the survey you set up — so the same drawer can collect anything from a single comment to a full questionnaire. Because the prompt is delivered by notification, the member sees it without going looking for it.

Member dietary preferences

When you enable Show dietary on profile, the Member dietary preferences row opens a bottom-sheet form in three parts:

  • Demographic — race and citizenship.
  • Consent — accept notifications for events, and marketing-message toggles.
  • Personal Preferences — tag selectors for Like, Dislike, Dietary, and Allergic. The available tags are loaded from your backend.

Saved preferences attach to the member's profile, giving you demographic and dietary data to segment on.

Off by default

The dietary section only appears when Show dietary on profile is enabled. If you don't collect this, members never see the row.

My address

When Show address on profile is enabled, My address lists the member's saved shipping addresses with an Add address button. Each address captures name, phone, email, map coordinates, address lines, unit, building, city / state / province / postal code / country, and a free-text info note. These are the addresses members pick from when placing a delivery order.

My Bottles

Singapore feature

My Bottles lists bottles the member has parked at your outlets (the SG bottle-parking feature). It only appears when the member has parked bottles, and a badge on the menu row shows the total remaining count.

Each parked bottle shows its product name and image, the remaining quantity, and an expiry date, grouped by outlet. The parking and unparking happen at the counter — see Bottle Keeping.

Static pages and logout

The About us, Contact us, Privacy policy, FAQ, and Term rows open static information screens. Your merchant terms are rendered from the terms HTML you provide; if you haven't entered any, the member sees "This merchant has not provided any terms."

Your terms surface in more than one place

The static Term page isn't the only place this text appears. The same merchant terms (your termBody HTML) also render as a consent drawer during signup, login, joining a merchant, and the order quick login — so members accept them in context at each of those steps. The same "This merchant has not provided any terms." fallback shows in those drawers when you haven't entered any terms.

Logout opens a "Are you sure to logout" confirmation. Confirming disconnects the real-time connection and clears the session.

Refer friends

The Refer friends hub is where members turn into a marketing channel for you. It appears only when Allow referral is on and the member has an active membership.

The hub shows the member's personal referral code and a shareable referral link, with one-tap share buttons and a copy option:

  • WhatsApp
  • Telegram
  • Facebook
  • X (Twitter)
  • Viber
  • LinkedIn
  • Copy the link

The referral programs

Below the share options, the hub lists your active referral programs — each showing the gift amount and gift type (a voucher, points, or store credit), any limits (the per-referral max and the program's payout cap), and a How it works description.

Invited friends and earned gifts

A list shows the friends the member has invited — each with an avatar, name, and masked phone or email — alongside the gift the member earned for that referral. A running total and the per-referral maximum are shown too. Sub-tabs cover referral history, gifts sent, and the joined-user list.

Referrals need two switches

The hub stays hidden unless both conditions hold: Allow referral is enabled (see Referral) and the member holds an active membership. A member who hasn't joined a tier yet won't see it.

Staff using a member's device

A member who's also one of your staff can clock in and out from their own phone. From Attendance History — or by scanning an attendance QR — they reach the clock-in/out screen, which confirms with "Clocked In" / "Clocked Out", their name, and the time, plus a 5-minute Undo countdown. Duplicate scans show "Already recorded — no new entry was created."

This is the same record you manage on the Attendance side. A member needs staff attendance access for the Attendance History row to appear.