What you’re building
A local marketplace for home services (plumbing, electrical, cleaning, handyman, landscaping, painting) where:
- Vendors list their services with package pricing, and their profile shows country, city and response time.
- Homeowners browse by area or post a job (“Need a plumber Saturday morning, kitchen sink leak”), and vendors send quotes.
- You earn commission on bookings + can charge listing fees for premium placement.
The home services market is geographic. Most queries are “[service] near me” or “[service] in [city]”. That structure plays to two strengths: long-tail SEO and request-mode (Upwork-style) bookings.
Why request mode dominates here
Browse-and-buy works for digital services. For home services, almost every job is custom:
- The plumber needs to know which fixture, which brand, how old, what’s leaking.
- The cleaner needs square footage + frequency + access details.
- The handyman needs the exact task list before quoting.
That’s the request-mode flow. Customer posts a brief, 2-5 vendors send quotes, customer picks one. The plugin’s buyer-requests system is built for this. Included in free. The request marketplace playbook goes deeper on the mechanics.
Be honest with yourself about one thing: this plugin runs the quote, the payment and the paper trail. It does not run the truck. The vendor still turns up at the house, and nothing in the plugin schedules or tracks that visit. The rest of this guide is about making that gap safe for customers.
The 30-minute setup
- Wizard. Pick the marketplace name (often city-specific: “BrooklynPro”, “MumbaiFixIt”). Currency. Commission rate (8-15% is typical for local services).
- Categories. List the trade categories you accept: Plumbing, Electrical, HVAC, Cleaning, Handyman, Landscaping, Painting, Pest Control, Appliance Repair, etc.
- Geographic labels. The plugin has no service-area field, so decide where area information lives. Categories can have subcategories, a service can carry up to five tags, and a vendor’s profile has country and city. For a real “Service Area” taxonomy that vendors pick in the listing wizard, you need custom code or a plugin like ACF, because the wizard only shows the built-in categories and tags. Postal codes, neighborhoods or cities all work as labels.
- A requirements form on every service. Each vendor builds it in the listing wizard. Plumbing brief: fixture type, age, symptoms, urgency. Cleaning brief: square footage, bedrooms, bathrooms, pets. Give vendors a starter set of questions per trade so the customer answers the right ones.
- Verification badge. Add a custom “Verified” badge for vendors who upload insurance + license. Show it on listings + profiles. Local trust is built on this. The plugin does not verify anyone for you, so the badge is something you build and you check by hand.
Setting up a trade listing
A vendor works through a six-step wizard: basic info, pricing, gallery, requirements, extras and FAQs, then review. For a trade business the useful parts are these.
- Packages. Up to three per service. Delivery time is picked from 1 to 30 days, and the package can include a checklist of what the visit covers.
- Extras. Priced add-ons such as “oven and windows” or “after-hours call-out”. Three per service on free, unlimited on Pro.
- Requirements. Five questions per service on free. Short text, long text, file upload (a photo of the leak) or dropdown.
- FAQs. Five on free: call-out area, parking, whether materials are included, what happens if the job runs over.
- Gallery. Four images and one video embed on free, which is enough for before-and-after shots.
Vendors can pause a listing or switch on vacation mode, which removes them from “available now” without deleting anything. The service wizard guide covers each step.
Pricing models that work
- Hourly rate for handyman / general services. The plugin has no hourly rate field, so sell hours as packages: “2 hours”, “4 hours”, “full day”, with an add-on for each extra hour. Vendor sets $50-$150/hr depending on trade + region.
- Per-visit / per-job flat for standard services. “Drain cleaning: $185 flat.” “Full house cleaning, 3-bed: $200.”
- Tiered packages for standard jobs. Basic (regular clean), Standard (deep clean), Premium (deep clean + oven and windows). Each is a one-off order; repeat visits are booked again.
The plugin supports the last two directly, and the first through its tier + add-on system. Vendors mix and match per category. Prices are fixed per package, so open-ended work should go through request mode, where the vendor quotes the specific job.
How a job runs from request to review
- The customer posts a request: title, description, category, a fixed budget or range, days needed, skills and attachments such as photos. Posting is free, and the request stays open 30 days by default. There is no address field, so the customer writes the area in the description.
- Approved vendors browse open requests by category and keyword. Each vendor can send one proposal with a cover note, a price, a delivery time in days and optional files. A proposal can be fixed price or a milestone plan.
- The customer compares proposals and accepts one. The others are declined and the customer goes to checkout.
- After payment the customer answers the vendor’s requirements form, and the order starts. A job agreed by phone can instead be raised as a manual order from your admin.
- The vendor does the work and submits a delivery with a note and photos. The customer accepts, asks for a revision or opens a dispute. With no reply the order completes after three days.
- Commission is taken, earnings are recorded and the customer can leave a review.
“Delivery” in the plugin means a submission with files and a message, with a deadline counted in days. It does not carry an appointment time.
Finding vendors by area
Customers have four ways in. The catalog searches titles and descriptions, with category pages, price and rating filters and sorting by newest, price, top rated or most popular. The vendors grid lists vendors by rating, newest or most orders, filtered by country and by “available now”. Customers can save services to favorites. And they can skip the catalog and post a request.
There is no radius search and no map. Area has to live in text or labels:
| Where | Works for | Limit |
|---|---|---|
| Subcategory per city | Big towns, a few trades | Grows fast with many cities |
| Service tags (five per service) | Neighborhoods a vendor covers | Free text, so spellings differ |
| Service description and FAQ | Call-out rules, travel fees | Searched as keywords only |
| Vendor profile country and city | One base location per vendor | Country is filterable, city is not |
| Request description | Where the job is | Vendors read it, nothing matches it |
SEO is the moat
Local home services lives or dies on local SEO. Two structural wins from this platform:
- One landing page per category × area. “Plumbers in Brooklyn”, “House cleaners in Austin TX 78704”. The plugin’s catalog pages can be filtered to surface this, but for ranking power you’ll want to generate static landing pages (Astro or a WP page generator) for each combo.
- Vendor profile pages as long-form content. Each profile has bio + service area + recent reviews. Google indexes these for “[vendor name] [city]” queries.
For your marketing site (this one), each /use-cases/ page targets a different angle. For the actual marketplace platform, the catalog + vendor profiles do the SEO work. Service pages also output product markup with price and rating, which helps search engines read them. Pair this with the Dokan comparison if your team is torn between a product-marketplace plugin and a services one.
Disputes and refunds in local services
Higher dispute rate than digital services. A failed plumbing job has consequences (water damage, second visit charges). Configure:
- Photo deliveries. Ask vendors to upload before/after photos with each delivery. Cuts disputes meaningfully.
- Clear escalation path. The plugin’s dispute system holds the order until admin (you) resolves. Build a triage SLA. Same-day response on disputes for service-based marketplaces.
- Optional insurance disclosure. Surface vendor insurance status on every listing. Some customers won’t book without it.
Beyond those, set vendor registration to “Requires Approval” so new tradespeople wait in a pending list. Switch on service moderation so each listing is read first. Members can report a service or a vendor from its page, and the reports reach one admin screen. When you resolve a dispute you pick a full refund, partial refund, in favor of the vendor, in favor of the customer, or a mutual agreement. The refund goes back through the original gateway and the vendor’s earnings are reversed together, so do not refund again by hand. The dispute guide walks through each stage.
Commission, payouts and Pro
Commission + listing fee hybrid
Local vendors are sensitive to per-transaction cuts (their margins are thin). Hybrid model:
- $49/month vendor subscription for unlimited listings + analytics + featured placement. No commission on these vendors.
- 0% subscription with 10% commission per booking. For low-volume vendors testing the platform.
The Pro module handles vendor subscriptions. Free runs the percentage commission model. In free the rate is a global figure from 0 to 50 percent, with a custom rate you can set per vendor. A Pro plan holds a price, a monthly or yearly period, a service limit, a featured limit and its own commission rate.
Paying vendors
Vendors build up earnings in a wallet. They request a withdrawal by bank transfer or PayPal, you approve it, pay it yourself and mark it completed. The payouts article compares the options. Set a clearance period if you want earnings held for a few days against refunds. Many local customers prefer to pay by bank transfer or cash, and the offline payment option handles that: the customer uploads proof, you approve it, and the order is marked paid and credited like a card payment.
When you’ll need Pro
- Stripe Connect or PayPal Payouts. Once you’re paying 100+ local vendors a month, manual withdrawal review is a job.
- WooCommerce. For local marketplaces in regions where Stripe + PayPal aren’t dominant. Razorpay for India is built into Pro, and Mollie for the EU comes through WooCommerce.
- Vendor subscriptions for the hybrid commission model above.
- White-label if you franchise the platform per city.
See pricing for the plans, or the feature list for the rest.
What it does not do
- No scheduling or booking engine. No time slots, no calendar, no dispatch and no reminders for a visit time.
- No location search. No radius, no map and no postal-code matching.
- No identity, licence or insurance checks. You do those by hand before you approve a vendor.
- No recurring jobs. A weekly clean cannot bill itself. Customers book again, or you raise the next order.
- No private requests. Open requests are visible to your approved vendors, and request attachments are visible to them too.
- No messaging inside a proposal. A customer can message a vendor from their profile or service page, but proposals carry no thread.
Other plugins on the same site
WP Sell Services is one of several separate, optional plugins from the same team. They run on one WordPress site and one login.
Its real connections are narrow: WooCommerce as a checkout rail on Pro, Stripe, PayPal and offline payment on free, Razorpay on Pro, Stripe Connect and PayPal Payouts for vendors, and cloud storage for files. The sister products sit beside it. Listora is a directory plugin, which suits a “find a pro near me” listing on the same site. BuddyNext is a community plugin for neighborhood groups. Jetonomy is a forum and Q&A plugin for home-repair questions. Eventonomy handles events, and WP Career Board is a job board for hiring staff. The themes BuddyX Pro and Reign style the site. We make no claim that any of them is wired into orders.
The trade is plain. A hosted marketplace is one bill and takes a cut. These are separate plugins you install, host and update yourself.
Your first 30 days
- Days 1 to 3. Run the wizard, create the pages, connect payment, and decide how areas are labeled.
- Days 4 to 7. Write the vendor rules: insurance, licence, response time and refund terms. Set registration to Requires Approval.
- Week 2. Recruit five vendors in one trade and one city. Check their papers, then approve them and help them build listings.
- Week 3. Post three realistic requests, answer them as vendors and run one through to a dispute.
- Week 4. Open to homeowners in that single city, and answer every dispute the same day.
- Day 30. Check response times and review scores, and then decide the next trade or city.
Try it
InstaWP demo. Spin up, set yourself as a plumber, post a customer request for “kitchen sink leak”, respond as the plumber. Whole cycle in 15 minutes. You’ll see if the request-mode workflow fits local services. The site owner guide covers the admin side.
Common questions
How do customers find vendors near them?
Service area taxonomy + WP search + a simple postal-code filter. The plugin doesn’t ship with a geo-filter. You wire that in via WP custom search or a plugin like SearchWP. Out of the box customers use categories, tags, the vendors grid with its country filter, or a request in which they state their area.
Can vendors set their own service radius?
Not as a radius. The plugin has no distance logic, so nothing enforces or hides by area. A vendor can write the areas they cover in a listing, tags or a custom service area taxonomy you add. A custom filter built on that taxonomy would hide listings that don’t tag the customer’s area.
What about scheduling?
The plugin handles order + messaging. It has no calendar or appointment slots. For appointment scheduling use a separate scheduling plugin or tool alongside it, and know that WP Sell Services does not connect to it, so a booking and an order stay as two records. You can ask for the preferred time in the requirements form.
Can I charge vendors a monthly fee to be listed?
Yes, with Pro. Vendor subscription plans bill vendors through Stripe Checkout by month or year, and can limit how many services and featured slots a vendor gets, or apply a different commission. On free there is no way to collect a listing fee inside the plugin, so you would invoice it yourself.
Can a customer rebook the same vendor?
Yes. Past orders stay in the customer dashboard, and the vendor profile and service page remain available to order from again. Repeat visits are new orders, as there is no recurring billing. A customer can also message the vendor from the profile, which suits a regular cleaner or handyman.