WP BASE Booking of Appointments, Services and Events


WP BASE Booking of Appointments, Services and Events is a complete appointment booking e-commerce solution that allows business owners with or without service providers accept hourly or daily appointment reservations from front end and manage or manually create appointments from admin side.
It is easily extendable with addons and highly customizable with settings, shortcodes and filter/action hooks if required. Visit our demo website for examples and learn more at WP BASE.com.
WP BASE is also successor plugin for the now abandoned Appointments by WPMU DEV with import possibility using free Export/Import addon.


Unique Features

  • Your clients can pick service, provider, time slot, fill booking form, modify any selection and confirm booking on the same page. During the whole booking process, everything is in your client’s viewport.
  • Loads its css and javascript files only to the pages it is used. It does not pollute whole website.
  • WP BASE can be used in post content, inserted to templates, sidebar widgets and even to popups.
  • Unprecedented working hour setting procedure allows even irregular work schedules easy to set.
  • Extremely sound software and database design allows hundreds of locations, services, providers each having own complex schedules to be used without having significant effect on page load speed.
  • With optional premium and free addons, it can be used as a Multi Vendor Marketplace with GeoDirectory support, it can integrate with Woocommerce, Google Calendar, BuddyPress with BuddyBoss support, Easy Digital Downloads, Zoom and several other third party platforms.
  • With addons it can use PayPal, Stripe, authorize.net AIM as payment gateways, send SMS notifications with Twilio.
  • As far as we know, there is no similar product in the market which can achieve all the above.

General Features

  • Designed for maximum conversion rate: No steps, no page refreshs. Booking is as easy as 1 click
  • Uses ajax: Client stays on the same page even after changing service or date
  • Intuitive: On page load, automatically shows your current availability for your popular service. Client can further browse through other dates and services.
  • Responsive: Automatic adaption to different page and screen widths
  • Mobile device support: Automatic detection of mobile phone connection and switching to appropriate display
  • Easy Setup: With just one click and a single shortcode you can create a fully functional booking page and start accepting bookings immediately
  • Flexible: Several booking methods (weekly, monthly, in table view) and themes to select from
  • Multi site support: Automatic creation of database tables for existing and new subsites in Multi Site Installation
  • Scalable: Can be extended to thousands of services and providers. Many premium and free addons to choose from.


  • Unlimited number of services can be defined
  • Service durations can be set from 5 minutes to 30 days
  • Services can be custom sorted
  • For each service description and featured image can be defined to be displayed in tooltip
  • Services can be assigned to any unique member of the website
  • Services can have any capacity with or without assigned providers allowing more than one booking/client per slot

Working Hours

  • Working hours are configured using a unique, simple, intuitive graphical interface
  • Any combination of working hours for each week day up from 5 minutes intervals can be easily entered
  • Even irregular schedules can be set in just seconds
  • Services can have own working hours making them usable without service providers
  • No need to define break hours: If not picked as a working time, a slot is automatically assigned as a break time
  • Multiple working hour tables for services, service providers can be opened, displayed and saved at the same time
  • Copy/paste of working hours from one service to another or to several services

Booking on the Front End

  • Unlimited number of bookings
  • Lead and maximum booking time can be configured
  • Automatic adaptation of calendar intervals to service duration
  • Table view booking can be selected as number of free slots, days, weeks or months
  • Possibility to jump to a far date by direct date selection using datepicker
  • Selectable user fields: name, first name, last name, email, address, phone, city, postcode
  • A percentage or fixed amount of service price can be asked as down payment (prepayment) to confirm a booking automatically
  • Bookings can be automatically confirmed upon submisson, or left in pending status until manually confirmed
  • Redirection of client to any page or url after successful booking

Listing of Bookings on the Front End

  • Client can view own bookings, plus admin can view any other client’s or all bookings
  • Display according to status, start and end dates
  • Dynamic search, filtering and sorting of the booking list
  • Selectable and custom sortable columns
  • Different selectable columns for mobile devices to use screen efficiently
  • Cancellation of bookings by the client using confirmation email or button on the website with adjustable limit time

