Saga
A workflow pattern for multi-service operations that cannot fit into one ACID transaction, using steps and compensating actions. It is useful for distributed travel flows such as booking plus payment.
Why it matters
Metasearch fan-out architectures need resilience because upstream latency and data volatility are unavoidable. Cache, timeout and retry decisions affect not only backend performance but also whether the displayed offer is trustworthy. These concepts should be designed with SLOs, freshness and failure isolation.
What does it look like in practice?
When one supplier's p95 latency rises, timeout, circuit breaker and fallback cache may work together. A successful stale fallback can still increase price-quality risk.
Implementation questions
- What is the end-to-end latency budget?
- Are cache age and source timestamps retained?
- Which error classes are retried?
- Can one provider failure degrade every supplier?
Common mistakes
- Retrying every error class
- Optimizing cache hit ratio without freshness
- Allowing one provider to block the entire fan-out
Where does it appear in the travel stack?
Saga commonly appears across resilience, transaction layers. Its implementation should make source-of-truth, identity, freshness and transaction-ownership boundaries explicit.
Related terms
Related technical guides
Payment + Booking Distributed Transaction
Model payment and supplier booking as a distributed transaction using authorization, capture, compensation, UNKNOWN outcomes and reconciliation.
Explore →Travel Booking Saga and Compensation Patterns
Design Saga and compensation patterns for travel booking, payment, cancellation and refund workflows where rollback is impossible.
Explore →Travel Observability, Trace and Correlation Model
Trace travel transactions from search through booking and servicing using correlation IDs, distributed traces, metrics and structured domain events.
Explore →Agentic Travel Transaction Safety
Prevent duplicate booking and payment caused by agent loops, retries and tool invocation using idempotency, side-effect guards and UNKNOWN-aware recovery.
Explore →How to Debug Hotel Price Mismatches
Diagnose price differences between metasearch, OTA and hotel booking engines with an evidence-driven triage and root-cause workflow.
Explore →Stuba: B2B Hotel Distribution API Profile
A technical profile of Stuba's hotel distribution APIs covering content, live availability, quote refresh, booking and cancellation workflows.
Explore →