# mosaic_v2-session-cooldown

_Witnessed 2026-09-05T06:24:19.029Z — QRATE-UAT-1_

_The promise: once a waiter closes a table, a diner who re-scans within five minutes is sent to ScanQR rather than back into the dead session - and once those five minutes are up, a fresh scan is let back in. I close the table by SWIPING it closed as the waiter, and I wait the five minutes on the clock. The canary does both by API; I have no API credential and a diner has no API either._

_I place no order, so nothing is left on this table but a guest session, and the close clears that._

> **Every table on Daniel's board:** 2: "Table 2 Kiba(12m) Leia Organa(14m)" · 7: "Table 7 No guests" · 10: "Table 10 Obi-Wan Kenobi(75m)"

### 01 · WAITER

**I expected:** Before anything: find a table that is actually free

**I saw:** Taking table 7, which reads "Table 7 No guests".

### 02 · PATRON

**I expected:** A diner scans the table and gets a live session

**I saw:** Session f735de98… is live and 32 dishes are on screen.

> **No settling needed:** the Bill tab already reads "Swipe to Close Table" (the diner is seated but has ordered nothing), so I place no order at all.

### 03 · WAITER

**I expected:** Setup: settle the table so the close is even available

**I saw:** The close is already available - no order needed, none placed.

> **Board after the swipe:** Anant Server: daniel Active Orders Tables Wine ✅ All caught up! No active orders for your tables

> **Table 7 on the board after the close:** "Table 7 No guests"

### 04 · WAITER

**I expected:** Daniel closes that table

**I saw:** He swiped the table closed and the board now shows table 7 as "Table 7 No guests".

> **Gates I had to pass through first:** none

> **What the re-scanning diner sees:** QRate WITH GRATITUDE Hope you enjoyed your visit ◆ It was our pleasure building a memorable experience for you using QRate. We hope you discover many more wonderful restaurants through our platform. W

### 05 · PATRON

**I expected:** Inside the 5-minute window, a fresh scan is turned away

**I saw:** Turned away as promised: no menu, and the screen says "QRate WITH GRATITUDE Hope you enjoyed your visit ◆ It was our pleasure building a memorable experience for you using QRa".

> **With the dead session id in the URL:** QRate WITH GRATITUDE Hope you enjoyed your visit ◆ It was our pleasure building a memorable experience for you using QRate. We hope you discover many more wonderful restaurants through our platform. W

### 06 · PATRON

**I expected:** A reload still carrying the dead session id is turned away too

**I saw:** Also turned away: "QRate WITH GRATITUDE Hope you enjoyed your visit ◆ It was our pleasure building a memorable experience for you using QRa".

> **Waiting 303s on the wall clock** for the cooldown to expire. The canary skips this with a backdate API call; a diner cannot.

> **Gates on the way back in:** welcome card

> **After the window:** 32 dishes · session edafede7… · Bud Light Michelob Ultra Drinks Starters Mains Desserts LASSI 4 BEER (BOTTLE) 11 ANANT MOCKTAILS 7 BEER (DRAFT) 4 SODA 6 Lassi 4 dishes Lassi - Mango Yogurt smo

### 07 · PATRON

**I expected:** After the 5 minutes are up, a fresh scan is let back in

**I saw:** Let back in with a NEW session edafede7… (the closed one was f735de98…) and 32 dishes on screen.

> **Left behind:** table 7 was closed by the waiter as part of the walk. No order was placed at any point, so no bill and no payment is outstanding.

---

**Verdict:** HONEST_GREEN

**Why it ended here:** All three branches held on the deployed dev patron and waiter apps: turned away on a fresh scan inside the window, turned away again on the dead session id, and let back in with a new session once the 5 minutes had passed.
