# CheckInProcessActivity ## Overview Checks in an employee to a specified Process Activity. This associates the employee (and optional trainer or certification details) with the activity, enabling tracking, validation, and role-based participation. ## Action Groups * Orchestration.IndEqManagementOrchestration.CheckInProcessActivity.Pre * Orchestration.IndEqManagementOrchestration.CheckInProcessActivity.Post ## Input Object The table below describes the input parameters for the service: | Name | Type | Description | | --------------- | :------------------: | ----------------------------------------------------------- | | ProcessActivity | IndEqProcessActivity | The Process Activity to check into | | User | IUser | The user associated with the check-in | | Employee | IEmployee | The employee to check in | | Type | string | The type or role of the employee within the activity | | Certification | ICertification | Optional certification required for the check-in | | Exclusive | bool | Whether this employee must exclusively perform the activity | | Weight | decimal | Weight | | Duration | decimal | Expected or actual duration of the employee’s check in | | Trainer | IEmployee | Optional trainer responsible for overseeing the employee | | BeginDate | DateTime | Optional timestamp marking the beginning of the check-in | | EndDate | DateTime | Optional timestamp marking the end of the check-in | ## Output Object The table below describes the output parameters for the service: | Name | Type | Description | | ---------------------------- | :--------------------------: | ------------------------------------------------------------ | | ProcessActivity | IndEqProcessActivity | The updated Process Activity after check-in | | IndEqProcessActivityEmployee | IndEqProcessActivityEmployee | The new check-in record linking the employee to the activity | ## Pre Conditions * The specified *ProcessActivity* must exist and be active. * The *Employee* must exist, if needed, have the required Certification. [TODO] Check Role ## How it works [TODO] 1. Validate the existence and state of the *ProcessActivity*. 2. Verify that the *Employee* and (optionally) *Trainer* meet all criteria. 3. Checks for required certification, exclusivity rules, and time constraints. 4. Creates a new *IndEqProcessActivityEmployee* entity to record the check-in. 5. Updates the *ProcessActivity* with the associated employee. ## Assumptions * An employee can be checked into multiple activities unless *Exclusive* is true.