Views:

The Project Service Automation capabilities in Dynamics 365 help you find the right resources at the right time for the right project and make sure all resources are utilized efficiently.

Deploy your company’s consultants efficiently and effectively with the Project Service Automation. These provide you with the tools you need to schedule resources based on the requirements and schedules of consulting projects and on the skills and availability of your consultants. You can quickly find the most qualified consultants who are available to work on projects, and you can easily see how to better schedule them during the course of each project.

Resource scheduling helps you do the following:

  • Match resources to projects, based on how well their skills and proficiency levels match the project resource requirements.

  • Match a resource’s schedule to a project calendar, based on their availability and scheduled time off. The color-coded calendar gives you visual cues about resource availability.

  • Review the capacity of each consultant and determine how that capacity is currently used. This can help you find where a consultant might be under- or over-utilized, or if they’re working at capacity.

  • Assign a percentage or a specific number of hours for a worker’s capacity to a project.

  • Make group resource bookings.

  • Soft book or hard book resources, and convert soft-booked hours into hard-booked hours in one step.

  • Automatically form a project team based on resources defined in a work breakdown structure for a project.

  • Fulfill resource requests (book, propose, find substitute resources).

  • Assign resources according to a central (resource manager assigns) or hybrid model (resource manager and other managers can assign). For more information about setting a central versus hybrid resource management model, see Configure additional parameters settings (Project Service Automation).

    You can manage resources efficiently across projects and ensure that projects are staffed appropriately. You’ll need to perform the following tasks:

  • Manage resource requests. Match the skills and proficiencies of your consultants to the right projects.

  • View resource availability. Check consultants’ availability in a calendar view.

  • View resource utilization. See the percentage of time that your consultants are currently booked.

  • Schedule resources for a project. Schedule consultants for a project.

     

Manage resource requests (Project Service Automation)

Account Managers and Project Managers regularly request resources for their projects. With the Project Service Automation capabilities in Dynamics 365 Customer Engagement, you can find and match consultants who have the required skills and proficiencies to those resource requests.

  1. Go to Project Service > Resource Requests.

  2. Select a resource request and click Find Resources. This shows a calendar view of all resources and their availability, with color coding that provides a visual view of a resource’s booking status.

    Do any of the following to optimize your search:

    • Select a view or sort order from the top of the screen. You can also select whether to show availability for the DayWeek, or Month, and use the arrows to view the previous or next time period. Use the search box to find a specific resource.

    • Click Options to change what displays. For example, you can show a legend that shows the color scheme for the different types of bookings, or you can choose to show only a certain type of booking (for example, hard booking or soft booking).

    • Click Filter to display the Filter pane, which lets you filter your results by organizational unit, role, skill, or other attributes.

    ProjectService_ResourceRequestScreen

  3. In the calendar for the resource you want to book, select the time period to book the resource, and then either click Book to book the resource or Propose Booking to propose the booking and have the requestor approve it. When you book a resource, you can soft book or hard book.

 

Schedule resources for a project (Project Service Automation)

You can check resource availability to get an overall view of how booked your resources are, or you can filter the view by skills, team, location, and other options.

The schedule board shows list of resources and their availability. Select a view mode to show availability by HoursDayWeek, or Month.

Before you use the schedule board, it’s important to set it up. More information: Configure the schedule board (Field Service or Project Service Automation)

Important

To use the schedule board booking functionality, geocoding, and location services, you need to turn on maps.

  1. From the main menu, click Resource Scheduling > Administration.
    1. Click Scheduling parameters.
    2. Open record and scroll down to the Resource Scheduling Optimization section.
    3. On the Connect to Maps field, choose Yes.
    4. Accept terms and save the record.

  1. From the Main menu, click Project Service > Schedule board. From here, there are several ways to manually schedule a booking requirement. Choose the method that works for you.

Right-click on an unscheduled booking to find available resources

    1.  From the **Booking Requirement** list, right-click on an unscheduled booking and choose one of the following:  

        1.  Choose **Find availability - Current Resources** to find an available resource from the list on the schedule board.  

        2.  Choose **Find availability - All Resources**, to find an available resource from resources in the system  

            > [!NOTE]
            >  When you do this, the filters will show options for the selected booking requirement.  

        3.  When you see an available slot right-click on the time slot on the schedule board and choose **Book Here**. Or, drag and drop the booking requirement to the available time slot.  