Booking and Editing on the Admin Side

  • Manual Booking by admin on behalf of a client, e.g. appointments accepted over phone or email
  • Manual booking can be selected to respect the same availability conditions as the front end
  • Fast manual booking for repeat customers by Rebook button with selecting first available time
  • Filtering of bookings by month, service and balance (negative/positive)
  • Search over booking ids, user names, emails, booking note and any of the client fields
  • Selecting and editing multiple bookings by a single or multiple admins
  • Bulk status change of selected bookings possible


  • Automatic email sending with separate custom templates for confirmation, pending, cancellation, completion states
  • Sending of test emails to check configuration
  • Multiple email addresses can be defined for multiple admins
  • Automatic and manual sending of notification emails for each appointment status
  • Possibility to use all booking and user variables in the templates
  • Possibility to use list of bookings shortcode in the email templates, i.e. inform user about their past, future or all bookings

Look and Feel

  • Configurable confirmation and pending message popup with HTML support
  • Configurable Terms & Conditions popup on front end. If enabled, client cannot apply without confirming terms
  • Booking in list/table view or weekly or monthly calendars, selectable within the shortcode and auto switching for mobile devices
  • Selection from 12 included jQuery UI standard themes to match your WordPress theme
  • Custom jQuery UI theme or css file can be created to override existing styles and saved against being overwritten by plugin updates

Help System

  • Inline settings help inside the plugin
  • Further documentation available at WP BASE.com


  • Automatic adaptation to time and date formats, start day of the week settings of WordPress
  • All front end messages and texts can be easily customized or translated on admin side without any additional tool
  • Ready for translation for other (admin side) texts
  • Support for RTL and calendars starting on Saturday, Sunday and Monday


  • Integrated Native Object Caching
  • Lazy Load function for fast page loading
  • Compatible to major caching plugins
  • Free from PHP sessions. No front end cookie writing (cookies are set with ajax). Thus graceful to server side caching
  • Scalable to virtually unlimited bookings, services and providers

Developer Friendly

  • Integrated Custom Functions tab which can be used to add own php codes without the need for modifying php files. Sandbox feature to contain compile errors
  • About 300 WordPress hooks for further customization (With addons more than 1200)
  • Automatic recognition of shortcodes in page templates
  • Functions to read/add/edit/delete bookings, services, providers
  • Debug mode to help locate errors

Other Features

  • Automatic removal of unconfirmed (pending) bookings after a preset time
  • Client can cancel own bookings using link in email, or their account, if allowed so
  • Client can confirm own booking using link in email, e.g. to verify their email address
  • Admin side schedules display bookings in 1 week, 4 weeks, 1 month and 3 month calendar view. Free slots are clickable to add a new booking
  • Clients can be automatically registered as WordPress users upon submission and notified about their registration
  • User page that displays user submitted values and booking list is automatically created for clients
  • Admin toolbar submenu to access plugin created pages
  • JavaScript and css files are only loaded on plugin related pages both on front end and admin side, to reduce conflicts
  • Use of popular, standard libraries like jQuery UI, dataTables
  • Can be used in popups (Popup Maker)
  • Compatible with major page builders and caching plugins
  • Admin side graphical reports for bookings and revenue

= With …


  • Monthly Calendar booking view with slider
  • Weekly Calendar booking view with slider
  • Book in Table view with slider
  • Front End List of Bookings
  • Theme Selector and Monthly Calendar widgets
  • Admin Bookings page with screen options revealed
  • Service settings
  • Working Hour settings showing copy/paste feature
  • Holiday settings with multiple days selection
  • Calendar and Form with several addons activated
  • Custom Functions feature to add own PHP codes
  • Custom Texts feature to localize front end messages and texts
  • email settings and template editor
  • Tutorial popup displaying a warning message
  • Shortcode Insert/edit Tool in page editor
  • Shortcode help page
  • Monthly Calendar booking view
  • Weekly Calendar booking view
  • Book in Table view
  • Admin Dashboard


