NextGen FSM
2026 Wave Two 2026 Wave Three 2026 Wave One
2026 Wave Two 2026 Wave Three 2026 Wave One

Gap Filling Scheduling

Gap Filling automatically fills the capacity left around already-assigned activities on the Daily Plan, by generating a virtual schedule you can review, refine, and confirm onto the real plan.

The Gap Filling scheduling feature, once enabled, works in two ways:

  1. Manually launched by dispatcher using the Daily Plan page.

  2. Automatically executed through a batch job that is executed based on its configuration.

Activate Gap Filling scheduling

  1. Navigate to FSM > Core > Technical Settings > Company.

  2. Locate the parameter company.fsm.forwardscheduling.

  3. Set the value based on your requirements:

    • Value true: Activates forward scheduling module. 

    • Value false: Deactivates forward scheduling module (default). 

Gap Filling automatic execution

Two ways to schedule the automatic execution of a Gap-Filling model for an Operation Center.

Method 1 - plan a recurrent execution

  1. Open Features > Scheduling Optimization > Automatic Scheduling > Scheduling Management.

  2. Filter on the Operation Center to view its Scheduling Models.

  3. Right-click the chosen model (Gap Filling type) and select Automatic processing calendar.

  4. On the Plan Processing tab, enter:

    • Implementation period (date from/to) in which the elaboration should be enqueued.

    • Processing Time (hour/minutes) when execution starts.

    • Exclude holidays — if set, holidays are skipped.

    • Days to process from — positive integer (> 0); added to the implementation period's start date to find the first day assigned in the virtual plan. If "Exclude holidays" is set, only non-holiday days count.

    • Days to process to — positive integer (> 0); same logic, for the last day.

  5. Click Plan. The process is enqueued in the Pending Processing section.

Method 2 - plan a single execution of the model

  1. Open Features > Scheduling Optimization > Automatic Scheduling > Scheduling Management.

  2. Filter on the Operation Center, right-click the chosen model and select Schedule Automatic Processing.

  3. On the Plan Processing tab, enter Processing Date (day/time) and Period to process (from/to).

  4. Click Plan. The process is enqueued in Pending Processing.

Common final steps

  1. At the next run of "Elaborate Queued Schedulings," the system executes all pending processing whose planned date has been reached.

  2. Once complete, click All proc. on the Automatic processing calendar page — or on the Schedule Automatic Processing page — to view completed runs.

Review the logs. Automatic execution logs are available from:

  • Technical Settings > Server > Processing Log

  • Features > Scheduling Optimization > Automatic Scheduling > Scheduling log

  • The Gap Filling tab in the Daily Plan, for the relevant Operation Center

  • From Scheduling Management, right-click the model > Process new simulation > in Search Processing, select date and model, right-click the execution > Scheduling logs

Gap Filling manual execution

From Features > Core > Daily and Multi-day Plan > Daily Plan, the feature is available in the Schedulable activities, Urgent activities and Clipboard tabs and their lateral panels — as a massive action in each tab/panel's context menu.

To run it, the dispatcher must select at least one resource and one activity; otherwise the elaboration is not enqueued. Clicking Simulate scheduling opens a popup to choose:

  • the period to simulate (Date From / Date To);

  • the scheduling model to use.

The model is not used to pick resources/activities in a manual run — only for other mandatory data like activity priorities and VRP process.

Once confirmed, the elaboration is enqueued and starts in the background as soon as possible. Review the result from the Gap Filling tab in the Daily Plan once processing completes.

Review the logs

Automatic execution logs are available from:

  • Technical Settings > Server > Processing Log

  • Features > Scheduling Optimization > Automatic Scheduling > Scheduling log

  • The Gap Filling tab in the Daily Plan, for the relevant Operation Center

  • From Scheduling Management, right-click the model > Process new simulation > in Search Processing, select date and model, right-click the execution > Scheduling logs

Gap Filling tab on Daily Plan

