---
title: "Stale Availability / Offer Expired Troubleshooting"
description: "Diagnose stale availability and expired offers across freshness, cache, token and revalidation layers between search and booking."
slug: "stale-availability-offer-expired-troubleshooting"
translationKey: "troubleshooting-stale-availability-offer-expired"
locale: "en"
type: "troubleshooting"
category: "troubleshooting"
tags: ["availability","offer","stale","reprice","cache"]
publishedAt: "2026-09-27"
updatedAt: "2026-09-27"
reviewedAt: "2026-09-27"
technicalVerifiedAt: "2026-09-27"
codeExampleStatus: "illustrative"
---

An offer expiring between search and reprice is not always a bug, but unclear **freshness contracts and missing revalidation** quickly create bad UX and conversion loss.

## Symptom

A selected search result becomes unavailable at reprice, a supplier token expires, inventory disappears, or cached price/availability is behind the provider.

## Possible causes

Long cache TTLs, ignored expiry metadata, long traveler dwell time, volatile inventory, short-lived provider tokens or skipped revalidation.

## Diagnosis

Inspect offer observedAt/expiry, measure search-to-reprice delay, compare cache age with provider timestamps, retest provider tokens, separate price freshness from availability freshness and calculate provider-level stale rates.

## Recovery

Do not force an expired offer through booking. Re-shop or reprice into a new offer and explicitly present changed price/policy to the traveler.

## Prevention

Use explicit offer expiry, provider-specific TTLs, mandatory revalidation, refresh for long-dwell sessions, stale-offer guards and targeted cache invalidation.

## Observability

Track offer age, expired-at-reprice rate, unavailable-after-select rate, provider stale rate, search-to-reprice dwell time and refresh success.