Book a resource using the daily view and find who’s under-booked

    1.  On the schedule board, click **View Mode** and select **Days**.  

         This shows a grid view of how many hours a resource is booked per day and which days they are free.  

    2.  Click the name of the resource you want to book, and then click **Book**.  

    3.  On the **Resource booking (create)** dialog box, choose the project that you want to book the resource for along with booking method and start and end times.  

    4.  When you’re done, click **Book**.  

Drag an unscheduled booking requirement from the list view to the schedule board

    1.  Select an unscheduled booking requirement from the list at the bottom.  

    2.  Drag the booking requirement to an available resource/time slot on the schedule board.  

    3.  When you're done, click **Book**.  

View resource availability (Project Service Automation)

You can check resource availability to get an overall view of how booked your resources are, or you can filter the view by skills, team, location, and other options.

  1. Go to Project Service > Resource Availability.

    This shows a calendar view of all resources and their availability. Select a view or sort order from the top of the screen. You can also select whether to show availability for the DayWeek, or Month, and use the arrows to view the previous or next time period. Use the search box to find a specific resource.

  2. Click Options to change what displays. For example, you can show a legend that shows the color scheme for the different types of bookings, or you can choose to show only a certain type of booking (for example, hard booking or soft booking).

  3. Click Filter to display the Filter pane, which lets you filter your results by organizational unit, role, skill, or other attributes.

View resource utilization (Project Service Automation)

You can check resource utilization to determine utilization levels for your resources and help you make decisions about how to fully take advantage of your resources’ time.

  1. Go to Project Service > Resource Utilization.

    This shows a calendar view of all resources and their availability. Select a view or sort order from the top of the screen. You can also select whether to show availability for the DayWeek, or Month, and use the arrows to view the previous or next time period. Use the search box to find a specific resource.

  2. Click Options to change what displays. For example, you can show a legend that shows the color scheme for the different types of bookings, or you can choose to show only a certain type of booking (for example, hard booking or soft booking).

  3. Click Filter to display the Filter pane, which lets you filter your results by organizational unit, role, skill, or other attributes.

Use Resource Scheduling Optimization to schedule multiple bookings on a recurring basis (Field Service)

Use Resource Scheduling Optimization for Microsoft Dynamics 365 to automatically set up the system to schedule multiple bookings on a recurring basis.

The Resource Scheduling Optimization solution minimizes overall travel time and maximizes efficient use of all resources. It takes many constraints into account, such as resource availability, skills required, working hours, duration, and time windows to optimize the schedule.

For example, if you are using Dynamics 365 for Field Service you can set up the system to automatically schedule work orders.

If you've enabled the Common Scheduling Solution for other entities such as cases, opportunities, or leads, you can also use Resource Scheduling Optimization to automatically schedule time to work on those. More information: Scheduling anything in Dynamics 365 with Universal Resource Scheduling

Prerequisites

Before you install Resource Scheduling Optimization for Microsoft Dynamics 365, you need to have Dynamics 365 for Field Service with the correct licensing to use Resource Scheduling Optimization. 

Deploy (admin task)

To use this feature, first you need to install Resource Scheduling Optimization for Microsoft Dynamics 365.

  1. Sign in to https://portal.office.com with your global administrator or Dynamics 365 system administrator credentials.

  2. Select Admin centers > Dynamics 365.

  3. Select the Instances tab, and then the instance to add the solution to.

  4. Select Applications.

  5. Under Manage Applications, select the Resource Scheduling Optimizationsolution and then Manage.

  6. On the sign-in screen, use your global administrator or Dynamics 365 system administrator credentials. This is same info you used in Step 1.

  7. Select the organization from the drop-down menu. Verify the credentials and select Deploy.

    Deploy Resource Scheduling Optimization instance

    Note

    Resource Scheduling Optimization for Microsoft Dynamics 365 can only be deployed to one organization at a time in your tenant. If you get an error on this screen it is typically from the user name or password being entered incorrectly.

  8. On the Confirmation window, select Yes.

  9. On the Deploy Resource Scheduling Optimization Instance screen, verify your credentials and then select Deploy.

    Once authentication is successful, Please wait will appear at the top of the screen.

  10. Select Agree to proceed through the Terms of Service.

    The status will show Installation in progress.

  11. When the status changes to Waiting to link to Dynamics 365 organization, select Link.

  12. When the deployment is complete, select Finish.

    You will then be taken to the Manage Resource Scheduling Optimization Instance screen, where you can do the following:

  • Check for Updates: Check for updates to your Resource Scheduling Optimization instances.

  • Update User Credentials: Update the user credentials to whoever will be maintaining the link between Resource Scheduling Optimization and your organization. This user has a Resource Scheduling Optimization security role and can publish the Resource Scheduling Optimization schedule and run optimization jobs.

  • Change Organization: If you have multiple organizations in your tenant that use Resource Scheduling Optimization, then use this action to switch the connection to a different org.

  • Open Organization: Opens the organization whereResource Scheduling Optimization for Microsoft Dynamics 365 is deployed in a new tab.

