Docs Portal
Documentation
API ReferenceConsole

Work Orders

Mapped can integrate with your CMMS (Computerized Maintenance Management System), bringing together Work Orders, Service Requests, assets and locations.

Work Orders are the record of work being tracked and carried out in your facilities. They capture the job itself, along with operational details like status, priority, dates, and the asset or place it relates to. Service Requests are the initial ask for work to be done, representing a reported need, issue, or task, like a maintenance concern or problem report from a user. These can work together in a CMMS to initiate intake and execute the job required.

Mapped’s Work Order and Service Request models include fields like jobType, jobStatus, jobPriority, dateCreated, and dateUpdated, and can relate that work back to Buildings, Spaces, Things, or Zones.

With Mapped, you can sync asset and Work Order data across systems:

  • Automatically sync assets, locations, and work orders between platforms
  • Maintain data consistency across systems with real-time updates
  • Enable smarter insights by linking maintenance data to spatial and asset hierarchies

Whether you’re integrating a CMMS like AiM Asset Management or streamlining operations with Willow, we’ve mapped out how to connect the dots.

Use Case: AiM & Willow Ticket

Key Components

  • AiM Asset Management Source: Pulls asset, location, and work order data via API
  • Mapped: Normalizes data and maintains relationships (e.g., assets ↔ spaces)
  • Willow Ticket Destination: Delivers enriched work orders as Tickets in Willow for unified tracking

How it works

  • Assets & Locations: Synced on-demand or scheduled, preserving hierarchies (campus → building → floor → room)
  • Work Orders: Automatically polled from AiM and pushed to Willow as Tickets with full context (asset, location, priority)
  • Reporting & Analytics: Unified data for maintenance trends, asset health, and operational efficiency

Outcomes

  • Single source of truth: AiM remains the system of record while Willow gains full visibility
  • Reduced manual work: No duplicate data entry; changes propagate automatically
  • Actionable insights: Correlate work orders with IoT data, space usage, and asset performance

Related Entities

The relatesTo GraphQL endpoint ties entities enriched by multiple sources to Work Orders. A work order can be related to a Building, SubBuilding, Floor, Space, Zone or Thing.

Request Response
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
{
  workOrders(filter: {id: {eq: "CLSAb3GmR1QkWfZx8YuN2cTj4"}}) {
    id
    name
    exactType
    summary
    identities {
      ... on ExternalIdentity {
        __typename
        value
      }
    }
    relatesTo {
      __typename
      ... on Building {
        id
        name
        exactType
        identities {
          ... on ExternalIdentity {
            __typename
            value
          }
        }
      }
      ... on SubBuilding {
        id
        name
        exactType
        identities {
          ... on ExternalIdentity {
            __typename
            value
          }
        }
      }
      ... on Zone {
        id
        name
        exactType
        identities {
          ... on ExternalIdentity {
            __typename
            value
          }
        }
      }
      ... on Floor {
        id
        name
        exactType
        identities {
          ... on ExternalIdentity {
            __typename
            value
          }
        }
      }
      ... on Space {
        id
        name
        exactType
        identities {
          ... on ExternalIdentity {
            __typename
            value
          }
        }
      }
      ... on Thing {
        id
        name
        exactType
        identities {
          ... on ExternalIdentity {
            __typename
            value
          }
        }
      }
    }
  }
}

As a shortcut, use _typename to quickly check which entity types are included in the relatesTo clause.

Request Response
Copy
1
2
3
4
5
6
7
8
9
10
{
  workOrders(filter: {id: {eq: "CLSAb3GmR1QkWfZx8YuN2cTj4"}}) {
    id
    name
    exactType
    relatesTo {
      __typename
    }
  }
}

View Work Orders by date

You can use the operators eq (equals), gt (greater than), gte (greater than or equal to), lt (less than), and lte (less than or equal to) to filter Work Orders by the date they were created or updated.

Request Response
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{
  workOrders(filter: {dateUpdated: {gte: "2025-07-30"}}) {
    id
    name
    exactType
    jobType
    jobStatus
    jobPriority
    dateCreated
    dateUpdated
    relatesTo {
      __typename
      ... on Building {
        id
        name
      }
      ... on Space {
        id
        name
      }
      ... on Thing {
        id
        name
        exactType
      }
      ... on Zone {
        id
        name
      }
    }
  }
}

Combine time filter operators to find work orders within a date range:

Request Response
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{
  workOrders(
    filter: {dateUpdated: {gte: "2025-07-28"}, and: {dateUpdated: {lt: "2025-07-30"}}}
  ) {
    id
    name
    exactType
    jobType
    jobStatus
    jobPriority
    dateCreated
    dateUpdated
    relatesTo {
      __typename
      ... on Building {
        id
        name
      }
      ... on Space {
        id
        name
      }
      ... on Thing {
        id
        name
        exactType
      }
      ... on Zone {
        id
        name
      }
    }
  }
}

View Work Orders external identities

Mapped links Buildings, Spaces, Things and Zones across CMMS and asset management systems through the use of external identities.

Request Response
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
{
      workOrders(filter: {id: {eq: "CLSBO8n9MwTaKwQ6Cusj9Gw5X"}}) {
        id
        name
        exactType
        jobType
        jobStatus
        jobPriority
        dateCreated
        dateUpdated
        identities {
          ... on External Identity {
            value
          }
        relatesTo {
          ... on Building {
            id
            name
            exactType
            identities {
                ... on External Identity {
                    value
                }
            }
          }
        ... on Space {
            id
            name
            exactType
            identities {
                ... on External Identity {
                    value
                }
            }
          }
          ... on Thing {
            id
            name
            exactType
            identities {
                ... on External Identity {
                    value
                }
            }
          }
          ... on Zone {
            id
            name
            exactType
            identities {
                ... on External Identity {
                    value
                }
            }
          }
        }
      }
    }

Service Requests

Service Requests are a separate entity from Work Orders, so they require a different GraphQL query. The example query below captures the properties and related entities of a specific Service Request. The same date filtering displayed for Work Orders above can also be used for Service Requests.

Request Response
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
{
  serviceRequests(filter: {id: {eq: "CLSRq7Xw2ZkLmN8p9T4sV6bH3"}}) {
    id
    name
    exactType
    summary
    description
    requestStatus
    jobPriority
    sector
    isReportedBy {
      name
    }
    isResponsibilityOf {
      ... on PeopleGroup {
        name
      }
    }
    identities {
      ... on ExternalIdentity {
        __typename
        value
      }
    }
    relatesTo {
      ... on Building {
        id
        name
        exactType
        identities {
          ... on ExternalIdentity {
            __typename
            value
          }
        }
      }
      ... on Space {
        id
        name
        exactType
        identities {
          ... on ExternalIdentity {
            __typename
            value
          }
        }
      }
    }
  }
}

The table below includes some notable properties and indicates whether they're available for Work Orders or Service Requests or both. For extensive documentation, review our API Reference for Work Orders and Service Requests.

Mapped Entity PropertyWork OrderService Request
name
summary
description
resolutionDescription
problemDescription
subject
referenceUrl
jobStatus
jobPriority
jobType
requestStatus
sector
dateCreated
externalDateCreated
dateUpdated
externalDateUpdated
dueDate
dateClosed
dateCompleted
hasAssignee
isResponsibilityOf