> ## 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.

# Load User Calendars

> Enable per-user working calendars in Nextedy GANTT so that individual vacation days, custom schedules, and reduced working hours are reflected in the resource view and capacity 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>;
};

<Steps>
  <Step title="Set Up User Calendars in Polarion">
    Each user who needs a personalized schedule must have calendar data configured in Polarion. There are two approaches:

    **Polarion Working Calendar** -- Add schedule exceptions (vacations, half-days) directly in the Polarion Administration working calendar for each user.

    **Work Item Calendar** -- Create dedicated Calendar work items with Time Off, Time On, and Tweak entries. See [Set Up Work Item Calendars](/gantt/guides/calendars/work-item-calendar) for the full setup.
  </Step>

  <Step title="Enable Working Calendars in the Widget">
    Open the Gantt widget parameters and configure the **Working Calendars** section in this order:

    1. Set **Use Working Calendar** to `Yes` (master toggle)
    2. Set **Load User Calendars** to `Yes` (appears after enabling step 1)

    The settings are interdependent -- each option is only visible when its parent is enabled.

    | Parameter                 | Depends On                 | Effect                                                 |
    | ------------------------- | -------------------------- | ------------------------------------------------------ |
    | **Use Working Calendar**  | --                         | Enables calendar-aware scheduling globally             |
    | **Load User Calendars**   | Use Working Calendar = Yes | Loads per-user calendars for individual capacity       |
    | **Load Team Assignments** | Load User Calendars = Yes  | Adds team assignment capacity on top of user calendars |
  </Step>

  <Step title="Configure Year Range">
    Set the calendar data range to cover your project timeline:

    * **Next Years to Load** -- How many future years of calendar data to pre-compute (recommended: 1-2)
    * **Previous Years to Load** -- How many past years to include (recommended: 1)

    <Warning title="Performance Impact">
      Loading more years increases startup time and memory usage. For most projects, loading 1 future year and 1 previous year provides adequate coverage. Only increase this for long-running programs.
    </Warning>
  </Step>

  <Step title="Enable Calendar Caching (Recommended)">
    For installations with many users, enable server-side caching:

    1. Set **Cache Working Calendars** to `Yes` in the widget parameters
    2. Or set the global property `nextedy.gantt.workingCalendar.useCache` to `true`

    <Tip title="Clear Cache After Calendar Changes">
      The calendar cache persists between page loads. After modifying user calendars in Polarion, clear the cache using the **Clear Calendar Cache** toolbar button or the `api/clearCalendarCache` endpoint.
    </Tip>
  </Step>
</Steps>

## How User Calendars Affect the Gantt

Once enabled, user calendars affect the Gantt in several ways:

**Resource view capacity** -- Each user's effective working hours are calculated from their individual calendar. Days where a user is on vacation show as grey (unavailable) markers. Overallocation detection accounts for reduced capacity on partial days.

**Off-day cell highlighting** -- When a user has a non-working day, the corresponding timeline cell in their resource row receives a visual highlight, distinguishing it from regular working days.

**Duration calculations** -- When auto-scheduling is enabled, the Gantt skips non-working days for each user individually. A task assigned to a user on vacation is extended to account for their absence.

<Warning title="Version Compatibility">
  Versions 25.7.0 through 25.8.0 had a regression where work items missing fields required by a workflow action could fail to load on the Gantt, which can also leave resource rows incomplete. If items or their allocations are not loading as expected, update to version 25.9.0 or later.
</Warning>

## Work Item Calendar Integration

If you are using Work Item Calendars instead of the built-in Polarion calendar, configure these global properties under **Administration > Configuration Properties**:

```
nextedy.gantt.workitemCalendar.projectId=<CALENDAR_PROJECT_ID>
nextedy.gantt.workitemCalendar.globalID=<GLOBAL_CALENDAR_WI_ID>
```

Replace `<CALENDAR_PROJECT_ID>` with the project ID containing your calendar work items, and `<GLOBAL_CALENDAR_WI_ID>` with the work item ID of the global calendar.

<Note title="Apply to Both Projects">
  This configuration must be set in both the calendar project and any projects that reference it.
</Note>

The Work Item Calendar system supports four entry types:

* **Calendar** -- Defines default working hours per weekday (global or per-user)
* **Time Off** -- Marks non-working periods (vacations, holidays)
* **Time On** -- Overrides Time Off for specific users who need to work during global holidays
* **Tweak** -- Adjusts working hours for specific dates (half-days, overtime)

## Verification

You should now see:

* User-specific non-working days reflected as grey markers in the resource view
* Reduced capacity shown on partial working days (such as half-day Fridays)
* Overallocation indicators accounting for each user's individual calendar
* Off-day highlighting in timeline cells matching each user's schedule

## See Also

* [Load Holidays and Non-Working Days](/gantt/guides/calendars/load-holidays)
* [Set Up Work Item Calendars](/gantt/guides/calendars/work-item-calendar)
* [Use Calendars from Another Project](/gantt/guides/calendars/cross-project-calendar)
* [Customize Working Hours per Resource](/gantt/guides/calendars/working-hours-per-resource)
* [Troubleshooting Calendar Integration Issues](/gantt/guides/troubleshooting/calendar-issues)

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