✦ Launching soon

Book flights & hotels, beautifully.

Odyssey is a travel app for searching flights and stays, booking real orders, and managing every trip in one place — one-way, round-trip, or multi-city.

A working prototype on Amadeus's test environment — beta access coming.

Powered by
  • Amadeus
  • Stripe Coming

How it works

From sign-in to a booked trip in four steps.

  1. 1 👤

    Sign in

    Continue with Apple, an email account, or as a guest — your session is secured in the Keychain.

  2. 2 🔎

    Search flights & stays

    One-way, round-trip, or multi-city flights and hotels, with sorting and filters to narrow the results.

  3. 3 🎫

    Book a real order

    Per-passenger checkout creates a real Amadeus order and confirms your booking with a reference.

  4. 4 🧳

    Manage your trips

    View e-tickets and live status, get a reminder before departure, and cancel with the refund shown up front.

Everything you need to book with confidence

Real bookings, real trip management — not a clickable mock-up.

✈️

Real flight & hotel bookings

Search creates live offers and checkout places a real Amadeus order for both flights and stays.

🗺️

Round-trip & multi-city

Build journeys with one, two, or many legs — the price covers the whole itinerary.

🎚️

Sort & filter results

Flights by price, stops, and airline; stays by rating and price — with your preferences remembered.

👥

Per-passenger checkout

A form per traveller, plus saved travelers you can reuse to prefill bookings in a tap.

🎫

E-tickets & live status

Trip detail fetches live order status and renders the full itinerary with electronic-ticket numbers.

↩️

Cancel with refund shown

Cancellation calls the airline and surfaces the refund before the trip is removed.

🔔

Booking & trip reminders

A confirmation alert when an order completes and a reminder the morning before departure.

🌐

Localized, in English & Tiếng Việt

Full localization with multi-currency display; bookings always show their transacted currency.

Accessible by design

VoiceOver labels, Dynamic Type, Reduce Motion, and WCAG-AA contrast throughout.

💳

Real payments Coming

Card payments via Amadeus Payments / Stripe are on the roadmap for the public release.

Five tabs, one trip companion

Everything organized where you’d expect it.

  • 🧭

    Discover

    A home feed of trending destinations, vibe picks, and a quick search to start any trip.

  • ✈️

    Flights

    Search one-way, round-trip, or multi-city, then sort and filter offers down to the right fare.

  • 🏨

    Stays

    Find hotels with photos, ratings, amenities, and a map pinned to the property.

  • 🧳

    Trips

    Your booked flights and stays with e-tickets, live status, and cancellation.

  • 👤

    You

    Edit your details, manage saved travelers, set language, currency, and notifications.

Under the hood

A native SwiftUI app with a real booking backend behind it.

Built with

  • SwiftUI, targeting iOS 17+
  • Value-based navigation & feature-per-file architecture
  • JSON persistence in Application Support; Keychain for the auth token
  • Sign in with Apple + email accounts

Backend & APIs

  • Express token-proxy keeps API tokens off-device
  • Amadeus for flight & hotel orders; Amadeus for search data
  • Postgres-backed accounts with rate-limited auth
  • Privacy manifest declaring exactly what’s collected

Quality

  • Unit tests for models, booking logic & networking
  • XCUITest driving the end-to-end booking flow
  • WCAG-AA contrast, VoiceOver & Dynamic Type
  • Localized in English & Tiếng Việt
Status: Odyssey is a working prototype running on Amadeus's test environment — wired for TestFlight, not yet on the App Store. Real card payments are on the roadmap for the public release.

Get in touch

Questions, feedback, or beta access — send us a note.

Opens your email app to send your message to bookings@odysseytrip.org.