Skip to main content
OnArrival

Stitch products into a single offer.

Fly into LIS, sleeper to Porto, a Douro wine tour, the airport transfer and the cover, quoted together, charged once, booked atomically under one reference. The whole trip is one call.

Illustration: a traveller strolling across an open plaza carrying one small tote from which a map, a room key and a rolled towel neatly peek.
products in one atomic call
5-in-1
all-or-nothing — orphan bookings impossible
100%
booking reference per trip
1
Inventory

Five products. One commit.

The 5-in-1 promise is concrete: each component is a real OnArrival product with its own inventory, priced and booked in the same atomic call. Here is what composes.

FLIGHTS

Get there

517+ carriers as one offer object: the long-haul leg that anchors the trip.

one reference
HOTELS

Stay there

2M+ deduplicated properties, best-rate across 30+ pools, re-dated automatically if the flight moves.

all-or-nothing
EXPERIENCES

Do something

90k+ vetted, time-slot-live products: the margin layer of the trip.

pure-margin attach
BUSES

Get around

2,800+ operators for the last-mile and intercity legs no flight covers: sleeper to Porto after the flight to Lisbon.

protected transfers
FINTECH

Pay & protect

One charge fanned out to every supplier with locked FX, plus cover bound in the same call.

locked FX
How it works

A trip, in one call.

Pass the components and a payment token. Phase one holds each leg for up to 9 minutes and authorises the charge; phase two confirms every leg, then captures. If a supplier declines, times out or re-prices, every other hold is released, the authorisation is voided and one typed failure returns.

Composition

Composition is the product.

Anyone can sell a flight. Selling the whole trip used to take an OTA a decade of infrastructure. Now it’s an endpoint.

01

Bundle pricing engine

Margin rules per product (pad hotels 8%, bundle cover at cost, cap activities at $25) with opaque-pricing support so the package can legally beat component prices.

Price
02

One charge, multi settle

The customer pays once; Payments fans it out to carrier, bedbank, operator and insurer with locked FX. Refunds net back automatically.

Pay
03

One booking reference

A single OA reference covers every component. Customer support sees the trip, not seven supplier tabs, and so does your customer.

Service
04

Disruption cascade

Flight cancelled? The re-shop offer re-times the transfer, re-dates the activity and extends the hotel, proposed as one coherent change, not five emails.

Service
05

Itinerary documents

Branded, print-ready trip documents and wallet passes generated per bundle, updated automatically when any component changes.

Deliver
DISRUPTION CASCADE · OA-9F3K2LFlightBOM → DXB · cancelledHotelcheck-in extended +1 nightTransferre-timed to new arrivalActivityre-dated · same operatorCoverCFAR re-bound · no gapPROPOSED ASone coherent change
Capabilities

The Bundles surface

Compose
  • Any combination of products
  • Cross-supplier orchestration
  • Atomic booking (all-or-nothing)
  • Failure rollback
  • Multi-traveller per leg
Price
  • Bundle pricing engine
  • Margin layering by product
  • Promo codes + voucher support
  • Tax + fee normaliser
  • Loyalty earn rules
Pay
  • Single charge, multi settle
  • Split payments (group trips)
  • Pay-deposit, pay-balance flows
  • Group-organiser collect
  • Refund netting
Service
  • One booking reference per bundle
  • Itinerary doc generation
  • Re-shop on disruption
  • Per-component cancellation
  • Customer support handoff
The handover

For thirty years, only OTAs could stitch a real trip. Bundles hands that ability to anyone with an API key: a bank, a super-app, an AI agent.

Products per bundle5-in-1
Booking reference per trip1
Orphan bookings0
Who it's for

Where Bundles earns its keep.

Fintech

Banks & super-apps

Sell complete trips inside the app with zero travel-ops headcount: one checkout, one reference, support handled.

"Our users book honeymoons where they check their balance."
AI agents

Agentic booking

An LLM plans the trip; one compose call books it atomically. No multi-step checkout to break mid-conversation.

"Plan-to-booked in a single tool call."
OTA

Established sellers

Replace brittle in-house orchestration with atomic composition, and finally launch dynamic packages with opaque pricing.

"Packages launched in weeks after years of false starts."
Questions

Before you integrate Bundles.

Something we haven’t covered? Talk to the team. A real engineer answers, never a bot.

Illustration: a boarding pass, hotel key and map drift neatly into one open suitcase
What happens if one component fails at booking time?

Everything rolls back. We hold ephemeral inventory across all suppliers during composition; if any confirm fails, every other hold is released and the charge is never captured.

Can travellers cancel just one part of a bundle?

Yes. Per-component cancellation with the penalty schedule of that component, and the bundle re-prices if a package discount depended on the cancelled part. The customer sees the net effect before confirming.

How does disruption handling work across components?

A disruption on any component triggers a cascade evaluation: we propose one coherent change set (new flight, re-timed transfer, re-dated activity) that the traveller accepts or declines as a whole.

Does bundling actually make the trip cheaper?

Often. Opaque-pricing rules let wholesale hotel rates ride inside a package below public rate parity, legally. Your margin rules decide how much of that you keep versus pass through.

Is there really one reference across suppliers?

One OA reference for the trip, mapped internally to every supplier confirmation. Your support tooling, the customer’s itinerary and our APIs all speak the OA reference; supplier references remain available when needed.

Pairs well with

One product is rarely enough. Compose them.

Related reading

All field notes →
Start building
Wire Bundles into your stack with a sandbox key.