Все требования
FR-007MVPБронированиеТребование источникаПоказано в приложении
Освобождение hold по истечении и обработка позднего webhook
Просроченный hold освобождает слот. Позднее платёжное событие не создаёт бронь, конфликтующую с уже подтверждённой; операция уходит на возврат или сверку.
Исходный смысл и ценность
Освобождение hold по истечении. Поздний webhook не создаёт конфликтующую бронь.
Не блокирует слот навсегда и не создаёт двойное право на одно время.
Акторы и предусловия
СистемаВодительПоддержка
- Hold имеет срок действия
- Webhook проверяется и идемпотентен
Основной поток
- 1Система отслеживает срок hold.
- 2По истечении hold помечается expired, слот освобождается.
- 3Позднее событие оплаты сопоставляется с hold.
- 4Если слот уже занят, создаётся возврат/сверка, а не вторая бронь.
Альтернативные потоки
- Слот ещё свободен — допускается восстановление брони по правилам.
- Webhook повторён — идемпотентность предотвращает дубль.
Ключевая проверка
Поздний webhook не создаёт конфликтующую бронь.
Статус реализации: В демо предусмотрен сценарий конкурирующей брони и идемпотентный повтор webhook в админке.