Enable Resource Scheduling Optimization

To use Resource Scheduling Optimization, your user profile needs to have a security role. 

  1. From the main menu, select Resource Scheduling > Administration.

  2. Select Scheduling Parameters.

  3. Open a record and scroll down to the Resource Scheduling Optimizationsection.

  4. To use the schedule board booking functionality, geocoding, and location services, you need to turn on Maps. On the Connect to Maps field, choose Yes and accept the terms.

  5. On the Enable Resource Scheduling Optimization field, choose Yes.

    Enable Resource Scheduling

  6. Accept the terms and save the record.

Set latitude and longitude values

Next you'll need to set the latitude and longitude for the resource's organizational unit. These values are used by Resource Scheduling Optimization if the start and end location on the resource record are set to the company address.

  1. From the main menu, select Resource Scheduling > Organization Units.

  2. From the list of records, open an organizational unit record.

  3. Manually enter the latitude and longitude values on the form.

    Note

    To get latitude and longitude values, you can use a map service such as Bing Maps to find the latitude and longitude of an address.

  4. Save your changes. Then reload the form and populate the latitude and longitude for all organizational units that are being optimized by Resource Scheduling Optimization.

Set Booking Statuses

The booking status needs to be set so that Resource Scheduling Optimization will know how to handle bookings.

  1. From the main menu, select Resource Scheduling > Booking Statuses.

  2. From the list of records, open a booking status record.

  3. In the Resource Scheduling Optimization section, choose one of the following for Scheduling Method:

    • Optimize: A booking with this status lets Resource Scheduling Optimization move the booking around to optimize the best schedule.

    • Do Not Move: A booking with this status prohibits Resource Scheduling Optimization from changing the booking in any way. This behaves the same as if you set the booking to "locked to resource + time" on the scheduling lock options.

    • Ignore: A booking with this status Resource Scheduling Optimization will completely ignore. It is as if it doesn’t exist. Use this when the booking status is proposed but not confirmed, or canceled.

Assign security roles

The next step is to assign a security role to the user name used to deploy Resource Scheduling Optimization to your organization.

  1. From the main menu, select Settings > Security > Users.

  2. Select the user and then select Manage Roles.

  3. Check the box for Resource Scheduling Optimization and select OK.

  4. Save your changes.

  5. Then add the user to the Resource Scheduling Optimization – Administration, Field Security profile.

    From the main menu, select Settings > Security > Field Security Profiles.

  6. Select Resource Scheduling Optimization – Administration.

  7. On the left, select Users, and then Add.

  8. Select the user name, then Select, then Add.

  9. Save & Close.

Enable Resource Scheduling Optimization for resources

Next, you need to tell the system which Field Service resource will be used by Resource Scheduling Optimization. For example, if you need 10 field techs but you only want five of them to be used by Resource Scheduling Optimization for automatic scheduling, then enable just those five resources.

Note

Resource Scheduling Optimization will not work if the resource type is an asset or resource group.

  1. From the main menu, go to Field Service > Administration > Resources.

  2. Select a resource from the list of bookable resources.

  3. Scroll down to Resource Scheduling Optimization. For Optimize Schedule, select Yes.

Note

Under the Common section, make sure the resource has start and end locations and organizational unit set.

Set up the system to automatically schedule multiple activities

  1. From the main menu, go to Resource Scheduling > Resource Scheduling Optimization Administration.

  2. On the command bar, select New.

  3. Name: Enter a name.

  4. Schedule: Choose how Resource Scheduling Optimization will run:

    1. Timer: Define how often this schedule will run.

    2. Timer Mode: The instant when the schedule will start the timer. Choose Fixed or After Job Completion. For example, if the timer is set to 30 minutes, the first run will start 30 minutes from publish date/time. Fixed = run every 30 minutes. After job completion = run 30 minutes from the end of the last Resource Scheduling Optimization job execution.

    3. Valid From and Valid To: The first/last date and time when this schedule will be valid for execution.

  5. Expand the Filter menu. Specify when the engine should run - months, days of the month, days of the week, hours and/or minutes.

    Note

    This is an advanced option. If you leave all the filter options empty, the system will run using all the options.

