Bangkok districts

Choose your neighborhood by rail access and proximity to both airports.42 districts with rail stations, 1179 hotels.

Watthana

🚉 8 stations🏨 226 hotels

Bang Rak

🚉 5 stations🏨 116 hotels

Pom Prap Sattru Phai

🚉 2 stations🏨 116 hotels

Pathum Wan

🚉 6 stations🏨 112 hotels

Phaya Thai

🚉 3 stations🏨 54 hotels

Lat Phrao

🚉 6 stations🏨 49 hotels

Bang Phlat

🚉 7 stations🏨 48 hotels

Samphanthawong

🚉 3 stations🏨 47 hotels

Khlong San

🚉 5 stations🏨 42 hotels

Lat Krabang

🚉 6 stations🏨 41 hotels

Bang Na

🚉 21 stations🏨 34 hotels

Phra Khanong

🚉 4 stations🏨 32 hotels

Sathon

🚉 3 stations🏨 32 hotels

Don Mueang

🚉 7 stations🏨 25 hotels

Ratchathewi

🚉 4 stations🏨 23 hotels

Lak Si

🚉 14 stations🏨 18 hotels

Khlong Toei

🚉 2 stations🏨 18 hotels

Bang Khen

🚉 8 stations🏨 18 hotels

Huai Khwang

🚉 4 stations🏨 17 hotels

Bang Sue

+2
🚉 11 stations🏨 17 hotels

Suan Luang

🚉 4 stations🏨 15 hotels

Thon Buri

🚉 3 stations🏨 11 hotels

Wang Thonglang

🚉 4 stations🏨 10 hotels

Dindaeng

🚉 3 stations🏨 9 hotels

Bang Kapi

🚉 3 stations🏨 6 hotels

Mueang Nonthaburi

🚉 7 stations🏨 6 hotels

Pak Kret

🚉 8 stations🏨 6 hotels

Saphan Sung

🚉 5 stations🏨 5 hotels

Dusit

🚉 2 stations🏨 5 hotels

Sai Mai

🚉 7 stations🏨 4 hotels

Chatuchak

+1
🚉 6 stations🏨 4 hotels

Bangkok Yai

🚉 10 stations🏨 3 hotels

Min Buri

🚉 4 stations🏨 3 hotels

Khan Na Yao

🚉 7 stations🏨 3 hotels

Nong Khaem

🚉 4 stations🏨 2 hotels

Phasi Charoen

🚉 5 stations🏨 1 hotel

Bang Bua Thong

🚉 3 stations🏨 1 hotel

Bang Khae

🚉 2 stations🏨 0 hotels

Bang Rak Noi

🚉 5 stations🏨 0 hotels

Taling Chan

🚉 3 stations🏨 0 hotels

Bang Khun Thian

🚉 4 stations🏨 0 hotels

Bang Yai

🚉 2 stations🏨 0 hotels
/** * TripAirportOrder.astro — client-side reorder of BKK/DMK pairs (tt#109). * * Server-rendered pages (home corridor sections, station pages) show the * BKK and DMK journey/hotel cards in a fixed order. When the visitor has a * persisted trip airport (HotelSearch writes `tt:trip-airport:v1`), the * selected airport's card should LEAD — same rule HotelSearch applies to * its sort and badges. * * Static HTML cannot know the selection, so this script runs once per page * and swaps DOM order inside every `.legs` pair. It is progressive * enhancement only: without JS or without a selection, nothing changes. * * Zero-dependency by design (plain script, runs before paint via placement * at the end of Layout's body). */ ---