Provider status

Every data slot — flights, lodging, routing, weather, events, currency, cars, rail — is served through a swappable provider adapter. Mock mode needs no API keys and powers the complete local demo.

SlotProviderModeConfiguredKill switch
flightsTravelpayoutsFlights → DuffelFlights fallbackLiveReadyOff
lodgingMockLodgingMockReadyOff
routingMockRoutingMockReadyOff
weatherOpenMeteoWeatherLiveReadyOff
eventsTicketmasterEventsLiveReadyOff
currencyFrankfurterCurrencyLiveReadyOff
carsMockCarRentalMockReadyOff
railMockRailMockReadyOff
advisorClaudeAdvisor (claude-opus-5)LiveReadyOff
destination-builderClaudeDestinationBuilder (claude-opus-5)LiveReadyOff

Mock mode (default)

Mock providers are deterministic and require no keys — a full trip search runs end to end without any external service. Every mock price is labeled “Mock data” wherever it appears, so it can never be mistaken for a live quote.

Live data is Phase 2: each slot switches independently via its environment variable and falls back to mock (visibly, never silently) when credentials are missing or its kill switch is on.

Enabling live providers

Set the slot to live and provide its credentials in .env.local:

  • FLIGHT_PROVIDER=live+ DUFFEL_API_KEYor FLIGHT_PROVIDER=travelpayouts + TRAVELPAYOUTS_API_TOKEN— Aviasales price cache; add FLIGHT_FALLBACK_PROVIDER=duffel to chain the Duffel sandbox behind uncovered routes
  • LODGING_PROVIDER=live+ DUFFEL_API_KEY
  • ROUTING_PROVIDER=live+ GOOGLE_ROUTES_API_KEY
  • WEATHER_PROVIDER=live(no credentials required)
  • EVENTS_PROVIDER=live+ TICKETMASTER_API_KEY
  • CURRENCY_PROVIDER=live+ EXCHANGE_RATE_API_KEY
  • CAR_PROVIDER=live+ CAR_RENTAL_API_KEY
  • RAIL_PROVIDER=live+ RAIL_API_KEY

Kill switches (KILL_FLIGHTS=true etc.) instantly force a slot back to mock without redeploying. Credentials stay server-side and are never exposed to the browser.

Wandermath