# Sales demo A→Z — law firm (Hayes & Chen)

**Dated 18 Sep 2026 (PT).** Fake four-lawyer Peninsula firm. Staging only. Never Fuller.

CoS walked the trade shops A→Z and logged a P0 gap: no law landing, book, webapp, or iPhone frame. This file is the test path so Barry can run law the same way as plumbing.

## What it is

Hayes & Chen — Redwood City, four lawyers, closed weekdays at 6. The night line takes **consult intake** (name, matter type, urgency, callback). It does **not** give legal advice.

Call this number only: **+1 (650) 476-2005**. Never +1 (650) 460-1036.

## Live paths

Hub table: https://apex.socialtokens.site/projects/ai-assistance/#demo-cycle

| Step | What to open | URL |
|---|---|---|
| 1 | Firm landing | https://apex.socialtokens.site/projects/ai-assistance/demo/law/ |
| 2 | Book a callback | https://apex.socialtokens.site/projects/ai-assistance/demo/law/book/ |
| 3 | Webapp frame | https://apex.socialtokens.site/projects/ai-assistance/webapp/law/ |
| 4 | iPhone-on-web | https://apex.socialtokens.site/projects/ai-assistance/iphone/law/ |
| 5 | Call | `tel:+16504762005` → +1 (650) 476-2005 |

Shop menu card: https://apex.socialtokens.site/projects/ai-assistance/demo/

## What to check

1. Landing looks like a small Peninsula firm (four names on the plate), not a generic booker.
2. Every Call button is +1 (650) 476-2005. Search the page for 460-1036 — warning text only, never a `tel:` link.
3. Book chat asks name, callback number, matter type, urgency, then a callback window.
4. Greeting says it cannot give legal advice.
5. After a callback window, you see **Callback set** — confirmation number, a recap headed **On the board tonight**, the owner-board **Tonight checklist** (**Text the caller** / **Collect retainer** / **Add to calendar**, each demo / coming), WhatsApp + Stripe stubs, and +1 (650) 476-2005. Tap one action — honest “not live” line and a lasting **Done (demo)** mark. After that first Done, a compact **Morning recap** strip counts tonight (e.g. Tonight 1/14 done · 13 still open), then an **Open leftovers** strip lists leftover names still open (demo). Then a **Call back** row for each leftover — Demo label, dials +1 (650) 476-2005 only. Tap Call back and that leftover Tonight row stamps **Called · just now**; Morning recap adds **Called N** when N is at least 1, and that leftover leaves Open leftovers. After Called, that leftover Call back row shows **Next · Mark Done (demo)** once. Mark that leftover Done and its Call back row, Called stamp, owner cue, Called count, and Open leftovers name drop. Morning recap then stamps **Cleared · just now** for that leftover, then **Recheck open · N left**. When leftovers remain past that midday check, an **Afternoon wrap** strip shows **Still open · N** with **Open first**, which jumps to the first leftover still open, and **Call next**, which dials that leftover on +1 (650) 476-2005. When N is at least 2, **Call 2nd** dials the second leftover still open on the same line. When N is at least 3, **Call 3rd** dials the third leftover still open on the same line. When N is at least 4, **Call 4th** dials the fourth leftover still open on the same line. When N is at least 5, **Call 5th** dials the fifth leftover still open on the same line. When N is at least 6, **Call 6th** dials the sixth leftover still open on the same line. When N is at least 7, **Call 7th** dials the seventh leftover still open on the same line. When N is at least 8, **Call 8th** dials the eighth leftover still open on the same line. When N is at least 9, **Call 9th** dials the ninth leftover still open on the same line. When N is at least 10, **Call 10th** dials the tenth leftover still open on the same line. When N is at least 11, **Call 11th** dials the eleventh leftover still open on the same line. When N is at least 12, **Call 12th** dials the twelfth leftover still open on the same line. When N is at least 13, **Call 13th** dials the thirteenth leftover still open on the same line. When N is at least 14, **Call 14th** dials the fourteenth leftover still open on the same line. When N is under 14 or the fourteenth leftover is gone, Call 14th is gone. When N is under 13 or the thirteenth leftover is gone, Call 13th is gone. When N is under 12 or the twelfth leftover is gone, Call 12th is gone. When N is under 11 or the eleventh leftover is gone, Call 11th is gone. When N is under 10 or the tenth leftover is gone, Call 10th is gone. When N is under 9 or the ninth leftover is gone, Call 9th is gone. When N is under 8 or the eighth leftover is gone, Call 8th is gone. When N is under 7 or the seventh leftover is gone, Call 7th is gone. When N is under 6 or the sixth leftover is gone, Call 6th is gone. When N is under 5 or the fifth leftover is gone, Call 5th is gone. When N is under 4 or the fourth leftover is gone, Call 4th is gone. When N is under 3 or the third leftover is gone, Call 3rd is gone. When N is under 2 or the second leftover is gone, Call 2nd is gone. When N is 0, Call next is gone. When N is 0, **Board clear · nice** shows once (~2s). Hide Open leftovers when none remain. Leave and reopen this firm’s card: the mark, recap, leftover Call back rows, Called stamp, owner cue, Open leftovers, Cleared stamp, Recheck cue, and Afternoon wrap stay this session. Nothing sends or charges.
6. Webapp and iPhone frames show that same card (`?v=law`).
7. The stubs are labeled demo / coming. Nothing emails. Nothing charges a card. Nothing writes a CRM.

Hub stub card (Level-1 · 18 Sep 2026 · evening beat): https://apex.socialtokens.site/projects/ai-assistance/#product-stubs

Phone walk: https://apex.socialtokens.site/projects/ai-assistance/docs/sales-demo-a-to-z.html

## Out of scope (separate tickets)

Real WhatsApp API send. Live Stripe Checkout / card charges. Client CRM database write. Email send. The **visible stubs** on the hub and confirmation card are in scope for the 12 Sep 2026 Level-1 beat — they must stay honest (demo / coming), not fake live billing.

## Source files

`website/projects/ai-assistance/demo/law/` · `webapp/law/` · `iphone/law/` · `demo/verticals.js` · `demo/engine.js` (optional urgency step) · hub `#demo-cycle` row.
