Skip to main content

Hello everyone! I need some help!

My client needs service appointments to be split equally for both resources, but we tested removing work rules and scheduling policies, but it didn't work.

Has anyone ever had the same need? If so, can you help me?

 

 I need my service appointments to look like this:Problem with distribution appointment

4 respuestas
  1. 4 abr 2023, 5:50

    Hi @Raisa Alves

    Based on the screenshot Service Appointments don't have travel time so I assume travel time is not a consideration.

     

    By "nature" optimizer attempts to maximize resource utilization unless other resources become better.

     

    Back to your question, if you assign SAs using Book Appointment global actions and want to balance a work, the customer first selects a suitable window which means the time is given and now you want to schedule SA to less busy resource. When slots are retrieved you don't know who is available in this window and how many SAs assigned to them. To do so you need to "interfere" in the middle using apex - when customer selects a window you need to update Arrival Window Start and Arrival Window End of SA and run Get Candidates. For each candidate received you need to count how many SAs assigned to them in a balance period (for example daily). The one who has lowest amount of work is the right one, so you need to set Resource Preference to either Required or Preferred on SA parent (WO or WOLI). Again you can do it in apex. Once resource preference is set it is a time to schedule SA. You can create a flow or LWC to manage end to end process.

     

    If you schedule SAs using Get Candidates the flow is different - you can either check when and then who or simply jump to who. After running apex on who you need to check how many, filter results, display filtered results (only one resource?), set resource preference on WO\WOLI and schedule SA to the right resource.

     

    Another option to explore is to use time phased skills with skill level with a single objective - Skills Level (least qualified). Let's say we have 2 resources: A & B. We have SA with Skill Requirement called "Test" and level 1. Resources A and B, in Service Resource Skills have "Test" skill with level 1 with Start Date today at midnight, End Date tomorrow at midnight. The first SA can be booked or scheduled to any resource because objective returns 100 for both. Lets assume SFS assigned SA to resource A - once SA is assigned you increase skill level by 1. Once next SA comes in the resource A will receive a grade of 0 and resource B is 100 because resource A has skill level 2 whereas resource B has skill level 1 and B is better because he is least "qualified". Here you need to have a process to create time phased skills on the resource and triggers to support schedule/unschedule processes. 

     

    Optimization, however, can't support your requirement in OOTB way - if appointments, such as preventive maintenance, are unscheduled optimizer will schedule them consecutively (I assume ASAP is not a consideration) being it first or second solution. If you want optimization to optimize within engineer you can set them as required.

     

    Hope it helps.

0/9000