Items are scheduled within the Gantt chart based on the work schedule outlined in the Calendar. You can select or customize the calendar to be used from the General Configuration screen.

Structure.Gantt comes with two predefined calendars: "Standard" (40-hour work week, 9:00-17:00 every workday) and "24 Hour" (all time marked as working time). You can edit these calendars or create additional calendars by clicking Manage Work Calendars.

Manage Work Calendars

Default Calendar

Select which calendar will be selected by default when new charts are created. Unless you change this setting, the Standard calendar will be used. 

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, but please reach out to us at support@almworks.com if you need assistance.

Basic Structure

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

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

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):

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

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: 

{"monday": []}
CODE

Exceptions

Exceptions are defined for exact dates:

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

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

Deleting Calendars

Deleting a calendar cannot be undone! Please be careful when doing so, as it could impact other Gantt charts that are assigned to that calendar.