ShiftController Employee Shift Scheduling


ShiftController is a lightweight, easy to use WordPress staff scheduling and rostering, rota planning plugin for any business that needs to manage and schedule employees.

Keep Organized

Associate your employees with calendars, configure shift types, assign managers, and keep your staff scheduling under control anywhere at anytime online from your WordPress powered website!

Escape Schedule Conflicts

Quickly see and correct any conflicts due to overlapping shifts or timeoffs. Each conflicting entry is highlighted in the schedule calendar so you will not miss it.

Mobile Friendly

Responsive design that works perfectly well for iPhone, Android, Blackberry, Windows as well as for desktops, laptops and tablets.

Pro Version Features

Bulk Edit
The Bulk Edit function lets you change or delete multiple shifts at once.

Repeat Shifts
Quickly create new or repeat existing shifts months ahead.

Shift Pickup
With the Shift Pickup module shifts can be marked as requested for pickup, and other employees can pick them up.

Schedule Templates
Quickly create new week schedules from schedule templates.

Custom Fields
Additional fields for shifts to keep custom information.

Schedule Limits
Limit total number or duration of shifts within a day, a week, or a month.

Please visit our website for more info and get the Premium version now!.


Please contact us at

Author: Plainware
Author URI:


  • Front-end of the plugin.
  • Back-end of the plugin.


  1. After unzipping, upload everything in the shiftcontroller folder to your /wp-content/plugins/ directory (preserving directory structure).

  2. Activate the plugin through the ‘Plugins’ menu in WordPress.


29 de marzo de 2023
This plugin and the developers supporting it are great. When I asked question about the plugin, the developer implemented the feature in my question even though I had not bought the plugin at that point.
8 de diciembre de 2020
Plugin fit our needs almost perfectly – support with author was fantastic, he answered immediately and customized the plugin for our needs. Five stars out of five!
9 de octubre de 2019
We have been using ShiftController for a couple of months now and love all its features. Being in a diverse leisure environment with over 100 employees, this software manages all staff with ease. We use the Pro version and love all of it's features. What I can't praise high enough is the support. We have made a number of requests/suggestions and each of these have been honored and integrated into the system. Thanks very much.
26 de abril de 2019
I have used many of the other plugins that try to do the same thing as shiftcontroller but none of the others meet my needs like this plugin. The features are insanely easy to use, it is stable and well constructed, and it works like a charm. I have a lot of plugins on my site and this one never causes any issues. If you need a scheduling plugin for employees, or as I use it, for students, this one is well worth it. I am a proud pro-purchase supporter.
1 de marzo de 2019
If you're looking for a plugin to handle employee scheduling for both large and small businesses, you really can't do better than ShiftController. I've tried practically every scheduling/booking plugin available and didn't find a solution that was as straightforward, comprehensive, or well-managed as ShiftController. The few minor issues I've had (which were all problems on my side, never the plugin's fault) were quickly taken care of by the plugin's fantastic support team. The developers truly went over-and-above what would be expected and have delivered a great experience on all fronts. Highly recommend
Leer todas las 18 reseñas

Colaboradores y desarrolladores

Este software es de código abierto. Las siguientes personas han contribuido a este plugin.


"ShiftController Employee Shift Scheduling" ha sido traducido a 5 idiomas locales. Gracias a los traductores por sus contribuciones.

Traduce "ShiftController Employee Shift Scheduling" a tu idioma.

¿Interesado en el desarrollo?

