All Work

Multi-Agent Itinerary Builder

Travellers describe the trip they want and receive a personalised itinerary combining flights, hotels and packages. The assistant compares and brings together options that customers would otherwise piece together themselves, helping them move from a long list of search results towards a booking.

EnterpriseRole: Architect & LeadLive

Problem

A UK-based OTA (Online Travel Agency) client had a search-to-booking conversion rate stuck at 3-5%. Travelers would search for trips, get overwhelmed by options, and abandon. The existing system returned raw search results (hundreds of flights, hotels, packages) without intelligent bundling or personalization. Comparison shopping across flights, hotels, and packages required manual effort that most users wouldn't do.

Solution

Built a multi-agent travel booking optimizer where specialized agents handle different aspects of the search: a flight agent optimizes for route and timing, a hotel agent for proximity and amenities, a package agent for bundled deals, and a UX agent synthesizes everything into a coherent, personalized itinerary. GPT-4o reranks and reconciles options across agents.

Key Technical Decisions

Agent specialization over monolithic search — A single LLM call cannot optimize across flights, hotels, and packages simultaneously because each has different constraint spaces (timing windows, location proximity, budget allocation). Specialized agents with domain-specific optimization logic produce better results and are independently improvable.

GPT-4o for cross-agent reranking — After each agent returns its top candidates, GPT-4o evaluates combinations holistically: does the hotel check-in time align with the flight arrival? Is the package deal actually cheaper than booking separately? This cross-domain reasoning is where LLMs excel — spotting non-obvious interactions between independently optimized options.

Constrained optimization with budget allocation — When a user says "budget $5,000 for a week in Tokyo," the system doesn't split it equally ($2,500 flights, $2,500 hotels). It optimizes allocation based on price elasticity — if flights have little price variation but hotels have 3x range, allocate more budget flexibility to hotels.

Impact

  • +40% conversion lift vs traditional search results (A/B tested over 3 months)
  • Multi-agent orchestration across 4 specialized agents (flight, hotel, package, UX)
  • Multi-currency reconciliation handling GBP/USD/EUR/JPY with real-time rates
  • Constrained budget optimization with dynamic allocation across travel components
  • Delivered for a UK-based OTA client in 3 weeks

Technical Stack

LayerTechnology
BackendFastAPI, Python 3.12
AIGPT-4o (reranking + synthesis), LangGraph (agent orchestration)
DataMulti-currency reconciliation, Constrained optimization
FrontendNext.js

How engagements like this are scoped and delivered: How I Work.