LoyaltyMatic

LoyaltyMatic

Every point, accounted for.

A headless loyalty engine built like a bank, not a marketing tool.

Multi-program. Multi-brand. Multi-tier. One API.

11capabilities
3pillars
1unified API
Scroll

The Philosophy

Every purchase is an act of trust.

Customers choose your brand over a hundred others. Ads can't earn that — only experiences can.

Make every transaction feel like a relationship, not a receipt. The brands that win the next decade won't shout the loudest. They'll listen the closest.

The Mechanism

A points program your customers actually feel.

Humans are wired for progress. Every point earned is a small win. Every reward redeemed, a quiet celebration. That's how loyalty becomes a habit, not a campaign.

  • Smart discounts

    Contextual savings at the moment of checkout.

  • Surprise freebies

    Unexpected gifts that turn a sale into a memory.

  • Exclusive access

    Tier-only privileges that money alone can't buy.

  • Personal gifts

    Rewards tailored to the customer, not the segment.

The Return on Loyalty

Retention is the new acquisition.

Winning a new customer costs five to seven times more than keeping one. Loyal customers buy more, return more often, and bring others with them.

  • Higher order value

    Repeat customers spend significantly more per visit than first-timers.

  • Repeat purchases on autopilot

    Points are an open invitation — and customers come back to claim them.

  • Built-in brand advocacy

    Your best customers become your loudest marketers, for free.

  • Lower acquisition costs

    Earn more from the customers you've already paid to win.

Enterprise-Grade Flexibility

Flexible tier architectures, built for how your business actually works.

You shouldn't have to reshape your loyalty strategy to fit your software. LoyaltyMatic's tier engine adapts to the lifecycle model your customers — and your finance team — already understand.

  • 01

    Calendar-Year Qualification

    Customers earn status during the calendar year and hold it for the full year that follows. A clean, predictable cycle that resets together for every member.

    The standard for luxury hotels — Marriott, Hilton

  • 02

    Rolling 12-Month Window

    Status is recalculated dynamically against the last twelve months of activity, with built-in protection windows so frequent customers never feel a cliff.

    Used by leading airlines — Emirates, Saudia, MEA

  • 03

    Permanent / Lifetime Tier

    Once a customer crosses the threshold, the privilege is theirs forever. The strongest possible signal that you value the relationship over the transaction.

    Loved by lifestyle brands — Sephora, Starbucks

What's inside

Eleven capabilities that separate LoyaltyMatic from the rest.

Three pillars. Eleven cards. One platform built for retailers who refuse to lose track of a single point.

Pillar 01

Trust

Pillar 02

Flexibility

Pillar 03

Operations

Part 1 of 3

Trust

Points you can audit.

01
Card 01

Banking-grade bookkeeping of points

Points are a financial liability. We treat them like one.

  • Immutable, append-only ledger as source of truth

    • Every point movement is a permanent entry — earn, redeem, expiry, reversal, transfer
    • No row is ever updated or deleted; corrections are written as new compensating entries
    • Reconstruct any customer's balance, at any point in time, directly from the ledger
  • Strict transactional consistency

    • Every balance change commits atomically with the transaction, ledger, event, and audit log
    • No half-written transactions, no orphaned ledger lines, no balance drift
  • Nightly reconciliation

    • Random-card sampling sums the ledger by bucket and compares to cached balances
    • Drift is detected, logged, and surfaced — not silently absorbed
  • FIFO point consumption

    • Oldest earn batches are redeemed first — clean tax and accounting treatment
    • Every redeemed point traces back to the specific earn batch it came from
  • Defensive integrity at the database level

    • Balances cannot go negative — enforced by the database, not just the app
    • Reversal of an earn that has already been spent is blocked, not silently allowed
Card 02

Built-in audit trail and compliance

