FAQ Q275: Is it possible to offer services of multiple employees with the end customer reserving a service and not a specific person?

Section: Packages and bundles
Yes, planyo has a number of features which make this configuration possible, both for individual reservations (one-on-one) and for groups/courses/classes. The end customer can reserve a number of services and will not know which employee (teacher/consultant/etc.) will be assigned to their reservation or group. The staff members will be able to log in with their own planyo login and will be able to see and update their schedule. There are many use cases for such setup, for example: skiing schools with a number of instructors offering private or group lessons on different levels, independent consultants, therapists, group courses, etc.

Configuration


You need to start the configuration by creating one resource for each staff member. You should call the resource by the staff member's name and make them into resource admins. In resource settings you need to carefully choose the resource sharing setting. If the staff members are available only for individual sessions, leave the default (sharing not possible). If they work with groups, then set this option to sharing is always possible and set the quantity to the max. number of customers in a single group.

Note that you can limit the resource admins' access to specific functions only. By default they will have access to all administrative functions but only limited to their own resource (and reservations for this resource). When configuring the staff resources, make sure to select the checkbox Can only be reserved as part of a package in Resource settings / reservation process. This will make the staff resources invisible to the end customers. Now create the customer-facing resources in form of flexible packages. As with the base resources, also here the choice of resource sharing is critical. If the customer-facing resource will be always an individual session/consultation, then leave the default (sharing not possible) and set the quantity to the max. number of persons who can reserve given package at any given time (this shouldn't be greater than the number of available staff members). If there's a group, set it to sharing is always possible and in the number of persons who can share the resource set either the max. number of customers in a single group (same as in the base resource) OR if you want to allow formation of multiple groups, set the max number of persons who can reserve given resource at any given time, for example, for groups of max 5 persons, but if you have enough staff members to form 4 different groups at any given time, set this to 20.

In the package contents add all the staff members who can be assigned to given package (e.g. in case of consultations all the consultants who can provide given type of consultation). You'll need to move all the staff members into the first group in your flexible packages. Now, each time the package will be reserved by the customer, one of the staff members from the first group will be assigned to a reservation. The assignment is by default done randomly but you have three choices:
1. The assignment is done completely randomly. This is the best choice for individual reservations where you want each staff member to have an equal chance of being assigned to a reservation.
2. The assignment is done according to a randomized order but fixed for any given date. This is the best choice for group reservations. Until all the places in given lesson/session are filled up, planyo will always assign the same staff member to make sure only one staff member will be used for any specific lesson/session. Only when all the places in a group are reserved, planyo will assign a second person to the next group. The priority of the staff members (who gets to be assigned to the first reservations) is updated daily in a random manner.
3. The priority is fixed (alphabetic order). This is rarely used for employees but would be a good choice if you wanted to use the flexible packages with objects to be rented, such as bikes/cars/boats etc. if you want to prioritize the usage of specific units.

Another possibility here, in package content settings, is package blocking. Blocking is used for group reservations. It means that the first person to book given package "blocks" the assigned resource (staff member) for exclusive assignment to that package. This means that the staff member won't be able to be assigned to other packages at the same time. Otherwise, it would allow assigning given staff member to customers reserving different packages (courses) at the same time!

To reassume, here are the settings for 3 typical scenarios:

1. Individual reservation
Resource configuration: Sharing = not possible, Quantity = 1, Can only be reserved as part of a package = YES
Package configuration: Sharing = not possible, Quantity = [set to the number of staff members that can be assigned to the package], Package type = Flexible (all staff resources to be moved to the first group), Blocking = INACTIVE, Can only be reserved as part of a package = YES

2. Group reservations, max 1 group at any given time (max 1 staff member per service offered)
Resource configuration: Sharing = always possible, Number of clients this resource can be shared between = [equals to the max group size], Can only be reserved as part of a package = YES
Package configuration: Sharing = always possible, Number of clients this resource can be shared between = [equals to the max group size], Package type = Flexible (all staff resources to be moved to the first group), Blocking = ACTIVE (Quantity used=1, Quantity blocked=max group size), Can only be reserved as part of a package = YES

3. Group reservations, multiple simultaneous groups possible (a few staff members per service offered)
Resource configuration: Sharing = always possible, Number of clients this resource can be shared between = [equals to the max group size], Can only be reserved as part of a package = YES
Package configuration: Sharing = always possible, Number of clients this resource can be shared between = [equals to the max group size], Package type = Flexible (all staff resources to be moved to the first group), Blocking = ACTIVE (Quantity used=1, Quantity blocked=max group size), Can only be reserved as part of a package = YES

Staff member access


The staff members, having their own planyo login (using the resource admin role), have access to the backend where they will see the package reservations to which they were assigned. Unless the main administrator altered their permissions, they can also view/modify/cancel these reservations.

iCal feed


If the staff members wish to export their schedule to a different system (such as Google Calendar or Apple iCal), they can go to Site settings / Data export (iCal) and create a resource-specific iCal feed. This will export the reservations to which they were assigned for the selected package. Using the templates, you can determine the information which will be included in the iCal feed.

If you have multiple packages which can use a base resource whose feed you'd like to export, see Q373 which explains how to accomplish this.

Email notifications


By default, new reservations for flexible packages will NOT send any notifications to the staff members, because the staff members have no administrative role assigned to the package resources. To solve this problem, go to Site settings / Notifications and edit the email sent to the main admin for the new reservation (or confirmation) event. In the BCC field, enter: $(package_assignment_resource_admin_email:1). This tag (details in Q204) will be replaced by planyo with the email address of the resource admin which administers the resource assigned to a package reservation (1 stands for the 1st group). This will send a copy of the notifications to the staff member who'll be responsible for the reservation.

If you'd like the email body to include the name of the assigned staff member, use the tag $(package_assignment_name:1) which will give you the staff member's name.

Reports


If you'd like to generate a report for given staff member's activity, you'll need to create a new report which will include all the packages to which the staff member can be assigned. Then, you'll need to customize the report by editing the columns in the report template. In any of the data rows, enter: $(if) $(package_assignment_name:1) equals John Doe $(then) $(else) $(exclude_row) $(endif). This will basically exclude from the report all rows where the assigned resource was different that John Doe (which is an example only and should be replaced with the actual staff member's name). You'll need to generate as many reports as you have staff members this way.

Another option is to create a single report for all the staff members. Simply choose the report of type rental start time and in the sort by option choose Flexible package / 1st category. Then edit the report template and add a new column with the following template: $(if) $(package_assignment:1) $(then) $(package_assignment_name:1) $(else) $(exclude_row) $(endif). This new column will print the staff member assigned to given reservation and will also exclude from the report any row which has no staff member assigned. You can also add subtotals to this report (make sure to group by this newly added column). In the subtotal column you can print data such as the staff member name, number of reservations, number of hours worked etc.

Back to Frequently Asked Questions