<?xml version="1.0" encoding="UTF-8"?>
<!--
  TownRoller customer app — public, static routes only.

  What is deliberately absent:
   • Storefronts (/store/<id>). They are behind the auth gate today, so a
     crawler gets the sign-in screen. A dynamic per-store sitemap is a separate,
     explicitly-scoped follow-up and lands with public storefronts, not before.
   • Every account route (orders, cart, wallet, receipts, profile, …). Those
     carry `noindex` from src/lib/seo.js and have nothing to offer a crawler.
   • /legal/merchantAgreement, which the customer app can render but which
     belongs to business.townroller.com's sitemap, not this one.

  lastmod is the legal-document version date (LEGAL_VERSION in
  packages/shared/src/legal.jsx). Bump these when the documents change — a
  lastmod that never moves is worse than no lastmod, because crawlers learn to
  ignore it.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <!-- '/' is the public early-access landing page (src/landing/) for
       signed-out visitors: waitlist, business early access, FAQ. 'weekly'
       because it changes when its copy does, not with the deals feed a
       signed-in user sees at the same URL. -->
  <url>
    <loc>https://townroller.com/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://townroller.com/help</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <!-- /credits is public and static: it exists to satisfy the Pexels licence's
       attribution requirement, so it must be reachable and indexable. -->
  <url>
    <loc>https://townroller.com/credits</loc>
    <changefreq>monthly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://townroller.com/legal/terms</loc>
    <lastmod>2026-07-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.4</priority>
  </url>
  <url>
    <loc>https://townroller.com/legal/privacy</loc>
    <lastmod>2026-07-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.4</priority>
  </url>
  <url>
    <loc>https://townroller.com/legal/refunds</loc>
    <lastmod>2026-07-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.4</priority>
  </url>
  <url>
    <loc>https://townroller.com/legal/giftcards</loc>
    <lastmod>2026-07-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://townroller.com/legal/aup</loc>
    <lastmod>2026-07-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://townroller.com/legal/subprocessors</loc>
    <lastmod>2026-07-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://townroller.com/legal/cookies</loc>
    <lastmod>2026-07-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset>