Revisa el código, echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios


  • Bug: the form error messages were not displayed for form inputs after the first one.
  • Bug: previous text might remain in form inputs.


  • Added an option to specify the CSV delimiter in shifts export file. Both default setting in Administration, Date and Time, and personal preference in Profile, Preference.


  • In the schedule day view we extended the end time range to fully display overnight shifts.
  • Modified the session code that didn’t work properly with action result messages and user preferences in some setups.


  • Added an option to change calendar and employee for a template shift in Schedule Templates module of the Pro version.


  • Added a new REST API end point to find available employees during a certain date and time range.


  • Added a delete shift email notification for employees and managers/admins.


  • BUG: Calendar filter in schedule view didn’t work due to error in version 4.9.44.
  • BUG: When a shift copied to another employee, the new employee didn’t get a notification.


  • BUG: Couldn’t create shifts for a selected employee due to error in version 4.9.44.


  • BUG: Shifts of archived employees and calendars were not visible in the schedule view.
  • BUG: Custom fields module may have produced a critical error (Pro Version).


  • Minor fixes to ensure compatibility with PHP 8.


  • Minor fixes to display better for RTL languages.


  • BUG: Copy To Another Employee link was visible to users who were not allowed to do this action.
  • Minor fixes.


  • Added an option to choose shift, time off or both in when sending reminders.


  • BUG: In Administration, Employees, various actions were not working properly for the first item in the list.
  • BUG: footer custom date picker in the schedule view didn’t work properly.
  • Copy & Change Employee option from the Change Employee screen moved to a separate acton Copy To Another Employee.
  • In the shortcode “calendar” parameter can accept negative value to skip specified calendar(s), for example [shiftcontroller4 calendar=”-123,-321″]
  • Added an option to make a copy of schedule template (Pro Version).
  • Added an option to edit time in template shifts in schedule templates (Pro Version).
  • Minor fixes.


  • For Schedule Limits module, if an employee has individual limits, they override possible common limits set for all employees (Pro Version).
  • Minor fixes.


  • Minor fixes.


  • Minor fixes in upgrade from legacy version 3 module.


  • Added Custom Number of Days option for shift schedule templates module (Pro Version).


  • Include custom fields too when copying a shift to another employee.
  • Added new options for the “hideui” shortcode parameter: filter, pagetitle, pagemenu.


  • Added an option to copy shift to a new employee.


  • Added a setting to specify the max end date for iCal feed.
  • PHP 8.2 compatibility fixes.
  • BUG: The date picker input might not be working for employees.


  • Minor fixes.


  • BUG: If an employee wasn’t allowed to view Everyone’s Schedule, their date selection form didn’t work in the My Schedule page.


  • BUG: If an employee wasn’t allowed to edit published shifts, but allowed to create published shifts, they still could unpublish a shift, edit it, then publish back.
  • Added an option to make a custom field required (Pro version).
  • Added a setting to define the date range when employees can create shifts for themselves. For example, from the start of the current week to the end of next month.


  • Added a shortcode parameter hideui=”bulk” to disable bulk actions for shifts (Pro version).


  • Added a setting if to enable slim view for month schedule grouped by calendar or employee.


  • Minor fixes.


  • Minor fixes.


  • BUG: The feed export file had broken columns if different shifts had different set of columns like custom fields or break time start/end.
  • Minor fixes.


  • BUG: If shift was with a break, the break time didn’t display in notifications.
  • BUG: If a custom field contained options with special characters, they didn’t display corrrectly.


  • Added an option to query custom fields in the API and export calls.


  • Added bulk actions for employees in admin view.
  • BUG: wrong links were given in Profile:iCal Sync, Administration:Shifts Feed, Administration:Reminders, Administration:Shift Pickup Request Reminders.


  • After creating shifts from a week template, it gets back to this week schedule rather than to the current week.
  • Don’t send a confusing “pick up request cancelled” notification to the original employee of the shift after the shift has been picked up by a new employee. (Pro version).
  • Added a setting to display n (3,4,5,6) weeks in the schedule view.
  • BUG: managers (not admins) weren’t allowed to create shifts from schedule templates. (Pro version).


  • Added the filter detail if any to the print view of the schedule.
  • BUG: The order of shifts in schedule templates didn’t follow the Week Starts On setting, always starting from Sunday. (Pro version).
  • BUG: False conflicts with changing employee of an existing shift, the bug appeared since 4.9.16.


  • A bit of modification for version 4.9.17, when doing pickup and employee assign bulk actions on grouped open shifts, pick only one of the grouped shifts as otherwise it would create overlapping conflicts for the employee. (Pro version).


  • BUG: If open shifts were grouped together in the schedule view, the bulk action process handled only one of them rather than all. (Pro version).
  • Added a shortcode parameter to display shifts with or without conflicts.


  • Added “Shifts With Conflicts” filter option for the schedule view, available for logged in users only.
  • BUG: It might display “new shift” and “new time off” links in schedule list view for users whose permissions didn’t allow that.


  • BUG: There was an error related to timezone settings with PHP 8.1.
  • Default shift duration can be selected with half-hour steps (was full hour before).


  • Custom fields for shifts in schedule templates, and they can edited too before making new real shifts from template. (Pro version).
  • Shift order in schedule view now also considers the employee sort order.
  • BUG: Shift create from REST API might fail with the Pro version.


  • Added bulk actions for calendars in admin view.
  • Do not display calendar label in schedule view if only one calendar exists.
  • Changed a bit misleading “Shift Type” naming to “Shift Time”.
  • Added break start/end times to shift export file.


  • BUG: Custom fields were not displayed for calendar managers when creating a shift.
  • BUG: Error when displaying a schedule day view for a disabled day of week.
  • BUG: When displaying shifts with the same time, their sort order wasn’t following the calendars sort order.
  • Added 2 week view.


  • BUG: Time reports may have been calculated incorrectly with overnight shifts.


  • BUG: Changes in version 4.9.9 broke the timezone setting in the iCal output.
  • BUG: Custom fields were not copied then copying an existing calendar to a new one (Pro version).
  • BUG: It didn’t allow a valid mobile phone number if it was shorter than 11 digits.
  • Custom fields can now be copied from another calendar (Pro version).


  • BUG: Custom fields might not be displayed in the JSON feeds output.
  • Added an option to copy settings from an existing calendar when creating a new calendar.
  • Added SMS text reminders for employees for the next day shift.
  • Minor bug fixes.


  • BUG: Labels of shift types ending in 12:00am (end of day) weren’t displayed in the schedule view.
  • BUG: Viewers (view only managers) were not able to view shifts of their calendars.
  • BUG: 4 week view showed today’s date for all days
  • Weekly reminders can now be sent on any day of the previous week, not only the last one.
  • Minor bug fixes.


  • Added Danish language.
  • Minor bug fixes.


  • BUG: schedule template shifts could not be created if the calendar had only one employee.
  • Added {EMPLOYEE_ID} and {EMPLOYEE_NAME} to reminder subject templates.
  • Modified Limits module to allow setting limits per …