Whether you want to book an appointment with a dentist, a hair dresser, rent out a room or you simply want to run a transport service, Calendarista™ can accomplish this through it’s various settings and booking calendar modes that offer a multitude of options to fit most individual requirements!

It sports 10 booking modes out of the box, 3 payment gateways and if that is not enough, it also supports Woocommerce, a custom form builder, flexible optional extras, google maps to setup departure and destination and calculate route distance and cost, a backend calendar to view your appointments, just to name a few of the features.

It’s time to fall back in love with booking!

More information is available on our dedicated website:


  • Avoid overbooking.
  • Optimized for mobile.
  • A simple prominent system that stands out and encourages people to book.
  • Effortless and rapid booking system with as few steps as possible.
  • Booking enabled directly on your website. No third party website involved.
  • Payments enabled through PayPal, Stripe and 2checkout, pay locally on arrival or free bookings.
  • Payments through WooCommerce, easy setup!
  • Customize any piece of string displayed to customer directly from the plugins back-end.
  • Translation ready, either manually through PoEdit or via WPML and Polylang.
  • English, Italian and German language file included.
  • Customize the data capture fields in a way that suits your business via Custom form fields.
  • Email notifications so that the customer knows their booking is secure instantaneously.
  • Unlimited Categorized extras to add elements that carry extra cost and can be in limited quantity.
  • Define departure and destination dropdown fields with predefined locations and cost.
  • Calculate price by travel distance.


  1. Bookings with a single start date.
  2. Bookings with both a start date and start time (optionally enable selecting multiple time slots).
  3. Bookings with both a start date and start time with padding.
  4. Bookings with a start date and time range.
  5. Bookings a date range.
  6. Booking a date and time range.
  7. Booking a date range with partial day charge (Half day booking).
  8. Bookings a round trip.
  9. Bookings a round trip (with time).
  10. Booking one or more packages.


  • Charge only an upfront deposit(percentage or fixed fee). Pay reminder upon arrival..
  • Booking can have an obligatory minimum and maximum days selection.
  • Restrict from booking too soon or too late in the future with min/max notice.
  • Choose your check-in and check-out days of the week.
  • Multiple services can be grouped in a dropdown list.
  • A single service can have one or more availabilities. Multiple availables will be listed in a dropdown list.


  • Each availability can include an image.
  • An availability can contain an area displayed on a map in the front-end.
  • Calendar legend, set custom colors for available days, unavailable days and selected days.
  • Style by choosing from a predefined color list to allow a more natural integration with your website.
  • Emails send out by plugin include: New booking received, Booking received successfully, Booking confirmation, Booking cancelled, Booking reminder, Booking payment received, Discount coupon awarded, Payment required and Booking has changed.
  • Booking cancel link sent via email.
  • An availability can contain an area on map displayed in the front-end.
  • Set up Email reminders.


  • Easily add staff members to existing availabilities.
  • View sales, request payment or confirm payment.
  • View appointments in your back-end calendar.


  • Edit appointments, cancel appointment or confirm appointment.
  • Set up holidays and take time off, where you can make any date or time slot unavailable for booking.
  • Import and export iCAL feeds, making your business always up to date and avoid overbooking.
  • Departure and destination input fields with google maps autocomplete support.
  • Booking with both departure and destination input fields.
  • Booking with single departure input field only.
  • Booking with both departure and destination dropdown fields.
  • Booking with single departure dropdown field.
  • Set waypoints between departure and destination.
  • Enable direction on a live google map within your site (no redirect).
  • Enable options such as avoid highway, avoid tolls and show traffic.
  • Select departure and destination directly on google map using right click context menu.

= Changelog =

= 3.2 =
  • Fixed: typo causing failure on environments with strict error_reporting
= 3.1 =
  • Fixed: coupon validation failed when using a coupon with a minimum order amount restriction.
  • Fixed: regular coupon did not expire after single use.
  • Fixed: coupon discount wasn’t displayed when viewing booked appointments in the backend.
  • Added: now you can set a custom invoice prefix from the settings page
= 3.0 =
  • Fixed: Regression bug. When trying to edit an appointment from the appointments page, nothing happened.
  • Added: Availability name can now be inserted in frontend summary and email notifications.
= 2.9 =
  • Fixed: when login or registration is required, plugin choked and wouldnt go past the details step.
  • Fixed: when logging in instead of registering, plugin choked and wouldnt go past the details step.
= 2.8 =
  • Fixed: woocommerce was still failing on some systems, reworked code to cope.
= 2.7 =
  • Fixed: Regression bug (confirming, cancelling and deleting appointment in backend wasn’t working).
  • Fixed: Regression bug (woocommerce enabled booking didn’t get past the details step, when making a booking).
