plano/demos/use_cases/travel_agents
Adil Hafeez ba651aaf71
Rename all arch references to plano (#745)
* Rename all arch references to plano across the codebase

Complete rebrand from "Arch"/"archgw" to "Plano" including:
- Config files: arch_config_schema.yaml, workflow, demo configs
- Environment variables: ARCH_CONFIG_* → PLANO_CONFIG_*
- Python CLI: variables, functions, file paths, docker mounts
- Rust crates: config paths, log messages, metadata keys
- Docker/build: Dockerfile, supervisord, .dockerignore, .gitignore
- Docker Compose: volume mounts and env vars across all demos/tests
- GitHub workflows: job/step names
- Shell scripts: log messages
- Demos: Python code, READMEs, VS Code configs, Grafana dashboard
- Docs: RST includes, code comments, config references
- Package metadata: package.json, pyproject.toml, uv.lock

External URLs (docs.archgw.com, github.com/katanemo/archgw) left as-is.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Update remaining arch references in docs

- Rename RST cross-reference labels: arch_access_logging, arch_overview_tracing, arch_overview_threading → plano_*
- Update label references in request_lifecycle.rst
- Rename arch_config_state_storage_example.yaml → plano_config_state_storage_example.yaml
- Update config YAML comments: "Arch creates/uses" → "Plano creates/uses"
- Update "the Arch gateway" → "the Plano gateway" in configuration_reference.rst
- Update arch_config_schema.yaml reference in provider_models.py
- Rename arch_agent_router → plano_agent_router in config example

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix remaining arch references found in second pass

- config/docker-compose.dev.yaml: ARCH_CONFIG_FILE → PLANO_CONFIG_FILE,
  arch_config.yaml → plano_config.yaml, archgw_logs → plano_logs
- config/test_passthrough.yaml: container mount path
- tests/e2e/docker-compose.yaml: source file path (was still arch_config.yaml)
- cli/planoai/core.py: comment and log message
- crates/brightstaff/src/tracing/constants.rs: doc comment
- tests/{e2e,archgw}/common.py: get_arch_messages → get_plano_messages,
  arch_state/arch_messages variables renamed
- tests/{e2e,archgw}/test_prompt_gateway.py: updated imports and usages
- demos/shared/test_runner/{common,test_demos}.py: same renames
- tests/e2e/test_model_alias_routing.py: docstring
- .dockerignore: archgw_modelserver → plano_modelserver
- demos/use_cases/claude_code_router/pretty_model_resolution.sh: container name

Note: x-arch-* HTTP header values and Rust constant names intentionally
preserved for backwards compatibility with existing deployments.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 15:16:56 -08:00
..
src/travel_agents fixing the README for multi-agent orchestration (#722) 2026-02-02 14:35:49 -08:00
config.yaml fixing the README for multi-agent orchestration (#722) 2026-02-02 14:35:49 -08:00
docker-compose.yaml Rename all arch references to plano (#745) 2026-02-13 15:16:56 -08:00
Dockerfile rename cli to plano (#647) 2025-12-23 18:37:58 -08:00
pyproject.toml Update docs to Plano (#639) 2025-12-23 17:14:50 -08:00
README.md fixing the README for multi-agent orchestration (#722) 2026-02-02 14:35:49 -08:00
test.rest Update docs to Plano (#639) 2025-12-23 17:14:50 -08:00
tracing.png Introduce brand new CLI experience with tracing and quickstart (#724) 2026-02-10 13:17:43 -08:00
travel_agent_request.rest plano orchestration using plano orchestration 4b model (#637) 2025-12-22 18:05:49 -08:00
uv.lock Introduce brand new CLI experience with tracing and quickstart (#724) 2026-02-10 13:17:43 -08:00

Travel Booking Agent Demo

A multi-agent travel booking system demonstrating Plano's intelligent agent routing and orchestration capabilities. This demo showcases two specialized agents working together to help users plan trips with weather information and flight searches. All agent interactions are fully traced with OpenTelemetry-compatible tracing for complete observability.

Overview

This demo consists of two intelligent agents that work together seamlessly:

  • Weather Agent - Real-time weather conditions and multi-day forecasts for any city worldwide
  • Flight Agent - Live flight information between airports with real-time tracking

All agents use Plano's agent orchestration LLM to intelligently route user requests to the appropriate specialized agent based on conversation context and user intent. Both agents run as Docker containers for easy deployment.

Features

  • Intelligent Routing: Plano automatically routes requests to the right agent
  • Conversation Context: Agents understand follow-up questions and references
  • Real-Time Data: Live weather and flight data from public APIs
  • Multi-Day Forecasts: Weather agent supports up to 16-day forecasts
  • LLM-Powered: Uses GPT-4o-mini for extraction and GPT-5.2 for responses
  • Streaming Responses: Real-time streaming for better user experience

Prerequisites

Note: You'll need to obtain a FlightAware AeroAPI key for live flight data. Visit https://www.flightaware.com/aeroapi/portal to get your API key.

Quick Start

1. Set Environment Variables

Create a .env file or export environment variables:

export AEROAPI_KEY="your-flightaware-api-key"
export OPENAI_API_KEY="your OpenAI api key"

2. Start All Agents & Plano with Docker

docker compose up --build

This starts:

  • Weather Agent on port 10510
  • Flight Agent on port 10520
  • Open WebUI on port 8080
  • Plano Proxy on port 8001

4. Test the System

Use Open WebUI at http://localhost:8080

Note: The Open WebUI may take a few minutes to start up and be fully ready. Please wait for the container to finish initializing before accessing the interface. Once ready, make sure to select the gpt-5.2 model from the model dropdown menu in the UI.

Example Conversations

Multi-Agent Conversation

User: What's the weather in Istanbul?
Assistant: [Weather information]

User: Do they fly out from Seattle?
Assistant: [Flight information from Istanbul to Seattle]

The system understands context and pronouns, automatically routing to the right agent.

Multi-Intent Single Query

User: What's the weather in Seattle, and do any flights go direct to New York?
Assistant: [Both weather_agent and flight_agent respond simultaneously]
  - Weather Agent: [Weather information for Seattle]
  - Flight Agent: [Flight information from Seattle to New York]

Architecture

    User Request
         ↓
    Plano (8001)
     [Orchestrator]
         |
    ┌────┴──-──┐
    ↓          ↓
 Weather     Flight
  Agent       Agent
 (10510)     (10520)
 [Docker]    [Docker]

Each agent:

  1. Extracts intent using GPT-4o-mini (with OpenTelemetry tracing)
  2. Fetches real-time data from APIs
  3. Generates response using GPT-5.2
  4. Streams response back to user

Both agents run as Docker containers and communicate with Plano via host.docker.internal.

Observability

This demo includes full OpenTelemetry (OTel) compatible distributed tracing to monitor and debug agent interactions: The tracing data provides complete visibility into the multi-agent system, making it easy to identify bottlenecks, debug issues, and optimize performance.

For more details on setting up and using tracing, see the Plano Observability documentation.

alt text