ArchitectureADRs
ADR-016: Order Acceptance Timeout
Status: Accepted
Kontext
Restaurants müssen neue Bestellungen innerhalb von maximal zehn Minuten annehmen. Danach wird die Bestellung automatisch storniert und der Kunde benachrichtigt.
Entscheidung
Jede pending Order erhält eine acceptance_deadline. Ein DB-basierter Scheduler prüft regelmäßig abgelaufene Orders.
Beim Timeout:
- Order wird atomar auf
cancelledgesetzt. cancellation_reason = acceptance_timeout.- Bestehende BitePay-Autorisierung wird aufgehoben.
- Kunde und Dashboard werden benachrichtigt.
Konsequenzen
- Kein BullMQ/Redis im MVP erforderlich.
- Timeout-Handling muss idempotent und transaktional sein.
- Scheduler kann später durch eine Queue ersetzt werden.