You can define a set of employee positions and use those positions in timesheets and rate tables to bill employee labor out at different rates, depending on the work that an employee does at various times during the day.
For example, you may want to bill a customer at one rate for the time that an employee spends unloading a truck, but then bill at a different rate when the same employee does work as an electrical apprentice. You can define a set of employee positions to use on timesheets and in rate table timesheet entries to accomplish this.
NOTE: The employee-position
object is used for billing labor, and is different from the position-skill object, which is used to track, categorize, and search for resources according to skills and expertise.
Returns up to 100 object references from the collection with a key, ID, and link for each employee position. This operation is mostly for use in testing; use query to find employee positions that meet certain criteria and to specify properties that are returned.
Subscription | Construction |
---|---|
User type | Business user with admin permissions |
Permissions | List Employee Positions |
OK
Bad Request
{- "ia::result": [
- {
- "key": "1",
- "id": "EP-001",
- "href": "/objects/construction/employee-position/1"
}, - {
- "key": "2",
- "id": "EP-002",
- "href": "/objects/construction/employee-position/2"
}, - {
- "key": "7",
- "id": "PLUM-001",
- "href": "/objects/construction/employee-position/7"
}, - {
- "key": "8",
- "id": "FOR-001",
- "href": "/objects/construction/employee-position/8"
}
], - "ia::meta": {
- "totalCount": 4,
- "start": 1,
- "pageSize": 100,
- "next": null,
- "previous": null
}
}
Creates a new employee position.
Subscription | Construction |
---|---|
User type | Business user with admin permissions |
Permissions | Add Employee Positions |
Employee position to create
id required | string Unique identifier for the employee position. Example: "SV001" |
name required | string Name for the employee position. Example: "Supervisor-1" |
description | string Description for the employee position. Example: "First-level supervisor" |
status | string Default: "active" Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced. Example: "active" |
Created
Bad Request
{- "id": "FOR-001",
- "name": "Foreman-01",
- "description": "Job site foreman",
- "status": "active"
}
{- "ia::result": {
- "key": "8",
- "id": "FOR-001",
- "href": "/objects/construction/employee-position/8"
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Returns detailed information for a specified employee position.
Subscription | Construction |
---|---|
User type | Business user with admin permissions |
Permissions | List, View Employee Positions |
key required | string System-assigned key for the employee position. Example: 41 |
OK
Bad Request
{- "ia::result": {
- "key": "8",
- "id": "FOR-001",
- "name": "Foreman-01",
- "description": "Job site foreman",
- "status": "active",
- "audit": {
- "createdDateTime": "2023-02-02T23:32:10Z",
- "modifiedDateTime": "2023-03-03T01:24:56Z",
- "createdBy": "1",
- "modifiedBy": "1"
}, - "href": "/objects/construction/employee-position/8"
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Updates an existing employee position by setting field values. Any fields not provided remain unchanged.
Subscription | Construction |
---|---|
User type | Business user with admin permissions |
Permissions | Update Employee Position |
key required | string System-assigned key for the employee position. Example: 41 |
name | string Name for the employee position. Example: "Supervisor-1" |
description | string Description for the employee position. Example: "First-level supervisor" |
status | string Default: "active" Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced. Example: "active" |
OK
Bad Request
{- "description": "(deactivated) This employee is a foreman",
- "status": "inactive"
}
{- "ia::result": {
- "key": "8",
- "id": "FOR-001",
- "href": "/objects/construction/employee-position/8"
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Deletes an employee position.
Subscription | Construction |
---|---|
User type | Business user with admin permissions |
Permissions | Delete Employee Position |
key required | string System-assigned key for the employee position. Example: 41 |
No Content
Bad Request
{- "ia::result": {
- "ia::error": {
- "code": "invalidRequest",
- "message": "A POST request requires a payload",
- "errorId": "REST-1028",
- "additionalInfo": {
- "messageId": "IA.REQUEST_REQUIRES_A_PAYLOAD",
- "placeholders": {
- "OPERATION": "POST"
}, - "propertySet": { }
}, - "supportId": "Kxi78%7EZuyXBDEGVHD2UmO1phYXDQAAAAo"
}
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 0,
- "totalError": 1
}
}
Queries an object for filtered data.
object | string Object type to query, in the form Example: "construction/employee-position" | ||||||||
fields | Array of strings List of fields to include in the response. Can be any combination of these:
Example: ["key","id","max:vendor.creditLimit"] | ||||||||
Array of equal (object) or not equal (object) or less than (object) or (less than or equal (object)) or greater than (object) or (greater than or equal (object)) or in (object) or not in (object) or between (object) or not between (object) or contains (object) or does not contain (object) or starts with (object) or does not start with (object) or ends with (object) or does not end with (object) Filter conditions to select the objects to return based on their field values. You use operators and conditions to build your filter, such as Example: [{"$eq":{"status":"active"}},{"$gt":{"totalDue":"1000"}},{"$contains":{"name":"Acme"}}] | |||||||||
Array Any of: Field value must be equal to this specified value. For date fields, you can use these macro values that are relative to the current date or the
These are most useful for queries that you want to save and use repeatedly, such as for views or reports. Just change the For example,
| |||||||||
filterExpression | string Default: "and" Logical operators to apply when there are multiple filter conditions. The conditions in the Shortcuts:
Example: "(1 and 2) or 3" | ||||||||
| |||||||||
Array of objects Set the order of the results by specifying field names to sort by and whether they should be in ascending or descending order. Example: [{"totalDue":"asc"},{"lastPaymentMadeDate":"desc"}] | |||||||||
Array
| |||||||||
start | integer First record of the result set to include in the response. Example: 1 | ||||||||
size | integer Number of records to include in the response. Example: 100 |
OK
Bad Request
{- "object": "employee-position",
- "filters": [
- {
- "$startsWith": {
- "id": "SUP"
}
}
], - "fields": [
- "key",
- "id",
- "name",
- "description"
], - "orderBy": [
- {
- "id": "asc"
}
]
}
{- "ia::result": [
- {
- "key": "11",
- "id": "SUP001",
- "name": "Supervisor-1",
- "description": "First-level supervisor"
}, - {
- "key": "12",
- "id": "SUP002",
- "name": "Supervisor-2",
- "description": "Second-level supervisor"
}, - {
- "key": "13",
- "id": "SUP003",
- "name": "Supervisor-3",
- "description": "Third-level supervisor"
}, - {
- "key": "14",
- "id": "SUP004",
- "name": "Supervisor-4",
- "description": "Fourth-level supervisor"
}
], - "ia::meta": {
- "totalCount": 4,
- "start": 1,
- "pageSize": 100,
- "next": null,
- "previous": null
}
}