GET /v1/inventory · 847ms · 12,440 results · LIVE POST /v1/booking · 1.2s · LH4478 BER→AMS · CONFIRMED AGENT disruption-watch · CDG delay +3h · ALT DRAFTED · awaiting exec GET /v1/profile/ctx · 312ms · seat 14A · meal: vegan · HIT PATCH /v1/booking/mgmt · upgrade exec · row 2C · DONE GET /v1/itinerary/assemble · 628ms · 4 segments · 1 hotel · READY GET /v1/inventory · 847ms · 12,440 results · LIVE POST /v1/booking · 1.2s · LH4478 BER→AMS · CONFIRMED AGENT disruption-watch · CDG delay +3h · ALT DRAFTED · awaiting exec GET /v1/profile/ctx · 312ms · seat 14A · meal: vegan · HIT PATCH /v1/booking/mgmt · upgrade exec · row 2C · DONE GET /v1/itinerary/assemble · 628ms · 4 segments · 1 hotel · READY

Operating Model

How Raile runs.

42 humans, 6 agents, one shared inbox. No category managers. No onboarding teams. No SEO floor. The agents run the operation — the humans run the agents.

Headcount · 42 people

Engineering
22
Field Ops
6
GTM
8
Design / Product
6
Total
42

Booking.com: ~27,000 employees. Same product category. 643× the headcount.

Unit economics snapshot

€9.5M
Revenue per employee
ARR / headcount · 42 people · €400M target run-rate
€47
per completed trip
87%
trips closed by agents alone
74%
gross margin
1:3
PM to engineer ratio

The agent stack

6 agents. Every trip covered.

AGT-01

Inventory agent

Fetches live supply across all sources in real-time. Every query hits supply directly — no cache, no stale rates. Returns 12,000+ options in under one second.

AGT-02

Booking agent

Executes reservations end-to-end on behalf of any platform. Handles payment, confirmation, and PNR generation. Disruption watch activates on every confirmed booking.

AGT-03

Profile agent

Creates and updates persistent traveler context across all integrations. Seat preferences, dietary needs, loyalty numbers — held once, available everywhere. Cross-platform, never reset.

AGT-04

Booking management agent

Handles all CRUD on existing reservations — changes, cancellations, upgrades, seat swaps. Every operation reversible. Audit log on every state change.

AGT-05

Itinerary agent

Assembles flights, hotels, rail, and ground transport into a single coherent trip thread. Checks connection times, layover viability, and preference alignment before returning.

AGT-06

Disruption agent

Proactively monitors for cancellations and overbookings. Alerts and acts before the platform knows there's a problem. Rebooks within approved parameters without human touch.

How we charge

You pay when the trip is delivered.

€47 per completed trip. €0 on failures. No commission on inventory lookup. No monthly seat licences. The pricing model is the product promise — if the booking doesn't complete, we don't get paid.

This is not a philosophy — it's the mechanic. Every invoice line maps to a delivered outcome. No retainer. No per-query fee. No gotchas.

Pricing table
Event Charge
Completed trip confirmed €47
Failed booking (any reason) €0
Inventory lookup (GET) €0
Profile read/write €0
Disruption monitoring Included
Human escalation Included

Unit economics

€47
Revenue per
completed trip
74%
Gross margin
at scale
87%
Trips closed
without human touch
14mo
CAC payback
period

87% of trips close on their own — agent executes end to end, no human in the loop. The 13% that escalate are the high-stakes cases: spend over threshold, multi-segment reroutes, VIP travellers. A human reviews within 3 minutes.

What we don't have

Teams we skipped. Agents that replaced them.

Every function below runs at Booking.com with a dedicated team of 20–200 people. At Raile, the same function runs through a mechanic instead.

Skipped team
What runs instead
No UI / consumer product team
~120 people at incumbents

No traveler-facing app or landing page. The platforms built on Raile own that surface entirely. We supply the plumbing. The builder owns the paint. This is a deliberate constraint — not a gap.

No content ops team
~80 people at incumbents

Hotel descriptions, photos, and listing quality are the builder's responsibility. Raile passes raw supply data through the API. The inventory agent fetches it live — there's nothing to curate on our side.

No SEO / affiliate team
~60 people at incumbents

Developer docs and API integrations are the distribution channel. Builders find us through GitHub, the dev community, and word of mouth. No Google rank-chasing. No affiliate commissions. The product distributes itself.

No 40-person onboarding team
~40 people at incumbents

Field Ops: 6 people. They embed with each new enterprise account for 60 days — map their use case, build the agent configuration, set the escalation thresholds. After 60 days, the agents take the handoff. No permanent onboarding function required.

No customer support floor
~200 people at incumbents

The disruption agent catches problems before users notice them. CRUD + human escalation is baked into every booking. 87% of issues resolve automatically. The 13% that escalate go to Field Ops — not a support floor. The support function is the product.

Decision flow

One disruption. Resolved by 2:16am.

Real scenario. Amsterdam → Tokyo. CDG connection broken by a 4-hour delay.

23:47 CET AGT-06
Disruption agent detects LH1234 CDG→AMS delayed +4h
Connection to NH3301 AMS→NRT broken. Minimum connection time: 90 min. New gap: 14 minutes.
23:47 CET AGT-05
Itinerary agent drafts 3 reroute options
AF1234 CDG→AMS +2h · TGV direct 3h22m · EK221 via DXB +6h. Ranked by preference match.
23:48 CET AGT-01
Inventory agent confirms availability and current pricing
AF1234: 4 seats available · €0 change fee (disruption protection active) · price delta €0.
23:48 CET AUTO-EXEC
Booking management agent executes the rebook
Within approved parameters (€500 threshold, preferred carriers include AF). No human review required. PNR updated. Seat held.
23:49 CET WEBHOOK
Confirmation sent to platform via webhook
Layla's backend receives updated itinerary. In-app notification queued for morning. Traveler notified at 07:30 CET.
07:30 CET RESOLVED
Traveller wakes up to confirmation. No action needed.
No support ticket. No manual rebook. No call centre. Total elapsed time: 2 minutes. Zero humans involved.
Decisions below €500 threshold execute automatically. Above €500, Field Ops reviews within 3 minutes.