CLIENT: Dapithapon Coffee & Bakery🇵🇭Philippines

Balikan - Loyalty Platform with Second-Person Approvals and Fraud Rules

Loyalty Console for a 60-Outlet Manila Coffee Chain

Designed and built a clickable loyalty console for a Manila coffee and bakery chain's rewards programme: a programme dashboard with the points liability, member lookup with masked mobiles, a member record with its full points ledger, adjustment approvals that always need a second person, and a fraud alert queue for shared QR codes and staff self-earn.

Scope of Work
Product design, UI build and clickable demo
Industry
Retail / Loyalty
Enterprise
Compliance & Certifications
Data Privacy Act 2012 (RA 10173)Consumer Act (RA 7394)Gift Check Act (RA 10962)Senior citizen and PWD discounts (RA 9994, RA 10754)PFRS 15App store account deletion rules

Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.

Impact

5 Screens
Clickable end to end

Dashboard, members, member detail with all 8 tabs, adjustment approvals and fraud alerts. Each of the 24 demo members opens its own record with a points ledger and the earn calculation behind every entry.

2,000 Points
Supervisor approval limit

Every manual change to a balance waits for a second person. The raiser cannot approve their own adjustment, and anything above 2,000 points escalates to the programme manager.

7 Fraud Rules
Checked on every till post

Shared QR at distant stores (more than 5 km apart within 30 minutes), too many earns per day, staff self-earn, many accounts on one device, referral rings, redemption right after an adjustment and unusual cancel-and-refund patterns.

24 Members
Realistic demo data

3 tiers, 22 of the 60 stores, 8 staff users, 13 adjustments, 11 fraud alerts, 8 support cases and 4 privacy requests, priced in PHP on Manila time.

The Problem

Dapithapon ran a paper stamp card and a plastic points card that only worked in the 22 outlets on the newer till software. Stamp cards were lost, photocopied and filled by friendly crew, points were earned on mobile numbers that belonged to nobody, promos went out as one SMS blast to a spreadsheet of uncertain consent, and when a store's line went down the till silently skipped the loyalty step. Support fixed the complaints by typing points into a back-office screen with no approval and no reason.

Our Solution

Balikan is the loyalty platform behind Dapithapon Rewards: a member app with a rotating QR card, a till integration that keeps earning when the store is offline, and a console where support, fraud, marketing and finance staff run the programme. Every manual adjustment needs a second approver, fraud rules run on every till post, and the points liability is reported to finance in pesos.

The Challenge: Points That Behave Like Money

Points are promotional credit, not money, but members, auditors and fraudsters all treat them as if they were. A loyalty programme for 60 outlets has to be fair to members, honest with finance and hard to game at the till, under Philippine privacy and promotions law.

Balances Changed Without a Trace

Support typed points into accounts with no reason and no second check, and nobody noticed when one account received 40,000 points in a month. Every balance has to come from an append-only ledger, with each manual change reasoned, approved and audited.

Abuse at the Counter

Shared QR codes used at stores kilometres apart, crew earning on their own sales, many accounts on one phone and referral rings all cost real money. The rules have to catch them on each till post without stopping the sale.

Consent and Privacy by Law

Under the Data Privacy Act, marketing, profiling for personalised offers and partner sharing each need specific, recorded consent with its version and timestamp. Members can access, correct, object to, erase and export their data, and app store rules require account deletion inside the app.

A Liability Finance Can Defend

Under PFRS 15, points earned on a sale are generally a separate performance obligation. Head office could not say what unredeemed points were worth when the auditors asked, and expiry has to follow the published terms, with members warned before points lapse.

Our Approach: From Programme Rules to a Clickable Console

01

Spec and Rules Research

Mapped 11 roles from the member and cashier to the fraud analyst, finance and the data protection officer, 54 screens across the member app, the till, the console and public web, and the data model for members, consents, tiers, earn rules, an append-only points ledger, vouchers, adjustments, fraud rules and alerts, campaigns and promo permits. Wrote down the rules the design follows: the Data Privacy Act and NPC breach rules, the Consumer Act on sales promotions, the Gift Check Act, senior citizen and PWD discounts, BIR invoices and PFRS 15.

02

Clickable Demo on a Production UI Kit

Built 5 console screens on a production dashboard kit: the programme dashboard with KPIs, member sales share by store, tier mix, the points liability and a Needs attention list, members with masked mobiles and a quick view, the member record with 8 tabs and a logged unmask, adjustment approvals with evidence and escalation, and fraud alerts with triggering events, a distance map for shared QR codes and linked accounts. All actions run on local state.

03

What a Production Build Adds

The member app and the two till panels, the Balikan till API into the chain's POS with the offline queue, OTP and marketing SMS through a provider such as Semaphore, push through OneSignal, email through SendGrid or Amazon SES, device signals from Play Integrity and App Attest, and BigQuery for finance. Staff sign-in through the company's identity provider with MFA, an append-only audit log, and the remaining console screens for programme rules, campaigns, promo permits, privacy requests and reports.

Why It Works: Every Point Has a Source

Two People on Every Adjustment

An adjustment shows its evidence, the member's recent ledger and other adjustments in the last 90 days. Approve, reject with a reason or escalate, with requests waiting over 24 hours marked in red and the approver's limit shown in the sidebar.

Fraud Confirmed, Not Assumed

Each alert lists the events that fired the rule, the cashier ids and linked accounts. Confirming freezes the member and raises a reversal that still needs approval, so even the fraud team cannot change a balance alone.

Personal Data Masked by Default

Mobile numbers are masked everywhere, unmasking on the member record is logged, and exports are masked unless the data protection officer approves. Consent history records each choice with its source and timestamp, and the versions of the terms and privacy notice agreed to.

The Liability on the Front Page

The dashboard shows outstanding points, the breakage estimate and cost per point as one peso figure, alongside the stores with the lowest member sales share and campaigns that still lack a promo permit.

Related case studies

View all: Retail & POS
Logo
Oceanlab

Enterprise Software Engineering - Human + AI

Languages

Locations

Global Headquarters

21 Merchant Road, 3rd Floor, Singapore 058267

Main corporate office and leadership operations

North America Office

548 Market Street, PMB 12345, San Francisco, CA 94104

Client operations and business development

India Office

402 Shivalik Shilp II, SG Highway, Ahmedabad 380015

Engineering and delivery center

© 2026 - Copyright. All Rights reserved Oceanlab