Travel Desk
Every organisation gets a Travel Desk: a built-in agent that
takes a trip request in one breath, asks back once for what it still
needs, searches flights, hotels and rail, shows every option against your
organisation's travel policy, books the chosen ones only after a human
approves, and then offers the calendar entry and the check-in reminder. It
lives in the org ring, is visible from every workspace, and answers to
@travel-desk from day one.
At a glance
| Handle | @travel-desk |
|---|---|
| Availability | Seeded in every organisation |
| Tag | travel โ what the router looks for, so your own desk can replace it |
| Model tier | default |
| Autonomy | supervised โ booking and cancelling always pause for a person |
| Tools | travel_search, travel_book, travel_cancel, travel_trips, currency_convert, weather_forecast, calculate, current_time |
| Knowledge | finance-policies โ it cites the travel policy it is quoting |
| Memory | user โ your usual airport and seat preference, not somebody else's |
| Max turns | 16 |
| Schedulable | Yes |
What a person sees
I need to be in Berlin for the Q4 planning offsite, 6โ8 October, from Amsterdam.
The desk replies with one form โ from, to, depart, return, travellers, cabin,
hotel needed, purpose, cost centre โ already filled with everything the
message said. After Find options it shows a short table per leg:
carrier, times, duration and stops, refundable, total, and a policy mark on
each row โ within policy, or exception
with the rule it breaks. You pick in a sentence. The booking then pauses for
approval; the approver sees the summary, the total and the policy check, may
change the cabin, and approves. The desk confirms with a reference such as
TRV-7K3M9Q, says once when the booking is simulated, and offers a
calendar entry and a reminder โ never adding either unasked.
How a request runs
-
One form, or one question
In the web app the intake is an interactive surface. In Slack or Teams, where nothing can draw one, the same fields arrive as a single numbered question. Nothing on the form asks for a passport, a date of birth or a card โ the booking system holds passenger details, the conversation never does. -
Options marked against policy
Each search returns up to eight offers. The desk cites the travel policy from the Finance corpus, and the platform marks every offer from the organisation's configured travel rules โ the mark is authoritative where the two disagree. Out-of-policy options are shown, never hidden. -
Approval before anything is placed
Booking is a write, so it pauses for a person. The approval card carries the itinerary, the total, the policy check and the traveller's reason for any exception. Edit-before-approve applies: what the approver saves is what gets booked. Offers are re-priced at that moment โ approvals live for days and real fares for minutes โ and a price that moved past the tolerance comes back to the traveller, never booked unseen. -
A trip you can find later
A booking becomes a trip record with its reference, segments, total and policy outcome. My trips lists yours; a cancellation goes back through the desk, because cancelling is destructive and always pauses for approval.
Policy as data
The desk is seeded with a travel policy that says the same
things the sample Finance travel policy says, so a fresh organisation gets
consistent answers on day one. Admins edit it under Governance โ Policies,
tighten it for a team, or make it a floor nobody can loosen.
| Rule | Default | What happens on a breach |
|---|---|---|
| Cabin by flight length | Economy under 6 h, premium economy under 10 h, business above | Needs an exception reason; the approver sees it |
| Hotel cap per night | USD 320 in tier-1 cities, 260 in tier-2, 220 elsewhere | Needs an exception reason |
| Rail class | Standard | Needs an exception reason |
| Pre-approval threshold | USD 3,000 | A note that a second approver is required |
| Advance booking | 14 days where foreseeable | A note for the approver, never a refusal |
| On breach | Require an exception | block refuses outright โ even after approval |
Personal trips
Ask about a holiday and the desk still searches and shows the options โ they are useful whoever pays โ and then declines, politely, to book: personal travel is booked privately, and the policy's rule on extending a business trip is one message away. That boundary is enforced by the booking tool, not only by the agent's instructions.
What administrators see
- Governance โ Travel: every trip in the organisation as metadata โ who, where, when, how much, status โ with the traveller's free-text purpose withheld, and the inventory provider configuration.
- Governance โ Policies: the
travelpolicy, editable like any other kind, with team scopes and floors. - Approvals: every booking and cancellation, with the policy check attached.
Engineering detail: docs/guides/travel-desk.md and the design
note docs/design/travel-desk-agent.md.