system.mes.shift.startShift
Description
Starts a Shifts. This creates a new Shift Records entry with the given start time (optional; defaults to now).
Permissions
This method requires the SHIFT.EXECUTE permission.
Syntax
Identify the shift by either shiftId, or both locationIdOrPath and name. Optionally provide startDateMillis; if omitted, the shift starts now.
# Start by shift ID (now)
system.mes.shift.startShift(shiftId=shiftId)
# Start by shift ID at a specific time
system.mes.shift.startShift(shiftId=shiftId, startDateMillis=startDateMillis)
# Start by location and name (now)
system.mes.shift.startShift(locationIdOrPath=locationIdOrPath, name=name)
# Start by location and name at a specific time
system.mes.shift.startShift(locationIdOrPath=locationIdOrPath, name=name, startDateMillis=startDateMillis)
Parameters
| Parameter | Type | Nullable | Description |
|---|---|---|---|
shiftId | String (ULID) | Yes | The ID of the shift to start. |
locationIdOrPath | String | Yes | The location ID or path where the shift is defined. |
name | String | Yes | The name of the shift to start. |
startDateMillis | Long | Yes | Start time in milliseconds since epoch. Defaults to now if omitted. |
Returns
Returns a JSON representation of the created shift record.
| Name | Type | Description |
|---|---|---|
startDate | DateTime | Actual start date/time when the shift began. |
endDate | DateTime | Actual end date/time when the shift ended (until stopped). |
status | String (Enum) | Current status (IDLE, ACTIVE, CLOSED, VERIFIED). |
locationId | String (ULID) | The location where the shift runs. |
shiftId | String (ULID) | The shift configuration this record belongs to. |
id | String (ULID) | The ULID of the shift record. |
notes | String | Notes related to the record. |
enabled | Boolean | Indicates if the record is active and enabled. |
spare1 | String | Additional field for user-defined context. |
spare2 | String | Additional field for user-defined context. |
spare3 | String | Additional field for user-defined context. |
Code Examples
# Start by shift ID (now)
record = system.mes.shift.startShift('01JAP8RJBN-8ZTPXSGY-J9GSDPE1')
print(record)
# Start by shift ID at a specific time
ts = 1735689600000
record = system.mes.shift.startShift('01JAP8RJBN-8ZTPXSGY-J9GSDPE1', ts)
print(record)
# Start by location and name (now)
record = system.mes.shift.startShift('DairyCo/Plant1/Line1', 'Morning Shift')
print(record)
# Start by location and name at a specific time
record = system.mes.shift.startShift('DairyCo/Plant1/Line1', 'Morning Shift', ts)
print(record)