> ## 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 Holidays and Non-Working Days

> Configure Nextedy GANTT to load non-working days from the Polarion working calendar so that holidays and time-off periods are reflected in the Gantt chart and resource view.

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="Mark Non-Working Days in Polarion">
    Before configuring the Gantt, define your holidays and non-working days in the Polarion working calendar:

    1. Navigate to **Administration > Working Calendar** in your Polarion project
    2. Select the dates you want to mark as non-working (holidays, company closures)
    3. Save the calendar changes
  </Step>

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

    1. Set **Use Working Calendar** to `Yes`

    This is the master toggle that enables calendar-aware scheduling. When enabled, the Gantt respects non-working days when calculating task durations and resource capacity.

    <Note title="Progressive Disclosure">
      The Working Calendars settings are interdependent. Setting **Use Working Calendar** to `Yes` reveals the **Load User Calendars** option. Enabling that reveals **Load Team Assignments**. Each toggle progressively adds more calendar detail.
    </Note>
  </Step>

  <Step title="Load Holiday Data via Gantt Config Script">
    To load the non-working days into the Gantt view, add the following to the widget parameters under **Advanced > Gantt Config Script**:

    ```
    $workingCalendar.loadNotWorkingDays(2025).loadNotWorkingDays(2026).buildConfiguration()
    ```

    Adjust the years to cover the time range you need. Each `.loadNotWorkingDays(year)` call loads holiday data for that specific year.

    <Tip title="Load Only the Years You Need">
      Loading calendar data for each year adds to the initial page load time. Load only the years relevant to your project timeline to keep performance optimal. For most projects, loading the current year and the next year is sufficient.
    </Tip>
  </Step>

  <Step title="Configure Year Range in Widget Parameters">
    For a more permanent configuration, set the year range in the Working Calendars widget parameters:

    | Parameter                  | Description                                     | Recommended Value |
    | -------------------------- | ----------------------------------------------- | ----------------- |
    | **Next Years to Load**     | Number of future years of calendar data to load | 1-2               |
    | **Previous Years to Load** | Number of past years of calendar data to load   | 1                 |

    Higher values ensure calendar data is available for long-range planning but increase startup time.
  </Step>
</Steps>

## How Non-Working Days Appear

Once configured, non-working days are reflected in the Gantt in several ways:

* **Timeline cell highlighting** -- off-day cells receive a visual highlight distinguishing them from working days
* **Resource view** -- grey markers appear in the resource view for days where a user is unavailable
* **Duration calculations** -- when auto-scheduling is enabled, non-working days are skipped when computing task durations

<Warning title="Global Non-Working Days Cannot Be Overridden per User">
  If you mark a date as a global non-working day in the Polarion calendar, it is **not** possible to override it with a personal exception. A global Time Off applies to all users. To allow per-user exceptions, use the Work Item Calendar approach instead where Time On work items can override global Time Off.
</Warning>

<Warning title="Calendar Cache After Changes">
  If you modify the Polarion working calendar after the Gantt has been loaded, the changes may not appear immediately due to server-side caching. Enable the **Cache Working Calendars** widget parameter for performance, but remember to clear the cache after making calendar changes using the administration API endpoint.
</Warning>

## Verification

You should now see:

* Non-working days highlighted in the Gantt chart timeline
* Grey markers in the resource view on holiday dates
* Task duration calculations skipping non-working days when auto-scheduling is active

## See Also

* [Load User Calendars](/gantt/guides/calendars/user-calendars)
* [Set Up Work Item Calendars](/gantt/guides/calendars/work-item-calendar)
* [Use Calendars from Another Project](/gantt/guides/calendars/cross-project-calendar)
* [Highlight Off-Days in the Timeline](/gantt/guides/visualization/off-day-highlighting)
* [Troubleshooting Calendar Integration Issues](/gantt/guides/troubleshooting/calendar-issues)

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