August 21, 2026

Shore Excursions Join Price Tracking

The 12-Product Ceiling

The Royal Caribbean package catalog fetch always requested page 0 with a page size of 12 and never looked at the pagination info. For small categories (beverage, internet) that was invisible. For shore excursions on a multi-port sailing -- often 100+ products -- we kept only the first 12 by rank, which are almost entirely CocoCay beach-club upsells. Real port excursions never landed in package prices, the sailing-page watch dropdown, or personalized pricing.

The fetch now pages through the full catalog (at the API's maximum page size of 24, with defensive handling for their overcounting page math) and merges everything into one cached response.

Shorex Is Now a Tracked Category

With the full catalog available, shore excursions were added to the tracked package categories -- previously an excursion only reached price history if RC's "featured" endpoint happened to surface it. Every sailing's public package scrape now prices its full excursion list, and legacy rows share a display group with the new ones.

To keep the bigger catalog from exploding personalized-scrape volume, per-passenger pricing only covers excursions the user actually purchased or is watching. The alert checker also pins excursion watches to their exact purchased product by name, so an alert on one excursion can't accidentally match a different unclassified purchase.