Webhook Replay & Idempotency Troubleshooting

Handle duplicate, delayed and out-of-order webhook events safely with deduplication, replay rules and idempotent state transitions.

Editorial information
Advertisement

Duplicate webhook delivery should be considered normal. The real failure is applying the same business event more than once.

Symptom

A booking updates twice, a refund is applied twice, event order is reversed or replay restores an older state.

Diagnosis

Check stable provider event IDs, delivery count, occurred/received timestamps, prior application, replay safety and whether older events can overwrite newer state.

Idempotency

Use provider event IDs when available. Otherwise build a deterministic key from provider, entity, event type, source timestamp and/or payload hash.

Replay

Reprocessing the same evidence set should not change final state or duplicate side effects.

Possible causes

Expect duplicates, out-of-order delivery, partial transactions, dedup expiry, reused provider IDs and poison events.

Recovery

Replay the same event twice in a controlled test. Business state and external side effects should change once.

Observability

Track duplicate delivery, dedup hits, out-of-order events, replay failures, poison events and processing lag.

Prevention

Keep dedup retention at least as long as provider replay windows and protect state transitions with explicit versions or sequences.

Out-of-order event recovery

Do not let an older event roll back a newer state. Prefer monotonic provider sequences when available; otherwise combine provider timestamps, local versions and allowed-transition rules.

For example, a delayed CONFIRMED event arriving after CANCELLED should be preserved as evidence but must not restore the materialized booking state.

Validation

Replay CONFIRMED → CANCELLED → delayed CONFIRMED for one booking. Final state should remain CANCELLED while the stale event remains visible in observability.

Technical advisory

Are you facing this in production?

We can review the symptom, data flow and integration behavior technically.

Discuss your project →

Related content

architecture

Booking Lifecycle Event Model

Design travel-booking state around create, confirm, modify, cancel, fail and reconcile events with explicit ordering and idempotency.

bookingeventlifecycle
Explore →
troubleshooting

Duplicate Booking After Retry Troubleshooting

Identify duplicate travel bookings created after timeout/retry, preserve the correct reservation and apply safe compensation.

duplicate-bookingretryidempotency
Explore →
travel-ecosystem

Bonotel Exclusive Travel: B2B Hotel Distribution Profile

bonotel.com

A technical ecosystem profile of Bonotel as a curated B2B hotel distribution and wholesale partner with API-connected travel sellers.

bonotelbedbankwholesale
Explore →
travel-ecosystem

Cendyn CRS: Central Reservations and Distribution Profile

cendyn.com

A technical ecosystem profile of Cendyn's central-reservation and hotel-distribution role, including reservation services and live hotel-feed infrastructure.

cendyncrsreservation
Explore →
reports

Turkey Metasearch Market: Public-Evidence Technical Map 2026

Map Turkey's travel metasearch and distribution ecosystem across OTA, metasearch, GDS, NDC, bedbank, channel-manager, CRS and booking layers using public evidence.

turkeymetasearchtravel-distribution
Explore →
integration

Amadeus Enterprise APIs and NDC Integration Guide

developers.amadeus.com

Design Amadeus Enterprise API Portal and Travel Platform/NDC integrations around access, entitlement, offer/order lifecycle, servicing, quota boundaries and observability.

amadeusenterprise-apindc
Explore →