What are Booking Journals? Field Service Booking Journals summarize the working, travel, and break time across technician activity records and use that information to calculate an internal resource cost. This summarization process may not be transparent and can at times be confusing. But with a little time, Booking Journals can become a useful source of information.
How do Booking Journals fit into the Work Order process?
To understand how Booking Journals fit in, we will first review the Work Order process and the important Field Service entities used in this process.
Let’s start with a story.
Who, what, when, where, why, and how are the basic questions in creating any story, and Field Service work is a type of story. There is a technician who works on an asset at a time and place for certain reasons and in certain ways.
All this information is stored in several Dynamics 365 entities. Field Service Work Orders answer the where, what, why, and how questions. Field Service Bookable Resource Bookings (or just Bookings) answer the who and when questions.
The Work Order entity holds the service location, asset, issue, and a list of tasks to perform.
The Booking entity holds the name of resource (technician) and date and time they are supposed to perform the work.
Note that there may be more than one booking for a work order, either because there is more than one technician required, or one technician is scheduled across more than one day.
How is progress indicated?
A dispatcher normally schedules an appointment for a technician to start the process. The technician then changes the status of the Booking to indicate progress. So, a Booking can have statuses of:
How are labor costs determined?
Field Service creates a time tracking log, and then converts that log into blocks of time. Booking Timestamps holds the activity log. The Booking Journal holds the summarized activities. Both entities are under the Work Order.
The Booking Timestamps entity holds the date and time of status changes. It is an activity log of when activities start and end, and when the entire Booking starts and ends.
The Booking Journal entity holds a summarization of these activities. It converts the timestamps into blocks of time corresponding to resource pay types:
- Working Hours: Time the resource booking status is in progress while the resource is within their scheduled work hours.
- Break: Time the resource booking status is “on break.”
- Travel: Time the resource booking status is “traveling.”
- Overtime: Any time recorded outside a resource’s normal working hours.
- Business Closure: Any time recorded by a resource when the company is closed, such as a holiday.
Summarizing the above six Booking Timestamps results in four Booking Journal records:
The Journal Types are mapped to the Resource Pay Types in Field Service settings.
A Resource Pay Type is simply a markup percentage to apply to the resource hourly rate.
These Resource Pay Types can be used to track costs for a booking. Field Service will multiply the Hourly Rate field in the Field Service Resource record times the Hourly Markup % field of the mapped Pay Type, times the duration of these blocks of time.
Consider this example:
- Resource Hourly Rate: $30
- Booking Journal Type: Overtime
- Overtime Pay Type Hourly Markup %: 150
- Booking Journal Duration: 90 minutes
- Booking Journal Total Cost: ?
The hourly rate applied to the Duration is $45 ($30 x 150%) and the Total Cost field in the Booking Journal will be $67.50 (45/hour x 1.5 hours).
When is a journal record created?
Booking Journal records are only created when the Bookable Resource Booking is set to a status of “Completed.” Canceled bookings will not have Booking Journal records.
How is a journal record created?
The process used by Field Service to summarize Booking Timestamps into Booking Journals is a bit complicated.
- It matches the starting and end times for each activity to determine duration.
- There is a complicated decision about the Journal Type for each Booking Journal. Field Service uses the Resource Work Hours calendar to determine if the time is within normal working hours or not.
- If outside of normal working hours, there is an additional step to determine if this is overtime or during a business closure, which can have a different rate.
- If the activity crosses over one of these boundaries, starting in one time and ending in another, then that activity time is split.
When is this process confusing?
What can be confusing is that any activity outside of normal working hours is considered overtime, or business closure. So, travel, working and break time are summed together.
In this example, work hours are defined at 8 AM to noon, and 1 to 5 PM. Here, all the timestamps are outside of normal business hours on a day when the business is not closed.
How does Field Service summarize this? As one block of billable overtime for billable and non-billable activities; traveling, break, and working hours.
Also, no Booking Journal records are created if the Booking status is Canceled, even if there has been billable activity.
What is in the journal record?
Outside of the standard fields in Dynamics 365, the important used fields are:
|msdyn_billable||If this journal is billable. Display Name: Billable. Type: Two Options.|
|msdyn_duration||The total duration of this journal record. Display Name: Duration. Type: Whole Number.|
|msdyn_endtime||The end time of this journal record. Display Name: End Time. Type: Date and Time.|
|msdyn_journaltype||Type of journal. Display Name: Journal Type. Labels: Working Hours, Break, Travel, Overtime, and Business Closure. Type: Option Set.|
|msdyn_starttime||The start time of this journal record. Display Name: Start Time. Type: Date and Time.|
|msdyn_totalcost||The total cost the company pays to the resource. Display Name: Total Cost. Type: Currency.|
|msdyn_unitcost||The hourly cost the company pays to the resource. Display Name: Unit Cost. Type: Currency.|
When is a journal billable?
- For working hours, overtime or business closure, the Billable field is set as True.
- For break, the Billable field is set to True when the Break Hours Billable field on the Price List associated with the work order is set to Yes, otherwise the Billable field is set to False.
- For travel, the Billable field is set to True when the Travel Charge Type field on the Account for this work order is set to Hourly, otherwise the Billable filed is set to False.
- If non-billable break and travel occur outside of normal business hours, they will be included in billable overtime or business closure hours.
What if the Field Service summarization process does not match my needs?
Dynamics 365 entities can be enhanced with new fields, workflows, and plugins. Some examples:
- The start and end times could be stored in with rounded values in new fields.
- The Billable field could be set to a different value, after the record is created. However, the cost fields would need to be adjusted as well.
What if my needs are complex, requiring the tracking of labor laws, such as “prevailing wage?”
- It would probably be better to consider integrating with software specifically designed to track these legal requirements.
Use these notes as a guideline to what Dynamics 365 Field Service 8.x offers, and what can be modified, and when to transfer time tracking to other software.
As this is an introduction to Booking Journals and not the full features of Field Service resource handling, please see the references for additional information.
Be sure to subscribe to our blog and happy D365’ing!
- Microsoft. (March 19, 2019). Set up bookable resources (Field Service). Retrieved from https://docs.microsoft.com/en-us/dynamics365/customer-engagement/field-service/set-up-bookable-resources on October 25, 2019.
- Microsoft. (September 29, 2017). Set up resource pay types to track costs associated with resource bookings (Field Service). Retrieved from https://docs.microsoft.com/en-us/dynamics365/customer-engagement/field-service/set-up-resource-pay-types on October 25, 2019.
- Microsoft. (September 14, 2017). Set when your business is closed (Customer Service). Retrieved from https://docs.microsoft.com/en-us/dynamics365/customer-engagement/field-service/set-when-business-closed on October 25, 2019.
- Microsoft. (July 31, 2019). Work order life cycle and statuses. Retrieved from https://docs.microsoft.com/en-us/dynamics365/field-service/work-order-status-booking-status on October 25, 2019.
- Baum, S. (December 13, 2016). Add Billable vs. Non-Billable Setting to Pay Types. Dynamics.com. Retrieved from https://experience.dynamics.com/ideas/idea/?ideaid=1c59d587-abc0-e611-80c1-00155d460d5e on October 25, 2019.