Fieldcode Manual

Tip: You can use filters for better results

The optimization behavior can be customized per dispatch group. You can create custom profiles and use the profiles differently depending on the usage scenario. 
You can fully customize the route optimization preferences, time window parameters for tickets, PUDO appointment scheduling behavior, Skills requirement consideration, and/or apply the optimization only on individual tickets (filters) and many other options.

  • You can define which parameters should be considered at all during the optimization.
  • You can define how important/less important certain parameters are to achieve your specific optimization goal.
    The importance scale varies from 0 to 10.
    0=Less important; 10=More important
  • You can use filters to determine whether only certain types of appointments should be optimized or, for example, only certain projects or, for example, only tickets that are on the Timeline.
  • You can create several different custom optimizer profiles per group.
    This is useful, for example, if there are different usage scenarios per group and you, therefore, want to be able to quickly change the profile.
  • Please note that you can always have just one custom optimizer profile activated per group.

This high level of flexibility makes the Fieldcode Optimizer experience as unique and personal as your company.

Please note the optimization basics before starting to customize your optimization profile:

  • One optimization can run for one dispatch group at a time.
  • We recommend no more than 15-20 engineers per group and no more than 200-300 tickets in the optimization scope.
  • With larger groups, you will notice exponentially longer calculation times for great results, as the number of possible combinations of matching engineers and tickets multiplies.
  • Fewer constraints give the optimizer more freedom and faster results (e.g. locking tickets or engineers unnecessarily, adding the earliest and latest date or hour, or distance constraints add complexity and limit valid scheduling options). Therefore, we recommend that you set up the application with only the absolutely necessary restrictions.
  • You can define the ticket scope not only in the Optimization settings of the Admin Panel, but also by setting the value of the Optimizable field on the tickets: Tickets that are unique in some way can be excluded from optimization by setting them to “Optimizable: No”. For example, certain ticket subcategories or tickets from remote cities can be configured as out-of-scope for optimization, so they are excluded from the optimizer’s scope from the start, thus reducing the number of possible combinations. Don’t hesitate to get in touch with customer support if you need assistance setting-up exclusion rules.

Please also note the optimization profile basics before starting to customize your optimization profile:

  •  You can configure optimization settings for each dispatch group separately in Admin Panel / Dispatch Groups / Optimization. If you don’t configure anything, optimization will still work with the default system settings.
  • A dispatch group can have multiple profiles, but only one active profile. The active profile defines which settings will be used when optimization is run for the group. If you’d like to try and compare how the optimizer performs with different settings, you can create (even clone) different profiles and switch between them by using the Active toggle. This way, if one setup works for you, but you’d like to check the performance of another setup, you can do so relatively risk-free.

You can create individual optimization profiles that cover different scenarios.:

  1. Inside the Optimization tab click on the plus button to add a new custom profile.
    Alternatively, you can edit an existing custom profile by clicking on the item.
  2. Enter a name for your new or existing custom profile.
  3. You can then edit all the different settings.
    The individual settings are explained further below.
  4. (Optional) – You are able to reset a profile to default optimization parameters by clicking on the black Reset to default button inside a profile.
  5. Click Save after configuring all the parameters to your requirements.
Creating a new custom optimization profile.

Route optimization preferences

You can configure your route optimization preferences by their importance to your business. These preferences are non-exclusive, you can give any combination of importance to different factors. You can influence which route options and resource allocations will be preferred and result in a better optimization score.

The route optimization preferences sliders set up the relative importance of route alternatives.

Adjusting sliders inside the Route optimization preferences
  • Reduce driving distance slider
    Assign higher importance to this parameter if reducing driving distance (in meters) plays crucial role for you.
    You can reduce maximum amount of CO2 emission with this parameter if you give it high importance.
Recommended Optimizer Settings:

Move the Reduce driving distance or time slider to a higher value if the smallest drive is more important compared to the rest.

  • Reduce driving time slider
    Use this setting if you are paying your workforce for their spent time per day.
    We will optimize the schedule to reduce driving times per engineer.
    The CO2 footprint might rise with this parameter if you give it high importance.
Recommended Optimizer Settings:

