WP BASE Booking of Appointments, Services and Events


WP BASE Booking of Appointments, Services and Events is a complete appointment booking system 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/actions 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

As far as we know, there is no similar product in the market which can achieve the followings:
* Your clients can see their time slot selection, fill booking form, modify any selection and confirm booking on the same page. During this process, everything is in your client’s viewport.
* You can define tens of services in just seconds.
* Loads its css and javascript files only to the pages it is used. Do not pollute whole website.
* WP BASE can be used in post content, inserted to templates, sidebar widgets, even to popups.
* Unprecedented working hour setting procedure allows even very irregular work schedules possible.

General Features

  • Designed for maximum conversion rate: No steps, no page refreshs. Booking is as easy as 2 or 3 clicks
  • 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 dedection 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 1 day
  • Services can be custom sorted
  • For each service a description page with 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

  • 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

  • Tinymce helper with clean decription of attributes to insert and edit shortcodes on post editor
  • 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
  • More than 200 WordPress hooks for further customization (With addons more than 600)
  • 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, qtip2, dataTables
  • Can be used in popups (Popup Maker)
  • Compatible with major page builders and caching plugins
  • Admin sise graphical reports for bookings and revenue

With Advanced Features Premium Addon

  • Advanced Features Addon is a must use for professional websites. It extends functionality and display of your website in several ways.
  • Configurable confirmation and pending message popup with HTML support
  • Configurable Terms & Conditions popup on front end. If enabled, client cannot apply without confirming terms
  • Additional booking View “Flex View” which combines advantages of all other views into one
  • Possibility to define tablets as mobile device
  • Additional modular Shortcodes to customize functions and page layout easily, with more shortcode parameters
  • Selectable “Login required” option with ajax front-end login over Google, Facebook, Twitter and WordPress accounts
  • Post types for service and provider description pages can be selected
  • Bookings can be accepted even if start time has been elapsed
  • Expired appointments can be automatically deleted after a lead time
  • Admin side theme can be selected
  • Ability to use all shortcodes and/or any rich text in widgets with TinyMCE support
  • Sidebar widgets can be used for booking
  • Widgets can be excluded or included per page and per widget instance basis
  • GDPR compliance from WP 4.9.6 (Erase and export user data upon user request)

With Service Providers Premium Addon

  • Service Providers Addon allows assigning members of your website as staff who will provide your services.
  • Unlimited number of service providers can be defined
  • Providers can be assigned to one or more services
  • Providers can view their assignments in weekly, 4 weeks, monthly and 3 months calendars on their user page
  • Providers can be randomly assigned to an appointment if client does not have a preference
  • Providers can have additional prices
  • Providers can create/edit/delete own services, confirm/edit own bookings, manage own working hours and holidays if set so
  • First provider, then service can be picked on front end

With Extended Service Features & Categories Free Addon

  • Extended Service Features & Categories Addon allows several website settings to be applied per service. It also adds category support to services.
  • Before and after padding times, refundable deposit for each service can be defined
  • Services can be marked as internal, making them available only on admin side
  • In time slot creation, fixed time method can be used instead of service duration
  • Lead times and limits, i.e. minimum and maximum times to accept bookings, can be set per service
  • Categories for services can be defined. A service can be assigned to multiple categories

