Travel, beyond the booking.
Clear thinking on the systems, decisions and operational craft behind travel products that last.

THE LIBRARY
Architecture, operations and commercial decisions.
For teams shipping and operating travel products.
One core, five hosts, one answer
We were about to write the same booking rules for the fourth time. Instead we moved every decision a customer could notice into a single Kotlin Multiplatform core, gave each framework a binding thin enough to read in a sitting, and made all of them prove they agree.

The Stripe analogy breaks after checkout
In December I told Skift that travel needs the infrastructure layer fintech got a decade ago. Eight months later that is more true, not less. The only thing I would add is that travel is the harder version of the problem, and the Stripe comparison is where you can see why.

Give the agent tools, not a wallet
The safe agentic travel system is not the one with the best model. It is the one where a fully persuaded model still cannot spend a rupee nobody granted it: typed tools, expiring quotes, server-side policy and idempotent writes.

NDC, GDS or LCC direct? The wrong answer is choosing one
Airline distribution is not a protocol war with a winner. It is a portfolio of content, fulfilment and servicing trade-offs, and the only question that matters is whether your checkout ever has to know which one it is talking to.

The travel API is not the architecture
Search is the part every supplier makes easy. What decides whether you can run a booking business is the layer that remembers, constrains and repairs a trip long after search returned.

Embedded travel for fintechs: the tab is not the product
A fintech starts closer to a trip than any travel site does: the funding method, the FX exposure, the rewards balance, the identity. Most travel tabs throw all of it away inside a web view. The ones that work move the trust boundary, not just the logo.

Build vs. buy: you are estimating the demo, not the business
Search, offers, payment, confirmation. Two quarters, and the number is honest. It is also a price for the demo, not for the operations company the demo turns into. The real decision is which parts of the lifecycle become permanent headcount.

The NDC capability matrix
The certification levels people still quote were retired in 2022. What a flight product needs instead is a matrix: the dimensions on which one carrier's NDC connection differs from another's, because those differences decide what your checkout and your support team can do.

Your dashboard stops at checkout
Search latency gets measured because it emits a span. The six weeks between a confirmation and a boarding gate emit nothing, which is why the only post-booking monitor most travel products run is the support inbox.

Points are a liability, not a currency
Every point you issue is a promise to sell something later, at a price you fixed today, in a unit you print yourself. Most programs manage the issue price with real rigour, assert the retire price in a deck, and then report the breakage as a win.

How we solved room mapping
String similarity gets the two cases that matter exactly backwards: it merges the rooms that must never merge and splits the ones that must. This is the pipeline we built instead, stage by stage, including the part everyone tries to automate away.

The cart is the hardest problem in travel
A flight, a hotel and a transfer in one cart looks like ecommerce. It is actually a distributed transaction across suppliers that never agreed to coordinate, with inventory that expires while the customer types a card number.

Why NDC will not solve your immediate problems
NDC is the right direction for airline retailing and it will not fix one thing that is broken in your product this quarter. It is a supply migration measured in years, and treating a migration as a roadmap is how teams spend a year shipping a third dialect.

Money has to inherit the shape of the trip
Checkout is the front door, not the building. One button creates collections, supplier settlements, FX snapshots, refunds and ledger entries, and they only stay coherent if every movement carries the order's own identifiers.

One hotel, five names: why catalogue size lies
Signing another hotel supplier grows the listing count on day one. Whether it grew the catalogue depends entirely on work nobody has scheduled yet: deciding which of those listings are hotels you already had.

Post-booking is the trust product
Checkout wins one transaction. What you do during a schedule change, a cancellation and a refund decides whether there is a second one.

Checkout is the midpoint: designing the travel order lifecycle
A booking is not a receipt. It is a living order that must survive rechecks, confirmations, schedule changes, cancellations and money moving on different clocks.

Adding travel is easy. Owning it is the decision.
Any competent team can ship search and book in a quarter. The readiness question is whether anyone in your company will be standing behind the confirmation in month four, when a supplier moves the flight and the customer opens your app.

