Time Tracking - Auto-capture
Auto-capture is a feature to capture the time spent on a service request by admin and by TC employees. This feature automatically track the amount of time you spent on each work item and saves it into the time tracking database. All the individual time records will be accumulated and send to the CRSD for time approvals or rejections. This feature does have the capability to add manual time in case if the tracking time is incorrect. The below scenarios gives us a overall idea of the features.
In order to demo this feature, you can access the link below for WLMDemoPortal in SCED enviornment
https://ncdworkloadmanagementdemoportalapp01.azurewebsites.net/
Note: service request = work item
Create a new ServiceRequest and tracking the time from start to end:
To create the work item, go to the “Request Board” tab and click on the “Add request” button.
We have a form on UI that has three tabs to fillout the information according to your need and submit it.
On submission, a work item has been successfully created with an associated external service request Id created in CRSD. This external request id very important to perform any time entry related operations, service estimates and service performance calculations for future purposes. If the external request id is empty, then there is no way to track down or communicate with CRSM.
On creating a work item, a time entry has been logged with time spent, hour type “Regular”, time entry status “Timesheet” and activity “Administrative Tasks” into the time tracking database.
2. Working on work item:
When we open a work item by selecting a service request. It will log an entry into time tracking with start time only. If we go back to the work item listing by clicking on the “Back to request board” it will log the end time in the same time entry. So it captures overall time spent within that session on a service request.
If we open a work item and leave it. A popup will come with “Session expiration notification”. It means you opened a work item and system detected that you are idle and you are doing nothing on the work item. This popup has two options. By clicking on the “Yes, keep working” button there is no entry logging in time tracking. If we click on “No, back to the request board” then previous time entry has been updated with end time. This popup has managed with a time counter which we can set from the appsettings.
After the popup time ends, a new popup has come with message “The session has timed out!” and previous time entry will be updated with end time. This popup also has two options. By clicking on the “Continue” button. A time entry will be logged with start time only. It means we are working on it and by clicking on the “Close” button we will move to the request board with no activity on the time tracking end.
We can handle these pop up feature flags with appsettings properties.
DisplaySessionExpiryPopup: The following code snippet explains the logic where the flag needs to be turned off/on
DisplaySessionExpiryPopup = _configuration.GetValue<bool>("DisplaySessionExpiryPopup");
SessionTimeoutIdleTimes
SessionExpiryCountDownMaxValue
CountDownCount = _configuration.GetValue<int>("SessionExpiryCountDownMaxValue");
SessionCountDownBufferTime
int countdownTimer = _configuration.GetValue<int>("SessionCountDownBufferTime") * 60 * 1000;
3. When we open a work item and scroll down to the end. In the bottom we have the status section in which we can see the status of the work item and have two options:
· I am working on it
· Postpone request
By clicking on the “I am working on it” button the status of the work item will be changed to “In progress” and now we have the three options
· Waiting on client
· Complete
· Postpone request
If we will leave the work item and will do nothing, then step 2 will repeat.
By clicking on the “Complete” button a “Time Capture Confirmation” popup will come with time spent. This popup has two options with question “Does this look correct?” Yes or No.
By clicking on the “Yes” button an admin time spent entry will log in the time tracking. Another popup will come with title “Time Capture Confirmation” and “Close” button.
The status of the work item has been updated to the complete. This time entry will be moved to the “Complete” tab as well.
By clicking the “No” button we have the input fields for hours and minutes below the Actual Time title. We can add the hours and minutes and submit it. By clicking the submit it will update the time spent.
By clicking on the waiting on the “waiting on client” button status of the work item will change to pending.
By clicking on the “Updated with client response” button. The status of the work item will change to follow up
After filling up the information and clicking on the save button. The status of the work item will change to OnHold
And we also have the banner on the top.
By clicking on the “Remove hold” button. The status of the work item will change to new.
We are also managing the audit in timeentry database for each action of time tracking, the following information provides the time spent with the following reason:
If we create a work item, the reason of work item will be created in the audit table as “WorkItem Created”. So the associated time will be saved in the timeentry database table.
When you start working on a work item reason will log in the audit table as “WorkItem Opened”.
When you are idle and after opening the the work item, UI detects that you are idle and “Session Expiration Notification” popup will appear
By clicking on the “Yes, Keep Working” button reason will log in the table “Timeout about to expire, User resume on WorkItem”.
By clicking on the “No, return to the Request Board” button reason will log in the table “Timeout Expired, User clicked on Return to Request Board”
When we did nothing after the “Session Expiration Notification” popup. Then after a specific time which we can manage through appsettings as I mentioned earlier a second “Session Expiration Notification” popup will come and reason will log in the table that “Timeout Expired, No User Interaction”.
By clicking on the “Continue” button reason will log in the table that “Session Expired, WorkItem Reopened”.
By clicking on the “Close” button reason will log in the table that “Timeout Expired, No User Interaction”.
By clicking on the “Complete” button reason will log in the table that “WorkItem Completed“
Scenario1:
When user click on "yes, keep working" please add the time to the timeentry
For example: I started working on a work item 10:00AM and worked until 10:30, system detected idle timer after 15 minute and pop up will be displayed by the countdown timer and I clicked on "Yes, keepworking” button
so total time would be
30min + 15min(Idle activity)-1(countdown timer) = 44 minutes and continue will add the time to timeentry db
Scenario 2:
I clicked on "no, back to request board “ after I detect idle timer popup
For example: 10:00am started, 10:30 idle time detected, around 10:45 I clicked back to request board
total recorded time 10:45-14 min = 10:31, so total time recorded 31 minutes in the database.
Scenario 3:
Received session expired dialog, clicked on “continue”, time captures again and repeats scenario 1 and scenario 2
Senario 4:
Received session expired dialog, clicked on “close”
Deduct last 15 minutes and add it to time entry table
For example: 10:30am clicked on continue-->started fresh time capture
11:00am idle time kicked in and 11: 15am expired notification received.
so total time spend was 11:15am -15 min(idle timeer) = 11:00AM
then 11:00AM-10:30am = 30 min spent and recorded in to the time entry database.