Move the Reduce driving distance or time slider to a higher value if the smallest drive is more important compared to the rest.

  • Schedule tickets as early as possible

    Use this setting with higher importance if delivering as many tickets as early as possible is important to you. Delivering as many tickets as possible as early as possible may result in longer driving distances.

Recommended Optimizer Settings:

Move the slider to a higher value if your main goal is to get the tickets dispatched at the earliest time even though it might result in longer routes.

  • Reduce idle time for engineers between tasks slider
    Use this setting with higher importance if you want to shorten the wait in-between task assignments time by reducing idle times. Having reduced idle times for your engineers may lead to more tickets getting done per day, but also higher engineer frustration potential.
Recommended Optimizer Settings:

Move the slider to the value of 10 if it's the upmost important goal for the business.

Time window parameters for tickets

When dispatchers schedule tickets, it is important that they fit them on the desired time window which is satisfactory both for contractual requirements.
Our system can use several parameters to either precisely or loosely define the time window where a ticket has to be assigned by the optimizer. 
Let’s have a closer look at which setting does what exactly.

Adjusting the time window parameters that should be taken into consideration
  • Service-level agreements (SLA) checkbox
    Tickets can have an SLA Profile set up which defines business days and business hours when service delivery can happen. If this setting is enabled, the optimizer will check the business hours relevant to the ticket and will not schedule it outside of these hours. If there is no SLA definition on the ticket, the optimizer can schedule it 24×7 when an available engineer is found.
Recommended Optimizer Settings:

We recommend you turn this setting On if you have configured the SLA Profile for your tickets. If you for example have tickets with 2BD with business hours configured from 08:00 to 16:00, the Optimizer will only schedule tickets within those business hours, even if your engineers would work 24x7. You should turn the checkbox Off if you haven't configured SLA Profiles or the customer business hours are irrelevant to you, and you only care about the engineer's working hours.

  • Latest service delivery time (LSDT) checkbox
    If enabled, the optimizer will not schedule appointments that start later than LSDT. If disabled, the optimizer will ignore the LSDT value even if provided.
Recommended Optimizer Settings:

Turn On if you want to allow the Optimizer to schedule tickets only before LSDT expiration. Turn Off if you want to allow the Optimizer to ignore the LSDT and schedule tickets, even after LSDT expiration.

  • Earliest service delivery time (ESDT) checkbox
    If enabled, the optimizer will not schedule appointments that start earlier than ESDT. If disabled, the optimizer will ignore the ESDT value even if provided.
Recommended Optimizer Settings:

Turn On if you want to allow the Optimizer to schedule tickets only when the ESDT begins. Turn Off if you want to allow the Optimizer to schedule tickets, even before the ESDT begins.

  • Fixed interval appointment checkbox
    If enabled, the optimizer will not schedule appointment outside of the Fixed appointment time frame. In case the Timeline is overplanned or too many tickets have a Fixed appointment time frame for not enough resources, some tickets will stay or be sent back to the Ticket Pool. If disabled, the optimizer ignores the Fixed time frame and can put tickets to different places. We do not recommend doing so as it can result in some data inconsistencies.
Recommended Optimizer Settings:

We recommend you turn this setting On in general. If you turn this setting On the scheduling of tickets outside of the fixed service windows is forbidden, which is in general the behavior one should aim for. Turn Off if you want the Optimizer to ignore fixed service windows.

  • Proposed interval appointment checkbox
    If enabled, the optimizer will not schedule appointments outside of the Proposed appointment time frame. In case the Timeline is overplanned or too many tickets have a Proposed appointment time frame for not enough resources, some tickets will stay or be sent back to the Ticket Pool. If disabled, the optimizer ignores the Proposed time frame and can put tickets to different places.
Recommended Optimizer Settings:

We recommend you turn this Setting Off in general. If you turn this setting Off the Optimizer ignores the proposed service windows which is in general the behavior one should aim for. It is also useful to turn this setting Off if your business doesn't utilize proposed service windows at all. Turn On if you want to allow the Optimizer to only schedule within the proposed service window.

PUDO appointment scheduling