How to start using it?

Either insert [app_book] shortcode to any WordPress post/page or use Quick Start function on plugin settings page.

Is WP BASE responsive?

Yes. It will automatically adapt to any screen size. Additionally you may set special views for mobile devices.

Is WP BASE multi site compatible?

Yes. WP BASE will run independently on each subsite of a WordPress network.

Does this plugin work with any theme?

Yes. WP BASE will work on any properly coded theme including page builders like Divi, WP Bakery, Elementor, etc. For a list of tested page builder plugins please see our Knowledge Base.

Does this plugin work with caching plugins?

Yes. It will work with all popular caching plugins, without disabling their caching capability. For a list of compatible plugins please see our Knowledge Base.

I need a booking system, but I don’t want to waste too much time to see if this plugin works for me. Can I make a quick test?

Yes, indeed. We are aware that time is money. Just follow Quick Start instructions. In a few minutes you can actually make a booking and decide if WP BASE is for you.

How many services and bookings can I have?

Unlimited. WP BASE is exceptionally scalable. It can be used for a single service, as well as thousands of services without significant impact on page speed.

How many calendars can I have?

Unlimited. WP BASE can create dynamic calendars that have service selection menu and update with service selection, and it can also create those with a fixed service. In both cases there is no limit.

Are there any considerations for uninstall?

If you installed WP BASE on a single site WordPress and you do not have any bookings, WP BASE will completely delete all its tables and settings during uninstall. If you have bookings or installed the plugin on a multi site, please see our Knowledge Base.

Is this Demo of a Pro version?

With unlimited services, unrestricted bookings, email sending feature, WP BASE Core is a fully functional booking system which is sufficient for most of individual booking needs. However, if your business requires more, we do have Premium (and also free) addons. WP BASE Core which you can download from wordpress.org, will always stay free.


May 11, 2023
After searching and trying for ages to find a booking plugin we were lucky to find WP BASE The free core gives you all the power to setup a comprehensive booking service.  All the others we have tested you will pay for most of these features. We use it for services, resort bookings, events and tours. For us, the only modules not included in the free version are: Take payments online. Although you can setup Direct Payments you can have more gateways when getting the WooCommerce addon (purchase). Our feeling is that the plugin needs more gateways options but is sure it will come with time. Service providers. A paid addon is available to setup service providers at a very affordable rate. The plugin was design with a well though logical flow and the moment you understand it, you can setup a booking system which will not break the bank. In most cases – for free! On top of it the support is super quick - only the time zone will delay a request sometimes for an hour or 3. Thanks Hakan – we are sure this booking plugin will grow as one of the most used in the world!
September 2, 2022
I've started testing WP BASE several days ago and even tho I'm an amateur and FREE package user I managed to set it up just the way I needed functionality and design wise. Hakan was extremely fast in support responses to my silly questions and provided me with solutions immediately.
August 20, 2022
This is the best booking plugin. It just works! It includes extensive features which shows the depth knowledge of booking requirements. I still find features I haven't implemented yet. Hakan provides prompt support and go extra miles to answer and implement your questions. I highly recommend this plugin. Saba
Read all 26 reviews

Contributors & Developers

“WP BASE Booking of Appointments, Services and Events” is open source software. The following people have contributed to this plugin.



V4.2.0 February 26, 2024
– New: List of Bookings can be printed
– Tweak: WP6.5 compatibility
– Fix: Flexslider conflicts with WooCommerce default theme Storefront
– Fix: When slider is active, category opt_group should not be on
– Changes and fixes related to premium addons:
– New: Credit history and Commissions list can be printed

