> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nextedy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Working Calendars Parameters

> Nextedy GANTT supports a three-level working calendar cascade that determines working days, hours, and capacity for scheduling and resource load calculations.

export const LastReviewed = ({date}) => {
  if (!date) return null;
  const formatted = new Date(`${date}T00:00:00Z`).toLocaleDateString("en-US", {
    year: "numeric",
    month: "long",
    day: "numeric",
    timeZone: "UTC"
  });
  return <p className="mt-10 text-sm text-gray-400 dark:text-zinc-500 not-prose">
      Last reviewed on {formatted}
    </p>;
};

## Working Calendar Widget Parameters

| Name                      | Type    | Default         | Description                                                                                                                                                                               |
| ------------------------- | ------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Use Working Calendar`    | Boolean | `false`         | Master toggle that enables calendar-aware scheduling. When enabled, the Gantt respects non-working days and hours when calculating task durations. When disabled, all days count equally. |
| `Load User Calendars`     | Boolean | `false`         | Loads personal calendar work items assigned to each resource. Each assignee must have a Calendar work item with their user ID. Only visible when `Use Working Calendar` is `true`.        |
| `Load Team Assignments`   | Boolean | `false`         | Loads team assignment capacity records to apply partial availability multipliers. Only visible when both `Use Working Calendar` and `Load User Calendars` are `true`.                     |
| `Next Years to Load`      | Integer | See application | Number of future years to pre-compute working calendar data for. Higher values ensure calendar data is available for long-range views but increase startup time.                          |
| `Previous Years to Load`  | Integer | See application | Number of past years to pre-compute working calendar data for. Useful for tracking long-running or past tasks.                                                                            |
| `Cache Working Calendars` | Boolean | `false`         | Enables server-side caching of computed working calendar data to speed up repeated Gantt loads.                                                                                           |

## Three-Level Calendar Cascade

The working calendar system resolves capacity through three levels, each overriding the previous:

<Frame>
  <img src="https://mintcdn.com/none-17b4493f/Q-nbebUq0JUAc6vq/gantt/diagrams/reference/widget-parameters/working-calendars/diagram-1.svg?fit=max&auto=format&n=Q-nbebUq0JUAc6vq&q=85&s=7fbcba198c0ba4d8ff732bc73db4eaae" alt="diagram" style={{ maxWidth: "360px", width: "100%" }} width="360" height="340" data-path="gantt/diagrams/reference/widget-parameters/working-calendars/diagram-1.svg" />
</Frame>

**Level 1 -- Global Calendar:** Defines the base working week (default: Monday--Friday, 8 hours/day). All resources inherit this calendar unless overridden.

**Level 2 -- User Calendars:** Personal calendars defined as Calendar-type work items in Polarion. Each calendar can include schedule exceptions (time off, holidays) and custom working hours per user.

**Level 3 -- Team Assignments:** Team assignment records that apply partial availability multipliers (e.g., a team member at 50% allocation on a project).

## Progressive Disclosure

The working calendar parameters are interdependent. The widget parameter editor reveals options progressively:

1. Enable **Use Working Calendar** -- unlocks `Load User Calendars`, `Next Years to Load`, `Previous Years to Load`, and `Cache Working Calendars`.
2. Enable **Load User Calendars** -- unlocks `Load Team Assignments`.
3. Enable **Load Team Assignments** -- loads team capacity data.

<Tip title="Performance Recommendation">
  Set **Next Years to Load** and **Previous Years to Load** to `1` or `2` for typical use. Higher values increase memory usage and Gantt startup time.
</Tip>

## Administration Properties

To use work item calendars from another Polarion project, configure these properties under **Administration > Configuration Properties**:

| Property                                   | Type   | Description                                                                  |
| ------------------------------------------ | ------ | ---------------------------------------------------------------------------- |
| `nextedy.gantt.workitemCalendar.projectId` | String | The Polarion project ID of the project containing the Calendar work items.   |
| `nextedy.gantt.workitemCalendar.globalID`  | String | The work item ID of the calendar-type work item used as the global calendar. |

<Warning title="Cross-Project Calendar Setup">
  Both properties must be set in the calendar source project **and** in any projects that consume the calendar data.
</Warning>

For detailed administration property reference, see [Calendar and Working Hours Properties](/gantt/reference/configuration/calendar-properties).

## Calendar Cache

When `Cache Working Calendars` is enabled:

* The server caches computed calendar data between page loads.
* Repeated Gantt loads reuse cached calendar data, reducing load time.
* After calendar changes (new holidays, modified working hours), you must clear the cache. Use the **Clear Calendar Cache** toolbar button, which appears when caching is active.

## Resource Load and Calendars

Working calendars directly affect resource load calculations in the [resource view](/gantt/reference/widget-parameters/resource-view):

* **Without calendars:** All days are working days with equal capacity. Resource load is a simple task count or duration sum.
* **With global calendar:** Non-working days (weekends, holidays) are excluded from capacity. Resource markers reflect actual working days.
* **With user calendars:** Each user's personal schedule exceptions (vacation, part-time hours) reduce their available capacity individually.
* **With team assignments:** Team allocation percentages further adjust each user's effective hours.

## Configuration Example

To enable calendar-aware scheduling with user calendars:

1. Open **Widget Properties** for the Gantt widget.
2. In the **Working Calendars** section:
   * Set **Use Working Calendar** to `Yes`.
   * Set **Load User Calendars** to `Yes`.
   * Set **Next Years to Load** to `1`.
   * Set **Previous Years to Load** to `1`.
3. Optionally enable **Cache Working Calendars** for faster repeated loads.
4. In **Administration > Configuration Properties**, add:
   ```
   nextedy.gantt.workitemCalendar.projectId=CalendarProject
   nextedy.gantt.workitemCalendar.globalID=CAL-001
   ```
5. Save the widget parameters.

## Related Pages

* [Resource View Parameters](/gantt/reference/widget-parameters/resource-view) -- resource allocation display configuration
* [Calendar and Working Hours Properties](/gantt/reference/configuration/calendar-properties) -- server-side calendar administration
* [Team and Resource Properties](/gantt/reference/configuration/team-properties) -- team assignment configuration

<LastReviewed date="2026-07-02" />
