Tested it during the Saturday rush (10–2) and filled 38 holds with a two-hour pickup window; ribeyes and chicken thighs stayed in rotation without overcutting. It cut wait times at the counter and curbed waste, but I’m debating a 90‑minute limit — what pickup window are you using?
, no-shows drive me nuts — we run 90 min only during the 10–2 crush, then flip back to your “two-hour pickup window” after, which kept ribeyes from vanishing while thighs stayed in rotation. One tweak: send a 60‑min ping and auto-expire at 90 unless they reply Y, so you can relist the cut fast. Did you see drop-offs in the last 30 min of the two-hour window among those 38 holds?
During “10–2” I cap ribeye holds at 1 per number and send a 60‑minute SMS ping; if they don’t confirm in 10 minutes, it auto-releases, which kept no‑shows under 5% and we still moved about 35–40 holds. If you test the 90‑minute, add a grace text before expiry so thighs don’t pile up — want my wording?
But , I’d run 90 min only on ribeyes during the 10–2 rush and leave thighs at 120; we fire a “last‑call” SMS at 75 min with a pay link and about 30% prepay, which kills most no‑shows. That tweak plus a standby list kept the counter sane without overcutting.
But i’ve had better luck tying rush-hour holds to a $5 refundable card preauth and sending a single “still picking up?” text halfway through the pickup window; confirmations jump and flakes drop without clogging the counter. If that feels heavy-handed, auto-shrink the window only when ribeye on-hand falls under about 30%; how many “no-shows” are you seeing now?