Description
Schedopia is a complete, self-hosted appointment booking plugin for WordPress. A customer picks a service, chooses a staff member, and books an available time — and every booking is a real, dated record with a transactional double-booking guard, so two customers can never take the same slot. Built for salons, clinics, consultants, tutors, and any service business that runs on appointments.
Features
- Service catalog: services, categories, and per-staff pricing.
- Staff and customer management, with per-staff availability — weekly working hours, days off, buffer times, and capacity — that drives the bookable time slots.
- Real, dated appointments that carry their own date, time, and timezone, with a transactional double-booking guard.
- A customer-facing booking form — server-rendered and mobile-first — that you place with the
[schedopia_booking]shortcode; customers pick a service, choose a staff member, and book an available time in a few steps. - A Form Appearance customizer to brand the form: global colors, fonts, shape, and button style, plus per-step labels, with a live preview.
- A fast single-page admin: dashboard, bookings with filters and a detail drawer, a team calendar, the service catalog, scheduling, customers, staff, payments, an activity log, and a setup wizard.
- Manual / offline payment recording (cash, bank transfer, mark-as-paid).
- Email notifications: booking confirmation, cancellation, an operator new-booking alert, and booking reminders.
- A REST API for every entity, with schema-driven validation.
- An extension surface (lifecycle hooks, filters, and driver interfaces) so extensions build on the plugin without forking it.
The [schedopia_booking] shortcode works in any editor — including inside the Gutenberg shortcode block and the Elementor Shortcode widget.
Installation
- Upload the
schedopiafolder to the/wp-content/plugins/directory, or install the plugin through the Plugins screen in WordPress. - Activate the plugin through the Plugins screen.
- The plugin’s custom tables (
wp_schedopia_*) are created automatically on activation/upgrade. - Manage your catalog, staff, and bookings via the Schedopia admin screens and the REST API under
/wp-json/schedopia/v1/. - Add the booking form to your site: create or edit a page and insert the
[schedopia_booking]shortcode (it also works inside the Gutenberg shortcode block and the Elementor Shortcode widget).
FAQ
-
Does Schedopia use custom database tables or custom post types?
-
Custom tables (
wp_schedopia_*). Bookings, services, staff, customers, and payments are stored relationally rather than as posts. -
Can I take payments?
-
Schedopia records manual / offline payments — cash, bank transfer, and mark-as-paid.
-
How do extensions build on Schedopia?
-
Through documented lifecycle hooks, filters, and driver interfaces (
BookingSource,NotificationChannel,PaymentMethod). Every booking flows through one validated path, so an extension can never create a booking the core would reject. -
How do I add the booking form to a page?
-
Place the
[schedopia_booking]shortcode in any page or post. It also works inside the Gutenberg shortcode block and the Elementor Shortcode widget. Only one booking form can appear per page.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Schedopia” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Schedopia” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- First stable release: a complete appointments booking system — a service catalog with categories and per-staff pricing; staff with weekly working hours, days off, buffers, and capacity; real dated bookings with a transactional double-booking guard; manual / offline payment recording; email notifications (confirmation, cancellation, operator alert, reminders); a setup wizard; a single-page admin dashboard; and the customer-facing
[schedopia_booking]form with the Form Appearance customizer. - Single validated booking path (admin, form, and future sources) with serial/reference generation and a confirmation email on every booking.
- REST API for every entity with schema-driven validation; granular per-area capabilities and rate limiting on the public API.
- Self-hosted fonts and assets — loads nothing from third-party CDNs. Uninstall preserves business data unless you opt in to deletion.






