ByteBite Docs
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 cancelled gesetzt.
  • 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.

On this page