{
  "name": "Loyalty",
  "slug": "loyalty",
  "blocks": [
    "Pages",
    "Lists",
    "Sign-in: users and team",
    "Actions"
  ],
  "persona": "hospitality",
  "keywords": [
    "loyalty",
    "loyalty card",
    "stamp card",
    "punch card",
    "bakery app",
    "QR",
    "scan",
    "rewards",
    "regulars",
    "free coffee",
    "member sign-in",
    "café app"
  ],
  "description": "A coffee loyalty card for a neighbourhood bakery: Pennywort Bakery in Ashcombe. A regular signs in with their email, shows a code on their phone, and staff scan it to add a visit. The tenth visit adds a free coffee to their rewards by itself. Staff sign in on a team page for notes. Four pages: Home, Your card, Staff and a privacy notice with blanks.",
  "audience": [
    "neighbourhood bakeries",
    "bakery cafés",
    "cafés and coffee shops with regulars",
    "delis and farm shops"
  ],
  "category": "Membership & community",
  "job": "member-app",
  "categoryId": "membership",
  "alsoFits": [
    "stamp card",
    "punch card",
    "loyalty programme",
    "reserve and collect",
    "weekly subscription",
    "visit rewards"
  ],
  "direction": "Bake house: crust terracotta, flour cream and oven-dark brown, a paper stamp card",
  "mood": [
    "warm",
    "bold",
    "modern"
  ],
  "fonts": [
    "Fraunces",
    "Work Sans"
  ],
  "files": [
    "index.html",
    "card.html",
    "staff/index.html",
    "privacy.html",
    "styles.css",
    "kit.css",
    "kit.js",
    "kit-icons.svg",
    "favicon.svg",
    "apple-touch-icon.png",
    "og.png"
  ],
  "pages": [
    "index.html",
    "card.html",
    "staff/index.html",
    "privacy.html"
  ],
  "facts": [
    "bakery name",
    "address",
    "contact email",
    "phone",
    "opening hours",
    "what earns a visit and the reward (every tenth visit, a free coffee)",
    "privacy contact and address"
  ],
  "interview": [
    "What is your bakery or café called, and where is it?",
    "What are your opening hours?",
    "Which visit earns the free reward, and what is the reward?",
    "Who on your team scans codes? Each needs a Page Lemon sign-in with the Scan right, and a team sign-in for the staff page.",
    "Which email address and phone number should customers use, and what address and privacy contact should the privacy notice show?"
  ],
  "customise": {
    "sections": [
      "Bakery name, address, phone, email and hours in the header, footer, titles and copy",
      "The reward (the automation counts every tenth visit; change the number in the Example's spec)",
      "The staff notes and who is in the staff group",
      "Fill in every highlighted blank on privacy.html before customers use the site"
    ],
    "colours": "Edit the brand tokens at the top of styles.css; the dark scheme follows the device.",
    "fonts": "Google Fonts: Fraunces (headings) and Work Sans (text), one link in every page head."
  },
  "schemaVersion": 2,
  "updated": "2026-11-01",
  "spec": "server/next/examples/loyalty/spec.json",
  "seed": "server/next/examples/loyalty/seed.json"
}