In this section, you can configure how optimizer considers PUDO appointment scheduling. If this parameter is turned on, optimizer will check all part requirements on the tickets and in case parts are delivered to PUDO locations, it schedules the PUDO appointments prior to customer appointments. We recommend turning this parameter on, otherwise PUDO appointments might not be created or not in the optimal way for your onsite engineers day.
Let’s have a closer look at which setting does what exactly.

Adjusting the PUDO appointment scheduling preferences
  • PUDO appointment scheduling toggle
    If this parameter is turned on, the optimizer will check all part requirements on the tickets and in case parts are delivered to PUDO locations, it schedules the PUDO appointments prior to customer appointments.
Recommended Optimizer Settings:

You can enable PUDO appointment scheduling if you’d like to schedule PUDO appointments with the Optimizer. If your group doesn’t work with cases with spare parts, we recommend turning the PUDO appointment scheduling Off.

  • Estimated time of arrival (ETA) checkbox
    If enabled, the optimizer will check the ETA time for parts and not schedule a PUDO appointment before ETA. If disabled, the optimizer takes as all necessary parts are already delivered.
Recommended Optimizer Settings:

We generally recommend that you enable this setting to ensure that the Optimizer cannot schedule tickets and PUDOs before the part's actual ETA. If the Part ETA value is irrelevant to your scheduling processes you can turn this setting Off.

  • Opening hours checkbox
    PUDOs can have opening hours maintained in the Admin Panel. If this parameter is enabled optimizer will check the opening hours on the PUDO and not schedule tickets outside of opening hours. If there are no opening hours defined or this setting is disabled, it is considered that the PUDO is open 24×7.
Recommended Optimizer Settings:

We generally recommend that you turn this setting Off, if you don't maintain PUDO opening hours and if they are irrelevant to your schedule processes. You can turn it On, however, if you are maintaining PUDO opening hours in the Admin oanel, and if you don't want that PUDO appointments can be scheduled by the Optimizer outside of those hours.

  • Use part storage time from project settings
    Parts are stored at PUDOs for a limited time only. In Project settings, part storage interval can be configured and by enabling this option, the optimizer will consider the part storage interval and only schedule PUDO appointments between part ETA and storage time end (if both are provided).
Recommended Optimizer Settings:

We generally recommend that you turn this setting On. You can enable this setting if tickets or PUDO appointments shouldn't be scheduled by the Optimizer after the part storage end time. You can turn this setting Off if the part storage time is irrelevant to your schedule processes.

  • Earliest time before ticket info field
    Our system default is that PUDO appointments are scheduled the same day (or max. 8 hours before).
  • Latest time before ticket info field
    Our  system default is that PUDO appointments are scheduled the same day (or max. 8 hours before).

Skill requirement consideration

If admins don’t want to see engineers assigned to tickets they don’t qualify for based on their skills, admins should enable the Skills consideration for optimizer. If disabled, optimizer will not check if engineers have the matching skills, only other availabilities, ticket requirements.
Let’s have a closer look at which setting does what exactly.

Adjusting the skill requirements consideration preferences
  • Skill requirements toggle
    If admins don’t want to see engineers assigned to tickets they don’t qualify for based on their skills, admins should enable the Skills consideration for the optimizer. If disabled, the optimizer will not check if engineers have the matching skills, only other availabilities, and ticket requirements.
Recommended Optimizer Settings:

You can enable this toggle if you want the optimizer to check skill requirements on tickets and try to find matching tickets. We recommend turning the skill requirements consideration toggle to On.

  • Mandatory engineer skill cannot be violated checkbox
    If you enable this, the optimizer will never assign tickets to engineers not matching the mandatory skill requirements. It can mean that you have fewer tickets assigned, but no engineer with lacking skill will be assigned to a task they are unqualified for. If disabled, engineers having the matching skill are still preferred by the optimizer, but if we have more tickets than engineers, some tickets might be assigned to not matching engineers.
Recommended Optimizer Settings:

