Capture, Normalize, and Match Enquiries
Preserve the original request, define fields, match existing records, and prevent unsafe duplicate handling.
What you will complete
An intake schema, source-of-truth map, stable IDs, duplicate policy, and missing-data path.
Make the operating decision
Define required, optional, and derived fields. Keep submitted name, contact route, service request, service location, timing statement, source, received time, and original message. Store normalized values beside rather than over the source. A business address, billing address, and service location may differ and should not be collapsed when routing depends on them.
Choose one source of truth for operational state and one for human relationship notes if the learner's stack requires a split. Record stable lead, event, and attempt IDs. Exact duplicate events should return existing state. The same person can have a distinct later request, so entity identity and enquiry identity remain separate.
Use strong identifiers where available and send uncertain matches to review. A shared phone, personal address, changed spelling, or same-name company should not trigger an irreversible merge. Missing fields remain unknown and create a clarification, review, or manual callback action.
Worked fictional example: Harbourlight Roofing
Harbourlight receives the same inspection request through the website twice. The second delivery points to the existing event and does not create another customer message. A later warranty question from the same person remains a distinct enquiry and routes to the account owner.
Harbourlight Roofing, its staff, customers, enquiries, service rules, and results are fictional. The course does not claim a live deployment, faster response, more bookings, or revenue improvement.
Complete workbook section 2
Use the evidence available for your own bounded job. Write unknown when the evidence is missing, and record the person or action that can resolve it.
- List source, normalized, derived, and human-decision fields.
- Choose systems of record for lead state, notes, and calendar.
- Define stable entity and event keys.
- Write exact, uncertain, and distinct-enquiry matching rules.
Critical gate before continuing
- The original message is retained.
- Unknown values never become false or negative.
- Uncertain matches require review.
- Repeated delivery cannot create repeated effects.
If a gate fails, repair the current section, narrow the scope, leave the route manual, or record a blocked or stop decision. Continuing is not the only successful learner action.
Common failure modes
- Expanding beyond an intake schema, source-of-truth map, stable ids, duplicate policy, and missing-data path. before the current artifact can be graded.
- Turning a missing value, unavailable source, or blocked integration into a confident conclusion.
- Treating a prompt instruction as proof that the effective tool or permission boundary works.
- Marking a manual, simulated, or untested route as live.
Check your application
1. How should normalization treat the original message?
Explained answer: Preserve it and store normalized fields beside it. The original provides context and evidence for corrections.
2. Two forms have the same person but different service requests. What is safest?
Explained answer: Preserve one entity with distinct enquiry events. Entity identity and business event identity solve different problems.
3. What should happen to an uncertain customer match?
Explained answer: Send it to review without an irreversible merge. Relationship mistakes can damage service, ownership, and communication.
Return to Build a Local-Service Lead Response and Booking System