Inquiry Form
The public Request Information flow at /inquiry/ is for families who
want to talk before committing. It asks about interest and never quotes a
price.
The steps
A short multi-page flow, each page saving as it goes:
- Contact (
contact.php) — parent name, email, phone, newsletter opt-in, SMS consent. The submit is protected by invisible reCAPTCHA (Enterprise, score-based; skipped entirely when no keys are configured). Passing it writes a row toincomplete_inquiries. - Address (
address.php) — mailing address (nullable by design; the form tolerates non-US addresses). Updates the same row and bumpslast_step_completedto 2. - Student (
student.php) — the student’s name, age, and whether they are a new or continuing student. Completing this step promotes the uncompleted row into a real lead (leadswithsource='inquiry', plus alead_studentsrow) and deletes theincomplete_inquiriesrow. - Details (
details.php) — which term they’re interested in (a free-text label from theinquiry_semester_optionssetting), instruments of interest, instruments the family owns, prior musical background, interest in the free theory program and current theory knowledge, how they heard about BCM, and any questions or comments. - Done (
done.php) — confirmation.
Drop-off capture
The two-table design exists so that a family who starts the form and walks
away is not lost. A row in incomplete_inquiries always means “this family
gave us contact info but never told us about a student.” Staff see these in
Admin > Leads > Uncompleted Forms, can add append-only notes while
chasing them, and when the family eventually finishes the form, those notes
are carried onto the resulting lead as a single note — the record of the chase
survives the promotion.
Emails
Finishing the form sends two emails, both rendered from admin-editable email templates:
inquiry_family_confirmation— to the family, echoing back what they told us and giving the office phone number.inquiry_staff_notification— to the address in theinquiry_notification_emailsetting, with the full submission and a direct link to open the lead in the portal.
What happens next
The lead sits in Admin > Leads with status new. An admin contacts the
family, records notes, and — once instrument, length, and schedule are agreed
— converts the lead into a real family account. Because an inquiry decides
nothing up front, the admin picks the actual instrument and lesson length at
convert time.