Other Premium and Free Addons

  • BuddyPress: Adds settings, list of bookings and calendars on BuddyPress front end user pages
  • Coupons: Applies discount over total payable amount upon submission of coupon code. Start and end dates, maximum usage, applicable services and/or providers can be selected.
  • Custom Pricing: Payment and down payment amounts can be formulated depending on any variable, for example to apply special price for happy hours
  • Credits: Adds a deposit system to your website that allows your clients to purchase credit points and then redeem it at a later point for your services.
  • Export & Import: Allows export and import of WP BASe settings and database tables to/from another site/subsite. Includes import option from Appointments by WPMU DEV.
  • Extras: Allows adding unlimited number of “extras” which can be used to offer selectable additional service options to the client. Extras can be applied to locations, services and service providers.
  • Event Bookings: Any post/page/custom post can be easily configured to be bookable as event
  • Front End Edit: Allows client edit their bookings, reschedule appointments, modify user fields on the front end. Admins or any user with selected capability, e.g. editors, can also edit others’ bookings using the same interface
  • Front End Booking Management: Allows admin or any user with selected capability add and edit all bookings and submitted user fields on the front end
  • Google Calendar: Integrates Google Calendar with WP BASE. Any new booking can be added to GCal as a new event and any new event entered in GCal can be added as a new booking in WP BASE. Updates in case of editing and cancellation are automatic.
  • Group Bookings: Allows client book for more than one person with a single booking. Client can provide a list of participants who can also receive emails
  • Locations: Services can be assigned to one or more location. This feature can also be used to group services and limit their availability depending on capacity, i.e. multiple doctors using a single examination room
  • Multi Language: Allows booking selections and variables to be displayed in preferred language of the visitor
  • Packages: Allows admin combine two or more services as jobs of a package and sell them as a single service. Time delays between service jobs can be set.
  • Payment Gateways: 2checkout, authorize.net AIM, Paymill, Paypal Standard, Paypal Express, Simplify by Mastercard, Stripe support available. Also Manual Payments free addon allows adding and editing records for offline (bank transfer, cheque, cash) payments
  • Recurring Appointments: Allows clients select recurring appointments on the front end with selectable recurring frequencies daily, every other day, weekly, biweekly and monthly.
  • Reminder & Follow-up emails: Sends automatic reminder emails to clients before appointment time and to clients whose bookings have negative balance and below a set amount
  • Seasonal Working Hours: Allows weekly “alternative” schedules to be defined and assigned to services and service providers, making it possible to create working hour settings changing every week within the year, e.g. for shift work
  • Shopping Cart: Allows client book multiple appointments with a single checkout. Minimum and maximum number of appointments per booking is selectable. Can be used to book on different pages and make a single checkout on any page.
  • SMS: Sends SMS messages as confirmation, pending, cancellation, completion and reminder using Twilio service. Different message templates for different groups (client, provider, admin) can be used.
  • Quotas: Different quotas (maximum number of future or completed bookings) can be set per service. Different quotas can be defined per week days, weekend days and holidays, per week and per month.
  • Test Bookings: Given number of partly or fully random test bookings can be created for test purposes.
  • Time Zone Selection: Automatically dedect client time zone to let them display available time slots in their own time zones. Also comes with a time zone selector which can be used to override automatic dedection. Emails can include times in client time zone. Service providers can configure their working hours in their time zone. Admin can view working hours of everyone in any time zone.
  • User Defined Fields: Allows admin add unlimited number of fields in the confirmation form. Text, textarea, option/select and checkbox fields are supported. User defined select/option functions can be added.
  • Variable Durations: Allows service durations to be variable based on date, time and/or provider. Also allows clients pick desired duration for configured services within set limits
  • Waiting List: Allows clients to apply for a waiting list when desired time slot is full. When there is an opening in the service, clients in the waiting list are informed by email.
  • Woocommerce: Integrates with WooCommerce and allows selling of services as Woocommerce products
  • WP BASE Developer Package: includes all current and future addons


  • 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.


October 23, 2018
We use WP Base for our condo web portal and it works very well for the booking of facilities. Its powerful and very flexible! I've not seen any other plugin that can match its powerful features
October 23, 2018
This plugin has everything that you can think of in a booking plugin. Integrations, flexible business options, payment gateways, even integration with woocommerce is there. The scheduling part of the bookings have thousands of possibilities. Very surprised that this is a free plugin. Kudos to the developer.
Read all 2 reviews

Contributors & Developers

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



V3.5.2.2 September 9, 2019

  • Fix: PHP error on Global Settings page

V3.5.2.1 September 7, 2019

  • Fix: Wrong download for WP BASE Dev: wordpress.org used instead of wp-base.com

V3.5.2 September 6, 2019

  • Fix: Next month button does not function

V3.5.1 September 4, 2019

  • Claimed vulnerability codes removed

V3.5.0 September 2, 2019

  • New: Admin Dashboard page
  • Fix: WP BASE shortcodes do not update with ajax when inserted on a template with do_shortcode function
  • Fix: Cliet and Provider default capabilities are not correctly set during installation
  • Fix: Confirmation message is not displayed after credits purchase (Only for Credits addon)
  • Tweak: Additional security for custom functions
  • Tweak: Confirmation title and text can be translated (Only for Credits and Multi Language addons)
  • Tweak: Product pages are added as selectable service description pages in WooCommerce integration (Only for WooCommerce addon)

V3.4.6 August 12, 2019

  • Fix: PHP missing variable notice in wh.php file due to the update in V3.4.5
  • Fix: “Separate Working Hour Schedule for every Location” setting is always executed as Yes (only with Locations addon)
  • Fix: Seasonal Working Hours was not working properly when location work hours are in effect (only with Locations and Seasonal Working Hours addon)
  • Fix: Some javascript functions are not working due to wrong pagenow global js parameter (only in Dev version)
  • Fix: When Shopping Cart is not active and an MA addon is active, confirmation form Cancel button click does not remove virtual cart items from DB (only with Packages, Recurring Appointments, Extras addons)
  • New: Holidays can be set separately for each location (only with Locations addon)

V3.4.5 August 4, 2019

  • Fix: PHP Warning message about jQuery datepicker local file when locale is set other than English
  • Tweak: wh.php refactored to support setting service/provider schedules per location
  • Change: Close/open feature used on a few postboxes has been removed

V3.4.4 July 13, 2019

  • New: Account page creation with [app_account] shortcode
  • Fix: Firefox bug which caches previously selected option value in select/option elements
  • Fix: In “Your Bookings” user’s page, next/previous buttons do not function
  • Fix: For a full day service, monthly calendar incorrectly shows some unavailable days free (but correctly prevents booking)
  • Fix: For new manual admin side bookings, prices are not “locked” but price and deposit fields are incorrectly set as readonly
  • Fix: Navigate away warning (browser notice while leaving page after an unsaved field entry) incorrectly fires after clicking submit button
  • Fix: Some RTL issues
  • Fix: “Ignore business representative working hours” setting is not properly taken into account
  • Change: When “Ignore business representative working hours” is set as Yes, holidays of the service is taken into account (previously Business Representative’s holidays were used)
  • Tweak: Minor styling changes on admin side and on monthly calendar and on confirmation form
  • Tweak: In random provider selection, unavailable ones can be omitted with WPB_CHECK_WORKER_AVAIL constant
  • Tweak: $_GET[‘app_timestamp’] which allows setting start date of a calendar now accepts human readable dates (previously only timestamp was accepted)

V3.4.3 May 7, 2019

  • Fix: When manually editing a pending, removed or completed booking in Admin bookings, email send checkbox is checked by default
  • Fix: When manually editing a removed booking in Admin bookings, send cancellation email check box is not selectable unless status is changed
  • Change: 86400’s are changed with DAY_IN_SECONDS constant
  • Change: Some click events in front-scripts.js changed with touchstart for better user experience
  • New: UDF delimiter can be set by a PHP constant other than the default value comma

V3.4.2 April 2, 2019

  • Fix: Admin bookings cannot be saved unless site language is English
  • Fix: No preference selection with Service Providers does not show all available slots
  • Change: After database reset, working hours of default worker is set to default values
  • New: Multi Language support for gateways

V3.4.1 March 16, 2019

  • New: With “Multitasking Business Rep.” setting, more than one service at a time slot can be served
  • Tweak: Added action hooks in gateways for Multi Language
  • Tweak: Payment gateway setting fields order
  • Tweak: Better handling of automatic timetable opening after service change
  • Fix: Minor help text correction
  • Fix: When no preference is selected, if all providers are on holiday (but not break nor busy), booking can be done