We generally recommend turning this On if mandatory skills must be matched. The Optimizer can only generate solutions where mandatory skills are matched. You can turn this checkbox Off if engineers with mandatory skills are preferred, but in case an unmatching engineer is found with e.g. a more optimal route, this engineer can be assigned as well. It can result in a lower optimization result score but can be, nonetheless, a valid solution.

  • Mandatory engineer skill importance slider
    You can adjust the weight for the optional skill-matching here. Adjusting the slider changes the importance of the mandatory skill-matching for the optimizer. If you maximize the value here, it could mean that mandatory skill matching is even more important for you than route optimization. 
    Moving the slider to the highest value (10) means that mandatory skills are so important that the optimizer returns with solution errors if the criteria are not met.
Recommended Optimizer Settings:

We recommend adjusting this slider according to individual business requirements. Moving the slider higher gives mandatory skill matching more weight in the optimization result score. Only move the slider to 10 if you want the optimizer to throw solution errors when criteria are not met.

  • Optional engineer skill importance slider
    You can adjust the weight for the mandatory skill-matching here. Adjusting the slider changes the importance of skill-matching for the optimizer. If you maximize the value here, it could mean that optional skill matching is even more important for you than route optimization.
    Moving the slider to the highest value (10) means that optional skills are so important that the optimizer returns with solution errors if the criteria are not met.
Recommended Optimizer Settings:

We recommend adjusting this slider according to individual business requirements. Moving the slider higher gives optional skill matching more weight in the optimization result score. Only move the slider to 10 if you want the optimizer to throw solution errors when criteria are not met.

Dispatch preferences

  • Does not set any service window (neither fixed or proposed) checkbox
    With the first available option, the optimizer will not set any service window (neither fixed nor proposed). If tickets have already a service window, it is kept. For other tickets, as a result, a dispatched time and engineer will be set for the appointment. To be able to publish the latter, dispatchers need to open the Scheduling assistant and set up the service window
Recommended Optimizer Settings:

We generally recommend you pick the first option which is called "Does not set any service window (neither fixed or proposed). When the optimizer places a ticket on the Timeline, it doesn't set a fixed or proposed service window. This means that even though the ticket is on the Timeline, it cannot be published to the engineer's FMA until the Fixed/Proposed window is set in the Scheduling Assistant manually. If you pick the second option called "Sets a proposed service window (if one does not exist)" the following will happen. If the optimizer places a ticket on the Timeline without an existing service window, the optimizer sets a proposed service window with the optimization interval. You can publish the ticket without a dispatcher using the Scheduling assistant. (This can be useful if you want to publish tickets without fixing them with your customer).

  • Sets a proposed service window (if one does not exist) checkbox
    With the second option, the optimizer sets a proposed service window for those tickets that did not have a proposed or fixed service window prior to optimization. The proposed service window in this case is the optimization interval.
Recommended Optimizer Settings:

We recommend turning this option On depending on how much you want to benefit from the configurable engineer efficiency factor. You can turn this option On if you want to take engineer efficiency numbers into account and let the Optimizer automatically set the appointment duration according to the average efficiency of your engineers. You can turn this option Off If all your engineers have the default efficiency or it's irrelevant for your scheduling processes.

  • Enhanced optimization toggle
    If enabled, on optimization takeover, a background process will check non-dispatched tickets in optimization scope and try to place them on the Timeline in case there is free capacity on any engineer still left. The process goes through tickets like Scheduling assistant would do, but in an automated way prioritizing tickets with service window and higher score first. It might place tickets which optimizer wouldn’t do as it can be higher driving times and costs. Enable this option if it’s important to you to fill all gaps on the engineer’s Timeline even if it’s not optimal. 
Recommended Optimizer Settings:

We generally recommend you turn this option Off if you generally trust the optimizer to give you the best possible result in its runtime. If you turn this option On the Optimizer takes all your preferences into account and dispatches tickets to the Timeline according to the best possible solution score. However, if your rules and preferences are too strict, some tickets may be left in the Ticket Pool. Turn On the enhanced optimization if a "Full Engineer Timeline" is ultimately more important to you than the rest of the rules, and you'd like to run an extra check and possibly add some extra tickets to your Timeline with the most basic requirements (like a bulk Scheduling Assistant).

Driving preferences