V4.1.0 February 6, 2024

  • Change: On user profile settings, only vendors can set WP fields (name, email, first name, last name ), for the rest users these fields are readonly
  • Tweak: Better sync with WP fields in Vendors, Clients and user profile
  • Fix: Flexslider height can be excessive if slider image aspect ratio > 1
  • Fix: Flexslider does not load correctly in Astra theme
  • Changes and fixes related to premium addons:
  • New: “Provider Free” services in Multi Vendor
  • Tweak: Service lock: When vendor/provider is editing a service, record is locked and admin can know who is editing. He can then take over
  • Fix: BuddyPress group “Book Us” page always chooses services for Group 1
  • Fix: Not possible to use Jitsi and Agora at the same website
  • Fix: After vendors edit a service, they lose ownership
  • Fix: Preferred Language selection at profile is not reflected to displayed language
  • Fix: Services owned, but not provided by vendor cannot be displayed at the front end
  • Fix: When BuddyPress Groups/Locations connected, locations aren’t supposed to be selected by menu
  • Fix: Registration form cannot be submitted
  • Fix: Previously declined or suspended vendors should not apply to be vendor again

V4.0.1 January 12, 2024

  • Change: For daily services, if Limited Availability is enabled service working hours are no more needed
  • Fix: If a price is not entered as download price previously, EDD bookings become free downloads
  • Changes and fixes related to premium addons:
  • Tweak: Credit records can be individually deleted
  • Tweak: Note can be written when adding a credit record
  • Tweak: PERSON_TYPES placeholder can be used in email templates
  • Tweak: Multi Language support for person type labels and template
  • Change: For daily services, if Limited Availability is enabled service working hours are no more needed
  • Fix: When Group Bookings is used for a Package service, person types are not displayed on the front end

V4.0.0 December 23, 2023

  • New: Free addons are now delivered with WP BASE Core
  • New: “Limited Availability” addon
  • New: New setting “Show End Date Based on Venue Bookings” at Display Settings
  • Change: Front End Edit and Front End Booking Management are now free addons
  • Change: Sidebar widgets are no more loaded by default
  • Changes and fixes related to addons:
  • New: Person Types in Group Bookings
  • New: Ultimate Member and UsersWP support in Multi Vendor
  • New: “Flexible Price” feature for services in Multi Vendor Marketplace
  • New: Support for WooCommerce checkout page that is created with WooCommerce Blocks
  • Tweak: JWT settings in Online Meetings – Zoom have been completely removed
  • Fix: PHP8.1+ error at time slot selection from Multi Vendor Marketplace when “Vendor can Set Own Price” is set as fixed, and min/max prices are set as zero and vendor did not enter any price yet
  • Fix: In WP BASE DEV, repeated “FeaturesUtil::declare_compatibility … is not a known WordPress plugin” WooCommerce log messages
  • Fix: PHP error in BuddyPress when Group component is deactivated and WooCommerce cart is selected as payment method
  • Fix: Vendors cannot make booking in BuddyPress + WooCommerce configuration due to change in V3.9.7.2

V3.9.7 November 2, 2023

  • Tweak: WordPress V6.4 compatibility (z-index issue on checkboxes on admin side)
  • Changes and fixes related to addons:
  • Tweak: “Book Us” field of BuddyPress is now translatable
  • Tweak: Better handling of category display at confirmation form
  • Tweak: Category name is now displayed at admin booking record
  • Tweak: Better UI for Group Bookings, Limits, Quotas, Packages, Variable Durations, Recurring App. service settings
  • Fix: PHP error in category utility function get_services_by_category
  • Fix: Missing MEETING email placeholder for Jitsi Meet
  • Fix: When there are services with different durations in the cart, total duration is not displayed correctly
  • Fix: Internal services cannot be selected for services provided in admin Providers and Vendors

V3.9.6 October 9, 2023

  • Changes and fixes related to addons:
  • New: Completely new UI to handle service providers on admin side
  • Tweak: WooCommerce HPOS compatibility
  • Change: Account page is determined by post content now, instead of the_posts filter
  • Fix: Extras are not being saved
  • Fix: PHP8.2 deprecated notices in Multi Language
  • Fix: PHP warning message in Online Meetings
  • Fix: Pax availability is set according to Group Bookings even in services that are not enabled for Group Bookings
  • Fix: Group Bookings number of pax is not correctly evaluated when Memcached option of SG Optimizer plugin is enabled

