Logs a technician (and the time they spent) against a specific work order event. This is how multiple technicians are recorded against the same work order event. Call this once per technician, each with their own `durationMinutes` and, optionally, `workTypeId`.
All keys in `workOrderEventTechnicianInfo` are required unless otherwise stated as this function does not perform a partial insert.
Rows are removed automatically if their parent work order event is deleted (`ON DELETE CASCADE`), so this doesn't need to be done manually when calling `deleteWorkOrderEvent`.

---
### Parameters
**workOrderEventTechnicianInfo** `Dictionary`<br />
<table class='dictionaryKeyTable'>
	<tbody>
 	<tr><td> - durationMinutes</td><td>Integer</td><td>How long the technician worked, in minutes</td></tr>	
 	<tr><td> - userId</td><td>Integer</td><td>Id of the technician who worked it (not the caller � see the trailing userId argument below)</td></tr>	
 	<tr><td> - workOrderEventId</td><td>Integer</td><td>Id of the work order event worked</td></tr>	
 	<tr><td> - workTypeId</td><td>Integer</td><td>Not required. The kind of work performed (Design, Repair, ...)</td></tr>	
	</tbody>
</table>

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

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

---
### Example
```python
# Log 90 minutes of repair work against work order event 4521
workOrderEventTechnicianInfo = {
	"workOrderEventId": 4521,
	"userId": 12,
	"workTypeId": 2,
	"durationMinutes": 90,
}
userId = system.kanoa.security.getIDPUserId({'userName': 'SYSTEM'})
workOrderEventTechnicianId, message = system.kanoa.cmms.addWorkOrderEventTechnician(workOrderEventTechnicianInfo, userId)
print workOrderEventTechnicianId, message
```
