The form is the handshake between marketing and the customer list. Every question maps to
exactly one field on the customer record (../08-client-list-and-crm/schema.md) —
that’s the right-hand column. Only add a question here if you also add the field there.
A sample filled-in submission is in data/sample-intake.json.
| Question on the form | Required | Lands on the record as | Why we ask |
|---|---|---|---|
| Full name | ✓ | name |
|
| ✓ | email |
||
| Phone | ✓ | phone |
so we can call them back (04) |
| Street address | ✓ | address.street |
|
| City / State / ZIP | ✓ | address.city/state/zip |
the ZIP picks their route (02) |
| “Roughly how many things are on your Wi-Fi?” | – | home_profile.devices_est |
sets expectations for the visit |
| “What’s your main worry?” (pick any) | – | home_profile.concerns[] |
e.g. kids’ safety, privacy, an elderly parent, the smart-home gear |
| “Who’s your internet provider?” | – | home_profile.isp |
|
| “How’d you hear about us?” | ✓ | source |
Google / a neighbor / an ad / a post |
| “A neighbor send you?” (name or address) | – | referred_by |
this is the referral flywheel (02) |
| Email opt-in box (starts un-checked) | – | consent (+ source + timestamp) |
never pre-check it |
| Best time for a visit | – | booking.requested |
Setmore handles the actual slot |
status = lead, a new id, timestamped.