Contact Wizard – HVAC Lead Form

Contact Wizard – HVAC replaces your generic contact form with a five-step guided quote wizard tailored to HVAC and mechanical service businesses. Instead of receiving “my AC is broken” with no context, you get structured leads with service type, urgency level, system make/age, reported symptoms, unit locations, and access details – all before the first call. Drop the shortcode on any page — no page builder, no third-party form service, no monthly fee.

The 5-Step Wizard Form

Every step is its own screen. The visitor moves forward only — no scrolling a wall of fields.

  • Step 1 — Service & urgency: What type of service do you need? Checkbox group: AC repair, AC installation / replacement, Heating repair, Furnace / heater installation, Seasonal tune-up / maintenance, Duct cleaning, Thermostat / smart home upgrade, Indoor air quality / filtration (revealed by default), Mini-split / ductless system (revealed by default), Heat pump (revealed by default), Other / not sure. Selecting “Other” reveals a Please describe text field. How urgent is it? radio group: Emergency — system is completely down, Urgent — needs attention within 24 hours, This week, I’m flexible — planning ahead.
  • Step 2 — System details: What type of system do you have? Radio group: Central AC + gas furnace, Central AC + electric heat, Heat pump (heating & cooling), Mini-split / ductless, Window or portable unit, Boiler / radiant heat, Not sure. Approximate age of your system (select: Less than 5 years → Over 20 years, Not sure). What symptoms are you experiencing? Checkbox group: Not cooling / heating, Weak airflow, Strange noises, Bad smell / burning odor, Water or refrigerant leak, Turns on / off too frequently, Unusually high energy bills (revealed by default), Won’t turn on at all, Thermostat not responding, No symptoms — routine service. Property type radio group (revealed by default): Single-family home, Condo / apartment, Townhouse, Commercial / office, Other. Approximate square footage (select, revealed by default: Under 800 sq ft → Over 4,000 sq ft, Not sure).
  • Step 3 — Photos: See Photo Upload section below.
  • Step 4 — Logistics: How can we access the property? Radio group: Someone will be home, Lockbox / key provided, Need to coordinate a specific time. Where are the units located? Checkbox group: Attic, Basement, Closet / utility room, Outside (condenser), Rooftop, Crawl space, Not sure. Do you have an existing service / maintenance contract? Radio group (revealed by default): Yes / No.
  • Step 5 — Contact & scheduling: Full name (text, required); Email address (email, required); Phone number (tel); Service address (text); Preferred service date (date picker); Preferred time of day (select: Morning 8am–12pm, Afternoon 12pm–5pm, Evening 5pm–7pm, Flexible); Approximate budget (select: Under $200 → Over $3,000, Not sure yet — revealed by default); Additional notes (textarea); How did you hear about us? (select — revealed by default); Send me updates by text (checkbox — revealed by default); Privacy consent (checkbox, required).

Photo Upload

Step 3 includes a native file upload field. Visitors can attach up to 6 photos (JPG, JPEG, PNG, GIF, WebP, HEIC, HEIF — max 10 MB each). Files are stored in your WordPress uploads directory under hvac_leads/. The step note reads: “Photos of the unit, thermostat, error codes, or visible damage help us diagnose before arriving.” A Photo notes textarea lets the visitor annotate the images.

Lead Storage

Every completed submission creates an HVAC Lead custom post type entry in your WordPress admin. All form fields are saved as individual post meta keys under the mhvw_ prefix. Leads appear under HVAC Leads in the sidebar — browse, search, and review without leaving WP admin.

Email Notification

On successful submission, the plugin sends an admin notification email containing all submitted field values, including photo file paths. The recipient address is the site’s admin email by default and is configurable from the plugin settings screen.

Installation

  • Upload the plugin ZIP via Plugins → Add New → Upload Plugin
  • Activate the plugin
  • Drop [hvac_wizard] on any page or widget area
  • View incoming leads under HVAC Leads in your WordPress admin

Requirements

  • WordPress 6.0+
  • PHP 8.0+ (tested on 8.4)
  • No page builder required — pure shortcode

$29.99

Perpetual License

SSL Secure
Stripe
PayPal
Money-Back Guarantee
Subscription Hell
  • • Payment fails? App stops
  • • Need online activation
  • • Forced updates
  • • Data held hostage
M Media Way
  • • Buy once, own forever
  • • Works offline
  • • Optional updates
  • • You control your data

Simple Licensing. No Games.

We don't believe in dark patterns, forced subscriptions, or holding your data hostage. M Media software products use clear, upfront licensing with no hidden traps.

You buy the software. You run it. You control your systems.

Licenses are designed to work offline, survive reinstalls, and respect long-term use. Updates are optional, not mandatory. Your tools don't suddenly stop working because a payment failed or a server somewhere changed hands.

One-time purchase, lifetime access
No "cloud authentication" breaking your workflow
Upgrade when you want to, not when we force you
Software empowers its owner — not rent itself back
🤖
Support Bot
"Have you tried restarting your computer? Please check our knowledge base. Your ticket has been escalated. Estimated response: 5-7 business days."
❌ Corporate Script Theater
👨‍💻
Developer (M Media)
"Checked your logs. Line 247 in config.php — the timeout value needs to be increased. Here's the exact fix + why it happened. Pushed a patch in v2.1.3."
✓ Real Technical Support

Support From People Who Understand the Code

Ever contact support and immediately know you're talking to someone reading a script? Someone who's never actually used the product? Yeah, we hate that too.

M Media support means talking to developers who wrote the code, understand the edge cases, and have probably hit the same problem you're dealing with. No ticket escalation theatrics. No "have you tried restarting?" when your question is clearly technical.

Documentation written by people who got stuck first. Support from people who fixed it.

We don't outsource support to the lowest bidder or train AI on canned responses. When you ask a question, you get an answer from someone who can actually read the logs, check the source code, and explain what's happening under the hood.

Real troubleshooting, not corporate scripts
Documentation that assumes you're competent
Email support that doesn't auto-close tickets
Updates based on actual user feedback