Travel Recovery Agent
Finds the ticket credits and compensation expiring unclaimed
- 8hard rules
- Things it must never do, enforced in every run
- 5handover rules
- Conditions where it stops and gives the work to a person
- 12output fields
- A structured result, not a paragraph you have to re-read
- ≤6steps per run
- Bounded work: at most 4 tool calls, enforced by the runtime
Read-only by design. This agent has no path to sending, spending, publishing or committing anything. Where that limit is the product, removing it would remove the reason to trust the output.
Overview
Corporate travel loses money in a way almost nobody tracks, because the loss looks like nothing — no invoice, no charge, no line item. It is money already paid that never comes back.
An unused or changed ticket usually becomes a credit held in the traveller's name, valid for a limited period. The company paid for it. It expires silently, and no report anywhere says a credit is about to expire, because a credit is not an expense and nothing in an expense system has a reason to know it exists.
Then there is delay and cancellation compensation. Several jurisdictions give passengers a fixed entitlement when a flight is delayed beyond a threshold or cancelled at short notice. Business travellers almost never claim it: they were travelling for work, the money would not be theirs, and by the time anyone thinks about it the deadline has gone. The entitlement belongs to whoever paid, which is usually the company.
And the persistent small leaks: a refundable fare cancelled and never refunded, a duplicate booking for the same person on the same day, a hotel cancelled inside the window and charged anyway, a return leg nobody flew.
Everything here is expiry-driven, which is why an annual audit finds nothing worth having. This agent reports each finding with its deadline. It files no claim and books nothing.
Benefits
Money already paid, recovered
No negotiation and no purchase — it is yours already.
Credits used instead of expiring
Which is the largest and quietest of the losses.
A recurring check instead of an annual one
The only cadence that works when everything expires.
What it does
Finds credits before they expire
An unused ticket becomes a credit in the traveller's name. Nothing in an expense system has any reason to know it exists.
Flags flights that may carry an entitlement
Delay and cancellation compensation belongs to whoever paid for the ticket. Business travellers almost never claim it.
Catches refundable fares never refunded
Cancelled, refundable, and the money simply did not come back. Nobody reconciles this.
Finds duplicate and unflown bookings
Two bookings for one person on one day, and return legs nobody boarded.
Every finding carries its deadline
All of this is expiry-driven. A credit found after it lapses is worth nothing, which is why an annual audit is useless here.
Files nothing
It never submits a claim or contacts an airline. Entitlement depends on the reason for a delay, which no booking record contains.
What this changes
What this changes about your week
- It takes over
- Finding ticket credits, unclaimed compensation and unrefunded fares before they expire.
- Done today by
- Nobody, because none of it appears as a charge.
- How often
- Must be monthly — everything here expires.
- Typical manual effort
- Credits, disruption records and refunds all sit in different places from the expense system.
Why Travel & Tourism in particular. An unused ticket becomes a credit the company paid for, held in a traveller's name, expiring silently. It is not an expense, so nothing in an expense system has any reason to know it exists.
Runs unattended
Started by you or by an event, and it finishes on its own. Nothing waits for someone to be at a desk.
The same standard every time
The two-hundredth item is held to the bar the first one was. Consistency is the part people cannot sustain.
It cannot act on its own
Travel Recovery Agent has no path to sending, spending or committing. That limit is why its output is safe to act on.
How it runs
This agent runs server-side through the PROMIVO runtime. Each run is logged step by step and every tool call is permission-checked before it executes.
- 1InputValidated against the agent input schema
- 2Modelclaude-sonnet-5 with automatic fallback
- 3Toolsextract_structured_data
- 4PermissionsRuns READ actions automatically; anything higher waits for approval
- 5OutputStructured result matching the output schema
- 6LoggingTokens, duration and every step recorded
Demo
Demo dataIllustrative sample output, abridged.
Input
{
"asAtDate": "2026-09-02",
"bookings": [],
"currency": "USD",
"claimWindowDays": 60,
"delayThresholdHours": 3
}Output
{
"credits": [
{
"note": "Held in the name of someone who left in June and is not transferable. Sixteen days to find a use for it or it is gone, and nothing anywhere would have told you.",
"value": 1840,
"heldFor": "EMP-204",
"expiresOn": "2026-09-18",
"reference": "TKT-88213",
"transferable": false
}
],
"escalate": true,
"disclaimer": "An analysis of your own booking records. No claim has been filed, no provider contacted, nothing booked, cancelled or redeemed. Compensation entries are candidates only — entitlement depends on the reason for a delay, which these records do not contain — and no advice is given on passenger rights or on who is entitled to any payment.",
"alreadyLost": 8600,
"rulesUnknown": [
"Three credits have no expiry or transfer rules recorded, so none is assumed to be usable."
],
"escalationReason": "A 1,840 credit expires in 16 days and is held for a leaver and not transferable, and a compensation claim window closes in 5 days.",
"totalRecoverable": 21400,
"ancillaryFindings": [
"Two hotel bookings were cancelled inside the free window and charged in full."
],
"duplicatesAndUnflown": [
"One traveller has two bookings on the same route on the same day in April. Both were paid; one was never flown.",
"Nine return legs across the period were not boarded. Some carry residual value."
],
"expiringWithin30Days": [
{
"item": "Ticket credit, ref TKT-88213",
"value": 1840,
"daysLeft": 16,
"deadline": "2026-09-18"
},
{
"item": "Compensation candidate, flight on 2026-07-09",
"value": 0,
"daysLeft": 5,
"deadline": "2026-09-07"
}
],
"unrefundedRefundables": [
"Four refundable fares totalling 3,900 were cancelled between March and June. No refund was received against any of them."
],
"compensationCandidates": [
{
"route": "AMS–LHR",
"caveat": "A candidate only. Entitlement depends on the reason for the delay, which this record does not contain, and the airline may have a defence. Five days left to decide.",
"paidBy": "Company card",
"claimBy": "2026-09-07",
"reference": "BKG-4471",
"recordedDelayHours": 4.5
}
]
}Requirements
Integrations
No integrations required.
Before you start
- Booking records: traveller, route, dates, fare rules, status
- Ticket credits held, with values and expiry dates
- Flight disruption records, where you have them
- What was actually paid and refunded
- Requires the All-Access plan or higher
Use cases
Monthly travel review
Credits, claims and refunds, ranked by deadline.
After a period of disruption
Which flights may carry an entitlement, before the window closes.
A travel budget under pressure
The credits you already hold, before booking anything new.
Changing travel provider
What is held in credit that would otherwise be lost.
Pricing
All-Access
Billed monthly through your PROMIVO subscription. Cancel at any time.
Runs consume your plan allowance for agent executions and tokens. See plan limits
FAQ
Does it claim compensation for us?
No. Whether an entitlement exists depends on the reason for the delay, which no booking record contains — an airline may have a defence the data cannot see. It identifies candidates and the deadline; a person claims.
Is this legal advice on passenger rights?
No. It flags flights whose recorded delay or cancellation meets the threshold you configure for the rules that apply to you. Whether compensation is actually owed is a legal question, and it says so on every candidate.
Does it book or cancel travel?
No. It never books, changes, cancels or redeems anything.
Whose money is the compensation?
It reports who paid for each ticket and leaves the question there. Who is entitled to a payment when a company paid and an employee travelled is a policy and legal question this will not answer.
Reviews
Reviews open once customers have run this agent.
Need this agent to work differently?
Tell us what to change and our team will scope a customised version for your business.
Customize this agent