Calendars allow process designers to specify the hours and days when users are expected to be at work, so that the due dates for tasks can be more accurately calculated with Timing Controls. They also allow holidays to be specified, so those days are excluded when calculating the due date. Different calendars can be created for different needs. For instance, a calendar can be created that only includes workdays, but not holidays or weekends, which is useful for calculating salaries.
Calendars can be created for specific processes, tasks and users. Therefore, processes can use different calendars when calculating due dates for their tasks. Likewise, users in different sections or regions of an organization can use different calendars.
Access the list of available calendars by logging in as a user, such as "admin", who has the PM_SETUP permission in his/her role and go to ADMIN > Settings > Calendar:
Note: Take into consideration that as of version 184.108.40.206., users must have the PM_SETUP_CALENDAR permission assigned to their role to access the ADMIN > Settings > Calendar option.
On the right side of the screen, a list of the calendars available in the workspace will be shown.
Setting up Calendars
As shown in the image below, the Calendar configuration has been split into four parts:
The four categories are:
Calendar Definition: This section includes three fields that help define the purpose of the calendar:
- Name: A label to identify the calendar. This text should be short yet descriptive.
- Description: A description of the calendar, which should inform the user about the general content or purpose of the calendar.
- Active: Select whether the calendar is enabled or disabled.
Work Days: The days of the week to be included in the calendar can be selected here. To enable the checkboxes to select the days of the week, the option Work Hours must be unchecked:
Work Hours: This group is a table where as many rules as needed can be defined to determine the work hours in each day. The grid has three columns: Day, Start and End.
- Days: This dropdown box includes the seven days and ALL as options to set the day(s) that the work hours apply to.
- Start: This field identifies when the work hours start in the day selected.
- End: This field identifies when the work hours end in the day selected.
Holidays: This group is a table where the holidays in the calendar can be defined. This grid has three fields: Name, Start, End.
- Name: A label identifies the name of the holiday.
- Start: This field identifies the starting date of the holiday.
- End: This field identifies the end date of the holiday.
Create New Calendar
Create a New calendar by following the next steps:
- Click on the option New.
- In the calendar configuration window, fill out all the required fields.
- After defining the new calendar, click on Save.
Edit Default Calendar
Edit a calendar by following these steps:
Select the calendar to be edited from the list of calendars then click the Edit button.
- In the calendar configuration window, modify the fields.
- After editing the calendar, click on Save.
Delete a Calendar
Delete a calendar by following the steps below:
- Select a calendar from the list of calendars then click on the Delete button.
- Click on Yes to delete the calendar.
Copy a calendar by following the instructions below:
- Choose the calendar to be copied from the list of calendars and click on Copy:
- A copy of the calendar will be shown in the calendar configuration window.The words "Copy of" will be added to the beginning of the calendar name.
- After editing the calendar, click on Save; otherwise, the calendar will not get copied.
A calendar can be assigned to a user, task or process. The priority in which the calendars will be used is:
If a calendar is not defined for the user (set to "-None-"), then ProcessMaker will use the task's calendar. If the task's calendar is set to "-None-", then it will use the process calendar. If the process calendar is set to "-None-", then it will use the default calendar for the entire workspace.
Assign a calendar to a user by going to Admin > Users > Users List and editing the profile of a particular user. Under the title Personal Information, there is a dropdown box named Calendar, that lists all the calendars created for that workspace. Select a calendar from the dropdown box to assign to the user. Click on Save.
Assign a calendar to a task by first opening a process and right clicking on a task in the Process Map, then selecting the Properties option from the menu. Click on the Timing Control tab, go to the Calendar dropdown and select a calendar from the list. Click on Save.
Note: The option "-None-" is selected by default, which means that the workspace's Default Calendar is active for this task.
Assign a calendar by opening a process and then right clicking anywhere on a blank area in the map and selecting the Edit Process option. Then, go to the Calendar dropdown and select a Calendar from the list. Click on Save.
Note: The option "-None-" is selected by default, which means that the workspace's Default Calendar is active for this process.