A single MyListing listing usually represents one provider — one therapist, one studio, one barber. But what if your directory page is a venue with multiple practitioners, a clinic with several doctors, or a coworking space where each desk-owner takes their own appointments? You need multi-provider booking per listing — each provider with their own schedule, services, and dashboard, all attached to the same MyListing page.
This is the practical guide to wiring multi-provider booking on MyListing using MyBookaro Pro’s Staff workflows. You’ll end up with a single listing page that shows a “Book with…” dropdown of practitioners, each with their own availability calendar and notification email.
The mental model
Three layers, top to bottom:
- Listing — a MyListing entry. Holds shared info (address, photos, opening hours, the listing description) and is where visitors land. One listing = one venue / clinic / studio.
- Staff — individual bookable providers attached to the listing. Each has their own user account, availability rules, services, and notification email. One listing can have N staff.
- Service — what gets booked. Services can be listing-scoped (“Deep Tissue Massage” only at this listing) or staff-scoped (“Massage with Anna” only with that specific staff member).
MyListing’s default model assumes listing-owner is the provider. Pro’s Staff workflows extend that: the listing owner takes on a venue-admin role-in-the-workflow (managing staff and approving their availability) while keeping their existing WordPress user role; staff become the actual bookable providers under the standard MyBookaro Provider WordPress role.
Step 1 — Enable Staff workflows
In wp-admin under MyBookaro → Settings → Pro features, toggle “Multi-provider per listing” on. Pro is required (Lite ships single-provider per listing). You’ll see a new “Staff” entry in the wp-admin menu, and a “Staff” tab in the provider dashboard.
Step 2 — Create staff users
Each staff member needs a WP user account so they can log into the staff dashboard. Two paths:
- Listing owner invites them — from the listing’s provider dashboard, click “Add staff”, enter name and email. The new user gets a welcome email with a magic link to set their password.
- Admin pre-creates them — in wp-admin under Users → Add New with role “MyBookaro Provider”, then attach to a listing in MyBookaro → Staff.
Staff users see a stripped-down WP admin — only their bookings, their availability, their services. They can’t edit the listing itself; only the listing owner / venue admin can.
Step 3 — Attach staff to a listing
Open the listing in wp-admin. A new “Staff” metabox appears beside the regular MyListing fields:
- Search for an existing user and add
- Set their role on this listing — “Staff”, “Senior staff”, “Manager” (display labels only; permissions remain at WP role level)
- Optionally restrict which services they offer at this listing
One staff member can be attached to multiple listings — useful for a practitioner who consults at two clinics. Their availability is per-listing, so they can be Mon-Wed at clinic A and Thu-Fri at clinic B.
Step 4 — Configure per-staff availability
Each staff member logs into their provider dashboard and sets their own:
- Weekly availability — typically narrower than the listing’s opening hours (e.g., the clinic opens 9-5 but Dr. Smith only works Tue-Thu 10-3)
- Service-specific durations — Anna’s massages are 60 min, Ben’s are 90 min, both bookable at the same studio
- Auto-approval rules — Anna approves all bookings instantly, Ben requests-to-book for new customers
- Booking buffer — gap between bookings (e.g., 15 min for setup between massages)
Staff cannot exceed the listing’s opening hours — Anna can’t accept bookings at 11pm if the listing’s opening hours end at 7pm. The listing acts as a global ceiling; each staff defines their narrower availability inside that.
Step 5 — The visitor experience
On the listing’s frontend, the “Book now” button opens the modal as usual, but with one additional step:
- Choose staff — dropdown of practitioners with name + photo + role + a one-line bio
- Choose service — list filtered by the staff member’s offered services
- Pick date/time — calendar reflects that staff member’s combined availability + buffer
- Submit — the booking lands in the staff member’s inbox AND copies the listing’s venue admin
Visitors who want “any available staff” can pick that option — MyBookaro routes the booking to the staff member with the next-earliest matching slot.
Payments with split payouts (Pro + Stripe Connect)
If your model is “venue takes a cut, practitioner keeps the rest”, Pro pairs Staff workflows with Stripe Connect. Each staff member connects their own Stripe account; bookings paid through WooCommerce automatically split — say, 70% to the practitioner, 30% to the venue (the listing owner’s connected account or the platform admin account). MyBookaro records both transfers as ledger entries, viewable per-staff in the dashboard.
If you don’t need split payouts, regular Stripe (single-account) works — all bookings go to the platform admin account and you handle payouts to staff offline (PayPal, bank transfer, weekly settlement).
Calendar sync per staff member
Each staff member can connect their own Google Calendar — two-way sync, so external commitments (a doctor’s appointment, a personal meeting) block their MyBookaro availability automatically. Each staff member also gets their own private iCal feed URL they can subscribe to from Apple Calendar, Outlook, or other tools. There isn’t a unified “all-staff-at-this-listing” iCal feed today; the listing owner currently gets that unified view through the MyBookaro admin dashboard rather than via iCal.
FAQ
How many staff per listing are realistic?
Up to ~30 staff per listing performs well on default WP hosting. Beyond that, the per-staff availability grid takes longer to compute on the booking modal — tolerable but noticeable. Enterprise-scale deployments (50+ staff per listing) usually need a Redis object-cache or the deferred-resolution toggle described in the Generic Directory guide.
Can a single staff member have different rates per listing?
Yes — services are scoped per-listing. Anna can charge $80 at clinic A and $100 at clinic B for the same service. Set the rate in each listing’s Staff metabox.
What if a staff member leaves?
Remove them from the listing’s Staff metabox. Future booking slots disappear immediately. Existing booked appointments are preserved (so customers don’t see ghost cancellations) but can be re-assigned to another staff member from the listing’s venue admin dashboard.
Can the booking modal show staff in a custom order?
Yes. By default staff sort alphabetically. The listing owner can drag-reorder them in the listing’s Staff metabox — useful for putting senior practitioners or those-with-availability-this-week at the top.
What roles + capabilities are involved?
MyBookaro ships two custom WordPress roles: bookaro_provider (assigned to staff members; grants access to the provider dashboard) and bookaro_customer (assigned to booking customers). Listing owners normally keep their existing WordPress role (Editor, Author, or whatever your MyListing setup uses) and pick up the venue-admin workflow permissions through the listing-ownership relationship, not through a MyBookaro-specific role. Multi-listing admin coverage is handled by the standard WordPress Administrator role plus listing ownership. Full capability mapping is in MyBookaro → Docs → Capabilities & roles.
Try it on a staging copy
Multi-provider per listing is a Pro feature. Install MyBookaro Lite first to verify the base MyListing integration works on your site, then upgrade to Pro and toggle Staff workflows. The migration from Lite to Pro preserves all existing bookings, providers, and availability — only the “multi-staff per listing” capability is added on top.