Programs & settings
Each program inside a tenant is its own pass: separate branding, separate audience, separate enrollment policy. You can run as many as you need — Dýrabær launches with two (Breeder Club and Food Club).
Create a program
Click + New program on the loyalty home page. The fields:
- Name — shown on the pass and inside Stokk.
- Slug — URL-safe identifier (e.g.
breeder-club). Used in public form URLs. - Organization name— what shows on the pass lock screen. Usually the tenant's consumer-facing brand.
- Background / foreground colors — hex values used for the wallet pass and the public form CTA.
Enrollment policy
Two toggles per program:
- Require approval — submissions land in the Applications queue until a tenant admin acts on them. Use this for programs that need verification (e.g. a Breeder Club where you confirm the customer actually breeds animals).
- Public enrollment form — exposes a tenant-branded form at
/enroll/{tenant-slug}/{program-slug}. Customers can sign themselves up on a kiosk iPad or any device. Disabled by default.
Public form abuse
Public forms are rate-limited per IP and have a hidden honeypot field, but a determined bot can still flood the queue. Watch the applications queue after enabling public enrollment — if abuse appears, ask Stokk to wire up captcha (planned for v1.1).
Inactive programs
Toggle Active off to hide a program from the operator UI and 404 the public form. Existing pass holders are unaffected — the cards on their phones keep working until you revoke them.