The case for self-hosted booking: keep your data on your own site
Hosted booking services keep your customer list, charge per booking and can change terms. A self-hosted WordPress plugin like Schedopia removes all three risks.

Most small businesses that take bookings online rent the software. A monthly fee, sometimes a cut of each booking, and a login to a service that holds the calendar and the customer list. It works, until it doesn’t, and the ways it stops working are worth spelling out. The prices and terms quoted below were checked on September 24, 2026 and link to the vendors’ own pages; they will drift, which is rather the point.
Three risks you take with a hosted booking service
The customer list isn’t yours
It sits on someone else’s servers. Exporting it is usually possible and usually awkward. Moving to another tool means re-importing, re-verifying, and losing the history that made the list useful in the first place. When Booksy acquired Genbook in September 2021, every Genbook salon was “invited over” to a different platform. The invitation was not optional.
The bill grows with your success
Per-booking fees and seat commissions mean a good month costs more than a bad one. Eventbrite charges 3.7% plus $1.79 per paid ticket, and 2.9% per order on top for payment processing. Ticket Tailor’s pay-as-you-go plan is £0.60 per ticket sold. Appointment tools do it by cap instead: SimplyBook.me’s plans include 50, 100, 500 or 2,000 bookings a month, and a busy month pushes you up a tier. A theater that sells out pays the most on its best night, which is a strange thing to be charged for.
The terms can change
Prices go up. Features move to a higher tier. The product gets acquired and sunset. You find out by email, and the email has a deadline in it. This is not hypothetical: Calendly’s customer terms (section 5.2) allow a renewal price increase of CPI plus 3% each term unless they tell you otherwise, on top of per-seat pricing of $10 to $16 a month. Acuity’s plans run $16 to $49 a month billed annually, or $20 to $61 monthly, with a seven-day trial and taxes on top.
None of these is dramatic on its own. Together they add up to a business dependency you did not ask for.
What a self-hosted booking plugin means in practice
A self-hosted booking plugin runs inside your own WordPress site, so the bookings, the customer list and the schedule stay in your database rather than on a vendor’s servers. The admin lives under your own WordPress menu, next to Posts and Pages, and logs in with the account you already have.
For Schedopia specifically:
- Bookings, customers, services, staff, payments, venues, seats and events are stored in your database, in relational tables you can query and back up along with the rest of your site.
- There is no account with us, and the plugin never contacts our servers. It loads nothing from third-party CDNs. The only optional external call is Google reCAPTCHA, and only if you turn it on and supply your own keys.
- It is free and licensed under GPLv2. No per-booking fee, no seat commission, no usage limit. If we disappeared tomorrow, the plugin would keep taking bookings.
- Uninstalling keeps your data by default. You decide if and when to delete it.
What “in your database” looks like
Every booking, customer, service, staff member, venue, seat and event is a row in a wp_schedopia_* table, next to the tables WordPress already keeps for posts and users. That has three practical consequences. Your existing backup covers bookings automatically, because it already covers the database. Your host’s staging copy carries the booking history with it. And when you want the customer list, you export your bookings from the Bookings screen as a CSV, with each customer’s name, email and phone, or read it straight from the table with any tool that speaks SQL, with no support ticket and no export queue.
Payments follow the same rule. Schedopia records cash, bank transfer and mark-as-paid against each booking, so the money side of the record sits beside the booking itself. That is also the honest limitation of the current version: there is no online card checkout yet. If you must charge at booking time today, a hosted tool or a plugin with a payment gateway still wins on that one point.
“But hosted is easier”
It used to be. Hosted services won on setup time, and on the things that were hard to do inside WordPress: real-time availability, double-booking protection, decent emails, calendar sync.
Those are engineering problems, and they are solved problems. Schedopia checks availability against real staff hours and existing bookings, then checks again inside a database transaction when the customer confirms, so two people cannot take the same slot or the same seat. Confirmations, reminders, self-service cancellation and add-to-calendar buttons are built in. A read-only calendar feed puts your schedule in whatever calendar app you already open every morning. Setup is a wizard and one shortcode.
To be fair to hosted tools: if you don’t have a website and don’t want one, renting is still the sensible choice. But if you already run WordPress, the convenience gap has closed. What’s left is the ownership gap, and it points the other way.
Who this matters most for
Clinics and therapists, whose customer records are sensitive and who would rather not have a copy sitting with a vendor. Venues and studios, who sell seats in volume and feel per-ticket fees most sharply: at Eventbrite’s published rate, a 120-seat theater selling out at $25 a ticket pays roughly $215 in service fees for one night, before payment processing, and pays it again every night it sells out. And anyone who has been through a forced migration once and has no interest in doing it twice.
There is a quieter group too: agencies and freelancers who build sites for those businesses. A hosted booking account is one more login to hand over, one more subscription in a client’s name, and one more thing that breaks when the card on file expires. A plugin ships with the site, under the GPL, and the client owns the whole thing on day one.
Four questions to ask any booking tool
Before you commit to anything, hosted or not, ask these. Our answers for Schedopia follow each one.
Where does my customer data live, and can I export all of it, including history, in one step?
In your own WordPress database. Export it as a CSV, or read it straight from the tables.
What do I pay in a month where I do twice as much business?
The same as any other month, which is nothing.
What happens to my bookings if the company shuts down or is acquired?
They keep working. The plugin runs on your server, not ours.
What does the tool send to third parties without my say-so?
Nothing.
Every booking tool should be able to answer those four plainly. If one can’t, that tells you something too.
What you give up, honestly
Self-hosting is not free of obligations. You are responsible for keeping WordPress, PHP and the plugin updated, for backups, and for the hosting bill you already pay. If your site goes down, so does the booking form, where a hosted tool would have stayed up. And the current version records payments rather than taking them, so a business that must charge at booking time needs a gateway Schedopia does not yet offer. Those are real trade-offs. For most businesses already running WordPress, they are smaller than the ones in the first half of this post.
If you want to see how it works, install it from WordPress.org. If you want to argue with us about any of this, the contact form reaches the people who wrote it.


