Loyalty platform · World edition

Points, tiers and campaigns that your tills, shop and messaging already understand

Loyalti runs the loyalty programme of a retail chain, a restaurant group or an online shop: members and wallets, rules and scenarios, multi-channel campaigns and analytics. Cash registers talk to it through a till API, Shopify and WooCommerce through webhooks, customers through SMS, WhatsApp, Telegram, e-mail, push and Wallet cards.

The whole platform is for sale with its source code: run it on your servers or sell it under your own brand.

Loyalti dashboard: new and active clients, returning share, extra revenue, client base by lifecycle, revenue and registrations by month
146back-office screens, each one shown on this site
673API calls documented with OpenAPI files
6messaging channels: SMS, WhatsApp, Telegram, Viber, e-mail, push
3 155automated tests run before every release

What it does

One programme for the till, the shop and the phone in the customer's pocket

Members and wallets

Every member has one wallet with three balances: earned, gifted and promo. Points carry an expiry, a restriction to a category or a store, and a cap on how much of a receipt they may pay. Labels, consents, children, cards and the full transaction ledger sit on the member card.

  • Phone in E.164, e-mail, physical or Wallet card as identifier
  • Registration from the till, a public form, the portal, the shop or an import
  • Bulk operations and CSV / XLSX export with chosen columns
Members, wallets and registrations
Member card: contact details, balances by type, purchase statistics, communication channels and consents

Rules that the till computes in real time

A rule is a set of conditions on the receipt, the item and the member, and an action: earn a percentage or a fixed amount, cap redemption per item or per cart, set a label, print a line on the receipt. The till asks for a quote before the sale and commits after payment; rules are frozen on the order, so a later edit never rewrites a receipt.

  • First-match engine with priorities and rule groups
  • Dry run against a sample receipt before activation
  • Scenarios: triggers on registration, purchase, dates and counters with delays, conditions and actions
Rules, scenarios and testing
Rule builder: conditions on receipt and member, earn action and validity period

Campaigns and segments across six channels

A campaign sends one message to a segment through the channel each member can be reached on, with a fallback order you choose. Templates per channel, A/B variants, sending in the recipient's local time, a send log with delivery and open status, and a broadcast effectiveness report that ties purchases back to the message.

  • Segment builder on purchases, visits, RFM, labels, channels and dates, with a live member count
  • Drag-and-drop e-mail maker with blocks and a preview
  • SMS and WhatsApp through Twilio, Telegram and Viber bots, SMTP, APNs and FCM push
Campaigns, segments and messaging
New campaign wizard: basics, audience, content, schedule and review steps

Analytics a marketing director reads without an analyst

RFM segmentation with recommended actions per segment, cohorts, lifecycle, inflow and outflow, average cheque, visit frequency, products, sellers and locations. A report builder with pivots and exports when the question is not on the list.

  • Twenty analytics screens plus purchase and registration journals
  • Anti-fraud views: top clients and top cashiers by returns and redemptions
  • Monthly RFM reports generated on schedule
Analytics and reports
RFM analysis: heat map of segments, segment distribution and recommended actions

Integrations

Connects to what a shop already runs

Tills and shop sites speak to one till API. Online orders arrive through Shopify and WooCommerce webhooks and earn or redeem points like any receipt. Messages go out through the providers you already have accounts with.

Till API /v2POS APIShopifyWooCommerceBitrix24Twilio SMSWhatsAppTelegramViberSMTP e-mailAPNs and FCM pushApple WalletGoogle WalletOutgoing webhooksS3 backups
Integrations settings: Shopify, WooCommerce, Bitrix24 and messaging providers with connect buttons

Three calls from a till to a settled receipt

POST /v2/buyer-info          # who is buying, balance, write-off available
POST /v2/purchase-dry-run    # quote: points to earn, points to redeem
POST /v2/purchase            # commit after payment, idempotent by receipt id

{ "purchase_amount": 120.50, "payment_amount": 110.50,
  "total_write_off_bonus": 10, "total_write_on_bonus": 11,
  "balance": 51, "print_on_check": "Thank you, Anna!" }

Amounts are in the tenant's currency with its own number of decimals; one point is one unit of currency. Cancel and partial refund recompute the accrual with the rules frozen on the order.

All integrations in detail

Who it is for

Built for chains, groups and the people who roll it out

Retail chains

Dozens of stores with tills from different vendors, an online shop, and a marketing team that wants to run campaigns without a developer. Locations, cashiers and registration points are first-class: every report splits by them.

Restaurant groups

Waiter forms for registration at the table, QR codes, gift cards and promo codes at the till, birthday and visit-frequency scenarios, Wallet cards instead of plastic.

Integrators and agencies

Multi-tenant from the first line: one installation serves many clients, each with its own currency, timezone, country, channels and users. A super-admin panel, a full API and webhooks for everything you build around it.

Need a branded mobile app for your members? We build it on the same API for iOS and Android: balance and history, Wallet card, offers, push notifications and registration, delivered as a custom project alongside the platform.

Buying the platform outright

The whole product with source code, tests and deployment

Backend and frontend source, 3 155 automated tests, CI pipeline, Docker Swarm deployment, monitoring stack, OpenAPI contracts and this documentation. The schema installs from two migrations; a fresh server is live in one deploy.

  • 207 873 lines of PHP in 1 942 files, PHP 8.5 and Symfony 7.4
  • Nuxt 3 front end with 146 pages and 83 components
  • Schema-identical fresh install verified against the full migration history
  • What is in the box

Security and operations

Tenant isolation, encrypted secrets, audit log, backups

Row-level security flags on 37 tables, JWT with refresh and two-factor sign-in for super admins, role-based access down to a single store, provider keys encrypted in the database, an audit log of every change, scheduled backups to S3 with restore, and a monitoring stack with alerts.

Security, compliance and deployment
Audit log: who changed what and when, with entity and action filters

See it on your own data

Book a call and we will set up a demo tenant in your currency, connect a test till and walk through the programme you have in mind.