Travel · B2B corporate travel platform · In production

A corporate booking platform with a policy-aware chat agent, in production.

A B2B corporate travel platform runs its booking product on a system Plexe built: a web app where employees search, book and manage trips, an API connected to three travel suppliers and a payments provider, and a chat agent that works for the signed-in traveller inside their company's travel policy. The web app, API and agent are in production for companies whose policy is set in rupees. Use by US-dollar companies is still in pilot.

~10,700
Automated API tests
52
Serverless functions
~$0.40 a run
US-market eval cost
~$0.25 a scenario
Semantic eval cost

How it fits together

  1. Traveller
    web app or chat
  2. Chat agent
    Claude Agent SDK, MCP tools
  3. Platform API
    policy, bookings, credit ledger
  4. Suppliers
    flights, hotels, payments

The challenge

  • Employees need to book within company policy, by screen or by chat
  • Several suppliers and a payments provider sit behind every booking
  • An agent acting for a traveller must see only that traveller's data
  • A new market needs proof the agent behaves before anyone is let in

What we built

  • A React web app for search, booking, trips and admin
  • A platform API with supplier integrations, payments and a credit ledger
  • A chat agent on the Claude Agent SDK with identity-scoped tools
  • Two tiers of agent evals and a staged, tag-gated deploy

What the platform is for

The platform lets companies book business travel for their employees inside a travel policy. Travellers search flights and hotels, book, and follow each trip from a web app; administrators manage their company from admin and console pages. The same rules apply everywhere: booking statuses, which supplier serves which currency, the per-room adult cap, tax identity rules and which policy fields are enforced. The web app repeats those rules from contracts the API publishes, and checks its copy automatically, so the screen never promises something the API will refuse.

How it works

The API runs as Python Lambdas on AWS, with Postgres, Cognito sign-in, three travel supplier integrations, a payments provider, a credit ledger, and a renderer that produces tickets, vouchers and emails. A suite of about 10,700 automated tests covers it. Production deploys are refused for any commit staging has not run, and supplier production credentials are never used from a laptop.

The chat agent is a FastAPI and WebSocket service on ECS Fargate, built on the Claude Agent SDK with no built-in tools. Its only tools come from one in-process MCP server, each bound to the signed-in user's identity, and its read tools run under Postgres row-level security. Every turn is traced to a self-hosted Langfuse.

Testing the agent before a new market

The agent has two tiers of evals: tool evals that check it calls the right tools correctly, and semantic scenarios graded by an LLM judge against a deployed agent. Before any US-dollar company is admitted, a scripted US-market eval runs the real model, prompt, tools and handlers against fixed API answers, with fixed-rule scoring and no LLM judge. It fails a reply on any rupee or Indian tax wording, on a dollar amount the tools did not produce, or on a day-first date, and checks that an over-policy approval is filed in dollars. A run costs about $0.40.

What they own now

The web app, API and chat agent are in production for companies whose travel policy is set in rupees. US-dollar companies reach the agent only through a pilot allowlist, which is currently empty on both staging and production, so US use has not started. The platform's team and Plexe change the system through pull requests across separate repositories for the web app, API and agent. A unified supplier gateway for more suppliers and accounting connectors was planned, then archived at the design stage; it is not part of the live system.

Under the hood

Stack

  • Claude Agent SDK
  • FastAPI
  • React + Vite
  • AWS Lambda
  • AWS ECS Fargate
  • Postgres
  • Amazon Cognito
  • Langfuse

More in Travel