User roles and capabilities

User roles allow you to restrict or grant access to the Appointment Booking plugin menus on your WordPress installation. For example, you can allow your staff members to view their bookings and profile while giving more manager privileges to others.

The Appointment Booking plugin ships with two custom WordPress user roles:

  • Appointment Manager
  • Appointment Employee

Note: you can use custom user roles since Appointment Booking version 1.7.0 or greater.

These two custom roles come with unique capabilities (allowed tasks) associated with the Appointment Booking plugin functionalities.

Appointment Employee Role

This role is most likely useful for your staff who provide appointment services.

By default, people granted this role have access to their individual profiles with bookings assigned to them, their schedule and more tools required for an employee to stay up to date with their reservations and clients.

Appointment Employee can:

    employee user role

  • View all past and future bookings assigned to them
  • View payments with their statuses
  • Edit their public profile via the Employees menu
  • View all locations
  • View and edit their own schedules (add working time, days-off and vacation, change locations)
  • View services they provide.

To make sure that your employee can see only bookings, services, etc. associated with them, you need to assign an employee’s email address they use to log in to your site to their profile in the Employees menu of the Appointment Booking plugin.

For this, log into your site as an Admin or Appointment Manager and follow these steps:

  1. Add an email address of your employee to your WordPress site database.
  2. add new user appointment employee

  3. Then go to Appointments > Employees > choose the needed employee.
  4. In the right-hand bar, find the Employee WordPress User field and from the drop-down menu choose the associated email address you added before.
  5. employee update

Do the same for all your employees if you want them to have access to specific menus of your site.

Every employee you add will get their site login details by email.

Appointment Manager Role

The Appointment Manager user role has more extensive access to the plugin menus and settings.

Appointment Manager can:

    manager user role

  • View and edit almost all menus of the Appointment Booking plugin (Bookingns, Payments, Employees, Shortcodes, etc.)
  • Access Posts, Pages, Media, Comments and a list of registered employees.

Appointment Manager can’t:

  • Access the Settings menu in the Appointment Booking plugin.
  • Access other essential administrative WordPress website settings, e.g. Plugins.


The Appointment Booking plugin capabilities are sourced from default WordPress capabilities. There are three groups of capabilities: custom capabilities, custom post types capabilities and third-party addon capabilities.

Custom capabilities

  • mpa_assign_employee_to_schedule
  • – the ability to assign a specific schedule to an employee

  • mpa_assign_user_to_employee
  • – the ability to assign an email address to the employee

By default, only the Admin and Appointment Manager user roles are granted these two custom capabilities.

Feel free to grant different capabilities to different user roles with the help of third-party user role editor plugins. Also, we wouldn’t recommend you randomly and extensively editing capabilities to avoid any sort of conflicts between them.

Custom post type capabilities

Appointment Manager

  • create_mpa_bookings
  • create_mpa_employees
  • create_mpa_locations
  • create_mpa_payments
  • create_mpa_reservations
  • create_mpa_schedules
  • create_mpa_services
  • create_mpa_shortcodes
  • delete_mpa_booking
  • delete_mpa_bookings
  • delete_mpa_employee
  • delete_mpa_employees
  • delete_mpa_location
  • delete_mpa_locations
  • delete_mpa_payment
  • delete_mpa_payments
  • delete_mpa_reservation
  • delete_mpa_reservations
  • delete_mpa_schedule
  • delete_mpa_schedules
  • delete_mpa_service
  • delete_mpa_services
  • delete_mpa_shortcode
  • delete_mpa_shortcodes
  • delete_others_mpa_bookings
  • delete_others_mpa_employees
  • delete_others_mpa_locations
  • delete_others_mpa_payments
  • delete_others_mpa_reservations
  • delete_others_mpa_schedules
  • delete_others_mpa_services
  • delete_others_mpa_shortcodes
  • delete_private_mpa_bookings
  • delete_private_mpa_employees
  • delete_private_mpa_locations
  • delete_private_mpa_payments
  • delete_private_mpa_reservations
  • delete_private_mpa_schedules
  • delete_private_mpa_services
  • delete_private_mpa_shortcodes
  • delete_published_mpa_bookings
  • delete_published_mpa_employees
  • delete_published_mpa_locations
  • delete_published_mpa_payments
  • delete_published_mpa_reservations
  • delete_published_mpa_schedules
  • delete_published_mpa_services
  • delete_published_mpa_shortcodes
  • edit_mpa_booking
  • edit_mpa_bookings
  • edit_mpa_employee
  • edit_mpa_employees
  • edit_mpa_location
  • edit_mpa_locations
  • edit_mpa_payment
  • edit_mpa_payments
  • edit_mpa_reservation
  • edit_mpa_reservations
  • edit_mpa_schedule
  • edit_mpa_schedules
  • edit_mpa_service
  • edit_mpa_services
  • edit_mpa_shortcode
  • edit_mpa_shortcodes
  • edit_private_mpa_bookings
  • edit_private_mpa_employees
  • edit_private_mpa_locations
  • edit_private_mpa_payments
  • edit_private_mpa_reservations
  • edit_private_mpa_schedules
  • edit_private_mpa_services
  • edit_private_mpa_shortcodes
  • edit_published_mpa_bookings
  • edit_published_mpa_employees
  • edit_published_mpa_locations
  • edit_published_mpa_payments
  • edit_published_mpa_reservations
  • edit_published_mpa_schedules
  • edit_published_mpa_services
  • edit_published_mpa_shortcodes
  • publish_mpa_bookings
  • publish_mpa_employees
  • publish_mpa_locations
  • publish_mpa_payments
  • publish_mpa_reservations
  • publish_mpa_schedules
  • publish_mpa_services
  • publish_mpa_shortcodes
  • read_mpa_booking
  • read_mpa_bookings
  • read_mpa_employee
  • read_mpa_employees
  • read_mpa_location
  • read_mpa_locations
  • read_mpa_payment
  • read_mpa_payments
  • read_mpa_reservation
  • read_mpa_reservations
  • read_mpa_schedule
  • read_mpa_schedules
  • read_mpa_service
  • read_mpa_services
  • read_mpa_shortcode
  • read_mpa_shortcodes
  • read_private_mpa_bookings
  • read_private_mpa_employees
  • read_private_mpa_locations
  • read_private_mpa_payments
  • read_private_mpa_reservations
  • read_private_mpa_schedules
  • read_private_mpa_services
  • read_private_mpa_shortcodes

Appointment Employee

  • edit_mpa_bookings
  • edit_mpa_employee
  • edit_mpa_employees
  • edit_mpa_locations
  • edit_mpa_payments
  • edit_mpa_schedule
  • edit_mpa_schedules
  • edit_mpa_services
  • read_mpa_bookings
  • read_mpa_employee
  • read_mpa_employees
  • read_mpa_locations
  • read_mpa_payments
  • read_mpa_schedule
  • read_mpa_schedules
  • read_mpa_services

The ‘others’ parameter means a user role can modify posts created by other people.

How to manage user roles

Find all users and change their roles here: WordPress dashboard > All Users. To edit user role capabilities in a user-friendly way, use extra WordPress plugins, such as User Role Editor.

Work with this plugin via WordPress dashboard > Users > User Role Editor. For initial settings, go to WordPress dashboard > Settings > User Role Editor.
user role editor plugin

This plugin is also helpful for assigning Appointment Booking sourced roles as additional roles to new or existing WordPress users, thus one person can be granted two different roles.

You can also use it to create custom user roles and grant them preferable capabilities:
add role user role editor wp

Popular free WordPress plugins to modify user roles and capabilities:

Related Topics