Define Scope

  1. Scope: Define what Resource Scheduling Optimization should optimize for:

    1. Choose Select a Value to select an existing scope. Or New to create a new scope:

      1. Name: Enter a name.

      2. Resource Requirement State: Select which resource requirement should be selected based on its current state. Choose Only Scheduled or Schedule or Unscheduled.

      3. Range Reference: The starting time to be used for all subsequent work order calculations. Choose Job Current Time or Beginning of the Job's Current Day.

      4. Range Offset: Enter the amount of time that should be added to the range reference to define range start.

      5. Range Duration (days): Amount of days added to the range reference.

      6. Select Save.

      7. Select Add Territory Record to add a territory to the scope.

  2. When you're done save and close the record.

Define Goal

  1. Goal: Define how bookings should be optimized:

    1. Choose Select a value to select an existing goal. Or New to create a new goal:

      1. Name: Enter a name.

      2. Engine Effort Level: Choose how much effort Resource Scheduling Optimization should make to find the best auto-scheduling option.

      3. Choose Constraints:

        • Schedule Within Working Hours: Verifies that the task is not scheduled outside of the resource's working hours.

        • Meets Required Characteristics: Verifies the resource meets all the required characteristics, i.e. skills needed to complete the work.

        • Locked to Resource: If marked, Resource Scheduling Optimization will not change any locked resources in the booking requirement.

        • Scheduling Windows: If marked, Resource Scheduling Optimization will not change any locked scheduling windows in the booking requirement.

        • Restricted Resources: If marked, Resource Scheduling Optimization will check resource preference to see if it's "restricted." If the requirement has a restricted resource in which there is no expiration, or expiration in the past, Resource Scheduling Optimization will not schedule this resource for this booking requirement.

      4. Choose Objectives:

        • Locked Booking: The system will try to schedule the scenario that successfully creates or assigns the most “Locked” schedules to appropriate resources.

        • High Priority Requirements: The system will evaluate this objective, and give priority to the booking requirements with the highest priority.

        • Maximize Total Working Hours: The system will choose the results, and the resource with the highest aggregate work time will win this objective.

        • Minimize Total Travel Time: The system will choose the results, and the resource with the lowest aggregate travel time will win this objective.

      5. Select Save & Close.

    Once you have defined a scope and goal, select Save to save the schedule. Then Publish to publish it.

Note

To manually run scheduling optimization, on the command bar, select RUN NOW.

Publish or Reset Scheduling Optimization

  1. From the main menu, select Resource Scheduling > Resource Scheduling Optimization Administration.

  2. Select the schedule you want to publish or reset.

    • To publish, on the command bar, select PUBLISH ALL.

Monitor Scheduling Optimization Request

  1. From the main menu, go to Resource Scheduling > Resource Scheduling Optimization Administration.

  2. From the list, open a published schedule.

  3. Go to the Scheduling Optimization Request section and open a record to see the bookings that were created.

Note

To see why a booking was not created, from the main menu go to Resource Scheduling > Resource Requirements. Select the Requirements: Invalid data for Optimization Engine view.

Troubleshoot bookings

Enable schedule optimization for an existing work order

  1. Open an existing work order.

  2. At the top, select the menu next to the work order number and then Requirements.

    Work Order sub-menu

  3. Under the Resource Requirement Associated view, select the work order number.

  4. For schedule optimizing to work, make sure these fields are set:

    • Duration: This is how much time is expected to complete the work.

    • Scheduling Method: This must be set to Optimize.

    • Priority: Enter the priority of the work order.

    • Work Location: Select either On Site or Location Agnostic. If this is set to Location Agnostic then latitude and longitude are not required.

    • Latitude and Longitude: These must have a value if Work Locationfield is set to On Site.

    • Territory: This must have a value that is in the scope of Resource Scheduling Optimization.

  5. Save your changes and close the form.

Privacy notice

By enabling Resource Schedule Optimization, information, including schedule configuration information and work order details (location-relevant address information, such as account address and resource address) will be sent from Dynamics 365 to Bing Maps to allow for:

  • Determining the geo location (latitude, longitude) of a specific address.

  • Calculating the distance and travel time between locations.

    Bing Maps then returns the information to Dynamics 365. An administrator can subsequently disable Resource Schedule Optimization to prevent address information from being sent to Bing Maps.

Schedule anything with Universal Resource Scheduling (Sales, Customer Service, Field Service, Project Service Automation)

Schedule anything in Dynamics 365 using Universal Resource Scheduling. You can enable scheduling for any entity including custom entities.

For example, you can enable scheduling for the opportunity form and schedule marketing visits for your opportunities. You can also do this for the case form and schedule time to work on cases.

