Skip to main content

Explanation of the relationship between Shift Editing Method and Allocate Using time or units within resources

Written by Charnjit Singh Dharival

Please describe and explain the Shift Editing Method and Adjust Quantity settings in the Resource/Labour menu. Specifically, the Adjust Quantity and Allocate Unit/Time combination.


The "Allocate Using" setting on a resource is controlled by the ResourceUnitTypeID field, which is defined as an enum with two values.

The difference is not about parallel vs. sequential scheduling (that's governed by the resource's "Allow Overlaps" property). Instead, it changes what the allocation number means and how it scales with task duration.

Allocate Using = Units (Count)


The value you enter is a concurrent capacity count; how many units of the resource are consumed at any point during the task. The code comments state:

"column specifies a capacity (count or number of resource units) to consume. i.e. The total utilisation will grow and shrink depending on the task duration."

The entered value is stored directly as CapacityAllocated

Example: You allocate 2 units of a labour resource to a task. If the task takes 8 hours, 2 units are consumed for all 8 hours. If the task duration changes to 4 hours, 2 units are still consumed but for only 4 hours. Total resource-time scales with task duration.

Allocate Using = Time


The value you enter is a total time the resource is needed during the task, regardless of task duration. The code comments state:

"column specify a total utilisation that is consumed during the task, regardless of the task duration"

Internally, the entered time is divided by the task's work time to convert it into a fractional capacity. When displaying back to the user, the reverse conversion is applied (CapacityAllocated * WorkTime * multiplier).

The same pattern appears in the maintenance tasks form; Units stores the value directly, while Time divides by duration.

Example: You allocate 2 hours of a labour resource to a task that takes 8 hours. Internally: CapacityAllocated = 2/8 = 0.25. The resource is only 25% utilised during the task. If the task duration later changes to 4 hours, the system recalculates: 2/4 = 0.5 -- the resource is now 50% utilised, but the total time consumed stays at 2 hours.

Aspect Units (Count) Time


You enter Number of concurrent units Total time needed
Internal storage Stored as-is Divided by task work time
If task duration changes Total resource-time changes Total resource-time stays fixed
Display unit (no unit / count) Time unit (hrs, days, etc.)

Both modes still respect the resource's Allow Overlaps setting for parallel scheduling. The "Allocate Using" setting only changes the meaning of the allocation quantity.

Shift Editing Method and Adjust Quantity Settings in Orchestrate

Overview


The Shift Editing Method (internally called ShiftPatternCalendarOption) is a mandatory setting on every resource in Orchestrate. It controls how a resource's shift pattern availability can be adjusted on a per-day basis. It is stored as an integer column on the orc_Resources database table.

The Three Options


The setting is defined by the ResourceShiftPatternCalendarOptions enum

0: None (Resource not appears in the shift pattern assignment form); 1: No/Off (shown as tick boxes); 2: Qty Adjustment (allow to change qty)

Option 0: None


When set to None, the resource does not appear in the Shift Pattern Assignment form at all. The resource's availability is determined solely by its assigned shift pattern and maximum capacity, with no per-day overrides possible.

In the ReApplyShifts method on the Resource class, when ShiftPatternCalendarOption is 0 (i.e., not greater than 0), the availability plot is simply set to a flat line at the resource's maximum capacity (24/7).

Option 1: On / Off


When set to On / Off, the resource appears in the first tab ("On/Off") of the Shift Pattern Assignment form (frmShiftPatternAssignment). The On/Off tab is filtered to show only resources where ShiftPatternCalendarOption = 1.

This mode presents a tick-box / boolean interface. For each resource+shift pattern combination, the user sees a grid with 7 day columns (Day1 through Day7). Each cell is either "On" (resource units > 0) or "Off" (resource units = 0).

This is useful for simple scenarios like marking a resource as unavailable on specific days (e.g., holidays, maintenance days) without needing to specify a numeric capacity value.

Option 2: Adjust Quantity


When set to Adjust Quantity, the resource appears in the second tab ("Qty Adjustment" / "Default Quantity") of the Shift Pattern Assignment form. This tab is filtered to show only resources where ShiftPatternCalendarOption = 2.

Unlike On/Off, this mode allows the user to enter a numeric value for the resource units on each day. The Qty Adjustment grid includes an additional "Max Units Available" (Capacity) column alongside the 7 day columns. When an adjustment is recorded for a Qty resource, the actual numeric value is stored and displayed. This is useful for resources that have variable capacity levels -- for example, a machine that normally runs at capacity 3 but on certain days only has capacity 2 due to staffing constraints.

Where the Setting is Configured


The Shift Editing Method is set on the Resources form (ResourcesForm) and the Labour form (frmLabour). It is a mandatory column presented as a dropdown combo box with the three options. The default value for new resources is 0 (None). The column header in the Resources grid is labeled "Shift Editing Method".

Shift Pattern Assignment Form Structure


The frmShiftPatternAssignment form has three tabs, each corresponding to a different view:

  • Tab 1 - On/Off: Shows resources with ShiftPatternCalendarOption = 1. Displays a grid with Resource, Shift Pattern, and 7 day columns as tick boxes.

  • Tab 2 - Qty Adjustment / Default Quantity: Shows resources with ShiftPatternCalendarOption = 2. Displays a grid with Resource, Shift Pattern, Max Units Available, and 7 day columns as numeric values.

  • Tab 3 - Adjustment Record: Shows a log of all adjustments made (for both On/Off and Qty resources), including the date, resource, shift pattern, and the adjustment value ("On"/"Off" or a numeric quantity).


The form operates in two modes:

  1. Default Shift Pattern Assignment: Edits the repeating weekly pattern (with rotation cycle support up to 6 weeks). Tab 2 is labeled "Default Quantity".

  2. Daily Adjustment: Edits specific calendar dates, overriding the default pattern for particular days.

Did this answer your question?