Every change is recorded. Forever.

  • Append-only audit log on every meaningful action

    • Registrations, tier changes, manual adjustments, reversals, blocks, configuration changes
    • Captures who, what, when, from where — with full before / after state snapshots
  • End-to-end request tracing

    • Every API call gets a request ID that flows through the audit log, the event stream, and the application logs
    • Trace any customer interaction across systems in a single query
  • Designed for multi-year retention

    • Audit data is monthly-partitioned — keep 5, 7, or 10 years of history without performance loss
    • Cold partitions archive cleanly to long-term storage
  • Per-customer tier change history

    • Every upgrade, downgrade, manual override, and migration captured with the exact rule that triggered it
    • Answer "why was I downgraded?" six months later, even after rules change
Card 03

Multi-tenant isolation and security

Your data is yours. Period.

  • Database-per-tenant architecture

    • Each tenant has a dedicated PostgreSQL database — no shared rows, no cross-tenant queries
    • The hardest possible isolation boundary in a multi-tenant SaaS
  • JWT authentication at the gateway

    • API gateway handles JWT validation, rate limiting, and IP allow-listing before requests reach the engine
  • Idempotency-Key on every write

    • Retry-safe API — duplicate POS submissions never produce duplicate points
    • Two layers of dedup: explicit key plus a bill / order reference fallback
  • Secure card number generation

    • Cryptographically random, Luhn-checksummed, program-prefixed card numbers
    • Typo'd cards bounce before any DB write
  • Built for compliance frameworks

    • SOC 2 / ISO / GDPR / KSA data-residency considerations baked into the architecture
    • Append-only tables, immutable audit trail, request tracing — the controls auditors look for

Part 2 of 3

Flexibility

Any program, any channel.

Card 04

Multi-program, multi-brand, multi-tier

One platform. Every loyalty structure your business actually needs.

  • Multiple loyalty programs per tenant

    • Run independent programs side-by-side (Shops Rewards + Online Members + Clinic VIPs)
    • Each program has its own currency, points value, validity window, and rules
  • Brand → Merchant → Terminal → Cashier hierarchy

    • Group merchants into brands (Shops, Clinics, Online, App)
    • Track activity down to the specific POS terminal and operator
  • Unlimited tiers per program

    • Any tier ladder you want: Blue → Silver → Gold → VIP, or a single flat tier
    • Higher tiers earn faster via configurable accrual rates
    • Localized tier names (English, Arabic, anything else) baked in
  • Three industry-standard tier lifecycle patterns out of the box

    • Calendar-year qualification (Marriott / Hilton style) — earn in a year, hold for the next
    • Rolling 12-month with protection window (Emirates / BA style) — personal anniversary per member
    • Permanent / lifetime tier (Sephora / Starbucks style) — once earned, never lost
  • JSON-driven tier rules

    • Continuous, anniversary-based, or tier-age-gated evaluation
    • Compound conditions: upgrade by points OR visits; downgrade only after 12 months at tier
    • No code changes to update a rule — config only
Card 05

Headless and API-first

Wire loyalty into anything you already have. We don't dictate your stack.

  • REST API for every operation

    • Earn, redeem, reverse, refund, balance inquiry, customer management, transaction lookup
    • One contract used by POS, e-commerce, mobile apps, kiosks, call center, and admin tools
  • Five ways to identify a customer at the counter

    • Card ID, card number, mobile, email, external CRM ID — pick whichever your channel has
    • All five resolve to the same wallet behind the scenes
  • Omnichannel by design

    • Same customer, same balance, across every store, your website, your mobile app, and any future channel
    • Channel attribution recorded on every transaction (store / ecom / app / kiosk / call_center)
  • No imposed UI

    • You design the customer experience — the platform exposes the data and operations cleanly
    • Branded loyalty pages, mobile wallets, custom dashboards all sit on top of the same API
Card 06

Real-world transaction handling

