Employees¶
Endpoints of the Employees section of the iikoCloud API documentation.
Employees.Employees¶
iiko.employees.employee.create()
async
¶
create(
*,
code: str,
main_organization_id: str,
card_number: str | None = None,
email: str | None = None,
first_name: str | None = None,
hire_date: str | None = None,
last_name: str | None = None,
main_role_id: str | None = None,
middle_name: str | None = None,
name: str | None = None,
note: str | None = None,
organization_ids: Sequence[str] | None = None,
phone: str | None = None,
responsible_for_organization_ids: Sequence[str]
| None = None,
timeout: float | None = None,
) -> EmployeeResponse
Create employee.
POST /api/employees/v1/employee/create
Creates an employee
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
code
|
str
|
Code |
required |
main_organization_id
|
str
|
Identifier (organizationId) of the employee's main organization |
required |
card_number
|
str | None
|
Card number |
None
|
email
|
str | None
|
|
None
|
first_name
|
str | None
|
First name |
None
|
hire_date
|
str | None
|
Employee hire date. Can be |
None
|
last_name
|
str | None
|
Last name |
None
|
main_role_id
|
str | None
|
Position identifier |
None
|
middle_name
|
str | None
|
Middle name |
None
|
name
|
str | None
|
Employee name in the system |
None
|
note
|
str | None
|
Notes |
None
|
organization_ids
|
Sequence[str] | None
|
Identifiers (organizationId) of the employee's organizations |
None
|
phone
|
str | None
|
Phone |
None
|
responsible_for_organization_ids
|
Sequence[str] | None
|
Identifiers (organizationId) of the organizations the employee is responsible for |
None
|
timeout
|
float | None
|
Server-side timeout in seconds ( |
None
|
Returns:
| Type | Description |
|---|---|
EmployeeResponse
|
The |
iiko.employees.employee.fire()
async
¶
fire(
*, ids: Sequence[str], timeout: float | None = None
) -> EmployeeFireResponse
Fire employees.
POST /api/employees/v1/employee/fire
Fires up to 100 employees (soft delete)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
ids
|
Sequence[str]
|
List of employee identifiers to fire |
required |
timeout
|
float | None
|
Server-side timeout in seconds ( |
None
|
Returns:
| Type | Description |
|---|---|
EmployeeFireResponse
|
The |
iiko.employees.employee.get()
async
¶
get(
*, id: str, timeout: float | None = None
) -> EmployeeResponse
Get employee.
POST /api/employees/v1/employee/get
Returns a full employee profile by id
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
Employee identifier |
required |
timeout
|
float | None
|
Server-side timeout in seconds ( |
None
|
Returns:
| Type | Description |
|---|---|
EmployeeResponse
|
The |
iiko.employees.employee.list()
async
¶
list(
*,
filters: Sequence[EmployeeFilter | Mapping[str, Any]],
fields_: Sequence[str] | None = None,
limit: int | None = None,
offset: int | None = None,
timeout: float | None = None,
) -> SwaggerEmployeeListResponse
List of employees.
POST /api/employees/v1/employee/list
Returns a paginated list of employees
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
filters
|
Sequence[EmployeeFilter | Mapping[str, Any]]
|
Filter fields. |
required |
fields_
|
Sequence[str] | None
|
Requested response fields: |
None
|
limit
|
int | None
|
Maximum number of records in the response. |
None
|
offset
|
int | None
|
Number of records to skip from the beginning. |
None
|
timeout
|
float | None
|
Server-side timeout in seconds ( |
None
|
Returns:
| Type | Description |
|---|---|
SwaggerEmployeeListResponse
|
The |
iiko.employees.employee.restore()
async
¶
restore(
*, id: str, timeout: float | None = None
) -> EmployeeRestoreResponse
Restore employee.
POST /api/employees/v1/employee/restore
Restores a fired employee (undoes soft delete)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
Employee identifier |
required |
timeout
|
float | None
|
Server-side timeout in seconds ( |
None
|
Returns:
| Type | Description |
|---|---|
EmployeeRestoreResponse
|
The |
iiko.employees.employee.update()
async
¶
update(
*,
id: str,
card_number: str | None = None,
code: str | None = None,
email: str | None = None,
first_name: str | None = None,
hire_date: str | None = None,
last_name: str | None = None,
main_organization_id: str | None = None,
main_role_id: str | None = None,
middle_name: str | None = None,
name: str | None = None,
note: str | None = None,
organization_ids: Sequence[str] | None = None,
phone: str | None = None,
responsible_for_organization_ids: Sequence[str]
| None = None,
timeout: float | None = None,
) -> EmployeeResponse
Update employee.
POST /api/employees/v1/employee/update
Partially updates an employee
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
Employee identifier |
required |
card_number
|
str | None
|
Card number |
None
|
code
|
str | None
|
Code |
None
|
email
|
str | None
|
|
None
|
first_name
|
str | None
|
First name |
None
|
hire_date
|
str | None
|
Employee hire date. Can be |
None
|
last_name
|
str | None
|
Last name |
None
|
main_organization_id
|
str | None
|
Identifier (organizationId) of the employee's main organization |
None
|
main_role_id
|
str | None
|
Position identifier |
None
|
middle_name
|
str | None
|
Middle name |
None
|
name
|
str | None
|
Employee name in the system |
None
|
note
|
str | None
|
Notes |
None
|
organization_ids
|
Sequence[str] | None
|
Identifiers (organizationId) of the employee's organizations |
None
|
phone
|
str | None
|
Phone |
None
|
responsible_for_organization_ids
|
Sequence[str] | None
|
Identifiers (organizationId) of the organizations the employee is responsible for |
None
|
timeout
|
float | None
|
Server-side timeout in seconds ( |
None
|
Returns:
| Type | Description |
|---|---|
EmployeeResponse
|
The |
Employees.Positions¶
iiko.employees.positions.get()
async
¶
get(
*,
id: str | None = None,
revision_from: int | None = None,
timeout: float | None = None,
) -> EmployeePositionResponse
Get employee position by identifier.
POST /api/employees/v1/positions/get
Returns full information about an employee position by identifier
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str | None
|
Employee position identifier (GUID) |
None
|
revision_from
|
int | None
|
Revision from which to return changed records (optional) |
None
|
timeout
|
float | None
|
Server-side timeout in seconds ( |
None
|
Returns:
| Type | Description |
|---|---|
EmployeePositionResponse
|
The |
iiko.employees.positions.list()
async
¶
list(
*,
filters: Sequence[
EmployeePositionFilterItem | Mapping[str, Any]
]
| None = None,
limit: int | None = None,
offset: int | None = None,
revision_from: int | None = None,
timeout: float | None = None,
) -> ListPositionsResponse
List employee positions.
POST /api/employees/v1/positions/list
Returns a paginated list of employee positions with filter support
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
filters
|
Sequence[EmployeePositionFilterItem | Mapping[str, Any]] | None
|
List of filters (fields: isDeleted, scheduleTypes) |
None
|
limit
|
int | None
|
Maximum number of records in the response (default: 50, max: 1000) |
None
|
offset
|
int | None
|
Number of records to skip from the beginning (0-based) |
None
|
revision_from
|
int | None
|
Revision from which to return changed records (optional) |
None
|
timeout
|
float | None
|
Server-side timeout in seconds ( |
None
|
Returns:
| Type | Description |
|---|---|
ListPositionsResponse
|
The |
Employees.Attendance¶
iiko.employees.attendance.create()
async
¶
create(
*,
employee_id: str,
end_at: str,
organization_id: str,
role_id: str,
start_at: str,
attendance_type_id: str | None = None,
comment: str | None = None,
is_confirmed_manually: bool | None = None,
personal_end_at: str | None = None,
personal_start_at: str | None = None,
timeout: float | None = None,
) -> AttendanceCreateResponse
Create employee attendance.
POST /api/employees/v1/attendance/create
Creates a closed employee attendance and returns the creation result
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
employee_id
|
str
|
Employee UUID |
required |
end_at
|
str
|
Date and time of the confirmed attendance end. If the value is |
required |
organization_id
|
str
|
Organization UUID |
required |
role_id
|
str
|
Role UUID; may be absent for legacy attendances |
required |
start_at
|
str
|
Date and time of the confirmed attendance start |
required |
attendance_type_id
|
str | None
|
Attendance type UUID |
None
|
comment
|
str | None
|
Comment |
None
|
is_confirmed_manually
|
bool | None
|
Manually confirmed flag; may be absent for legacy data. |
None
|
personal_end_at
|
str | None
|
Date and time of the registered attendance end from POS |
None
|
personal_start_at
|
str | None
|
Date and time of the registered attendance start from POS |
None
|
timeout
|
float | None
|
Server-side timeout in seconds ( |
None
|
Returns:
| Type | Description |
|---|---|
AttendanceCreateResponse
|
The |
iiko.employees.attendance.delete()
async
¶
delete(
*,
id: str,
organization_id: str,
timeout: float | None = None,
) -> AttendanceDeleteResponse
Delete employee attendance.
POST /api/employees/v1/attendance/delete
Irreversibly deletes a single attendance
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
Attendance UUID |
required |
organization_id
|
str
|
Organization UUID |
required |
timeout
|
float | None
|
Server-side timeout in seconds ( |
None
|
Returns:
| Type | Description |
|---|---|
AttendanceDeleteResponse
|
The |
iiko.employees.attendance.list()
async
¶
list(
*,
end_at: str,
organization_id: str,
start_at: str,
attendance_type_ids: Sequence[str] | None = None,
employee_ids: Sequence[str] | None = None,
is_closed: bool | None = None,
limit: int | None = None,
offset: int | None = None,
should_include_payment_details: bool | None = None,
timeout: float | None = None,
) -> AttendanceListResponse
List employee attendances.
POST /api/employees/v1/attendance/list
Returns attendances within one organization for a period
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
end_at
|
str
|
Date and time of the confirmed attendance end. If the value is |
required |
organization_id
|
str
|
Organization UUID |
required |
start_at
|
str
|
Date and time of the confirmed attendance start |
required |
attendance_type_ids
|
Sequence[str] | None
|
Non-empty unique array of attendance type UUIDs to filter by |
None
|
employee_ids
|
Sequence[str] | None
|
Non-empty unique array of employee UUIDs to filter by |
None
|
is_closed
|
bool | None
|
Attendance closed flag. If absent in the request body - both closed and open attendances will be returned. If the value is |
None
|
limit
|
int | None
|
Maximum number of records in the response (1..1000) |
None
|
offset
|
int | None
|
Number of records to skip from the beginning |
None
|
should_include_payment_details
|
bool | None
|
Flag to display payment details |
None
|
timeout
|
float | None
|
Server-side timeout in seconds ( |
None
|
Returns:
| Type | Description |
|---|---|
AttendanceListResponse
|
The |
iiko.employees.attendance.update()
async
¶
update(
*,
attendance_type_id: str,
employee_id: str,
end_at: str,
id: str,
is_confirmed_manually: bool,
organization_id: str,
role_id: str,
start_at: str,
comment: str | None = None,
personal_end_at: str | None = None,
personal_start_at: str | None = None,
timeout: float | None = None,
) -> AttendanceUpdateResponse
Update employee attendance.
POST /api/employees/v1/attendance/update
Updates an attendance; when the organization is changed, a new attendance with a new id is created
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
attendance_type_id
|
str
|
Attendance type UUID |
required |
employee_id
|
str
|
Employee UUID |
required |
end_at
|
str
|
Date and time of the confirmed attendance end. If the value is |
required |
id
|
str
|
Attendance UUID |
required |
is_confirmed_manually
|
bool
|
Manually confirmed flag; may be absent for legacy data |
required |
organization_id
|
str
|
Organization UUID |
required |
role_id
|
str
|
Role UUID; may be absent for legacy attendances |
required |
start_at
|
str
|
Date and time of the confirmed attendance start |
required |
comment
|
str | None
|
Comment |
None
|
personal_end_at
|
str | None
|
Date and time of the registered attendance end from POS. An already set value cannot be reset (set to |
None
|
personal_start_at
|
str | None
|
Date and time of the registered attendance start from POS. An already set value cannot be reset (set to |
None
|
timeout
|
float | None
|
Server-side timeout in seconds ( |
None
|
Returns:
| Type | Description |
|---|---|
AttendanceUpdateResponse
|
The |
iiko.employees.attendance_type.list()
async
¶
list(
*,
is_deleted: bool | None = None,
limit: int | None = None,
offset: int | None = None,
timeout: float | None = None,
) -> AttendanceTypeListResponse
List attendance types.
POST /api/employees/v1/attendance-type/list
Returns the attendance type catalog
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
is_deleted
|
bool | None
|
false — active, true — deleted, null — all |
None
|
limit
|
int | None
|
Maximum number of records in the response (1..1000) |
None
|
offset
|
int | None
|
Number of records to skip from the beginning |
None
|
timeout
|
float | None
|
Server-side timeout in seconds ( |
None
|
Returns:
| Type | Description |
|---|---|
AttendanceTypeListResponse
|
The |