From a Lead's detail page, Convert to Customer opens
ConvertLeadDrawer
(apps/web/src/app/(authenticated)/sales/leads/[id]/convert-lead-drawer.tsx),
which creates (or links) a Customer, Property, and Opportunity from the
Lead's captured name, email, phone, and address, with a
CustomerRecordTypeSelect and optional QuoteTemplatePicker; the submit
button reads "Convert to Customer + Quote" when a starting quote is
selected. Conversion is an explicit action from both the staff app
(/api/leads/[id]/convert) and the Org API
(/api/v1/leads/[id]/convert), not an automatic status flip; see
Concepts: leads vs. opportunities.
TODO(owner, likely product): write the full guide covering what happens
to the Lead's own record after conversion (is it still queryable, does
LeadStatus change), whether a Lead can be converted more than once, and
how the optional starting Quote interacts with
Build and send a quote.
Confirm against apps/web/src/lib/validations/lead.ts's Zod schema
before writing anything definitive.