= 2.6 =
  • Improved: General overall speed and faster ajax execution times, more than 80% faster now.
  • Added: Export to CSV.
  • Added: Appointment cancel policy and improved the cancellation page.
  • Added: Custom form fields are now included in booking summary and back-end appointments view. Reset the style and save it again to make use of this change.
  • Fixed: Typo in booking reminder email.
  • Fixed: When cloning a service, the optionals didn’t get cloned.
  • Fixed: Changeover days didn’t show correct cost when booking was viewed from the backend appointment page.
  • Fixed: Changeover days cost was incorrect when using optionals with multiply value per day selected.
= 2.5 =
  • Fixed: Optional extras were not included in discounts and deposits.
  • Fixed: When the only payment operator was paypal, we still displayed address fields for credit card fraud protection (Paypal does not require this).
  • Fixed: Regression bug involving timeslots did not allow unlimited bookings if seats weren’t set.
  • Fixed: Regression bug involving timeslot paddings did not pad at all.
  • Fixed: Selecting a single payment operator with online & offline mode resulted with not being able to select an operator in the front-end.
= 2.4 =
  • Fixed: Regression bug in multi days with changeover mode. Booked dates remained available for booking.
  • Fixed: Timezone off by 1 hour when setting timezone in availability.
  • Fixed: Currency symbols showed html code in emails instead of symbol.
  • Fixed: Optional extras were missing line breaks in emails.
  • Added: You can delete synced bookings in the appointments page and new filter to toggle synced bookings.
  • Improved: Cancelled and synced bookings now are denoted in red and gray respectively in the appointments page.
  • Improved: Appointments are now clearer to see in the back-end and include a read only view in addition to previous edit mode.
  • Improved: Sales page now shows the appointment details.
  • Improved: Steps navbar responsiveness.
= 2.3 =
  • Nail biting moment. Here comes another update…
  • Added: New cost setting in places. Now you can set a fixed cost that will be calculated per km/mile.
  • Fixed: Date and time format in general settings are now respected in email notifications.
  • Fixed: Dropdown list options created using the custom form builder are now translatable.
  • Fixed: When a timeslot is booked, a seat was deducted from all days of that particular week.
  • Fixed: Removed booked seats field from the timeslots page. These didn’t make sense after the above fix.
  • Fixed: Group booking didn’t show the seats selection when moving backwards in the wizard.
  • Improved: General padding and margins between fields when using custom form fields and optionals.
  • Improved: Removed bootstrap javascript includes. Less conflicts, lighter pages. Win win.
Changelog = 2.2 =
  • You’ve got to calm down to get more done. Think zen…
  • Added: Support for Polylang.
  • Added: An availability with return but where no explicit return cost is set, will have the base cost doubled.
  • Added: Optional extras have new option to allow doubling the cost if return date is selected.
  • Added: Now maps also include distance duration.
  • Added: Optional extra cost now supports negative values.
  • Added: Terms and conditions field to the custom form fields builder.
  • Added: Italian and German translation.
  • Improved: Optionals in booking summary now includes the cost. Reset “services – style” page for this change.
  • Improved: Wizard breadcrumbs are now responsive. Only step numbers show on smaller screens.
  • Improved: Steps now have a circled number indicator and removed the background strip surrounding the steps.
  • Improved: Removed default selection from optional extra dropdown list. This was redundant.
  • Improved: Removed auto scroll which was activated when navigating steps.
  • Improved: Appointments displayed in calendar now use customer name in heading instead of availability name.
  • Fixed: Translated text now strips slashes correctly.
  • Fixed: Email notifications did not include distance unit.
  • Fixed: Custom form field of type textarea now takes up it’s own row and aligns with the rest of the form.
  • Fixed: shortcode content always appeared above any other content in the page.
Changelog = 2.0, 2.1 =
  • Making it easy to master the art of booking with Calendarista…
  • Regression bug fix, selecting a day did not produce timeslots (2.1).
  • Improved: Now selecting an availability or package will load all properties of the selected package or availability(2.0).
  • Fixed: Creating manual individual day based timeslots did not work(2.0).
  • Fixed: In enviornments with PHP E_ALL & ~E_STRICT & ~E_NOTICE enabled, you’d get warnings and notices(2.0).
  • Improved: Staff member page and coupons page. Tweaked the ajax and spinners to show proper progress indication(2.0).