Travel is a crucial part of field service delivery. In this section, you can set up controls for engineers’ routes.
  • Maximum distance in kilometers input field
    By default, optimization excludes all tickets or tickets with PUDO locations further than 300 km away from any engineer. Experience shows that no engineer will be found who can drive so much during a workday, so we exclude such tickets for better performance. In case you’d like to define a different radius, you can set a different number of kilometers here.
Recommended Optimizer Settings:

You have the option to specify how much an engineer can drive within one day (including the first and last drive of the day and to PUDO and customer appointments). Be careful, if you set it to a lower number, it can reduce the potential routes that engineers can take. However, if you have a maximum mileage policy, feel free to adjust it accordingly. (Note: We have a 200 km soft range limit in the background, which means that the optimizer will give preference to scheduling tickets within 200 km, but will allow you to schedule further).

  • Maximum distance between stops on engineer’s route (in kilometers)
    By adding a maximum distance between stops, you can limit the distance that the optimizer will use to schedule tickets between each stop.
Recommended Optimizer Settings:

You have the option to freely define the maximum distance between each route segment. Again, if it's configured too restrictive (low number), it can backfire and result in a low number of scheduled tickets.

  • Driving before working hours allowed toggle
    Some business profiles expect their engineers to drive to the first appointment before their working hours start or drive home after working hours at the end of the day. You can control how the optimizer shall treat working hours in regard to driving. If Driving before/after working hours is disabled, engineer driving time will be calculated within working hours. If enabled, you can configure what’s the maximum amount of time an engineer can drive before or after hours. They could be different and set according to your business preferences.
Recommended Optimizer Settings:

You can turn this option On if your engineers’ driving is not limited to their working hours. PUDO appointments or tickets won’t be scheduled outside of their hours, but drivetime can. You can enter the maximum amount of drive allowed (which of course shall be less than the difference between the start and end of two working days working hours). You can turn this option Off if driving is also considered to be an engineer's working time, then even driving times are not scheduled during non-working hours.

  • Driving after working hours allowed toggle
    Some business profiles expect their engineers to drive to the first appointment before their working hours start or drive home after working hours at the end of the day. You can control how the optimizer shall treat working hours in regard to driving. If Driving before/after working hours is disabled, engineer driving time will be calculated within working hours. If enabled, you can configure what’s the maximum amount of time an engineer can drive before or after hours. They could be different and set according to your business preferences.
Recommended Optimizer Settings:

You can turn this option On if your engineers’ driving is not limited to their working hours. PUDO appointments or tickets won’t be scheduled outside of their hours, but drivetime can. You can enter the maximum amount of drive allowed (which of course shall be less than the difference between the start and end of two working days working hours). You can turn this option Off if driving is also considered to be an engineer's working time, then even driving times are not scheduled during non-working hours.

Miscellaneous

This section allows admins to configure miscellaneous settings for the Optimizer.
Let’s have a closer look at which setting does what exactly.

  • Ticket score toggle with importance slider
    If enabled, the optimizer will check the ticket score and higher ticket scores will get higher priority to get assigned to engineers.
    With the scale on the right, you can adjust the importance the ticket score plays in optimization.
    Moving the slider to the highest value (10) means that ticket scores are so important that the optimizer returns with solution errors if the criteria are not met.
Recommended Optimizer Settings:

We generally recommend you to turn On the ticket score toggle and adjust the importance slider freely to business requirements. You can turn this option On if you want the optimizer to consider the ticket score. Move the importance slider to 10 only if you want the Optimizer to display a solution error if a ticket with a lower score is placed on the Timeline against a ticket with a higher score (If you do this, it can, however, significantly reduce the number of solutions). You can turn this option Off if you don't define ticket scores in the Admin Panel at all or if ticket scores are irrelevant to your scheduling process.

  • Fixed tickets stay on Timeline toggle with importance slider
    If a ticket has a fixed time frame, we treat that there is already a customer agreement on the service delivery time frame which shouldn’t be violated. With this parameter, fixed tickets will be preferred to stay on the Timeline or be placed on the Timeline against those that don’t have any time frame set yet. Here you can also adjust the importance of this parameter if you want to ensure that as least tickets as possible are moved from Timeline. If you do so, it can result in longer driving and overall fewer tickets delivered, but customer agreements will not be harmed as a positive side note. 
    Moving the slider to the highest value (10) means that fixed tickets should stay on Timeline is so important that the optimizer returns with solution errors if this criteria is not met.
