---
title: Schedule
slug: schedule
icon: {"faIcon":"fa-solid fa-calendar-day"}
createdAt: 2025-06-10T06:44:31.748Z
---

:::hint{type="info"}
Javascript knowledge is recommended
:::

Schedules are used to define either working hours or holidays for the purpose of [Service level management](docId:8mVIwGgWq0fXGCRNT1epI) configuration

## List Schedules

To find the existing list of Schedules, find Administration > Configuration > Schedules navigation menu and click on “Schedules”



::Image[]{src="https://app.archbee.com/api/optimize/RDSPJwtKQ5B5sE-oMCN16/0ojLCGqnZMPSeuruckvyQ_image.png" size="18" width="430" height="256" position="center" showCaption="false"}

Create Schedules

To create a Schedule, populate the following fields and click on the Create button.

| **Field Name** | **Field Type** | **Example**                                                                                                                                                    |
| -------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Name           | String         | Monday to Friday 9AM to 5PM, no public holidays                                                                                                                |
| Number         | Auto Sequence  | \<You may leave this blank>                                                                                                                                    |
| Description    | String         | Weekly schedule of Monday to Friday 9AM to 5PM without public holidays                                                                                         |
| Active         | Boolean        | true                                                                                                                                                           |
| Script         | Script         | ScheduleManager<br />.create()<br />.withGenerator(<br />RangeGenerator(<br />RangeGenerator.WORKDAY<br />\{<br />startHour: 9,<br />endHour: 17<br />}<br />) |

# Examples

### Public holidays

Public Holidays can be defined as a separate Schedule record. Name it accordingly, e.g. “Australia: Core Holidays 2023” and you may use script below as example and substitute the dates accordingly.

```javascript
ScheduleManager
    .create()
    .withGenerator(
        RangeGenerator(
            RangeGenerator.HOLIDAY,
            {
                holidays: [
                    new DateTime([2023, DateTime.JANUARY,   1]),      // New Years day
                    new DateTime([2023, DateTime.JANUARY,   28]),     // Australia Day
                    new DateTime([2023, DateTime.APRIL,      7]),     // Good Friday
                    new DateTime([2023, DateTime.APRIL,     25]),     // Anzac Day
                    new DateTime([2023, DateTime.JUNE,      12]),     // King's Birthday
                    new DateTime([2023, DateTime.DECEMBER,  25]),     // Christmas Day
                    new DateTime([2023, DateTime.DECEMBER,  26])      // Boxing Day
                ]
            }
        )
    );
```

You will need to update this yearly if some of the dates you put in change every year. 

### Public holidays adding to another set of public holidays

If a location like a province or a state has their own public holidays on top of the state one, for example Victoria state having their own holidays on top of the Australian national holiday, you can create a different schedule for them and then include the national holiday schedule record by its name.

```javascript
ScheduleManager
    .create()
    .withGenerator(
        RangeGenerator(
            RangeGenerator.HOLIDAY,
            {
                holidays: [
                    DateTime([2023, DateTime.SEPTEMBER,  29]),   // Friday before AFL Grand Final
                    DateTime([2023, DateTime.NOVEMBER,    7])    // Melbourne Cup
                ]
            }
        )
    )
    .include('Australia: Core Holidays 2023');
```

You will need to update this yearly if some of the dates you put in change every year.

### Working schedule with public holidays

Similar to a public holiday schedule can include another schedule, schedules for working hours can also do the same thing. Example below if we have a Monday to Friday 9AM to 5PM schedule with Victoria public holidays included. SLAs using this schedule will not run its clock on the included public holidays.

```javascript
ScheduleManager
    .create()
    .withGenerator(
        RangeGenerator(
            RangeGenerator.WORKDAY,
            {
                startHour: 9,
                endHour: 17
            }
        )
    )
    .include('Victoria: Holidays 2023');

```

### Schedule with non rounded hours

To configure a schedule that for example runs Monday to Friday, 9:45AM to 4:20PM. 

```javascript
ScheduleManager
    .create()
    .withGenerator(
        RangeGenerator(
            RangeGenerator.WORKDAY,
            {
                startTime: [9,45,0],
                endTime: [16,20,0]
            }
        )
    );
```

### Working schedule - 24 x 7

Usually applicable for high priority tickets like a Priority 1, to which your organisation may be obligated to work through to resolution regardless of time and day.

```javascript
ScheduleManager
    .create()
    .withGenerator(
        RangeGenerator(
            RangeGenerator.WORKDAY,
            {
                startHour: 0,
                endHour: 24,
                workDays: [ DateTime.MONDAY, DateTime.TUESDAY, DateTime.WEDNESDAY, DateTime.THURSDAY, DateTime.FRIDAY, DateTime.SATURDAY, DateTime.SUNDAY ]
            }
        )
    );
```

### Working schedule with different set of hours

If you need to configure a schedule for two different set of hours for different days in the week, for example 9AM to 5PM on Monday and Friday and 11AM to 4PM on Saturday and Sunday

```javascript
ScheduleManager
    .create()
    .withGenerator(
        RangeGenerator(
            RangeGenerator.WORKDAY,
            {
                startHour: 9,
                endHour: 17
            }
        )
    )
    .withGenerator(
        RangeGenerator(
            RangeGenerator.WORKDAY,
            {
                startHour: 11,
                endHour: 16,
                workDays: [ DateTime.SATURDAY, DateTime.SUNDAY ]
            }
        )
    );
```