Changelog = 1.9 =
  • Just push your boundaries and #DontCrackUnderPressure.
  • Fixed: Editing a booking of certain booking mode types in the appointments page failed.
  • Fixed: When editing appointments changing steps caused the window to scroll up, quite annoying.
  • Fixed: Unavailable days in booking calendar was too faded and day numbers weren’t too visible.
  • Fixed: Couldn’t set a price when creating a regular woocommerce product.
  • Fixed: Time based bookings in the appointments page showed a unix format instead of readable date format.
  • Fixed: General settings checkboxes were always defaulting to false.
  • Improved: now dates retrieved in wordpress localized format.
  • Improved: woocommerce product now shows optional extras.
  • Improved: woocommerce booking label shown on the product now has no underscore and applied proper casing.
  • Added: single day and time mode now has a minimum timeslot fixed price charge.
Changelog = 1.8 =
  • We’re allowed to fail a bit…it’s only through failure that you get success.
  • Fixed: Payment operators did not work in Firefox.
  • Fixed: The total amount was truncated at the thousand separator for values over a 1,000.
  • Fixed: Optional extras did not save the multiply settings and always defaulted to none (back-end).
  • Fixed: Map option in services and places page did not save the map settings and initial location (back-end).
  • Fixed: Map in front-end was missing margins to keep it aligned with the rest of the form.
  • Fixed: Updating a general setting caused the assets settings to reset.
  • Enhanced: Slight improvements to the sales page and editing bookings (back-end).
  • Enhanced: Improved the places page. Now associating a map to a service is much more intuitive (back-end).
Changelog = 1.7 =
  • That’s how we start the week around here, push and push until we’re fairly tired…
  • Added: An end time to auto generate timeslots.
  • Enhanced: CreatingDeleting/Duplicating projects is cleaner.
  • Fixed: Timeslot range selector in front-end now works correctly. previously it didn’t allow selecting the last slot.
  • Fixed: Timeslot range selector treated a time range as two separate slots, resulting in cost miscalculating.
  • Fixed: Entering a feeds url in the “settings – feeds” page, caused url validation to fail.
  • Fixed: Not setting cost on availability but instead depending on cost in optional extras didn’t trigger payment operators during checkout.
  • Fixed: Got a 500 error after installing Calendarista? Your PHP is old, update it. Still made the effort to replace code that wasn’t php 5.3 compatible.
Changelog = 1.6 =
  • Need more sleep…
  • Added: support for Elementor. You can now preview the plugin inside the elementor editor using their shortcode-widget.
  • Added: extended seats support to Single day and time range, round trip and round trip with time.
  • Fixed: create time slots dialog in “services – timeslots” page, regression bug.
  • Fixed: removed a debug statement showing after checkout, another regression bug.
  • Fixed: round trips are not date ranges but were treated as such in the appointment calendar (backend).
Changelog = 1.5 =
  • The stuff of nightmares…
  • Fixed: when group booking (multiple seats), these were getting registered as single seats.
  • Fixed: previous update 1.3 introduced a regression bug and broke appointment editing.
Changelog = 1.4 =
  • Light, delicious, bug free. Now with 0% added BS…
  • Fixed: Payment operators weren’t popping up during checkout. This is a regression bug (introduced while implementing woocommerce).
Changelog = 1.3 =
  • Things are heating up, watch out…
  • Added: validation against cheaters who hit browser refresh after making a booking. BAM! Gotcha!
  • Fixed: corrected half days mode calendar and some peculiarity with calendar legend.
  • Fixed: corrected multi date range calendar and apparently dates were disabled even though booking was unlimited.
  • Fixed: rightclick context menu on Google maps was broken, Google changed a few things, we adapted.
  • Changed: calendar loads available days through ajax requests in a more concise way now.
  • Changed: improved the calendar general aesthetics slightly with rounded corners and a more fitting size.
  • Changed: when only a single seat is left, we don’t publicize this any longer. Customer just sees a time slot or day is available for booking.
Changelog = 1.2 =
  • Fall back in love with booking…
  • Added: Small improvements to how we push updates. You can now reset your license.
  • Fixed: Unexpected behavior when using round trip modes which was expecting a full date range of available days.
  • Fixed: Corrected timeslots ordering lost because it depended on user db collation. Now performing explicit ordering.
  • Fixed: Several issues relating to single day and time range mode. Now it works correctly.
  • Fixed: Corrected appointments in the backend calendar view that spanned an extra day.
  • Fixed: Corrected seats functionality when using time slots to deduct a seat. Previously nothing happened, a regression bug of sorts.
  • Changed: when a booking is made, we now show invoice details along with a fresh booking form ready for another booking.
Changelog = 1.1 =
  • The only way to be the best is to keep working like you got nothing…
  • Added: WooCommerce support.
  • Fixed: preserved services sort order in the services page (plugin backend) during an edit.
  • Fixed: generating timeslots by weekday works correctly now. previously timeslots were doubled.
  • Updated: The plugins icon logo in dashboard menu. Uses a font now and blends in with the rest of the WordPress icons.
  • Updated: documentation to cover WooCommerce setup.