Schedule services by time
Let customers choose a service, staff member, date and available time. Manage availability, schedules and bookings from your WordPress dashboard.
Self-hosted booking for WordPress
Accept appointments and seated event bookings right from your website. No commission, no third-party platform, and your customer data stays on your server.
Works with
AI-powered booking
Connect your AI assistant to Schedopia via MCP and manage your WordPress booking system using natural language. Review bookings, check payments and analytics, update settings, and more, all with built-in permissions and audit logs.
Show today’s payment status, confirm booking #2481, and turn on reminder emails for upcoming appointments.
Done. Today shows 24 paid and 3 unpaid bookings. Booking #2481 is now confirmed, and reminder emails are enabled.
Activity logged
Use ChatGPT, Claude, Cursor, Codex, and other MCP-compatible clients.
Check revenue, booking trends, payment status, and daily activity.
Confirm, pending, reschedule, or update bookings without digging through menus.
Every action respects roles and is recorded for visibility and control.
Appointments + seated events
Schedopia handles two kinds of booking in one WordPress plugin. Take appointments for one-on-one sessions, classes, or services. Or run seated events where customers choose their seats on an interactive map, and set different ticket prices for different seats. You manage both from the same place.
Let customers choose a service, staff member, date and available time. Manage availability, schedules and bookings from your WordPress dashboard.
Create events with interactive seat maps, pricing tiers and assigned seating. Customers choose exactly where they want to sit while Schedopia keeps availability in sync.
Built for
Whether you book people, places, or both, Schedopia has you covered. Run staff appointments, cap class sizes, or let guests pick their seats at your next event. It all happens in one WordPress plugin.
Appointments
Every stylist gets their own schedule and services. Clients can add extras, like a beard trim or a blow-dry, when they book.
Appointments
Patients book with the right practitioner at a time that works. Your booking data stays on your own WordPress site.
Appointments
Offer discovery calls, consultations, or anything else you sell by the hour. Set your own lengths, prices, and hours.
Group sessions
Set a class size and let people grab a spot. When the class fills up, booking closes on its own.
Group sessions
Run dated sessions and classes. Cap bookings to the seats, stations, or spaces you actually have.
Seat selection
Draw your seat map, set your price tiers, and let guests pick their seats. No seat ever gets sold twice.
Admin dashboard
Open WordPress and see what’s happening today. The Schedopia dashboard brings your appointments, customers, payments, and daily activity together on one screen.
Bookings, revenue, completion rate, and new customers, plus today’s schedule.
Search or filter by status, staff member, or service.
Past bookings, dates, and activity in one record.
Record offline payments and mark bookings as paid.
Booking form
Match the Schedopia booking form to your brand from inside WordPress, with no CSS required. What you see in the preview is what your customers get.
Designed for phones first, and clear on any screen.
Change colors, fonts, corners, and buttons with live previews.
Add [schedopia_booking] anywhere. Use mode="event" for seat booking.
The complete toolkit
Appointments, events, seat reservations, payments, emails, calendars and developer tools: everything you need to manage bookings directly in WordPress.
Each with its own price, duration and description.
Extras with their own price and time. The slot grows to fit.
Weekly hours per person, or inherit the business hours.
Close the whole business on a date in one place.
Turnaround time held free around every appointment.
A class or a two-bay garage takes more than one at a time.
Start times every 15 or 30 minutes, not only on the hour.
Stop customers booking too close to the start.
A per-staff price, set through the REST API or Connect your AI.
Times show in your site’s timezone, with the zone named. Never converted.
Build the venue once. Each hall keeps its own layout.
Rows, aisles, bulk generation. Up to 1,500 seats a hall.
VIP, Standard, Balcony, each with a color and a price.
Price one seat differently, including a free one.
Left-to-right or right-to-left from the stage, with a prefix.
Open a second room when the first sells out.
Pick one from your media library.
A count, a low warning, a sold-out badge, a “from” price.
Rendered on the server so step one is right before any script.
Four colors, four radii, filled or outlined buttons.
Bundled with the plugin. Nothing from Google Fonts.
Reword the form’s labels, separately for appointments and events.
Your real form against your real catalog, desktop and mobile.
Block editor, Elementor, classic. Add mode="event" for seats.
Name, email, phone, a note. No account to create.
Confirm on the spot, or hold each booking as a request.
Bookings, revenue, completed and new customers against last period.
Blocks sized by real duration, colored by status.
Six status tabs, staff and service filters, search.
⌘K to find any booking, customer or service.
Appointments, seats or both, a business type, and two starter service packs.
Every booking a customer has made, in one record.
Record what was paid at the desk or by bank.
Paid, unpaid or refunded, worked out from the payments you record.
One ISO 4217 code. Revenue in an older currency is shown apart.
32 columns, the whole filtered set, not just the page.
Request received, confirmed, canceled, reminder, team alert.
From one to 168 hours ahead. Sent at most once.
A signed link in the email, with a cut-off you set.
Google, Outlook and .ics in every confirmation.
Subscribe your calendar app. Rotate the address any time.
Venue, hall and seat numbers for every event booking.
Emails render the same with images switched off.
claude.ai, ChatGPT, Claude Code, Cursor or Codex.
Off until you connect. Reads on, writes and deletes off until you allow them.
Never more access than the person who connected it.
What was asked and whether it was allowed, with details masked.
No secrets to copy. Cut off one client or all of them.
Three checks that tell you when a host is in the way.
Notifications
Schedopia sends booking emails for you. Customers get a confirmation as soon as they book and a reminder before their appointment, which helps cut no-shows. They can also cancel from the email, within the rules you set.
Your booking with Bloom Studio is confirmed
You’re all set
Hi Sara, your booking is confirmed. We look forward to seeing you.
Add to calendar
Need to change plans? Cancel this booking. Free to cancel online up to 24 hours before the start time.
Customers get an email when they book, when you confirm a request, and if the booking is canceled.
Customers are reminded before they’re due. Your team hears about every new booking.
A secure link in the email lets customers cancel. You decide how late they can do it.
One-click buttons for Google, Outlook, and Apple Calendar, plus a read-only feed to subscribe to.
Why Schedopia
Schedopia is a WordPress booking plugin that runs on your own site. Your bookings and customer data stay in your WordPress database, and no hosted platform sits in the middle taking a fee on every sale.
0%commission on every booking
Schedopia doesn’t charge per booking or take a commission on seats. What your customers pay goes to you.
Bookings and customer records are saved in your own WordPress database, not locked inside someone else’s platform.
The core booking system runs entirely on your WordPress site. There’s no separate hosted service to sign up for or rely on.
Schedopia checks availability in the database at the moment someone books. A slot never takes more bookings than its capacity, and a seat is never sold twice.
Deleting the plugin leaves your bookings, customers and payments in your database.
Schedopia is GPLv2-licensed software from ThinkMatic, a team that has been building products for the web for more than 12 years.
How it works
There's no account to create and no outside service to connect. Install Schedopia, set up what you want to book, and start taking reservations on your own site. A simple appointment setup is quick. A venue with a detailed seat map takes a little longer.
Step 01
Search for Schedopia in your WordPress dashboard under Plugins, then install and activate it like any other plugin.
Get it free from WordPress.org
Step 02
Choose appointments, seated events, or both. For appointments, add your services and staff hours. For events, create a venue and draw its seat map.
Add your services, staff, or seats
Step 03
Place the booking form on any page and publish it. From then on, customers can book appointments or pick their seats.
Add the booking form to a page
Testimonial
Schedopia is growing with feedback from the people using it to solve real booking problems.
This plugin is truly promising and has great potential for theatre booking management. The support is outstanding, and the development team is incredibly responsive, professional, and open to user feedback. In such a limited landscape of plugins specifically designed for theatre bookings, Schedopia deserves a great deal of attention. It has all the right ingredients to become a major success, and I am very excited to see how it evolves.
Pricing
Schedopia is free on WordPress.org and includes everything you need to start accepting bookings. Schedopia Pro is ready and launching soon, with advanced tools for teams that need greater control, more flexibility, and room to grow.
$0forever
Take bookings on your WordPress site and keep every dollar. There are no per-booking fees, no commission on seats, and no cap on how busy you get.
More power when you need it.
Schedopia Pro is ready and launching soon, with additional tools for teams that need more control, flexibility, and advanced booking workflows.
FAQ
Quick answers to the questions we get asked mostly about Schedopia.
Yes. Schedopia is a complete, self-hosted booking plugin for appointments and event seat reservations, released under the GPLv2. There are no per-booking fees and no seat commissions.
Not yet. Schedopia records manual and offline payments: cash, bank transfer, and mark-as-paid. The booking form uses a pay-on-arrival flow, which keeps friction low. Online card payments are planned for Schedopia Pro.
Yes. The Services, Events, Categories, Staff and Venues lists come as Gutenberg blocks and Elementor widgets, as well as shortcodes. The booking form itself goes in with the [schedopia_booking] shortcode, which works in any editor. One booking form can appear per page.
Yes. The setup wizard asks whether you want appointments, events, or both. Use [schedopia_booking] for appointments and [schedopia_booking mode="event"] for seat bookings.
Yes. Schedopia re-checks every booking inside a database transaction at confirmation, not in the browser. A slot never takes more bookings than its capacity, and a seat is never sold twice, even on simultaneous submissions. The form only offers times inside working hours, and the transaction re-checks the staff member’s other bookings, buffers and capacity. Seat reservations are checked against the seats already taken for that event.
Not unless you ask it to. By default the plugin contacts no external service and loads nothing from third-party CDNs. The only optional integration is Google reCAPTCHA v3, which runs only when you enable it and add your own keys.
WordPress 6.5 or later and PHP 8.1 or later. Schedopia is tested up to WordPress 7.1.
It stays. Deleting the plugin leaves your bookings, customers and payments in your database.
Install Schedopia from WordPress.org, run the setup wizard and paste one shortcode. Free, self-hosted, no per-booking fees.