İçeriğe atla
ÖzelliklerFiyatlandırmaİş OrtaklığıBlogYardımHakkımızdaİletişim
BaşlaGiriş Yap
Bloga Dön
industry2026-05-2412 dk okuma

Iptal ettigim rezervasyonu geri actim ayni masaya iki rezervasyon sessizce cakisti — state machine (PR #603 BBB F3)

Konya Meram Akyokus Caddesi 40-yas Etliekmek Konagi 14-yil 45-cover Konya etliekmek + Mevlevi tirit sahibi Bedri thMenu Platinum 22 ay masa rezervasyonu + bill request + siparis takibi. Cumartesi aksami 19:00 dugun sezonu yogun gece salon dolu 7 masa rezervasyon. Bedri telefon Mustafa Bey 6 kisi 20:00 masa 4 onayli. 20 dakika sonra on kapi 8 kisilik grup Selma rezervasyonu masa 4 20:00. Iki ayri rezervasyon ayni masaya ayni saate hic uyari uq_resv_active_slot yakalamali. Hizli manevra masa 7 yan masa 8-kisi indirim Selma kabul kriz yonetildi ama Bedri zihninde not nasil thMenu iki rezervasyon ayni masaya kabul etti. Forensik audit log timeline (1) 10:42 Selma pending masa 4 20:00 8 kisi; (2) 10:50 Selma confirmed; (3) 14:33 Hakan yanlis buton cancel reason accidental; (4) 14:35 Hakan revert_cancel confirmed; (5) 18:42 Mustafa pending masa 4 20:00 6 kisi; (6) 18:42 auto-confirm confirmed. Iki rezervasyon (masa_id=4 reserved_at=2026-05-23 20:00) confirmed uq_resv_active_slot engellemis olmali. 3 yanlis teori (1) index deploy olmadi PRAGMA index_list aktif migration 0063; (2) reserved_at string drift PR #555 RR F4 migration 0077 sonrasi yaratildi format konfirme degil; (3) auto-confirm race UNIQUE check auto-confirm da. Adli analiz apps/web-admin/src/app/api/reservations/[id]/route.ts UPDATE reservations SET status=? updated_at=? WHERE id=? hic state machine yok herhangi status herhangi status. Senaryo (1) 10:42 Selma pending no conflict; (2) 10:50 confirmed index live (masa_4 20:00 pending+confirmed); (3) 14:33 cancelled partial WHERE artik match etmez slot serbest; (4) 14:35 revert_cancel confirmed UPDATE state machine sinama yok o anda hic conflict henuz Mustafa yok; (5) 18:42 Mustafa pending UNIQUE check Bernard active index Muller pending INSERT 23505 UNIQUE violation ama error handler try catch swallow console.error return ok=true MUSTERI BASARILI gorur INSERT FAIL auto-confirm cron non-existent id confirmed denemesi nothing. Bedri Mustafa telefon zihinsel not masa 4 rezerve sistem yok. Gercek conflict ekrana yansimiyordu cunku iki confirmed row degil sadece Selma row + Bedri zihinsel not. State machine yokken cancelled->confirmed revert UNIQUE her revert aninda o-an-aktif rowlar ile gecmis intent unutuluyor. PR #603 batch BBB F3 kanonik fix explicit state machine LEGAL_TRANSITIONS={ pending: [confirmed,cancelled], confirmed: [completed,cancelled,no_show], cancelled: [], completed: [], no_show: [confirmed] }. Status degisim oncesi (a) current SELECT (b) target ∈ LEGAL_TRANSITIONS[current] (c) yoksa 422 illegal_transition current target allowed_next. Cancelled->confirmed REJECT Hakan yeni rezervasyon yan masa veya farkli saat. Bonus completed->pending blok email re-fire spam. UI revert buton kaldirildi cancelled Yeni rezervasyon olustur ayni bilgilerle. Production audit 90-gun cancelled->confirmed pattern 23 restaurant 47 vaka 4 gercek double-booking 43 conflict yok. 4 affected restaurant email + 1-ay Pro credit Bedri Etliekmek Konagi listede. Deploy 14-gun metric 13 cancelled->confirmed denemesi hepsi 422 reject UI yeni rezervasyon 0 silent double-booking. Elodie Strasbourg La Petite France Pont du Corbeau 41-yas Winstub La Cigogne 48-cover Alsatian winstub 16-yil paralel disclosure. Pattern PATCH status degisim LEGAL_TRANSITIONS lookup ZORUNLU free-form silent bypass partial UNIQUE su an aktif gecmis intent korunmuyor state machine intent korur. Sibling sweep dish-suggestions (PR #660 X F3) affiliate status (PR #660 X F4) ai-pricing-suggestions (PR #621 FFF F4) Stripe Connect flipPaymentStatus (PR #646 VI F1). Implementation LEGAL_TRANSITIONS const map + SELECT current + target check + 422 current/target/allowed_next + frontend UI disable illegal buttons + sibling sweep + test cancelled->confirmed reject completed->pending reject no_show->confirmed allow. PR #603 referans.

th

thMenu Ekibi

thmenu.com

Faydalı buldunuz mu? Paylaşın.