<?xml version="1.0" encoding="UTF-8"?>
<!-- Regenerated 2026-08-17.

     RULE: this file and src/seo/publicRoutes.ts must list the SAME set of
     paths. publicRoutes.ts drives the prerendered shell, the static
     canonical and the crawlable link block; this file drives discovery. A
     path in one but not the other is a page that is either undiscoverable
     or unrenderable, and both failures are silent.

     Added 2026-08-17, all four were real indexable pages present in
     NEITHER file before today:
       /contact         was a client-side redirect to /faq. Now a real page,
                        and the 301 target for the old Wix /contact.
       /mornings        selling a twelve-week block starting the first week
       /womens-mornings of September, with no shell and no sitemap entry.
       /custom          rendered <SEO> with no `url`, so it declared the
                        HOMEPAGE as its canonical.

     /coed was retired 2026-08-17 by a separate change and now 301s to
     /adult-training, so it is deliberately absent below.

     Deliberately EXCLUDED: anything that 301s (see public/_redirects),
     anything auth-gated, and anything carrying `noindex`.

     `lastmod` is a hint, not a promise. Do not bulk-touch these dates to
     look fresh; Google discounts a sitemap whose every page changed on the
     same day. Update the line you actually changed.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <!-- Core pages -->
  <url><loc>https://tctgym.com/</loc><lastmod>2026-08-17</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
  <url><loc>https://tctgym.com/pricing</loc><lastmod>2026-08-11</lastmod><changefreq>monthly</changefreq><priority>0.9</priority></url>
  <url><loc>https://tctgym.com/pricing/adult</loc><lastmod>2026-08-11</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://tctgym.com/pricing/youth</loc><lastmod>2026-08-11</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://tctgym.com/pricing/teams</loc><lastmod>2026-06-01</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://tctgym.com/book</loc><lastmod>2026-08-16</lastmod><changefreq>weekly</changefreq><priority>0.9</priority></url>
  <url><loc>https://tctgym.com/contact</loc><lastmod>2026-08-17</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>

  <!-- Class pages - canonical URLs only -->
  <url><loc>https://tctgym.com/classes/tct-academy</loc><lastmod>2026-08-14</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://tctgym.com/academy/drop-in</loc><lastmod>2026-08-14</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://tctgym.com/adult-training</loc><lastmod>2026-08-11</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://tctgym.com/womens-only</loc><lastmod>2026-08-11</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://tctgym.com/mornings</loc><lastmod>2026-08-17</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://tctgym.com/womens-mornings</loc><lastmod>2026-08-17</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://tctgym.com/team-training</loc><lastmod>2026-06-01</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://tctgym.com/team-training-packages</loc><lastmod>2026-06-01</lastmod><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://tctgym.com/classes/1-on-1</loc><lastmod>2026-08-17</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://tctgym.com/custom</loc><lastmod>2026-08-17</lastmod><changefreq>monthly</changefreq><priority>0.6</priority></url>

  <!-- Facility rental (public marketing page) -->
  <url><loc>https://tctgym.com/rent</loc><lastmod>2026-08-02</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>

  <!-- TCT Pro App -->
  <url><loc>https://tctgym.com/app</loc><lastmod>2026-06-01</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>

  <!-- Info pages -->
  <url><loc>https://tctgym.com/about</loc><lastmod>2026-08-17</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://tctgym.com/faq</loc><lastmod>2026-08-17</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://tctgym.com/shop</loc><lastmod>2026-06-01</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url>

  <!-- Partner referral page (public, indexable) -->
  <url><loc>https://tctgym.com/recovery</loc><lastmod>2026-08-16</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>

  <!-- Gift + Referral (public, indexable) -->
  <url><loc>https://tctgym.com/gift</loc><lastmod>2026-06-01</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
  <url><loc>https://tctgym.com/refer</loc><lastmod>2026-06-01</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>

  <!-- Durham Region service-area pages. Content and the rules that keep
       these from being doorway pages live in src/data/serviceAreas.ts.
       The route entries are DERIVED from that file in publicRoutes.ts, but
       this list is hand-maintained: add a town there, add its <url> here. -->
  <url><loc>https://tctgym.com/gym/whitby</loc><lastmod>2026-08-17</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://tctgym.com/gym/courtice</loc><lastmod>2026-08-17</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://tctgym.com/gym/bowmanville</loc><lastmod>2026-08-17</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>

  <!-- Legal -->
  <url><loc>https://tctgym.com/privacy</loc><lastmod>2026-06-01</lastmod><changefreq>yearly</changefreq><priority>0.2</priority></url>
  <url><loc>https://tctgym.com/terms</loc><lastmod>2026-06-01</lastmod><changefreq>yearly</changefreq><priority>0.2</priority></url>
  <url><loc>https://tctgym.com/waiver</loc><lastmod>2026-06-01</lastmod><changefreq>yearly</changefreq><priority>0.2</priority></url>
  <url><loc>https://tctgym.com/shipping</loc><lastmod>2026-06-01</lastmod><changefreq>yearly</changefreq><priority>0.2</priority></url>
</urlset>
