Adds a single work order schedule event � a concrete, dated work order instance that has been generated from a recurring work order schedule (see `setWorkOrderSchedule`) or triggered by a condition-based rule. 
Use this function when a schedule event needs to be inserted directly (for example, from a custom generation job) rather than waiting for the platform's automatic schedule-event generation to run. 
The event is recorded against the parent work order/schedule referenced inside `workOrderEventInfo`.

---
### Parameters
**workOrderEventInfo** `Dictionary`<br />
<table class='dictionaryKeyTable'>
	<tbody>
 	<tr><td> - assetId</td><td>Integer</td><td></td></tr>	
 	<tr><td> - assignedTo</td><td>Integer</td><td></td></tr>	
 	<tr><td> - conditionId</td><td>Integer</td><td>Not required. Id of the condition that triggered creating this scheduled event</td></tr>	
 	<tr><td> - currentValue</td><td>Float</td><td>Not required. The value that triggered this scheduledEvent</td></tr>	
 	<tr><td> - dueDate</td><td>DateTime</td><td></td></tr>	
 	<tr><td> - maintenanceSubTypeId</td><td>Integer</td><td></td></tr>	
 	<tr><td> - requestedBy</td><td>Integer</td><td></td></tr>	
 	<tr><td> - workOrderEventStatusId</td><td>Integer</td><td>Not required. If not provided, will be set to 'Assigned' if assignedTo is set, otherwise 'Open'.</td></tr>	
 	<tr><td> - workOrderId</td><td>Integer</td><td>Id of the reference workOrder template</td></tr>	
 	<tr><td> - workOrderPriorityId</td><td>Integer</td><td></td></tr>	
 	<tr><td> - workOrderScheduleId</td><td>Integer</td><td>Not required. Id of the work order schedule that triggered creating this scheduled event</td></tr>	
	</tbody>
</table>

**userId** `Integer`:Id of the user executing the function<br />

---
### Returns
**workOrderEventId** `Integer`<br />
**message** `String` None if success<br />

---
### Example
```python
```

---
### Example
```python
# Manually insert a work order schedule event, e.g. from a custom schedule-generation job that has computed the next occurrence itself.
workOrderPriorityId = system.kanoa.utilities.getFieldValue('workOrderPriorityId', system.kanoa.cmms.getWorkOrderPriorities({'workOrderPriorityName': 'High'}))
workOrderEventStatusId = system.kanoa.utilities.getFieldValue('workOrderStatusId', system.kanoa.cmms.getWorkOrderStatus({'workOrderStatusName': 'Released'}))
workOrderId = system.kanoa.utilities.getFieldValue('workOrderId', system.kanoa.cmms.getWorkOrder({'workOrderName': 'Seal Inspection'}))
workOrderEventInfo = {
						"assetId": 4021,
						"assignedTo": 118,
						"dueDate": system.date.parse("2026-08-01 08:00:00"),
						"maintenanceSubTypeId": 3,
						"requestedBy": 205,
						"requestedDate": system.date.parse("2026-07-27 09:15:00"),
						"workOrderEventName": "Pump 12 - Seal Inspection",
						"workOrderEventStatusId": workOrderPriorityId,
						"workOrderPriorityId": workOrderEventStatusId,
						"workOrderId": workOrderId
					}
userId = system.kanoa.security.getIDPUserId({'userName': 'SYSTEM'})
workOrderEventId, message = system.kanoa.cmms.addWorkOrderScheduleEvent(workOrderEventInfo, userId)
print workOrderEventId, message
```
