Per-Flow Intake Branding And Legal Menu Design
Problem
The legal phone line needs to present as David Austin - Lawyer Intake across voice, SMS, /intake.html, and /companion.html. The intake page previously contained Space Channel-specific copy, which created brand drift for new verticals.
Design
The business pack is canonical. packs/legal_intake.pack.yaml owns the business name, welcome module, and top-level menu. Compilation writes that name to business_profile.business_name. SMS, companion state, and intake APIs project it as a shared brand object.
Legal Menu
- 0: profile setup and text follow-along
- 1: new legal intake
- 2: existing client or case update
- 3: appointments
- 4: forms or document upload
- 5: billing, retainer, or payment
- 6: office or urgent deadline
- Voice fallback: leave a message
Welcome Behavior
Unknown callers hear a first-call welcome and then the menu. Returning callers hear Welcome back, <name>, to David Austin - Lawyer Intake. If SMS consent is on file, the welcome gate texts the follow-along link and unlock code automatically.
Browser Surfaces
/intake.html applies the verified intake session/schema brand. /companion.html applies the companion state brand. The locked intake response remains only {"locked": true}.
Tests
Coverage locks the legal brand/menu/welcome compile shape, returning-caller suffix, intake API brand payload, static page hooks, and removal of hardcoded Space Channel intake copy.