<?xml version="1.0" encoding="UTF-8"?>
<!--
  LU SANIMAR TRAVEL — sitemap.

  WHY THIS FILE EXISTS
  ────────────────────
  public/robots.txt has always ended with `Sitemap: https://lusanimar.com/sitemap.xml`,
  but the file did not exist. Verified live 2026-09-02: that URL answered HTTP 200
  with `content-type: text/html` — the SPA catch-all serving index.html, not a
  sitemap. A crawler following the robots directive received an HTML page where it
  expected XML, which is worse than no directive at all.

  Xendit's onboarding notes an inaccessible or unreadable website as a reason an
  application can fail review, so this is commercial, not only SEO.

  WHAT IS LISTED, AND WHAT IS NOT
  ───────────────────────────────
  Only routes that are registered in src/App.tsx AND understandable without login.
  Every entry below was checked against the router.

  Deliberately ABSENT, matching robots.txt:
    /api/*      backend surface
    /admin/*    operator tooling
    /booking/*  a customer's own reservation
    /ticket/*   a customer's own ticket
    /raniachat  redirect shim, not content

  This is the front of the house: an AI or search engine may read the business, its
  services and its legal terms. Nothing behind the counter is listed.

  `lastmod` reflects when each page last changed materially in this repository.
  These are maintained by hand, so update them with the page rather than leaving a
  stale claim.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <!-- Home: the platform, RANIA, and the service overview. -->
  <url>
    <loc>https://lusanimar.com/</loc>
    <lastmod>2026-09-02</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>

  <!-- Company pages (src/pages/CompanyPage.tsx). These carry the legal entity,
       the published contact channels, and an honest statement of what is live. -->
  <url>
    <loc>https://lusanimar.com/about</loc>
    <lastmod>2026-09-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://lusanimar.com/help</loc>
    <lastmod>2026-09-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://lusanimar.com/contact</loc>
    <lastmod>2026-09-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Hotel surface: search and curated discovery. No customer data. -->
  <url>
    <loc>https://lusanimar.com/hotels</loc>
    <lastmod>2026-09-02</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- Destination discovery. -->
  <url>
    <loc>https://lusanimar.com/explore</loc>
    <lastmod>2026-09-02</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- RANIA explainer, served as a real static page (public/about-rania.html). -->
  <url>
    <loc>https://lusanimar.com/about-rania</loc>
    <lastmod>2026-09-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Legal and compliance surface (src/pages/LegalPage.tsx). A payment reviewer
       must be able to reach every one of these without an account. -->
  <url>
    <loc>https://lusanimar.com/terms</loc>
    <lastmod>2026-09-02</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://lusanimar.com/privacy</loc>
    <lastmod>2026-09-02</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://lusanimar.com/cookies</loc>
    <lastmod>2026-09-02</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://lusanimar.com/refunds</loc>
    <lastmod>2026-09-02</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.6</priority>
  </url>

</urlset>
