Travel-hacking-toolkit premium-hotels

Search Amex Fine Hotels & Resorts (FHR), The Hotel Collection (THC), and Chase Sapphire Reserve Hotel Collection (Chase Edit) properties by city. Compare credits, benefits, and stacking opportunities across programs.

install
source · Clone the upstream repo
git clone https://github.com/borski/travel-hacking-toolkit
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/borski/travel-hacking-toolkit "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/premium-hotels" ~/.claude/skills/borski-travel-hacking-toolkit-premium-hotels && rm -rf "$T"
manifest: skills/premium-hotels/SKILL.md
source content

Premium Hotel Programs

Search 4,659 premium hotel properties across three credit card programs. Find which hotels offer complimentary benefits, compare credits, and identify stacking opportunities where a hotel appears in multiple programs.

No API key needed. All data is local JSON files in

data/
.

When to Use

  • User asks "what FHR hotels are in Stockholm?"
  • Comparing hotel options for a trip and want to maximize card benefits
  • Looking for hotels where Amex FHR + Chase Edit credits stack
  • Checking if a specific hotel is in any premium program

Programs

ProgramCard RequiredKey BenefitsProperties
FHR (Fine Hotels & Resorts)Amex Platinum$100+ property credit, room upgrade, noon check-in, 4pm checkout, daily breakfast for 2, complimentary wifi1,807
THC (The Hotel Collection)Amex Platinum$100 property credit on 2+ night stays for dining/spa/resort activities1,299
Chase Edit (Sapphire Hotel Collection)Chase Sapphire Reserve$50 annual hotel credit, elevated experience perks. Select Hotels add $250 one-time 2026 credit + 10x points.1,553

Stacking

Hotels in BOTH FHR/THC AND Chase Edit can stack benefits. Book through one program and use the other card's credits separately. Look for hotels that appear in multiple programs.

Searching by City

FHR and THC (coordinate-based)

FHR and THC properties have lat/lng coordinates. Search by bounding box around a city.

Find properties near a city (adjust lat/lng and radius as needed):

# Stockholm (59.33, 18.07) - search within ~0.15 degrees (~15km)
LAT=59.33; LNG=18.07; R=0.15
jq --argjson lat $LAT --argjson lng $LNG --argjson r $R \
  '[.properties[] | select(
    .coordinates.lat > ($lat - $r) and .coordinates.lat < ($lat + $r) and
    .coordinates.lng > ($lng - $r) and .coordinates.lng < ($lng + $r)
  ) | {name, program, credit}]' data/fhr-properties.json

jq --argjson lat $LAT --argjson lng $LNG --argjson r $R \
  '[.properties[] | select(
    .coordinates.lat > ($lat - $r) and .coordinates.lat < ($lat + $r) and
    .coordinates.lng > ($lng - $r) and .coordinates.lng < ($lng + $r)
  ) | {name, program, credit}]' data/thc-properties.json

Chase Edit (text-based)

Chase Edit properties have text locations, not coordinates. Search by name or location text.

# Stockholm
jq '[.properties[] | select(
  (.location // "" | test("Stockholm|Sweden"; "i")) or
  (.name // "" | test("Stockholm"; "i"))
) | {name, location}]' data/chase-edit-properties.json

Common City Coordinates

CityLatLngRadius
Oslo59.9110.750.15
Bergen60.395.320.1
Stockholm59.3318.070.15
Copenhagen55.6812.570.15
Paris48.862.350.15
London51.51-0.130.2
Tokyo35.68139.760.2
New York40.71-74.010.15
San Francisco37.77-122.420.15
Las Vegas36.17-115.140.15

For cities not listed, use the coordinates from the route context or look up on Google Maps.

Combined Search (Recommended Workflow)

For any city, run all three searches and combine into one table. Flag properties in multiple programs.

# Example: Oslo
LAT=59.91; LNG=10.75; R=0.15

# FHR
FHR=$(jq --argjson lat $LAT --argjson lng $LNG --argjson r $R \
  '[.properties[] | select(
    .coordinates.lat > ($lat - $r) and .coordinates.lat < ($lat + $r) and
    .coordinates.lng > ($lng - $r) and .coordinates.lng < ($lng + $r)
  ) | {name, program: "FHR", credit}]' data/fhr-properties.json)

# THC
THC=$(jq --argjson lat $LAT --argjson lng $LNG --argjson r $R \
  '[.properties[] | select(
    .coordinates.lat > ($lat - $r) and .coordinates.lat < ($lat + $r) and
    .coordinates.lng > ($lng - $r) and .coordinates.lng < ($lng + $r)
  ) | {name, program: "THC", credit}]' data/thc-properties.json)

# Chase Edit
CHASE=$(jq '[.properties[] | select(
  (.location // "" | test("Oslo|Norway"; "i")) or
  (.name // "" | test("Oslo"; "i"))
) | {name, program: "Chase Edit", credit: "See Chase portal for current credit"}]' data/chase-edit-properties.json)

# Combine
echo "$FHR" "$THC" "$CHASE" | jq -s 'add | group_by(.name) | map({
  name: .[0].name,
  programs: [.[] | .program] | join(" + "),
  credits: [.[] | select(.credit != null) | .credit] | join(" | "),
  stacking: (length > 1)
}) | sort_by(.name)'

Output Format

Always use markdown tables. Flag stacking opportunities.

HotelProgramsCreditsStacking?
The ThiefFHRUS$100 property creditNo
SommerroFHR + Chase EditUS$100 property creditYES
AmerikalinjenTHC$100 dining/spa credit (2+ nights)No
Grand Hotel OsloChase EditSee Chase portalNo

After the table

  • Flag which hotels appear in multiple programs (stacking opportunity)
  • Note the key benefit differences: FHR includes breakfast + upgrade + late checkout. THC is credit only on 2+ nights. Chase Edit varies.
  • If booking through FHR, mention the Amex Platinum $200 annual FHR credit (up to $200 statement credit per calendar year)
  • If booking through Chase Edit, mention the $50 annual hotel credit and whether "Select Hotels" $250 credit applies (one-time 2026 benefit)
  • Link to Amex reservation page if available in the data

Data Sources

  • data/fhr-properties.json
    (1,807 properties, coordinates + Amex reservation links)
  • data/thc-properties.json
    (1,299 properties, coordinates + Amex reservation links)
  • data/chase-edit-properties.json
    (1,553 properties, text locations)

Data sourced from Google My Maps KML exports by Scott at 美卡指南 (US Card Guide). Last updated Dec 2025. Property lists change periodically. Always verify current availability on the Amex or Chase booking portal before making decisions.

Notes

  • A hotel can be in both FHR AND THC. This is rare but possible. The data reflects what Amex lists.
  • Chase Edit "Select Hotels" are a subset with enhanced benefits (10x points + $250 one-time credit). Not all Chase Edit properties are Select Hotels.
  • FHR benefits apply even when paying the standard rate. No special rate needed.
  • THC $100 credit requires a minimum 2-night stay.
  • Some properties have seasonal availability in these programs.