Discover more about schedules and the ConstructionOnline API
Table of Contents
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