V3.4.0 March 8, 2019

  • New: Support for Credits addon
  • New: Working hour setting tables can be limited to reduce height of the setting tables
  • New: Daily schedules added. Also supports multiple providers side by side
  • Change: Additional styles are now loaded after stylesheets
  • Change: Minor style changes
  • Tweak: In monthly calendar, timetable for current day is now automatically opened on load
  • Tweak: IF EXISTS has been added to DROP TABLE query during uninstall
  • Tweak: In debug mode, WP BASE menu items are added to the front end toolbar
  • Tweak: Autocomplete off has been added to date picker input field
  • Fix: After resetting database tables completely, services cannot be added
  • Fix: If “Use Time Base in Time Slot Calculus” is set as yes, booking end time is not correct
  • Fix: Admin booking search function does not take non logged in clients into consideration
  • Fix: Admin pagination link styles omitted by WP5.0 core added
  • Fix: Admin booking filter for week selection finds bookings with one week shift when start of week is Monday
  • Fix: PHP notice for previously existed, non active widget
  • Fix: Random SP selection is not working as expected
  • Fix: If all SPs are busy with a certain service, preceeding slots are not reserved for another service
  • Fix: Login link not clickable when Advanced Features addon is not active
  • Fix: Login interface displayed twice

V3.3.0 January 15, 2019

  • Change: Monthly calendar revamped
  • Change: Show legend default value is set to No
  • Fix: Cannot add new booking from Schedules page
  • Fix: In monthly calendar, slots for today are not selectable

V3.2.3 January 2, 2019

  • Tweak: Minor changes in admin.css for Multi Language addon
  • Fix: PHP7.3 compatibility
  • Fix: TinyMCE warning in Gutenberg editor
  • Fix: color picker not working

V3.2.2 December 4, 2018

  • Tweak: Reduced number of queries in admin bookings page
  • Tweak: css change when hovering a free slot
  • Fix: Provider is still free although he has been booked in another service at the same slot
  • Fix: Default Settings are not restored after “Restore to default settings” unless email templates check box is checked
  • Fix: Slots are not correctly shown unavailable in legacy mode when service duration is longer than time base

V3.2.1.1 November 8, 2018

  • Fix: Admin “Add New” button tries to add event instead of service
  • Fix: When admin enters a manual booking without strict check, end time cannot be set

V3.2.1 November 7, 2018

  • New: WP 5.0 compatibility
  • New: Support for Event Bookings addon
  • Change: Confirmation form css
  • Change: Pointer tutorials have been retired
  • Fix: Javascript error for table view in mobile device

V3.2.0 October 16, 2018

  • New: Slider option instead of pulldown menu for service selection
  • Change: jQuery Mobile is no more used
  • Change: PHP 5.4 support dropped. WP BASE now requires PHP 5.5+
  • Tweak: Support for Front End End
  • Fix: Time selection issue in admin bookings in certain time formats
  • Fix: Error when a shortcode is inserted in Divi or OnePager block
  • Fix: Javascript error when connected with mobile device
  • Fix: Notices are not displayed in mobile devices

V3.1.0 September 11, 2018

  • Tweak: Overall code cleaning and refactoring
  • Change: Custom Functions is not using PHP eval function any more
  • Change: TableTools for DataTables has been removed as it was deprecated by their developers
  • Fix: qtip error while displaying description for service tooltip
  • Fix: WooCommerce compatibility class causes description text to be duplicated

3.0.1 August 3, 2018

  • jQuery Multiselect updated to V3
  • Added filter for modifying ajax tooltip
  • Bot trap added to the confirmation form
  • Improved admin booking record creation and opening speed
  • Significantly improved page load speed of custom texts
  • Admin booking record design improved
  • Code refactoring
  • Removed several themes to reduce size
  • Fix: Deposit calculation ignores decimals

3.0.0 July 6, 2018

  • Initial public release