Day 163: Keep One Booking Intent Through Every Retry
The buyer asked for one booking. The agent sent the request, but the acknowledgement never arrived.
Should it try again?
A timeout cannot answer whether the first request failed. Stripe’s current error-handling documentation says that, after a network error, a client may not know whether the server received the request.[1] AWS describes the same distributed-systems dilemma: simply repeating a resource-creation call can create a second resource if the first call succeeded but its response was lost.[2]
That ambiguity turns one commercial intention into a transaction-design problem. If an authorised agent retries, the service must be able to recognise “this is the same booking attempt” without confusing it with “the buyer wants another booking”.