For organizations that use:

Note

This feature was introduced in CRM Online 2016 Update and CRM 2016 (on-premises) by the name of Interactive Service hub. With the December 2017 update, Interactive Service hub is now known as Customer Service Hub. Interested in getting this feature? Find your CRM administrator or support person.

Prerequisites

Before you can start using Universal Resource Scheduling, make sure you have the following:

  • You will need to have either Dynamics 365 for Field Service or Dynamics 365 for Project Service Automation.

  • A license for Universal Resource Scheduling which includes an Azure subscription. More information: Onboard your organization and users to Dynamics 365 (online)

  • To manage the solution once it has been deployed you will need user credentials with Universal Resource Scheduling security role.

Enable scheduling for an entity

When scheduling is enabled for an entity, the system creates a resource requirement record for the entity. This way, when you create a resource requirement, the system automatically checks which entity the resource requirement is for.

  1. From the main menu, click Resources Scheduling > Administration.

  2. Click Enable Resource Scheduling for Entities.

  3. On the Setup Wizard - Enable Scheduling, click Add Entity and select the entity that you want to enable scheduling for.

  4. Click Booking Relationship and select Create New Relationship.

  5. Click Requirement Relationship and select Create New Relationship.

    Note

    If you already have relationships created then you can select form an existing relationship.

  6. Click Publish Customization.

  1. On the BOOKING SETUP METADATA: INFORMATION form, use the tooltips to edit the default opens.

    Note

    To update the Booking Status Field Logical Name, you will first need to customize the system to add additional statuses. More information: Customize your Dynamics 365 system - define status reasons

    In attribute settings sections field, can be mapped from entity that was enabled for scheduling to fields on booking requirement. For example, from Date, to Date, Territory, Duration and others.

  2. When you’re done, click Save on the lower right corner.

Edit or turn off scheduling for an entity

  1. From the main menu, click Resources Scheduling > Administration > Enable Schedulable for Entities.

  2. From the list of Enable Entities, double click on the entity that you want to edit.

  3. When the BOOKING SETUP METADATA: INFORMATION form opens, do one of the following:

    • To turn off scheduling for the entity, on the command bar, click DEACTIVATE. On the Confirm Deactivation dialog box, click Deactivate.

    • Or, you can edit the form and when you’re done, click Save on the lower right corner.

Schedule something

Step 1: Create a resource requirement

  1. From the main menu, click SalesService, or Marketing.

  2. Choose and entity that has scheduling turned on. For example, let’s say it’s turned on for the Leads entity. In this case, from the main menu you would choose Marketing > Leads.

  3. From the list of leads choose an existing lead.

  4. When the form opens, go to the sub-grid menu, and click Resource Requirement.

  5. Under the Resource Requirement Associated View, click New.

  6. On the Resource Requirement form, use the tooltips to fill in the inform required information.

  7. When you’re done, click Save.

    A plugin runs and checks the relationships and automatically sets the booking set-up metadata relationship appropriately.

    Step 2: Schedule the booking requirement

    To learn more about the schedule board, Configure the schedule board.

    There a few different ways to schedule a booking requirement:

  • Option 1: Right click on an unscheduled booking and find available resources.

    1. From the main menu, click Resource Scheduling > Schedule Board.

    2. From the Booking Requirement list, right click on an unscheduled booking and choose one of the following:

      Choose Find availability - Current Resources to find available resource from the list of resources on the schedule board.

      -Or-

      Choose Find availability -Current Resources, to find available resource from resources in the system.

      Note

      When you do this, the filters will show the options for the selected booking requirement. If you can't find a available resource for the book, try adjusting the filters.

    3. When you see the available slot right click on the time slot on the schedule board and choose Book Here. Or, drag and drop the booking requirement to the available time slot.

  • Option 2: Drag an unscheduled booking requirement from list view to the schedule board.

    1. From the main menu, click Resource Scheduling > Schedule Board.

    2. Select an unscheduled booking requirement from the list at the bottom.

    3. Drag the item to an available resource/time slot on the schedule board.

  • Option 3: Schedule a booking requirement form the entity form.

    1. From the main menu, click SalesService, or Marketing.

    2. Choose and entity that as scheduling turned on.

      For example, let’s say it’s turn on for the Leads entity. In this case, from the main menu you would choose Marketing > Leads.

    3. From the list of leads, choose the lead that you want to schedule a booking for.

    4. When the lead form opens, on the command bar, click Book.

    5. Use the schedule assistant to book the requirement.