V3.9.5 September 15, 2023

  • Fix: When 31st day of a month is start day of the week, in monthly calendar it can only be viewed in the next month
  • Fix: Wrong “client added” message on Clients page
  • Fix: GeoDirectory plugin prevents day selection in monthly calendar
  • Changes and fixes related to addons:
  • Tweak: WooCommerce addon refactored
  • Tweak: No need to set capability of user who can view BuddyPress group management tab contents
  • Tweak: Credits column is now displayed in clients table
  • Change: FEBM, BuddyPress and account page is no more using styles of WP admin, eliminating possible css conflict with the current theme
  • Change: Multi Language flag icons were moved from WP BASE core to multi-language directory
  • Fix: If vendor tries to submit a second GeoDirectory listing unrelated to bio page CPT, they receive “you are already vendor” message and submission denied
  • Fix: Bulk status change does not work in Manage Bookings at the front end
  • Fix: Completed bookings of previous year are accounted in current year’s weekly quota

V3.9.4 July 26, 2023

  • New: PHP8.2 compatibility (except SMS and PDF addons)
  • Fix: In Firefox, when editing clients, vendors, commissions, if there is an entry error during save, no error message is displayed and page silently refreshes instead
  • Changes and fixes related to addons:
  • New: Google Calendar event color can be set for each service
  • New: For BuddyPress groups, new settings for Book Us tab creation
  • New: BuddyPress notifications have links to related booking tabs
  • Tweak: Now notification email and SMS message is sent if a booking is paid with WC but saved as pending (not saved as paid)
  • Tweak: In Online Meetings – Zoom, manually entered meeting details can be received to WP BASE
  • Tweak: On front end manage bookings, vendors can only filter services that they have booking for
  • Change: Default value for $startat parameter of “services_owned_by/get_services_owned_by” methods has been changed to -1 (No page limit)
  • Fix: Child bookings of a package are not cancelled if parent booking is cancelled at List of Bookings
  • Fix: In Online Meetings, if a saved booking is edited, its Zoom meeting details are lost on WP side

V3.9.3 June 4, 2023

  • Changes and fixes related to addons:
  • New: Server-to-server Oauth authentication option for Online Meetings – Zoom
  • Change: Update URI at plugin headers for WP BASE Dev
  • Fix: PHP error in SMS addon while saving SMS reminder log

V3.9.2 May 16, 2023

  • New: New setting Theme Builder Compatibility
  • Change: Pages to Preload setting has retired as page caching is no more used
  • Tweak: Also Reset Custom Texts selection in Reset function
  • Fix: When shortcode is used on a template, using quotes in some of the custom texts prevents calendar functioning correctly
  • Fix: qTip viewport error due to incompability of qTip2 with jQuery V3
  • Changes and fixes related to addons:
  • New: Event authors can also receive commission
  • New BuddyPress email placeholders BP_CLIENT_BOOKINGS_URL, BP_BOOKINGS_URL, BP_BOOK_ME_URL
  • Tweak: Commissions are also displayed at the account page
  • Tweak: [app_book_event] shortcode now works on any template
  • Tweak: Event Bookings can be edited at the front end with GeoDirectory author actions
  • Fix: Event attendees cannot be printed
  • Fix: With “Separate Working Hour Schedule for every Location” enabled, provider working hours for the location is not taken into account to determine if it is working day

V3.9.1 March 17, 2023

  • Tweak: Better handling of behavior on non-single pages
  • Tweak: Consistent tooltip styling throughout admin
  • Tweak: jQuery Multiselect is integrated in common-scripts.js
  • Fix: Number of Bookings at Clients table show only value of the current week instead of all time
  • Fix: In debug mode, all assets may not be loaded
  • Fix: TinyMce shortcode insert/edit tool can now be used with Classic Editor plugin