Shows manual executions launched by the server user in a dedicated panel of the Daily Plan, in two parts:

  • Top: every process enqueued for the currently loaded Operation Center, with the simulation model, the user who enqueued it, elaboration dates, requested dates, and status (with error, if any). Sorted by Start Processing Date, descending, by default.

  • Bottom: details of the selected process — activities included (with scheduling detail and any errors) and resources included. This section may show stale data while an elaboration is still running; it refreshes on the tab's next load.

Each execution's context menu includes Open Virtual Plan.

How to use the Virtual Plan from the Gap Filling tab on Daily Plan

Click Open Virtual Plan on a manual elaboration to open the virtual multi-day plan on the day requested as "Start Date" when the process was enqueued, showing the resources available that day.

On the virtual plan:

  • Only resources included in the elaboration are showed with their real-plan activities on the virtual plan too.

  • The multi-day Virtual Plan opens for the duration of the processed period; if this range exceeds company.fsm.dailyplan.virtualPlanMaxDateInterval, the initial display is capped at the first processed day plus the parameter value, though dispatchers can manually adjust the displayed interval afterwards.

  • An activity shown because it is already on the real plan carries an "R" marker on its box (not shown if the activity is too short to display it; customizable per language via the Translation module).

  • Expanding an activity's detail: virtual-only activities show status "Open"; activities already on the real plan show status "Fixed."

  • Move between days with the left/right arrows as in multi-day plan; a contextual zoom menu offers Show all, Two days, One day, Half day.

  • Schedulable activity searches (including urgent activities, bundler and clipboard) on the virtual plan also surface real-plan activities in the searched timeframe that are not assigned on the virtual plan (e.g. scheduled on the real plan after processing) — marked with a dedicated icon. To search these activities use the dedicated filters. Search is limited to activities assigned to resources included in the processing and showed in the plan.

  • Activities whose real-world status has since advanced to in-charge/in-execution (or otherwise locked) could not be manually unscheduled from the virtual plan.

  • Supported actions, as in virtual plan, except:

    • lock/unlock scheduling day are not support for Gap Filling models

Changes on the virtual plan stay private to that plan until confirmed — no other user sees them in real daily plan the meantime.

The Gap Filling tab is also visible from inside the virtual plan, filtered to the same scheduling model, without the ability to jump to another execution's virtual plan from there.

Confirm (crystallize) the Gap-Filling plan

Once you are satisfied with a virtual plan, use Confirmation to apply it to the real Daily Plan:

  • The system blocks a new confirmation if one is already running for the same scope.

  • New activities present only on the virtual plan are inserted onto the real plan.

  • Activities already on the real plan and confirmed unchanged on the virtual plan are left as-is; if their timing changed on the virtual plan, the real plan is updated accordingly.

  • Activities that were removed from the virtual plan (and are not protected — see below) are removed from the real plan and return to the schedulable pool.

  • Confirmation can be run for the whole processed period or for a single resource.

Models comparison

Model Comparison now also supports Gap-Filling models: compare a model's last execution against another model, or against the Real Plan (only one model can be compared against the Real Plan at a time). The page title shows which model or plan is displayed above/below.

Configure jobs with periodic schedules

To ensure Gap Filling works correctly, define the tasks and activate the corresponding jobs. Gap Filling uses the same task as virtual scheduling.

Define tasks

  1. Navigate to FSM > Core > Technical Settings > Company.

  2. To assign tasks to the correct processing queue, configure this parameter:

  1. Launch Emergency Response: Launches the scheduling processes.

company.job.CORE-QueuedSchedulings.mode=EVERY_TIME
company.job.CORE-QueuedSchedulings.queueName=parking
company.job.CORE-QueuedSchedulings.task=+/scheduler/elaborazione/DATLanciaSchedulazione
company.job.CORE-QueuedSchedulings.description=Elaborate Queued Schedulings
company.job.CORE-QueuedSchedulings.user=[system]

Activate the jobs

  1. In the main company.job parameter list, add:

    1. CORE-QueuedSchedulings

  2. To apply the configuration, click Save.