Recommended Optimizer Settings:

We generally recommend you turn On the "Fixed tickets stay on the Timeline" toggle and adjust the importance slider freely to business requirements. You can turn this option On if it's important that fixed tickets already on the Timeline stay there and no other tickets can be moved to the Timeline at the expense of removing them. Move the importance slider to 10 if it's critical to the business that fixed tickets stay on the Timeline and violating this rule would result in the display of solution errors. You can turn this option Off if fixed tickets on the timeline have no special importance in scheduling compared to other tickets. The Optimizer will still schedule tickets within the fixed service window if configured to do so, but will not give them additional priority.

  • Scheduling offset toggle with time field
    This setting ensures that the optimizer doesn’t schedule anything in the past. Our default offset is 30 minutes which means that nothing will be scheduled earlier than 30 minutes from now. You can adjust the times here and set a different offset if your business has different requirements.
Recommended Optimizer Settings:

The offset defines what is the earliest time the Optimizer can schedule anything, so we ensure there is time for dispatchers to maintain communication with the engineer/customer, publish tickets, etc. before the engineer needs to start working on a case. We generally recommend leaving it turned On with the default settings, even if you don't schedule for the same day, as it won't have any negative impact. 

Filters

In case admins would like to apply some specific filtering on optimization runs, they can do it from the Filters section. The filters applied here will be the pre-set filters for each optimization run. Therefore please only configure filters if you want to exclude tickets/engineers from the optimization scope in general.
Please also note that the default setting is: All tickets get optimized.

Filtering what appointment types and projects should be optimized - also with the option to optimize the Timeline only
  • Filtered by service window dropdown
    Only fixed appointments are optimized
    : Optimizer will only take those tickets in the Ticket Pool which have a Fixed time frame and tickets already on the Timeline for optimization interval and optimize them. Tickets not having a Fixed time frame will be excluded from optimization.
    Only proposed appointments are optimized: Optimizer will only take those tickets in the Ticket Pool that have a Proposed time frame and tickets already on the Timeline for optimization interval and optimize them. Tickets not having a Proposed time frame will be excluded from optimization.
    Only Fixed and Proposed Appointments are optimized: The optimizer will only take those tickets in the Ticket Pool which have a Fixed or Proposed time frame and tickets already on the Timeline for optimization interval and optimize them. Tickets not having a Fixed or Proposed time frame will be excluded from optimization.
Recommended Optimizer Settings:

You can enable the filter if you want to put only those tickets on the Timeline that have a fixed service window already. Use case example: You need the end user to book an appointment on the customer portal or the ticket is created with a fixed service window or the dispatcher has already called the customer. Therefore, no appointments can be added to the Timeline without first fixing it with the customer.

  • Excluded projects dropdown
    In case certain projects are supposed to be scheduled only manually and not in an optimized way, they could be excluded from optimization.
    Tickets under these projects will be ignored by the optimizer even if they are in the same dispatch group as other tickets in scope.
Recommended Optimizer Settings:

You can exclude certain projects from the optimization scope. Use case example: You are managing a project where cases should be handled manually.

  • Engineers in scope dropdown
    In case only certain engineers should be in optimization scope you can select those individually.
    If you select all, all engineers will in optimization scope.
    If you select nothing, all engineers will be in optimization scope.
Did you know?

The engineers in scope settings inside the Dispatch groups menu is a global setting.
You can always also decide which engineers should be in scope when you are actively using the Optimizer inside the Place.

Recommended Optimizer Settings:

Partner engineers are excluded from optimization anyway, so feel free to exclude them right away. If you have some other special engineers who will receive tickets only by some manual action, exclude them as well by de-selecting them in the dropdown.

  • Optimize Timeline only checkbox
    In case Optimize Timeline Only is selected, the default parameter for the Optimizer will be to optimize the current Timeline only. Dispatchers can change this behavior on-the-fly when starting the optimization.
Was this topic helpful?
0 out of 5 stars
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
5
How can we further improve this topic?
Please provide the reason for your vote. This will help us improve this topic.
Navigation