Skip to main content
Skip table of contents

Calendars

Structure.Gantt allows you to define different calendars for the following:

This is especially useful when you need more precise planning for resources working on different schedules. 

Schedules are defined as Calendars, and Structure.Gantt comes with two predefined calendars: "Standard" (40-hour work week, 9-17 every workday) and "24 Hour", with all time marked as working time.

Jira administrators can also define additional calendars using the Administration | Structure | Structure.Gantt | Work Calendars page.

Creating and Editing Calendars

Calendar format

A calendar is defined by a code in JSON format, which sets the working periods for each day of the week and lists exceptions. Details about the JSON format are provided below.

Need help or have questions? Contact Tempo Support.

Basic Structure

Every calendar consists either of a week schedule or list of exceptions, or both:

CODE
{
  "week": ...,
  "exceptions": ...
}

All calendar definitions should be wrapped in curly braces: { }

Week schedule

Week schedule is defined by specifying work ranges for every weekday (monday, tuesday, wednesday, thursday, friday, saturday, sunday):

CODE
{
  "week": {
      "monday": [
        {
          "start": 900,
          "finish": 1300
        },
        {
          "start": 1400,
          "finish": 1715
        }
      ],
      "tuesday": [
        {
          "start": 900,
          "finish": 1300
        },
        {
          "start": 1400,
          "finish": 1715
        }
      ]
}}

Time is written using HHMM format, where HH is hour (0-24) and MM is minutes, for example: `1730` for 17:30 (5:30 pm) and `930` for 9:30.

You may skip a weekday either by skipping its definition completely or providing an empty list of ranges: 

CODE
{"monday": []}

Exceptions

Exceptions are defined for exact dates:

CODE
"exceptions": [
      {
        "date": 20210301,
        "workPeriods": []
      },
      {
        "date": 20210305,
        "workPeriods": [
       {
         "start": 900,
         "finish": 1300
       },
       {
         "start": 1400,
         "finish": 1715
       }]
      }
]

Dates are written using YYYYMMDD format, where YYYY is a 4-digit year, MM is a month (1-12) and DD is a day (0-31).

The workPeriods parameter can be empty, which means it is a day off, or can contain custom start and finish times, which will override the times you have defined in the main scheme.

Hierarchy

You can also organize calendars into a hierarchy via the "Based on" property, so you can create more specific calendars, based on a general calendar ("Standard", for example).

In this case, existing calendar-week schedule values are overridden (i.e. the definition for "wednesday" in a child calendar will override the "wednesday" schedule of its parent calendar).

Time zones

Calendars don't have time zone information and should be written in your local time. Time zones are provided separately and are taken either from the current user profile TZ (for the Gantt chart, configured at the User Profile page) or from default or individual resource settings:

Deleting Calendars

Calendars can be deleted (even the ones that are used by other calendars as Based On or by Gantt charts). Gantt will continue to work properly, even if a specified calendar cannot be found: a hard-coded calendar definition, similar to a default version of "Standard" calendar, will be used. However, this is not normal and should be fixed.

A Gantt info popup will show a warning as soon as the Gantt calendar becomes unavailable.

For a resource calendar issues, there is no notification shown.

Example Calendars

Here are some of our most popular calendar examples.

US Federal Holidays Calendar

5-day work week, 8 hours per day, federal holidays for 2025

CODE
{
    "week": {
        "monday": [{
            "start": 900,
            "finish": 1700
        }],
        "tuesday": [{
            "start": 900,
            "finish": 1700
        }],
        "wednesday": [{
            "start": 900,
            "finish": 1700
        }],
        "thursday": [{
            "start": 900,
            "finish": 1700
        }],
        "friday": [{
            "start": 900,
            "finish": 1700
        }]
    },
 
"exceptions": [ {
    "date": 20250101, "workPeriods": [] }, {
    "date": 20250120, "workPeriods": [] }, {
    "date": 20250217, "workPeriods": [] }, {
    "date": 20250526, "workPeriods": [] }, {
    "date": 20250619, "workPeriods": [] }, {
    "date": 20250704, "workPeriods": [] }, {
    "date": 20250901, "workPeriods": [] }, {
    "date": 20251013, "workPeriods": [] }, {
    "date": 20251111, "workPeriods": [] }, {
    "date": 20251127, "workPeriods": [] }, {
    "date": 20251225, "workPeriods": [] }
] }

UK (England and Wales) Holiday Calendar

5-day work week, 8 hours per day, bank holidays for 2025

CODE
{
    "week": {
        "monday": [{
            "start": 900,
            "finish": 1700
        }],
        "tuesday": [{
            "start": 900,
            "finish": 1700
        }],
        "wednesday": [{
            "start": 900,
            "finish": 1700
        }],
        "thursday": [{
            "start": 900,
            "finish": 1700
        }],
        "friday": [{
            "start": 900,
            "finish": 1700
        }]
    },
 
"exceptions": [ {
    "date": 20250101, "workPeriods": [] }, {
    "date": 20250418, "workPeriods": [] }, {
    "date": 20250421, "workPeriods": [] }, {
    "date": 20250505, "workPeriods": [] }, {
    "date": 20250526, "workPeriods": [] }, {
    "date": 20250825, "workPeriods": [] }, {
    "date": 20251225, "workPeriods": [] }, {
    "date": 20231226, "workPeriods": [] }
] }

Germany Holiday Calendar

5-day work week, 8 hours per day, national holidays for 2025

CODE
{
    "week": {
        "monday": [{
            "start": 900,
            "finish": 1700
        }],
        "tuesday": [{
            "start": 900,
            "finish": 1700
        }],
        "wednesday": [{
            "start": 900,
            "finish": 1700
        }],
        "thursday": [{
            "start": 900,
            "finish": 1700
        }],
        "friday": [{
            "start": 900,
            "finish": 1700
        }]
    },
 
"exceptions": [ {
    "date": 20250101, "workPeriods": [] }, {
    "date": 20250418, "workPeriods": [] }, {
    "date": 20250421, "workPeriods": [] }, {
    "date": 20250501, "workPeriods": [] }, {
    "date": 20250529, "workPeriods": [] }, {
    "date": 20250609, "workPeriods": [] }, {
	"date": 20251003, "workPeriods": [] }, {
    "date": 20251225, "workPeriods": [] }, {
    "date": 20251226, "workPeriods": [] }
] }

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.