<?xml version="1.0" encoding="UTF-8"?>
<!--
  Every <url> lists ALL THREE language versions including ITSELF. That self-
  reference is not redundant padding: Google treats an hreflang cluster as valid
  only when every page in it points at every page in it, itself included. A
  cluster where /zh/ names /cn/ and / but never names /zh/ is an incomplete
  cluster, and an incomplete cluster is dropped in full — not partially honoured
  — so the Chinese pages compete with the English one for the same query instead
  of being served to the readers each was written for.

  x-default names the page to serve a reader whose language we have no version
  for. English, because a Japanese or Korean forwarder can read a booking screen
  in English and cannot read one in Chinese. Japanese is planned; when it lands,
  it joins every cluster below AND gets one of its own.

  /privacy.html and /terms.html carry no alternates on purpose. They are ONE URL
  each, serving three languages from an in-page dictionary, so there is no second
  address for hreflang to point at. Listing them is still worth doing: procurement
  teams and enterprise buyers open the policy before signing, and a page Google
  cannot see is one their vendor-review checklist scores as missing.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://www.cargo-stack.com/</loc><lastmod>2026-07-25</lastmod><changefreq>weekly</changefreq><priority>1.0</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.cargo-stack.com/"/>
    <xhtml:link rel="alternate" hreflang="zh-Hant" href="https://www.cargo-stack.com/zh/"/>
    <xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.cargo-stack.com/cn/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.cargo-stack.com/"/>
  </url>
  <url>
    <loc>https://www.cargo-stack.com/zh/</loc><lastmod>2026-07-25</lastmod><changefreq>weekly</changefreq><priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.cargo-stack.com/"/>
    <xhtml:link rel="alternate" hreflang="zh-Hant" href="https://www.cargo-stack.com/zh/"/>
    <xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.cargo-stack.com/cn/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.cargo-stack.com/"/>
  </url>
  <url>
    <loc>https://www.cargo-stack.com/cn/</loc><lastmod>2026-07-25</lastmod><changefreq>weekly</changefreq><priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.cargo-stack.com/"/>
    <xhtml:link rel="alternate" hreflang="zh-Hant" href="https://www.cargo-stack.com/zh/"/>
    <xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.cargo-stack.com/cn/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.cargo-stack.com/"/>
  </url>
  <!--
    /tools/ is ONE URL per calculator serving all three languages from the same
    in-page dictionary, switched by ?lang=. That differs from the homepage, which
    has three separate directories, so the alternates below are query-string URLs
    rather than paths. They are real: _boot() reads ?lang= before first paint, so
    a crawler arriving at ?lang=hans is served Chinese, not English-then-a-flash.
    Keep these in step with the <link rel="alternate"> block toolgen writes into
    each page head — toolqa.mjs fails the build if the two disagree.
  -->
  <url>
    <loc>https://www.cargo-stack.com/tools/</loc><lastmod>2026-07-26</lastmod><changefreq>monthly</changefreq><priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.cargo-stack.com/tools/"/>
    <xhtml:link rel="alternate" hreflang="zh-Hant" href="https://www.cargo-stack.com/tools/?lang=hant"/>
    <xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.cargo-stack.com/tools/?lang=hans"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.cargo-stack.com/tools/"/>
  </url>
  <url>
    <loc>https://www.cargo-stack.com/tools/chargeable-weight/</loc><lastmod>2026-07-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.cargo-stack.com/tools/chargeable-weight/"/>
    <xhtml:link rel="alternate" hreflang="zh-Hant" href="https://www.cargo-stack.com/tools/chargeable-weight/?lang=hant"/>
    <xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.cargo-stack.com/tools/chargeable-weight/?lang=hans"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.cargo-stack.com/tools/chargeable-weight/"/>
  </url>
  <url>
    <loc>https://www.cargo-stack.com/tools/cbm-calculator/</loc><lastmod>2026-07-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.cargo-stack.com/tools/cbm-calculator/"/>
    <xhtml:link rel="alternate" hreflang="zh-Hant" href="https://www.cargo-stack.com/tools/cbm-calculator/?lang=hant"/>
    <xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.cargo-stack.com/tools/cbm-calculator/?lang=hans"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.cargo-stack.com/tools/cbm-calculator/"/>
  </url>
  <url>
    <loc>https://www.cargo-stack.com/tools/lcl-vs-fcl/</loc><lastmod>2026-07-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.cargo-stack.com/tools/lcl-vs-fcl/"/>
    <xhtml:link rel="alternate" hreflang="zh-Hant" href="https://www.cargo-stack.com/tools/lcl-vs-fcl/?lang=hant"/>
    <xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.cargo-stack.com/tools/lcl-vs-fcl/?lang=hans"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.cargo-stack.com/tools/lcl-vs-fcl/"/>
  </url>
  <url>
    <loc>https://www.cargo-stack.com/tools/margin-calculator/</loc><lastmod>2026-07-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.cargo-stack.com/tools/margin-calculator/"/>
    <xhtml:link rel="alternate" hreflang="zh-Hant" href="https://www.cargo-stack.com/tools/margin-calculator/?lang=hant"/>
    <xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.cargo-stack.com/tools/margin-calculator/?lang=hans"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.cargo-stack.com/tools/margin-calculator/"/>
  </url>
  <url>
    <loc>https://www.cargo-stack.com/tools/revenue-ton/</loc><lastmod>2026-07-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.cargo-stack.com/tools/revenue-ton/"/>
    <xhtml:link rel="alternate" hreflang="zh-Hant" href="https://www.cargo-stack.com/tools/revenue-ton/?lang=hant"/>
    <xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.cargo-stack.com/tools/revenue-ton/?lang=hans"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.cargo-stack.com/tools/revenue-ton/"/>
  </url>
  <url>
    <loc>https://www.cargo-stack.com/tools/demurrage-detention/</loc><lastmod>2026-07-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.cargo-stack.com/tools/demurrage-detention/"/>
    <xhtml:link rel="alternate" hreflang="zh-Hant" href="https://www.cargo-stack.com/tools/demurrage-detention/?lang=hant"/>
    <xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.cargo-stack.com/tools/demurrage-detention/?lang=hans"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.cargo-stack.com/tools/demurrage-detention/"/>
  </url>
  <url>
    <loc>https://www.cargo-stack.com/tools/liability-limit/</loc><lastmod>2026-07-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.cargo-stack.com/tools/liability-limit/"/>
    <xhtml:link rel="alternate" hreflang="zh-Hant" href="https://www.cargo-stack.com/tools/liability-limit/?lang=hant"/>
    <xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.cargo-stack.com/tools/liability-limit/?lang=hans"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.cargo-stack.com/tools/liability-limit/"/>
  </url>
  <url>
    <loc>https://www.cargo-stack.com/tools/cargo-insurance/</loc><lastmod>2026-07-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.cargo-stack.com/tools/cargo-insurance/"/>
    <xhtml:link rel="alternate" hreflang="zh-Hant" href="https://www.cargo-stack.com/tools/cargo-insurance/?lang=hant"/>
    <xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.cargo-stack.com/tools/cargo-insurance/?lang=hans"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.cargo-stack.com/tools/cargo-insurance/"/>
  </url>
  <url>
    <loc>https://www.cargo-stack.com/tools/landed-cost/</loc><lastmod>2026-07-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.cargo-stack.com/tools/landed-cost/"/>
    <xhtml:link rel="alternate" hreflang="zh-Hant" href="https://www.cargo-stack.com/tools/landed-cost/?lang=hant"/>
    <xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.cargo-stack.com/tools/landed-cost/?lang=hans"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.cargo-stack.com/tools/landed-cost/"/>
  </url>
  <url>
    <loc>https://www.cargo-stack.com/tools/co2e-calculator/</loc><lastmod>2026-07-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.cargo-stack.com/tools/co2e-calculator/"/>
    <xhtml:link rel="alternate" hreflang="zh-Hant" href="https://www.cargo-stack.com/tools/co2e-calculator/?lang=hant"/>
    <xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.cargo-stack.com/tools/co2e-calculator/?lang=hans"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.cargo-stack.com/tools/co2e-calculator/"/>
  </url>
  <url>
    <loc>https://www.cargo-stack.com/privacy.html</loc><lastmod>2026-07-25</lastmod><changefreq>yearly</changefreq><priority>0.4</priority>
  </url>
  <url>
    <loc>https://www.cargo-stack.com/terms.html</loc><lastmod>2026-07-25</lastmod><changefreq>yearly</changefreq><priority>0.4</priority>
  </url>
  <url>
    <loc>https://www.cargo-stack.com/tenders.html</loc><lastmod>2026-07-29</lastmod><changefreq>monthly</changefreq><priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.cargo-stack.com/tenders.html"/>
    <xhtml:link rel="alternate" hreflang="zh-Hant" href="https://www.cargo-stack.com/tenders.html?lang=hant"/>
    <xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.cargo-stack.com/tenders.html?lang=hans"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.cargo-stack.com/tenders.html"/>
  </url>
  <url>
    <loc>https://www.cargo-stack.com/playbook/</loc><lastmod>2026-08-06</lastmod><changefreq>monthly</changefreq><priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.cargo-stack.com/playbook/"/>
    <xhtml:link rel="alternate" hreflang="zh-Hant" href="https://www.cargo-stack.com/playbook/zh/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.cargo-stack.com/playbook/"/>
  </url>
  <url>
    <loc>https://www.cargo-stack.com/playbook/zh/</loc><lastmod>2026-08-06</lastmod><changefreq>monthly</changefreq><priority>0.7</priority>
  </url>
</urlset>
