Schedules Overview

Discover more about schedules and the ConstructionOnline API

Table of Contents

  1. Introduction
  2. api/Schedules
  3. api/ScheduleActivities
  4. api/baselines
  5. Endpoints

Introduction

In ConstructionOnline, users can create powerful, critical-path schedules to keep their construction projects on track for completion. Users have the flexibility to create schedules for individual projects in ConstructionOnline or create free-standing schedules that are not tied to a specific project. Each schedule is made up of individual tasks or groups that define specific events or activities during the schedule. Each schedule, schedule task, and schedule group is assigned a unique reference ID.

The ConstructionOnline API provides two different types of scheduling endpoints:

  • api/Schedules
  • api/ScheduleActivities

The api/Schedules endpoints return high-level information about a schedule, such as the schedule's name, number of workdays, creator ID, and more. These endpoints do not return the schedule groups or tasks associated with the schedule. 

The api/ScheduleActivities endpoints return the contents of a schedule, which are the groups and tasks added to the schedule. These endpoints will return specific information about each group or task, such as its start and end time, priority level, completion status, predecessor relationship, and more. These endpoints do not return any general information about the schedule itself.

Additionally, the ConstructionOnline API also provides endpoints for obtaining schedule baselines. These endpoints can be used to return the contents of a schedule baseline, with options to return a compact or more detailed breakdown of the schedule tasks/groups within the baseline itself.

api/Schedules

The following properties will return when an api/Schedules endpoint is called:

Name Type Description
ID integer Unique identifier for the schedule
TITLE string Name of the schedule.
IS_TEMPLATE boolean Indicates if the schedule was created from a template. Returns true if a template was use, false if not.  
CUSTOM_COLOR string Reserved for future use.
HOLIDAY integer Signifies that holidays were set for the schedule.
HOLIDAY_CONTEXT integer Indicates which country setting was selected in when the schedule was created. For example, selecting the United Kingdom will return a value of 4.
DATE_START string Start date of the schedule.
DATE_END date End date of the schedule.
WORKDAYS integer Number of workdays currently in the schedule.
PROJECT_ID integer Unique identifier for the project associated with the schedule. If the schedule is not tied to a project, this property will return as null.
PROJECT_NAME string Name of the project associated with the schedule. If the schedule is not tied to a project, this property will return as null.
DATE_CREATED string Date the schedule was created.
CREATED_BY integer Unique identifier for the user who created the schedule.
CREATOR string Name of the user who created the schedule.
LMOD_DATE string Date the schedule was last modified/edited.
LMOD_BY integer Unique identifier for the user who last modified/edited the schedule.
LMOD_NAME string Name of the user who last modified/edited the schedule.
RELATEDCONIDS string IDs of any users who were added as editors to the schedule.
ASSIGNEDCONIDS string IDs of any users who were added as viewers to the schedule.

Example response

{
        "ID": 400001,
        "TITLE": "Downtown Remodel Schedule",
        "IS_TEMPLATE": false,
        "CUSTOM_COLOR": null,
        "HOLIDAY": 65,
        "HOLIDAY_CONTEXT": 1,
        "DATE_START": "2024-02-14T00:00:00",
        "DATE_END": "2024-12-13T00:00:00",
        "WORKDAYS": 160,
        "PROJECT_ID": 1321111,
        "PROJECT_NAME": "Downtown Remodel",
        "DATE_CREATED": "2024-01-20T14:23:24.907",
        "CREATED_BY": 1000000,
        "CREATOR": "Benjamin Chen",
        "LMOD_DATE": null,
        "LMOD_BY": null,
        "LMOD_NAME": "Benjamin Chen",
        "RELATEDCONIDS": null,
        "ASSIGNEDCONIDS": null
}

api/ScheduleActivities

The following properties will return when an api/ScheduleActivities endpoint is called:

Name Type Description
ID integer Unique identifier for the schedule task/group.
START_TIME string Start date and time for the schedule task/group.
END_TIME string End date and time for the schedule task/group.
SUBJECT string Name of the schedule task/group.
DETAILS string Description text added to the schedule task.
PRIORITY integer Priority level of the schedule task.
STATUS integer Corresponds to the 'SCHEDULE_STATUS' custom value. Returns the numerical value for the status assigned to the schedule task.
ASAP boolean Indicates if the schedule task was marked as ASAP. Returns true if the task was marked as ASAP, false if not. 
TASK_TYPE integer Corresponds to the 'SCHEDULE_TYPE' custom value. Returns the numerical value for the task type assigned to the schedule task.
GRP_ID integer ID of the schedule the task/group belongs to.
COMPLETED double Completion percentage of the schedule task or group.
DATE_COMPLETED string Date the schedule task/group was completed.
COMPLETED_BY integer Unique identifier for the user who completed the schedule task.
PRIVATE boolean Reserved for future use.
COMPLETER string Name of the user who completed the schedule task/group.
DATE_CREATED string Date the schedule task/group was created.
CREATED_BY integer Unique identifier for the user who created the schedule task/group.
CREATOR string Name of the user who created the schedule task/group.
DATE_MODIFIED string Date the schedule task/group was last modified.
MODIFIED_BY integer Unique identifier for the user who last modified the schedule task/group.
MODIFIED_NAME string Name of the user who last modified the schedule task/group.
ACTIVE boolean Reserved for future use.
PRJ_ID integer Unique identifier for the project associated with the schedule.
PROJECT_NAME string Name of the project associated with the schedule.
PRJ_INACTIVE boolean Indicates if the associated project is live or pending. Returns true if the project was set to pending, false if project was set to live. 
PRJ_CREATOR integer Unique identifier for the user who created the project.
CUSTOM_COLOR string Schedule's color as it appears in ConstructionOnline. Returns the specific hex code for the color.
IS_TEMPLATE boolean Signifies if the schedule was created from a template. Returns true if a template was used, false if not.
CAN_EDIT boolean Indicates if the user accessing the schedule task can edit the schedule task or not. 
ATTACHMENTS string Any files saved to the schedule task.
RELATEDCONIDS string Name and ID of the user(s) assigned as resource(s) to the task. For example:
[{\"CON_ID\":986322,\"NAME\":\"Alex Kim\"}]
PARENTS string Indicates the task is a successor to another schedule task. Includes the task's ID, offset value, and predecessor type. For example: 
[{\"PARENT_ID\":25559999,\"OFFSET\":0,\"TYPE\":\"SS\"}]
CHILDREN string Indicates the task is a predecessor to another schedule task. Includes the task's ID, offset value, and predecessor type. For example: [{\"CHILD_ID\":22229999,\"OFFSET\":2,\"TYPE\":\"FS\"}]
LABEL_GRP_ID integer ID of the schedule group the task belongs to.
LABEL_GRP_NAME string Name of the schedule group the task belongs to.
SORT_NUMBER integer Number assigned to the schedule task/group in ConstructionOnline.
TASK_COLOR integer Schedule task's color as it appears in ConstructionOnline. Returns the specific hex code for the color.

Example response

{
        "ID": 25554616,
        "START_TIME": "2021-02-19T00:00:00",
        "END_TIME": "2021-02-24T00:00:00",
        "SUBJECT": "Interior Doors and Trim",
        "DETAILS": null,
        "PRIORITY": 0,
        "STATUS": null,
        "ASAP": false,
        "TASK_TYPE": 5,
        "GRP_ID": 403505,
        "COMPLETED": 0.0,
        "DATE_COMPLETED": null,
        "COMPLETED_BY": null,
        "PRIVATE": false,
        "COMPLETOR": null,
        "DATE_CREATED": "2023-07-08T18:49:42.887",
        "CREATED_BY": 999997,
        "CREATOR": "Alex Kim",
        "DATE_MODIFIED": "2023-07-08T18:49:42.887",
        "MODIFIED_BY": 999997,
        "MODIFIED_NAME": "Alex Kim",
        "ACTIVE": true,
        "PRJ_ID": 1309343,
        "PROJECT_NAME": "Downtown Restaurant Remodel",
        "PRJ_INACTIVE": false,
        "PRJ_CREATOR": 999997,
        "CUSTOM_COLOR": "#0a5289",
        "IS_TEMPLATE": false,
        "CAN_EDIT": true,
        "ATTACHMENTS": null,
      "RELATEDCONIDS": "[{\"CON_ID\":986322,\"NAME\":\"Alex Kim\"}]",
      "PARENTS": "[{\"PARENT_ID\":25559999,\"OFFSET\":0,\"TYPE\":\"SS\"}]",
      "CHILDREN": "[{\"CHILD_ID\":22229999,\"OFFSET\":2,\"TYPE\":\"FS\"}]",
      "LABEL_GRP_ID": 1234567,
      "LABEL_GRP_NAME": "Doors and Windows",
        "SORT_NUMBER": 66,
        "TASK_COLOR": 0
}

api/baselines

When an api/baselines endpoint is called, the ContstructionOnline API will return properties for the baseline itself, as well as each individual task/group within the baseline. For example: 

{
    "ID": "458144",
    "DATE_CREATED": "2024-03-26T15:18:05.647",
  "NAME": "Baseline 2",
    "TASKS": [
        {
            "ID": 70246896,
            "ACTIVITY_ID": 26447362,
            "START_TIME": "2024-02-01T00:00:00",
            "END_TIME": "2024-02-27T00:00:00",
            "TYPE": 5,
            "TYPE_NAME": "GROUP"
      }
]

}
Name Type Description
ID integer Unique identifier for the baseline.
DATE_CREATED date Date and time the baseline was created.
NAME string Name of the baseline.

As mentioned before, each baseline will also return properties for each individual schedule task/group captured within the baseline. If the endpoint returns a detailed representation of the baseline, these properties will be returned. If the endpoint returns a compact representation of the baseline, the following properties will be returned:

Name Type Description
ID integer Unique identifier for the task/group within the baseline.
ACTIVITY_ID integer Unique identifier for the task/group
START_TIME date Start date for the task/group
END_TIME date End date for the task/group
TYPE integer  Numeric value identifying if the item is a task or group
TYPE_NAME string Indiciates if the item is a task or group

 

Endpoints