MarcoPlot Booking Service

MarcoPlot Booking Service

Details
View on WordPress

MarcoPlot Booking Service is for personal services, where customers book a person’s time: hair and nail salons, massage and physical therapy, spas and skin care, barbers, personal trainers, tattoo studios, pet grooming, tutoring, coaching and consultations. Appointments can be at your shop or online.

Requires MySQL 5.7 or MariaDB 10.3 or newer.

Customers pick a service, a staff member or anyone available, a date and a start time, then pay with Stripe or PayPal, or pay at the shop. You see your team’s day on one schedule, one column per staff member, take bookings for customers, and refund to the card or PayPal account from the booking.

For customers

  • One booking page: service, staff member, date, time, details, payment. Add it with a block or the [mpservice_booking] shortcode.
  • Customers can choose a staff member or No preference. With No preference, the booking goes to the qualified staff member with the least booked time that day.
  • Start times every 15, 30 or 60 minutes, on the clock.
  • Only times that really fit are shown: each staff member’s working hours, days off, buffer time after a service, notice needed and how far ahead customers can book.
  • Online appointments show the meeting link and the time in the customer’s own time zone.
  • Customers can book for someone else and enter that person’s name.
  • Each customer gets a page for their booking: see it, add it to their calendar, or cancel it within your rules.
  • Booking terms the customer agrees to before booking, and a tip note you write yourself.
  • A country-code picker for the phone number, and an email check that catches domains that can’t receive mail and suggests fixes for common typos. A one-time code to the customer’s email before they can submit is optional, off by default.
  • Confirmation, reminder, change, cancellation and refund emails. Edit the subject, opening and closing of each, for example to ask customers to bring a form.

For you

  • Staff: no limit on the number. Each has working hours or follows the business hours, the services they can do, a meeting link for online appointments, and can be Active, Paused or Left.
  • Services with variants (each with its own duration and price), add-ons, buffer time, and a color on the schedule. A service can have a gap in the middle, such as hair color while it develops, and a shorter booking can fit in the gap.
  • Schedule by day (one column per staff member), week and month; a searchable list of bookings.
  • Days off and extra hours for one staff member or the whole shop, a day or part of a day at a time; closed dates for the shop.
  • Book for customers as staff, change the time, staff member, service, add-ons or price, cancel, mark arrivals and no-shows, and record tips.
  • Payments by Stripe or PayPal: nothing online, a deposit set on each service, or full payment. Refund rules for deposits and full payments, set by you. Refunds due appear at the top of the Bookings page, where you refund or decline them.
  • Currency and sales tax: pick from 20 currencies, including ones with no decimal places like the Japanese yen. Add one sales tax rate and name; it shows separately on Stripe receipts and in the PayPal order.
  • Analytics for sales, tips and how full your team’s hours are, by day, week, month or any dates.
  • A private calendar link for your bookings, to subscribe to in Google Calendar, Apple Calendar or Outlook on your phone.
  • Customers with total spent, tags and no-shows, and their booking history; email a customer from their page; import customers from a CSV file. Personal data export and erasure through the WordPress tools.
  • Customer tags: Regular after 5 completed bookings across your MarcoPlot plugins, VIP by hand, and Flagged automatically at a second no-show or by hand.
  • Notification addresses for new bookings and cancellations, and a notice to send to customers with upcoming bookings.
  • A setup wizard with a starting point for each kind of business, and a Diagnostics page that checks scheduled tasks, time zone, tables and payments and fixes what it can.

Pro

MarcoPlot Booking Service Pro adds rotating shifts, time off for a range of dates, Booking manager, Reception and Booking staff roles, emails and a calendar link for each staff member, business analysis by staff member, automatic refunds on cancellation, peak pricing, coupon codes, review invitations after a visit, and a layout, your logo, header photo, color and footer on customer emails.

External services

This plugin connects to these services only as described here.

Stripe

Used to take and refund payments online, only if you enter a Stripe secret key. When a customer pays, the plugin sends Stripe the amount, currency, a description of the booking (service, date and time), and for a deposit the amount still due at the appointment, the booking ID, the customer’s email and the address of the customer’s booking page on your site, where Stripe sends the customer back. It then opens Stripe Checkout for the customer. It also asks Stripe for the status of payments and refunds, and checks your key when you save it and each time you open the Diagnostics page while online payments are on. When you save it, and again from time to time, it also reads your Stripe account’s country and payment method settings (card, Apple Pay and Google Pay) to show the matching payment marks. If you set a sales tax rate, it also creates and uses a Stripe tax rate so the tax shows separately on the customer’s receipt, and when you change the rate it asks Stripe to deactivate the old one (tax_rates/{id}, active=false). When you cancel a booking that is waiting for payment, when a waiting booking expires and is released, when waiting payments are checked on schedule, when a booking cannot be saved, or when you clear the booking history in the setup wizard, it asks Stripe to close that booking’s payment page (checkout/sessions/{id}/expire). When you delete the plugin, it asks Stripe to close any payment pages still open. Stripe terms, privacy policy.

PayPal

Used to take and refund payments online, only if you enter PayPal API credentials and switch PayPal on. When a customer chooses PayPal, the plugin sends PayPal the amount and the tax in it, currency, a description of the booking (service, date and time), and for a deposit the amount still due at the appointment, the booking ID and the address of the customer’s booking page on your site, where PayPal sends the customer back. The customer then logs in and approves the payment at PayPal. It also asks PayPal for the status of payments and refunds, and checks your credentials when you save or test them and each time you open the Diagnostics page while PayPal is on. When you delete the plugin, it asks PayPal for the status of any payment still waiting. PayPal terms, privacy policy.

MarcoPlot feedback

Only when you click Send on the Feedback page, the plugin sends marcoplot.com the topic and message you wrote, your reply address if you gave one, which MarcoPlot plugin it came from, the versions of this plugin, its Pro add-on, WordPress and PHP, and the site language. Nothing is sent otherwise. Terms, privacy policy.

Email address check

When a customer, or you, enter an email address, the plugin looks up the address’s domain (the part after the @) with a DNS lookup on your server’s own resolver, to catch mistyped addresses. No third-party service receives the address or the domain from the plugin.

Google Maps

If you enter the shop’s address, the customer’s booking page links to Google Maps for directions. Nothing is sent until the customer clicks the link. Terms, privacy policy.

The line icons (assets/icons.svg, the calendar icon on the customer page and the drop-down arrow in the stylesheets) come from Lucide (ISC license, see assets/icons-licence.txt).

The Visa, Mastercard, American Express, Discover, Apple Pay, Google Pay and PayPal badges shown with the payment buttons are trademarks of their respective owners and come from Shopify’s payment_icons (MIT license, see assets/pay-icons-licence.txt).
The MarcoPlot logo (assets/logo.svg and assets/menu-icon.svg) is the author’s own artwork, released with the plugin under the same license.

Details

Plugin code:
marcoplot-booking-service
Plugin version:
1.0.1
Author:
Outdated:
No
WP version:
6.5 or higher
PHP version:
8.1 or higher
Test up to WP version:
7.1.4
Total installations:
0
Last updated:
2026-11-06
Rating:
Times rated:
0
appointments
booking
salon
scheduling
spa