Workforce and settings¶
Deploying WFM¶
There are two ways to make WFM work: Copy the records from the installation database where WFM already works, or run a set of scripts that will prepare the basic functionality in any installation.
Option of copying records from a running installation:
DB tables that are meant for WFM:
WfmActivity
,WfmHoliday
,WfmRotation
,WfmRotationComposition
– These will be initially filled and usually do not change afterwards;WfmPlan
,WfmPlanMember
,WfmSlot
,WfmEvent
,WfmPlanError
– These are filled by the actual use of WFM;Traffic
,TrafficSlot
in the future also
OfficePlan
,OfficeSlot
DB tables in which WFM also has a few records:
Configuration
,(Crew), (CrewMember),
DataQuery
,DataQueryColumn
,Editor
,EditorTab
,EditorTask
,LiteralLookup
,(Navigation)
Role
,Permission
,Portal
,Scenario
,ScenarioResult
,ScenarioResultValue
,Screen
,ScreenControl
Option of running a set of scripts:
Three sets of SQL script files:
Scripts (DQ, rows in tables, etc.), without which it will not work at all, will probably be the same everywhere and run themselves on deployment:
Model.Sql.Data.Wfm.sql
.Scripts, without which it is not possible, but each customer can have a slightly different way; the scripts are run and edited by the consultant:
Model.Sql.Admin-Standard.Standard-Wfm.sql
App.Web or App.Customer.Web web application
In addition to database changes, it is necessary to deploy a web application hosting REST endpoints of web services called by WFM, e.g. for validation, vacation recalculation, displaying other data in the agent editor, etc. You can use a generic App.Web application, but it is more likely that the general implementation will not work and a customized application named App.SomeCustomer.Web will be created for the customer.
Configuration parameters with URLs for situations when the integration App.Web/App.Customer.Web is called can be found in reference.
Customizing activities¶
In the FrontStage administration interface under activities according to your needs.
, you can easily add, change or removeFill out the form fields as follows:
Form field |
Description |
---|---|
Name |
Activity name. A free text. |
Activity group name |
A group of similar activities that you want to consider the same for the given traffic model. |
Status group name |
Which agent status this activity corresponds to for non-conformity report purposes. |
Description |
A free text. Reserved for future use. |
Rank |
A rank based on which activities are sorted in an ascending order in the drop-down list in the shift editor. |
Color |
The color in which the activity slot will be displayed in the shift editor. The value must be a valid HTML color specified by a hex number (e.g. |
Activity display layer |
The number influences in which layer the activity is displayed and at which zoom out its slot will no longer be visible.
For example, |
Activity type |
Mapping to built-in types of activities. To ensure a proper operation of validation, on-call shift application, workplace planning or calculation of used vacation time in personal information settings of the agent and other WFM parts, the actual activity needs to be mapped to one of the built-in activity types. |
Workplace with phone required for the PbxIn or PbxOut channels
Workplace required that enables message handling
Workplace required that enables chat handling
|
It influences the course of workplace planning.
|
Enabling agents for planning¶
WFM does not have its own set of users. Users must already exist. To allow agents for planning, you must supply some information related to WFM as statutory limits, etc. And you must enable agent for planning.
Enabling users for planning is because you likely have users that rarely use FrontStage. To plan these users usually makes no sense.
The regular users you want to plan must have created shift profile. Shift profile adds them as actual plan members. Shift profile also holds the information required for planning like she’s a pregnant woman or temporary worker.
Manually you can create shift profile in FrontStage admin in
section, agent detail. Form footer contains a link to create (or display) shift profile.Personal data and statutory limits of staff¶
There is a list of all agents on the WFM homepage.
Click on an agent to open a card with their personal data and statutory limits influencing workforce planning.
Note
Indicates which information (apart from the basic data) will be displayed in the Info tab and how the form will look in the Detailed information tab; it can be configured. A FrontStage administrator can add or remove other related information.
Click on an agent to open a card with their personal data and statutory limits influencing workforce planning.
These limitations and other parameters are checked during plan validation.
Important
An exact validation algorithm is programmed according to the client’s requirements. For this reason, it is not described here in detail.
Historical, not valid information, are archived to tracebility. New form valid period, use Add new form valid period.
Rotations and rotation offsets¶
Prior to automatic planning, which is based on a recurring sequence of shifts, the methodologist must prepare at least one rotation consisting of one or more weekly templates.
The date from which we want to apply rotations minus the start date of the year in weeks. Add the agent’s rotation start offset. Establish module after integer division by the rotation duration. The result indicates which rotation cycle week will be applied.
Example 1: Apply rotations from 1 January 2018 - 1 January 2018 = 0 weeks. The rotation start offset is 1. 0 + 1 = 1. 1% 3 = 1. Therefore, the 1st week of the rotation cycle will be applied.
Example 2: Apply rotations from 12 August 2019 - 1 January 2018 = 84 weeks. The rotation start offset is 2. 84 + 2 = 86. 86% 3 = 2. Therefore, the 2nd week of the rotation cycle will be applied.
Example 3: Apply rotations from 6 April 2020 - 1 January 2018 = 118 weeks. The rotation start offset is 11. 118 +11 = 129. 129% 3 = 0. Therefore, the 1st week of the rotation cycle will be applied.
As an example we can choose a rotation that contains a single template of the following type: “3 days of work – 4 days free”, with the entire cycle to be repeated after 7 weeks.
We will suitably set an offset by 0 to 6 weeks for the agents so that we can cover the entire period. The rotation offset will cause the template application to be shifted by n weeks forward. For the periods before/after the plan, rotations will be applied with the same offset only backward/forward to fill out the empty space.
Once rotations have been applied, the resulting plan for the above example will look as illustrated below. The picture also includes a period outside the plan validity for an easier understanding how the rotation applies to the past and to the future.
Creating rotations¶
First step is to create empty rotation. New rotation can be created from FrontStage Administration in Add item.
. Bellow is linkBellow are links to Add week template for adding existing template and Create new week template for creating a new one.
For adding existing template choose its position in a rotation.
Creating weekly templates¶
Second link during editing is Vytvořit novou týdenní šablonu that creates new template.
You can save it and use it in a plan later, or save and open it right now in shift editor.
Editing weekly templates¶
Week templates uses slightly customized shift editor for exactly seven days of a week. Working with week editor is identical to regular shift editor.
By clicking on button with day of week, you will move to that day. Zoom is set to 24 hours.
Assigning rotation and offset to staff¶
In the personal card of an employee, you will find statutory limits as well as the important rotation setting and rotation start offset, which is used in automatic planning when creating a plan for each of the staff.
By assigning a rotation to an employee, you determine based on which rotation their shift plan is to be created.
Rotation offsets tells how far is rotation shifted during automatic planning.
See also
For a detailed explanation of rotations and offsets, please refer to the introductory subsection of this section.
Public holidays¶
National holidays are significant or exceptional days on which you do not want automatic planning to schedule any activities for the staff. However, it is always possible to plan work for these days manually.
You will find a list of nation holidays in the FrontStage Admin under Shift Planning / Exceptional Days.
Vacation limits¶
If you wish, when inserting a vacation, the system can check whether the maximum number of team members on vacation will be exceeded or not.
The WFM homepage also shows a list of all teams.
By clicking on the team, you can set a limit of team members on vacation in parallel.
Vacation calculation¶
The WFM module allows you to set a special treatment when calculating vacation based on its duration. Using the WfmVacationFactor
configuration parameter, you can set, for example, that 0.25 to 4.25 hours should be considered as a half-day of vacation, with anything longer to be considered as a full day.
WfmVacationFactor
WfmVacationFactor - In how many fractions of the day the vacation can be split for WFM purposes. For example, 2 means that half a day of vacation can be taken, 1 means only full days.
How to calculate vacation:
WFM goes through one slot after another for every agent in a given year.
It calculates the number of vacation hours (slot end time - slot start time).
If relevant, it subtracts or adds an hour if the time has changed during the vacation so that a full-day vacation lasts for 24 hours even when the time changes.
If the number of vacation hours is greater than 24 hours, the number of vacation days is calculated as the number of hours / 24 and rounded down.
Or if the number of hours is less than 7.5 and
WfmVacationFactor
(in how many fragments can a vacation day be divided) is 2, you can determine how many 3.75-hour vacation fragments have started.Otherwise, one day of vacation is used.
So for 15 minutes the result is 0.5, for 3.75 it is 0.5, for 4.25 hours it is 0.5, for 4.5 hours it is 1 day, for 7.5 hours 1 day, for 11 hours 1 day, for 16 hours 1 day, for 24 hours 1 day, for 27 hours 1 day, for 47 hours 1 day, for 48 hours 2 days.