Skip to content

Nobody should type a number twice.

If a system you already run knows what a guest spent, it can tell Smajl directly. Purchases from the counter, the POS and the kiosk all earn through the same rules.

POS and tills

  • Available

    Smajl Till

    Our own till app. A tablet at the counter is all you need, with or without a POS.

  • Available

    POS webhook

    Any POS that can send a webhook can feed the club. Signed, and safe to retry.

  • Planned

    Other POS systems

    Using another system? Tell us which. Integrations are quoted once we’ve seen what it sends.

Delivery

  • Coming soon

    Wolt

    Delivery orders earn too, so a regular who orders in on a Tuesday isn’t counted as lost. Being verified against live orders.

Kiosks

  • Available

    Self-order kiosks

    The kiosk asks every guest about the club and sends the member code along with the order.

Messaging

  • Available

    SMS (Bird)

    Text messages with segment-accurate pricing before every broadcast.

  • Available

    Web push

    Web push for guests who opted in. No app needed.

  • Available

    E-mail (Resend, Brevo)

    Account e-mails in each guest’s own language.

Wallet passes

  • Planned

    Apple Wallet

    Your club pass in Apple Wallet.

  • Planned

    Google Wallet

    Your club pass in Google Wallet.

For developers

  • Available

    REST API

    Purchases, members, reward redemptions and the catalogue. Scoped keys, per site if you like.

  • Planned

    CSV export

    Member and transaction lists for your accountant.

How purchases are handled

Signed

Every partner message is verified with its own secret before anything happens.

Stored first

The raw event is saved before it’s processed, so it can be replayed if a partner changes its format.

Idempotent

The receipt number is the key. A retried or duplicated receipt never earns twice.

One call per purchase.

Identify the member by code, phone number or ID. Phone numbers are normalised, so 040 123 4567 and +358 40 123 4567 are the same person. A retry with the same receipt number returns the original result.

The full API reference is available to customers.

Request
POST /api/v1/purchases
Authorization: Bearer pk_live_…

{
  "phone": "040 123 4567",
  "location_slug": "vaasa-tori",
  "amount_cents": 2340,
  "external_id": "RCP-2026-00123",
  "source": "pos"
}
200 OK
{
  "duplicate": false,
  "points_earned": 23,
  "points_balance": 418,
  "tier_changed": false
}

Missing your system?

Tell us which POS, kiosk or delivery system you use. New integrations are prioritised by what our restaurants run.

Suggest an integration