Don't read “Side Upper”.
See where you sleep.
Train number → coach map. Flight number → cabin map. Tap your seat, match, swap.
Find your train / flight
Matching is per service instance: same train/flight, same date, same segment. Different dates never match. Passenger coordination — not an official booking change.
Try: trains 12951 12002 22436 9010(Eurostar) 170(Amtrak) · flights 6E2031 AI202 EK507 SQ422. Unknown numbers fall back to generic maps.
Pick your seat
Text list of seats
Tap your current berth on the map, then tap goal types (or tap target seats).
Who wants what you have?
Only travellers on your exact train/flight, date and segment appear here.
Your listings & requests
Requests expire after 24h. Agreement here is coordination — crew approval still decides.
My listings
My requests
Free matching. Paid convenience.
Verify booking → see your seat → agree mutually. TTE / crew always decide.
Answers first
How is this different?
Others tell you “Side Upper”. SwapSeat draws the coach — bay, side, level, walking distance. Flights show exits, wings, lavs.
How does money work?
Maps, listings, requests and chat are free. Trip pass (groups), Boost (highlight, no guarantees), Plus (unlimited, preferences, alerts).
Does it work offline?
Cached maps open offline. Publishing, requests and payments need a connection — an offline tap is never shown as confirmed.
Moderation queue
Reports and layout corrections queue here. A production build sends these to a moderation backend instead.