Skip to content
Booking workflow

MOVE FROM SEARCH TO A CONFIRMED VOUCHER.

One flow from search to voucher, for every product type.

Plan this moduleDemonstrable for evaluation; integrations, project scope and launch readiness are agreed separately.
ModuleBooking engine
Designed forEvery travel product
Scope8 capabilities to review
StageDesign-partner preview
The module

A booking path that knows what happened.

The booking engine owns the sequence that every travel product shares: search, select, re-validate, collect traveller data, take payment, confirm with the supplier, and issue a document. Product types differ in their details, so the engine models the shared spine once and lets each product plug its own availability, pax model and cancellation grammar into it.

See the workflow
01

Search, select, re-validate, pay, confirm, voucher

02

Hotels, flights, transfers, activities, cars and packages on one spine

03

Idempotent booking creation with replay-safe keys

04

Pre-payment rate re-validation with an explicit price-held flag

05

Structured cancellation policies with absolute deadlines

06

Timeout reconciliation: unknown outcomes are queried, never guessed

The hard part

The unknown-outcome problem

When a supplier times out on a booking call, the reservation may or may not exist. Systems that treat a timeout as a failure create duplicate bookings; systems that treat it as a success create phantom ones. The engine journals intent before the call, then reconciles by querying the supplier with the client reference until the true state is known.

How it works

One controlled path, from intent to outcome.

Discuss the setup

Search and select

Keep the product, traveller and chosen rate together as one traceable intent.

Search, select, re-validate, pay, confirm, voucher

Re-validate before payment

Check price, availability and cancellation terms again before money moves.

Hotels, flights, transfers, activities, cars and packages on one spine

Confirm and reconcile

Journal the request, resolve timeouts and issue the voucher from the final state.

Idempotent booking creation with replay-safe keys

Interactive booking path

See how the engine handles the uncertain moments.

This correctness core is real code rather than a description, and it runs on this page against a supplier you can break on purpose. It is the same TypeScript the test suite imports, covered by 23 tests. The one worth trying: the timeout that created the reservation anyway — press book three times and the supplier is still called once.

Supplier behaviour

Choose how the supplier misbehaves

Testing a booking path against a supplier that always succeeds proves nothing. These are the failure modes that happen in production and are almost never exercised before they do.

Attempts made

0

Supplier calls

0

Reservations held

0

Unresolved in journal

0