Built around the messiness of how real bills actually look.

  • Line-level earn for multi-product bills

    • Send a bill with multiple lines; each line earns, holds, or skips independently based on category rules
    • Service fees skip cleanly; subscriptions hold until activation; consultations earn immediately — all in one call
  • Per-category earning rules

    • Each category decides: earn or skip, earn now or hold, earn on discounted items or not
    • Priority-driven resolution when a product matches multiple categories
  • Hold-and-release for subscriptions and pre-paid plans

    • Points held when a customer pre-pays for a 30-day plan
    • Released day-by-day (or however your business wants) as the service is delivered
  • POS-friendly refund flow

    • One endpoint handles the entire refund — POS doesn't need to know if points are in hold or available
    • Held points cancelled; available points reversed; mixed cases handled automatically
    • Partial refunds, line-item refunds, full refunds — all supported
  • Configurable expiry and reversal windows per program

    • Points expire per-program (e.g. 12 months from earning)
    • Different windows for earn vs. redeem reversals (e.g. 90 days vs. 1 day)
  • Backdated transaction support

    • Migrate opening balances and historical activity from legacy systems with the correct effective dates
Card 07

Multi-language and multi-currency

Speak to your customers in their language. Bill in your currency.

  • Bilingual by default

    • System-managed names (programs, tiers, brands, merchants) stored in English + Arabic + any other locale
    • API returns all locales; the client picks
  • Per-program currency

    • ISO 4217 codes (SAR, AED, USD, EGP) — each program has its own
    • Different programs in the same tenant can transact in different currencies
  • Monetary equivalents on every response

    • Customer sees "1,250 points = 125.00 SAR" automatically — no client-side math required
    • Point value defined per program and exposed in every balance and transaction response

Part 3 of 3

Operations

The parts that keep it running.

03
Card 08

Event-driven integrations

Plug into anything. Notify everyone.

  • Transactional event outbox

    • Every point movement, tier change, card issuance, and reversal publishes a clean event
    • At-least-once delivery, with consumer-side deduplication on a stable event ID
  • Redis Streams for downstream consumers

    • Notification services (SMS, email, push) consume the same stream
    • CRM sync, BI pipeline, fraud detection, marketing automation — all see the same canonical event
  • No silent failures

    • Events that fail to publish are retried, then escalated to a visible dead-letter state
    • "Event published but database rolled back" cannot happen — the outbox makes the two atomic
Card 09

Bulk import and migration

Migrate from your legacy program with confidence.

  • CSV customer import

    • Upload up to 200,000 customer rows in one file
    • Streaming parser handles large files without memory blow-ups
    • Auto-issues loyalty cards on first row, ready to transact
  • CSV transaction import

    • Opening balance migrations from legacy systems
    • Multi-line bills grouped atomically by order reference
    • Mixed earn + opening-balance files supported in one upload
  • JSON async batch endpoint

    • Submit up to 500 orders in one call for back-of-house batch flows
  • Per-row error reports

    • Every failed row captured with a stable error code and the original data
    • Download the failure CSV, fix the data, re-upload — clean workflow
  • Upload deduplication

    • Re-uploading the same file within 24h is detected and ignored — no double imports
Card 10

Operational tooling

Cron-triggered jobs that keep the program healthy.

  • Nightly tier evaluation

    • Walks every active card against its tier rules; upgrades and downgrades applied automatically
    • Dry-run mode lets operators preview impact before a real run
  • Point expiry job

    • Identifies points past their expiry date with unconsumed balance
    • Writes expiry transactions with full ledger trail
  • Reconciliation job

    • Samples random cards each night; flags any drift between cached balances and the ledger
  • Expiring-points report

    • List every customer with points expiring before a chosen date
    • Feed into your notification workflows ("you have 250 points expiring in 30 days")
  • All jobs are externally triggered

    • Run from any scheduler — system cron, Kubernetes CronJob, Airflow — the loyalty service stays stateless
Card 11

Performance and scale

Built for retailers. Designed for chains.

  • Monthly-partitioned tables for transactions, ledger, and audit data

    • Query speed stays flat as years of history accumulate
  • Per-tenant connection pools

    • High-volume tenants don't contend with smaller ones
  • Row-level locking on cards

    • Concurrent transactions on different customers run in parallel
    • The same customer is serialized just enough to keep balances correct
  • Cursor-paginated job processing

    • Predictable memory footprint regardless of dataset size
  • Indexed for the queries that actually run

    • Single-card lookups, paginated history, FIFO redemption, expiry sweeps — all on hot paths

Get started

Ready to see it in action?

Book a 30-minute walkthrough and we'll wire LoyaltyMatic to a live sandbox.