---
title: "Cache Invalidation Patterns for Travel Pricing"
description: "Design TTL, event invalidation, stale-while-revalidate and live-reprice boundaries for hotel and flight pricing."
slug: "travel-pricing-cache-invalidation-patterns"
translationKey: "architecture-travel-pricing-cache-invalidation"
locale: "en"
type: "guide"
category: "architecture"
tags: ["cache","pricing","freshness","invalidation","revalidation"]
publishedAt: "2026-09-26"
updatedAt: "2026-09-26"
reviewedAt: "2026-09-26"
---

The key question in travel-price caching is not “how many minutes should the TTL be?” It is **how stale a price may be at each level of traveler intent**.

## Production scenario

A destination page shows indicative rates for thousands of hotels. Property detail expects fresher pricing, while checkout requires live repricing.

## Patterns

TTL-based caching is a reliable baseline but cannot reflect every volatility pattern.

Event-driven invalidation works when suppliers emit trustworthy price/inventory changes.

Stale-while-revalidate is useful for discovery but can be dangerous near transaction.

Read-through refresh calls the provider when a cache entry is missing or too old.

## Cache key

Consider property/route, dates, occupancy, currency, market/residency and room/rate class where required.

A bad key causes wrong-context results, not merely stale results.

## Adaptive TTL

Use shorter TTLs for volatile markets or close-in dates and longer TTLs for long-tail or distant inventory.

## Failure modes

Typical failures include lost invalidations, cache stampedes, stale overwrites, incorrect keys, mass expiry during provider outages and reusing discovery cache in booking flows.

## Concurrency

Use single-flight or request coalescing so one miss does not create hundreds of identical upstream calls.

## Observability

Track cache hit rate, hit age, stale serves, revalidation latency, invalidation lag, live-reprice delta and stampedes.

## Alternatives

For low volume, short TTL plus live reprice can be enough. Event-driven invalidation only helps when change signals are reliable.

## Production checklist

Define cache keys, intent-based freshness classes, adaptive TTL, invalidation fallback, SWR limits, single-flight, live reprice before transaction and stale-overwrite protection.
