<?xml version="1.0" encoding="UTF-8"?>
<!--
  One entry per real address (card bmth7t6c72).

  This file and the <link rel="canonical"> tag emitted by
  client/src/components/CanonicalLink.tsx have to name the same URL for each
  page — a sitemap that lists an address the page itself does not claim as
  canonical is a contradiction, and a search engine resolves it by ignoring
  both signals. Two things moved here to make them agree:

    - The Zurich subpages now use the German slugs (/zurich/ueber-uns rather
      than /zurich/a-propos). Daniel's call on the card, 02.09: "German
      (/zurich/ueber-uns) — I fix the sitemap to match". Every link on the
      Zurich pages themselves already pointed at these; only this file did not.
    - The privacy policy was listed at the bare /politique-de-confidentialite,
      which is one of the five duplicate addresses that now answers 301, so it
      moves to the Geneva address and gains its German counterpart.

  Not listed, and deliberately: Fribourg's own pages. They were absent before
  the change above and are filed as their own card rather than smuggled in
  here.

  The Impressum used to be on that list too, and no longer is (card
  bmtk1z6u81). It was the only public page we never told Google about, which
  is a strange thing for the one page Swiss law requires us to publish and the
  page a German-speaking visitor opens to check we are a real company. It is
  listed for all three regions, on the board's instruction: the visitor who
  goes looking for it is German-speaking, but the obligation is not
  language-specific, so Fribourg gets its entry even though Fribourg's other
  pages are still waiting on their card.

  Fribourg's Impressum carries no hreflang alternates, and that is the one
  thing here that is not simply copied from its neighbours. An hreflang set
  names one address per language; Geneva and Fribourg are both French pages in
  Switzerland, so listing both would put two `fr` in one set. A search engine
  resolves a duplicated language by discarding the whole set, which would cost
  us the Geneva/Zurich pairing that works today. So Fribourg is a plain <loc>,
  exactly like /geneve/partenaire and /zurich/partner above.

  The root — the region chooser — was absent from this file too, and card
  bmtl0bubx2 added it. It is the first entry below, and it is the only one
  carrying an `x-default`; the comment on it explains why that changes what the
  Geneva and Zurich entries say too.

  The espace agences pair — /agences and /agenturen — is card bmtl0bubt1, and
  it is the last block below, the only one that is not under a region and not
  the root. Both were absent from this file, and neither carried a canonical of
  ours, for one reason: App.tsx mounts them on the TOP-LEVEL Switch rather than
  under /geneve or /zurich, so the CanonicalLink inside RegionRouter never ran
  for them and every rule in this file that starts "the region segment" had
  nothing to grip. Nobody had decided to leave them out; the route table's
  shape decided for us. Rico's call for Daniel on the card: "Yes — list both,
  French and German."

  They are paired with reciprocal hreflang rather than left as two plain
  <loc>s, because unlike Fribourg's Impressum there is no duplicated language
  here — one French page, one German page, one of each in the set. That is the
  same relationship Geneva and Zurich have above, and it gets the same shape.
  They take no `x-default`: that belongs to the chooser's set, which is about
  which city to send a searcher to, and these two are one page in two
  languages with no third address to fall back to.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <!--
    The region chooser at the root (card bmtl0bubx2).

    It was the last public address in no sitemap, which was the odd omission:
    it is the one people type, link to and put on a business card. Rico's
    ruling on the card, for Daniel: "Keep it in Google, and point French
    searches at Geneva and German ones at Zurich".

    That second half is the `x-default` below, and it is the whole reason this
    entry is not simply a fourteenth <loc>. An hreflang set says "these are the
    same page for different audiences"; `x-default` says "and this one is where
    to send anybody the others do not fit". So the set names three addresses —
    the chooser, Geneva for French, Zurich for German — and a search engine
    reading it sends a French searcher to /geneve and a German one to /zurich
    while still keeping the root itself indexed. Listing the root without the
    set would have put it in competition with the two pages it exists to
    forward people to.

    The set must be reciprocal to be believed: all three addresses carry the
    identical three lines, which is why /geneve and /zurich below gained an
    `x-default` in the same change. A set where one member names the others but
    is not named back is discarded whole.

    Fribourg is deliberately not in the set even though the chooser offers it,
    for the same reason its Impressum carries no alternates: it is a French
    page, Geneva is already the `fr` in this set, and a duplicated language
    makes a search engine throw the set away. The chooser still offers all
    three cities to a human; this is only about which address Google hands to
    which searcher.
  -->
  <url>
    <loc>https://casarico.ch/</loc>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://casarico.ch/" />
    <xhtml:link rel="alternate" hreflang="fr" href="https://casarico.ch/geneve" />
    <xhtml:link rel="alternate" hreflang="de" href="https://casarico.ch/zurich" />
    <changefreq>monthly</changefreq>
    <priority>1.0</priority>
  </url>

  <!-- Geneva (French) -->
  <url>
    <loc>https://casarico.ch/geneve</loc>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://casarico.ch/" />
    <xhtml:link rel="alternate" hreflang="fr" href="https://casarico.ch/geneve" />
    <xhtml:link rel="alternate" hreflang="de" href="https://casarico.ch/zurich" />
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://casarico.ch/geneve/comment-ca-marche</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://casarico.ch/geneve/comment-ca-marche" />
    <xhtml:link rel="alternate" hreflang="de" href="https://casarico.ch/zurich/so-funktionierts" />
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://casarico.ch/geneve/a-propos</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://casarico.ch/geneve/a-propos" />
    <xhtml:link rel="alternate" hreflang="de" href="https://casarico.ch/zurich/ueber-uns" />
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://casarico.ch/geneve/partenaire</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- Zurich (German) -->
  <url>
    <loc>https://casarico.ch/zurich</loc>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://casarico.ch/" />
    <xhtml:link rel="alternate" hreflang="de" href="https://casarico.ch/zurich" />
    <xhtml:link rel="alternate" hreflang="fr" href="https://casarico.ch/geneve" />
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://casarico.ch/zurich/so-funktionierts</loc>
    <xhtml:link rel="alternate" hreflang="de" href="https://casarico.ch/zurich/so-funktionierts" />
    <xhtml:link rel="alternate" hreflang="fr" href="https://casarico.ch/geneve/comment-ca-marche" />
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://casarico.ch/zurich/ueber-uns</loc>
    <xhtml:link rel="alternate" hreflang="de" href="https://casarico.ch/zurich/ueber-uns" />
    <xhtml:link rel="alternate" hreflang="fr" href="https://casarico.ch/geneve/a-propos" />
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://casarico.ch/zurich/partner</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- Privacy policy -->
  <url>
    <loc>https://casarico.ch/geneve/politique-de-confidentialite</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://casarico.ch/geneve/politique-de-confidentialite" />
    <xhtml:link rel="alternate" hreflang="de" href="https://casarico.ch/zurich/datenschutz" />
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://casarico.ch/zurich/datenschutz</loc>
    <xhtml:link rel="alternate" hreflang="de" href="https://casarico.ch/zurich/datenschutz" />
    <xhtml:link rel="alternate" hreflang="fr" href="https://casarico.ch/geneve/politique-de-confidentialite" />
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>

  <!-- Impressum (legal notice) -->
  <url>
    <loc>https://casarico.ch/geneve/impressum</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://casarico.ch/geneve/impressum" />
    <xhtml:link rel="alternate" hreflang="de" href="https://casarico.ch/zurich/impressum" />
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://casarico.ch/zurich/impressum</loc>
    <xhtml:link rel="alternate" hreflang="de" href="https://casarico.ch/zurich/impressum" />
    <xhtml:link rel="alternate" hreflang="fr" href="https://casarico.ch/geneve/impressum" />
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://casarico.ch/fribourg/impressum</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>

  <!-- Espace agences (card bmtl0bubt1) — not region-scoped, see header -->
  <url>
    <loc>https://casarico.ch/agences</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://casarico.ch/agences" />
    <xhtml:link rel="alternate" hreflang="de" href="https://casarico.ch/agenturen" />
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://casarico.ch/agenturen</loc>
    <xhtml:link rel="alternate" hreflang="de" href="https://casarico.ch/agenturen" />
    <xhtml:link rel="alternate" hreflang="fr" href="https://casarico.ch/agences" />
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
</urlset>
