Booking Timeout / Outcome Unknown Troubleshooting
Diagnose ambiguous travel-booking timeouts without duplicate retries using evidence, authoritative lookup and reconciliation.
A timeout on booking create does not prove that the reservation failed. The first objective is to discover the provider-side outcome before issuing another create.
Symptom
The API times out, local state remains UNKNOWN/PENDING, no definitive provider reference is available, or the traveler attempts to book again.
Possible causes
Read timeout, connection reset, provider-side processing completed while the response was lost, provider queue delay, local persistence failure after confirmation, or client timeout while the backend kept processing.
Diagnosis
- Locate bookingIntentId, idempotency key and correlation ID.
- Verify whether the provider create request was sent.
- Lookup by provider/client reference where possible.
- Check webhook/event evidence.
- Treat payment state as supporting evidence only.
- If lookup is eventually consistent, back off instead of retrying create.
Recovery
Mark CONFIRMED when authoritative evidence finds the booking. Mark FAILED only when authoritative evidence proves that no booking exists. Otherwise keep UNKNOWN and schedule reconciliation. Do not blindly retry create.
Prevention
Use first-class UNKNOWN state, provider lookup capability maps, idempotency keys, audited attempts, traveler-safe pending UX and reconciliation workers.
Observability
Track UNKNOWN creation rate and age, resolution source, time-to-confirm/fail, blocked duplicate retries and manual escalation.
Are you facing this in production?
We can review the symptom, data flow and integration behavior technically.