Time Booking Using ConSol CM
General Introduction to Time Booking Using ConSol CM
In ConSol CM, working hours can be booked to tickets. There are two booking modes:
- Manual bookings, see section Manual Time Bookings
- Automatic bookings, see section Automatic Time Bookings
Manual Time Bookings
In ConSol CM, an engineer can book working hours to a ticket. Those working hours can then be reported.
With manual time booking, working hours are always booked on projects which have to be assigned to one or more queues. For example, if your company plans to perform a migration from Windows 8 to Windows 10 clients and all the working hours should be registered for this migration project, the ConSol CM administrator has to create a migration project and assign it to all queues where tasks for this project might be performed. Then engineers can book their times on the project and can see their own reports for the project. Additionally, a report over all time bookings, of all engineers, may be implemented using the DWH (Data Warehouse, see section Data Warehouse (DWH) Management).
Configuration of Manual Time Booking Using the Admin Tool
In order to enable engineers to book working hours on projects the ConSol CM administrator has to perform two steps using the Admin Tool:
- Create the projects on the navigation item Projects (navigation group Global Configuration), see section Projects.
- Assign one or more projects to the desired queues within the Queues.
In the following example, three projects are created. Engineers in the HelpDesk_1st_Level queue should be able to book working hours on two of them. Thus, the two projects have to be assigned to the HelpDesk_1st_Level queue.
You reach the following screen by selecting the navigation group Global Configuration, navigation item Projects.
Figure 426: ConSol CM Admin Tool - Global Configuration, Projects: Management of projects
Figure 427: ConSol CM Admin Tool - Global Configuration, Queues: Assigning projects to a queue
Manual Time Booking from a User's Point of View (Web Client)
Please see the ConSol CM User Manual for a detailed explanation of the time booking feature. Here, only a brief overview is provided.
The user (engineer) can book working hours on a ticket using two different modes:
- Using the Time booking section in a ticket to book working hours directly on this ticket.
- Manual time bookings on the engineer profile page.
Using the Time booking Section in a Ticket to Book Working Hours Directly on This Ticket
Figure 428: ConSol CM Web Client - Time booking in a ticket
Manual Time Bookings on the Engineer Profile Page
Using the Time booking section on the engineer profile page to book working hours on a ticket. Only tickets where the engineer has performed certain activities and tickets owned by the engineer can be selected. A project also has to be selected from the list.
Figure 429: ConSol CM Web Client - Time booking on the engineer profile
Engineers can see a list of their time bookings on the engineer profile page. An example is shown in the following figure.
Figure 430: ConSol CM Web Client - Time booking report on the engineer profile
As an engineer, you can select whether you would like to see the bookings for the current day, week, or month. In the Day view, the projects are indicated, in the Week and Month view, only the sum of the booked times per day/week is indicated.
Automatic Time Bookings
Introduction to Automatic Time Booking
ConSol CM can be configured in a way that working hours are tracked and booked on tickets automatically. These bookings always refer to tickets and cannot be linked to projects.
The following times are registered:
- Duration of work with the Rich Text Editor
Started when the Rich Text Editor is opened and stopped when the Add button is clicked. - Duration of creating a ticket
Started when Create ticket is selected and stopped when the Create button is clicked.
Time booking is suspended when a ticket is transferred to the workspace and resumed when the ticket is brought back to the active work.
No times are booked on the ticket when ...
- an operation is canceled
- the engineer logs out manually
- the engineer session is ended automatically
Times are always booked with minute-precision and are always rounded up to the next full minute.
Configuration of Automatic Time Booking
In order to enable this functionality in your ConSol CM system, set the system property cmweb-server-adapter, automatic.booking.enabled to true.
Figure 431: ConSol CM Admin Tool - Set system property to switch on automatic time booking
Automatic Time Bookings from a User's Point of View (Web Client)
The engineer does not have to do anything in particular to work with automatic time booking. When he enters a comment in a ticket or creates a ticket, the time is booked on this ticket automatically and can be seen in the time booking report on the engineer profile page. An example is shown in the following figure.
Figure 432: ConSol CM Web Client - Automatically booked time in time booking report on engineer profile page
DWH Reports
If your company would like to be able to report at a more detailed level, the DWH provides a good basis. Reports can be developed that use the DWH data and provide, e.g., the times booked on a certain project by all engineers.
Page Customization for Time Booking
If the time booking feature is not required, you can turn off the feature by using the Page Customization, see section Page Customization for details.
The following two parameters are relevant in this context:
Using Time Booking Data in Scripts
Starting with ConSol CM version 6.11, the CM API contains a method to retrieve the time intervals booked on a ticket. Use the following method of the object workflowApi.
Set<TimeBooking> getBookings(Ticket pTicket)
You can use this method in Admin Tool scripts and in workflow scripts. Please note that in Admin Tool scripts, the workflow context might not be available!
The following example shows a script which can be called from a workflow activity. You might want to write the code directly into the script or place it in an Admin Tool script which is called from the workflow. For details about this principle, please refer to the ConSol CM Process Designer Manual.
Example of a Time Booking Script
The script:
import com.consol.cmas.common.model.ticket.Ticket
import com.consol.cmas.common.model.time.TimeBooking
log.info 'Running script printTimeBookingsToTicket ...'
def ticket = workflowApi.ticket
def bookings = workflowApi.getBookings(ticket)
def eng
def per
def per_date
def per_time
def text = 'Booking info: \n'
if (bookings.size() > 0){
log.info 'Time bookings found in ticket ' + ticket.name
bookings.each() { bk ->
eng = bk.engineer.name
per = bk.timePeriod
per_date = per.bookingDate
per_time = per.bookedTime /1000 / 60 / 60
def text1 = 'Engineer: ' + eng + ', Date: ' + per_date + ', booked time: ' + per_time + 'hours'
text += text1 + '\n'
}
workflowApi.addTicketText(text, 'Time Booking report for this ticket', false)
} else {
workflowApi.addValidationError('INFO', 'No booking on this ticket.')
}
return
Code example 85: Admin Tool script, called from a workflow: all time intervals booked on the ticket are printed into the ticket history as comment
The output in the respective ticket: