Contact Wizard – Housecleaning Lead Form

Contact Wizard – House Cleaning replaces your generic contact form with a six-step guided quote wizard tailored specifically to house cleaning and maid service businesses. Instead of receiving vague “I need a cleaning” messages, you get structured leads with home size, service type, frequency, add-ons, photos, and scheduling preferences all in one submission. Drop the shortcode on any page – no page builder, no third-party form service, no monthly fee.

The 6-Step Wizard Form

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

  • Step 1 – Type of cleaning: Checkbox group: Standard / recurring clean, Deep clean, Move-in / Move-out clean, Post-construction clean, Airbnb / short-term rental turnover, Office / commercial space, Something else. Selecting “Something else” reveals a textarea: Describe what you need.
  • Step 2 – Home details: Type of home (select: Single-family house, Apartment / condo, Townhome, Studio, Office / commercial space); Number of bedrooms (select: Studio, 1–6+); Full bathrooms (select: 1–5+); Half bathrooms (select: 0–3+, revealed by default); Approximate square footage (select: Under 500 sq ft → Over 4,000 sq ft, revealed by default).
  • Step 3 – Photos: See Photo Upload section below.
  • Step 4 – Frequency & add-ons: How often do you need cleaning? (select: One-time only, Weekly, Every two weeks, Monthly, Not sure yet); Add-on services checkbox group: Interior oven cleaning, Interior refrigerator cleaning, Interior window cleaning, Laundry (wash & fold), Dishes, Light organizing / decluttering, Interior cabinet wipe-down, Garage sweep-out; Product preferences (select: No preference, Eco-friendly / green, Fragrance-free, I’ll supply my own – revealed by default); Who provides supplies & equipment (select – revealed by default).
  • Step 5 – Logistics: Do you have pets? (select: No, Yes – dog(s), cat(s), both, other); selecting any “Yes” option reveals Any details about your pet(s)? (textarea); How will our team access the home? (select: I’ll be home, Lockbox / key code, Leave a key, Building concierge, To be arranged); Is the home currently occupied? (select – revealed by default); Any rooms or areas to skip? (textarea).
  • Step 6 – Contact & scheduling: Your Name (text, required); Email Address (email, required); Phone Number (tel); Home Address or City (text); Preferred first cleaning date (date picker); Preferred day(s) for service (checkboxes: Monday–Saturday); Preferred time of day (select: Morning 8am–12pm, Afternoon, Late afternoon, No preference); Approximate budget per visit (select: Under $100 → Over $300, Not sure – revealed by default); Anything else we should know? (textarea); How did you hear about us? (select – revealed by default).

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 cleaning_leads/ – no external storage, no CDN dependency. A conditional Anything you’d like us to notice in the photos? textarea lets the visitor annotate the images before submitting.

Lead Storage

Every completed submission creates a Cleaning Lead custom post type entry in your WordPress admin. All form fields are saved as individual post meta keys under the mhcw_ prefix. Leads appear under Cleaning 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 [housecleaning_wizard] on any page or widget area
  • View incoming leads under Cleaning 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
// real.developer.js
const approach = {
investors: false,
buzzwords: false,
actualUse: true,
problems: ['real', 'solved']
};
// Ship it.

Built by People Who Actually Use the Software

M Media software isn't venture-funded, trend-chasing, or built to look good in pitch decks. It's built by developers who run their own servers, ship their own products, and rely on these tools every day.

That means fewer abstractions, fewer dependencies, and fewer "coming soon" promises. Our software exists because we needed it to exist — to automate real work, solve real problems, and keep systems running without babysitting.

We build software the way it used to be built: practical, durable, and accountable. If a feature doesn't save time, reduce friction, or make something more reliable, it doesn't ship.

Every feature solves a problem we actually had
No investor timelines forcing half-baked releases
Updates add value, not just version numbers
Documentation written by people who got stuck first

This is software designed to stay installed — not be replaced next quarter.

🤖
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