сотрудник & персональные
employees
organization_compliance
🛡️ RLS Protected
Сборные данные, трудовые договоры (NachwG), временная информация с указаниями по РБЗГ, отсутствие и EU/EFZG.
⚡ Рабочие процессы и жизненные циклы
Стампы, отпуск и сообщение о болезни
hr_time_and_absence
Сохранение временных записей самообслуживания и заявки на отсутствие с предоставлением разрешения менеджеру.
Приказ пользователя: субагент работника
plan:command_employee_crud_subagent
Проверенный план длительности (durable_plan), старт: manual_command.
Benutzerbefehl: hr absence agent
plan:command_hr_absence_agent
Geprüfter Durable-Plan (unreviewed_plan), Start: manual_command.
Benutzerbefehl: hr contract agent
plan:command_hr_contract_agent
Geprüfter Durable-Plan (unreviewed_plan), Start: manual_command.
Benutzerbefehl: safety agent
plan:command_safety_agent
Проверенный план длительности (durable_plan), старт: manual_command.
🗄️ Модели данных & поля
hr_absences
RLS Aktiv
Tabelle hr_absences
| Feldname | Тип данных | Обязательность | Schlüssel | Профессиональное значение |
|---|---|---|---|---|
employee_id
|
UUID |
Ja * | FK ➔ organization_users.id | Feld employee_id |
absence_type
|
VARCHAR(48) |
Ja * | - | Feld absence_type |
status
|
VARCHAR(48) |
Ja * | - | Feld status |
start_date
|
DATE |
Ja * | - | Feld start_date |
end_date
|
DATE |
Ja * | - | Feld end_date |
days
|
NUMERIC(5, 1) |
Ja * | - | Feld days |
half_day
|
BOOLEAN |
Ja * | - | Feld half_day |
notes
|
TEXT |
Nein | - | Feld notes |
requested_by_id
|
UUID |
Nein | FK ➔ users.id | Feld requested_by_id |
decided_by_id
|
UUID |
Nein | FK ➔ users.id | Feld decided_by_id |
decided_at
|
DATETIME |
Nein | - | Feld decided_at |
decision_note
|
TEXT |
Nein | - | Feld decision_note |
eau_status
|
VARCHAR(48) |
Ja * | - | Feld eau_status |
eau_retrieved_at
|
DATETIME |
Nein | - | Feld eau_retrieved_at |
is_child_sick
|
BOOLEAN |
Ja * | - | Feld is_child_sick |
id
|
UUID |
Nein | PK | Feld id |
tenant_id
|
UUID |
Ja * | FK ➔ organizations.id | Feld tenant_id |
created_at
|
DATETIME |
Ja * | - | Feld created_at |
updated_at
|
DATETIME |
Ja * | - | Feld updated_at |
created_by
|
UUID |
Nein | - | Feld created_by |
updated_by
|
UUID |
Nein | - | Feld updated_by |
source_type
|
VARCHAR(32) |
Nein | - | Feld source_type |
source_id
|
UUID |
Nein | - | Feld source_id |
metadata
|
JSONB |
Ja * | - | Feld metadata |
hr_compensations
RLS Aktiv
Tabelle hr_compensations
| Feldname | Тип данных | Обязательность | Schlüssel | Профессиональное значение |
|---|---|---|---|---|
employee_id
|
UUID |
Ja * | FK ➔ organization_users.id | Feld employee_id |
contract_id
|
UUID |
Nein | FK ➔ hr_employment_contracts.id | Feld contract_id |
component
|
VARCHAR(32) |
Ja * | - | Feld component |
salary_type
|
VARCHAR(48) |
Ja * | - | Feld salary_type |
amount
|
NUMERIC(10, 2) |
Ja * | - | Feld amount |
currency
|
VARCHAR(3) |
Ja * | - | Feld currency |
effective_from
|
DATE |
Ja * | - | Feld effective_from |
effective_to
|
DATE |
Nein | - | Feld effective_to |
reason
|
VARCHAR(255) |
Nein | - | Feld reason |
id
|
UUID |
Nein | PK | Feld id |
tenant_id
|
UUID |
Ja * | FK ➔ organizations.id | Feld tenant_id |
created_at
|
DATETIME |
Ja * | - | Feld created_at |
updated_at
|
DATETIME |
Ja * | - | Feld updated_at |
created_by
|
UUID |
Nein | - | Feld created_by |
updated_by
|
UUID |
Nein | - | Feld updated_by |
source_type
|
VARCHAR(32) |
Nein | - | Feld source_type |
source_id
|
UUID |
Nein | - | Feld source_id |
metadata
|
JSONB |
Ja * | - | Feld metadata |
hr_contract_templates
Tabelle hr_contract_templates
| Feldname | Тип данных | Обязательность | Schlüssel | Профессиональное значение |
|---|---|---|---|---|
id
|
UUID |
Nein | PK | Feld id |
country
|
VARCHAR(2) |
Ja * | - | Feld country |
doc_key
|
VARCHAR(64) |
Ja * | - | Feld doc_key |
language
|
VARCHAR(8) |
Ja * | - | Feld language |
title
|
VARCHAR(255) |
Ja * | - | Feld title |
description
|
TEXT |
Nein | - | Feld description |
sections
|
JSONB |
Ja * | - | Feld sections |
variables
|
JSONB |
Ja * | - | Feld variables |
legal_basis
|
VARCHAR(255) |
Nein | - | Feld legal_basis |
source_note
|
VARCHAR(255) |
Nein | - | Feld source_note |
version
|
INTEGER |
Ja * | - | Feld version |
sort_order
|
INTEGER |
Ja * | - | Feld sort_order |
active
|
BOOLEAN |
Ja * | - | Feld active |
created_at
|
DATETIME |
Ja * | - | Feld created_at |
hr_emergency_contacts
RLS Aktiv
Tabelle hr_emergency_contacts
| Feldname | Тип данных | Обязательность | Schlüssel | Профессиональное значение |
|---|---|---|---|---|
employee_id
|
UUID |
Ja * | FK ➔ organization_users.id | Feld employee_id |
name
|
VARCHAR(255) |
Ja * | - | Feld name |
relationship
|
VARCHAR(128) |
Nein | - | Feld relationship |
phone
|
VARCHAR(64) |
Ja * | - | Feld phone |
priority
|
INTEGER |
Ja * | - | Feld priority |
id
|
UUID |
Nein | PK | Feld id |
tenant_id
|
UUID |
Ja * | FK ➔ organizations.id | Feld tenant_id |
created_at
|
DATETIME |
Ja * | - | Feld created_at |
updated_at
|
DATETIME |
Ja * | - | Feld updated_at |
created_by
|
UUID |
Nein | - | Feld created_by |
updated_by
|
UUID |
Nein | - | Feld updated_by |
source_type
|
VARCHAR(32) |
Nein | - | Feld source_type |
source_id
|
UUID |
Nein | - | Feld source_id |
metadata
|
JSONB |
Ja * | - | Feld metadata |
hr_employment_contracts
RLS Aktiv
Tabelle hr_employment_contracts
| Feldname | Тип данных | Обязательность | Schlüssel | Профессиональное значение |
|---|---|---|---|---|
employee_id
|
UUID |
Ja * | FK ➔ organization_users.id | Feld employee_id |
contract_type
|
VARCHAR(48) |
Ja * | - | Feld contract_type |
status
|
VARCHAR(48) |
Ja * | - | Feld status |
position_title
|
VARCHAR(255) |
Ja * | - | Feld position_title |
job_description
|
TEXT |
Nein | - | Feld job_description |
workplace
|
VARCHAR(255) |
Nein | - | Feld workplace |
start_date
|
DATE |
Ja * | - | Feld start_date |
end_date
|
DATE |
Nein | - | Feld end_date |
probation_months
|
INTEGER |
Nein | - | Feld probation_months |
weekly_hours
|
NUMERIC(5, 2) |
Nein | - | Feld weekly_hours |
salary_type
|
VARCHAR(48) |
Ja * | - | Feld salary_type |
salary_amount
|
NUMERIC(10, 2) |
Nein | - | Feld salary_amount |
vacation_days_per_year
|
INTEGER |
Nein | - | Feld vacation_days_per_year |
notice_period_employee
|
VARCHAR(255) |
Nein | - | Feld notice_period_employee |
notice_period_employer
|
VARCHAR(255) |
Nein | - | Feld notice_period_employer |
tariff_agreement
|
VARCHAR(255) |
Nein | - | Feld tariff_agreement |
terminated_at
|
DATE |
Nein | - | Feld terminated_at |
termination_effective_date
|
DATE |
Nein | - | Feld termination_effective_date |
document_id
|
UUID |
Nein | FK ➔ documents.id | Feld document_id |
notes
|
TEXT |
Nein | - | Feld notes |
id
|
UUID |
Nein | PK | Feld id |
tenant_id
|
UUID |
Ja * | FK ➔ organizations.id | Feld tenant_id |
created_at
|
DATETIME |
Ja * | - | Feld created_at |
updated_at
|
DATETIME |
Ja * | - | Feld updated_at |
created_by
|
UUID |
Nein | - | Feld created_by |
updated_by
|
UUID |
Nein | - | Feld updated_by |
source_type
|
VARCHAR(32) |
Nein | - | Feld source_type |
source_id
|
UUID |
Nein | - | Feld source_id |
metadata
|
JSONB |
Ja * | - | Feld metadata |
hr_qualifications
RLS Aktiv
Tabelle hr_qualifications
| Feldname | Тип данных | Обязательность | Schlüssel | Профессиональное значение |
|---|---|---|---|---|
employee_id
|
UUID |
Ja * | FK ➔ organization_users.id | Feld employee_id |
name
|
VARCHAR(255) |
Ja * | - | Feld name |
issuer
|
VARCHAR(255) |
Nein | - | Feld issuer |
acquired_at
|
DATE |
Nein | - | Feld acquired_at |
expires_at
|
DATE |
Nein | - | Feld expires_at |
document_id
|
UUID |
Nein | FK ➔ documents.id | Feld document_id |
is_required
|
BOOLEAN |
Ja * | - | Feld is_required |
notes
|
TEXT |
Nein | - | Feld notes |
id
|
UUID |
Nein | PK | Feld id |
tenant_id
|
UUID |
Ja * | FK ➔ organizations.id | Feld tenant_id |
created_at
|
DATETIME |
Ja * | - | Feld created_at |
updated_at
|
DATETIME |
Ja * | - | Feld updated_at |
created_by
|
UUID |
Nein | - | Feld created_by |
updated_by
|
UUID |
Nein | - | Feld updated_by |
source_type
|
VARCHAR(32) |
Nein | - | Feld source_type |
source_id
|
UUID |
Nein | - | Feld source_id |
metadata
|
JSONB |
Ja * | - | Feld metadata |
hr_risk_assessments
RLS Aktiv
Tabelle hr_risk_assessments
| Feldname | Тип данных | Обязательность | Schlüssel | Профессиональное значение |
|---|---|---|---|---|
area
|
VARCHAR(255) |
Ja * | - | Feld area |
activity
|
VARCHAR(255) |
Ja * | - | Feld activity |
hazards
|
TEXT |
Nein | - | Feld hazards |
measures
|
JSONB |
Ja * | - | Feld measures |
status
|
VARCHAR(16) |
Ja * | - | Feld status |
reviewed_at
|
DATE |
Nein | - | Feld reviewed_at |
next_review_at
|
DATE |
Nein | - | Feld next_review_at |
document_id
|
UUID |
Nein | FK ➔ documents.id | Feld document_id |
notes
|
TEXT |
Nein | - | Feld notes |
id
|
UUID |
Nein | PK | Feld id |
tenant_id
|
UUID |
Ja * | FK ➔ organizations.id | Feld tenant_id |
created_at
|
DATETIME |
Ja * | - | Feld created_at |
updated_at
|
DATETIME |
Ja * | - | Feld updated_at |
created_by
|
UUID |
Nein | - | Feld created_by |
updated_by
|
UUID |
Nein | - | Feld updated_by |
source_type
|
VARCHAR(32) |
Nein | - | Feld source_type |
source_id
|
UUID |
Nein | - | Feld source_id |
metadata
|
JSONB |
Ja * | - | Feld metadata |
hr_safety_instructions
RLS Aktiv
Tabelle hr_safety_instructions
| Feldname | Тип данных | Обязательность | Schlüssel | Профессиональное значение |
|---|---|---|---|---|
template_id
|
UUID |
Nein | FK ➔ hr_safety_templates.id | Feld template_id |
title
|
VARCHAR(255) |
Ja * | - | Feld title |
conducted_on
|
DATE |
Nein | - | Feld conducted_on |
instructor_name
|
VARCHAR(255) |
Nein | - | Feld instructor_name |
status
|
VARCHAR(16) |
Ja * | - | Feld status |
next_due_at
|
DATE |
Nein | - | Feld next_due_at |
document_id
|
UUID |
Nein | FK ➔ documents.id | Feld document_id |
notes
|
TEXT |
Nein | - | Feld notes |
id
|
UUID |
Nein | PK | Feld id |
tenant_id
|
UUID |
Ja * | FK ➔ organizations.id | Feld tenant_id |
created_at
|
DATETIME |
Ja * | - | Feld created_at |
updated_at
|
DATETIME |
Ja * | - | Feld updated_at |
created_by
|
UUID |
Nein | - | Feld created_by |
updated_by
|
UUID |
Nein | - | Feld updated_by |
source_type
|
VARCHAR(32) |
Nein | - | Feld source_type |
source_id
|
UUID |
Nein | - | Feld source_id |
metadata
|
JSONB |
Ja * | - | Feld metadata |
hr_safety_participants
RLS Aktiv
Tabelle hr_safety_participants
| Feldname | Тип данных | Обязательность | Schlüssel | Профессиональное значение |
|---|---|---|---|---|
instruction_id
|
UUID |
Ja * | FK ➔ hr_safety_instructions.id | Feld instruction_id |
employee_id
|
UUID |
Ja * | FK ➔ organization_users.id | Feld employee_id |
attended
|
BOOLEAN |
Ja * | - | Feld attended |
signed_at
|
DATETIME |
Nein | - | Feld signed_at |
signature_document_id
|
UUID |
Nein | FK ➔ documents.id | Feld signature_document_id |
id
|
UUID |
Nein | PK | Feld id |
tenant_id
|
UUID |
Ja * | FK ➔ organizations.id | Feld tenant_id |
created_at
|
DATETIME |
Ja * | - | Feld created_at |
updated_at
|
DATETIME |
Ja * | - | Feld updated_at |
metadata
|
JSONB |
Ja * | - | Feld metadata |
hr_safety_templates
RLS Aktiv
Tabelle hr_safety_templates
| Feldname | Тип данных | Обязательность | Schlüssel | Профессиональное значение |
|---|---|---|---|---|
title
|
VARCHAR(255) |
Ja * | - | Feld title |
content
|
TEXT |
Nein | - | Feld content |
document_id
|
UUID |
Nein | FK ➔ documents.id | Feld document_id |
interval_months
|
INTEGER |
Ja * | - | Feld interval_months |
applies_to
|
JSONB |
Ja * | - | Feld applies_to |
active
|
BOOLEAN |
Ja * | - | Feld active |
id
|
UUID |
Nein | PK | Feld id |
tenant_id
|
UUID |
Ja * | FK ➔ organizations.id | Feld tenant_id |
created_at
|
DATETIME |
Ja * | - | Feld created_at |
updated_at
|
DATETIME |
Ja * | - | Feld updated_at |
created_by
|
UUID |
Nein | - | Feld created_by |
updated_by
|
UUID |
Nein | - | Feld updated_by |
source_type
|
VARCHAR(32) |
Nein | - | Feld source_type |
source_id
|
UUID |
Nein | - | Feld source_id |
metadata
|
JSONB |
Ja * | - | Feld metadata |
hr_time_entries
RLS Aktiv
Tabelle hr_time_entries
| Feldname | Тип данных | Обязательность | Schlüssel | Профессиональное значение |
|---|---|---|---|---|
employee_id
|
UUID |
Ja * | FK ➔ organization_users.id | Feld employee_id |
work_date
|
DATE |
Ja * | - | Feld work_date |
started_at
|
DATETIME |
Ja * | - | Feld started_at |
ended_at
|
DATETIME |
Nein | - | Feld ended_at |
break_minutes
|
INTEGER |
Ja * | - | Feld break_minutes |
kind
|
VARCHAR(48) |
Ja * | - | Feld kind |
status
|
VARCHAR(48) |
Ja * | - | Feld status |
work_order_id
|
UUID |
Nein | FK ➔ work_orders.id | Feld work_order_id |
project_id
|
UUID |
Nein | FK ➔ projects.id | Feld project_id |
description
|
TEXT |
Nein | - | Feld description |
warnings
|
JSONB |
Ja * | - | Feld warnings |
approved_by_id
|
UUID |
Nein | FK ➔ users.id | Feld approved_by_id |
approved_at
|
DATETIME |
Nein | - | Feld approved_at |
correction_of_id
|
UUID |
Nein | FK ➔ hr_time_entries.id | Feld correction_of_id |
id
|
UUID |
Nein | PK | Feld id |
tenant_id
|
UUID |
Ja * | FK ➔ organizations.id | Feld tenant_id |
created_at
|
DATETIME |
Ja * | - | Feld created_at |
updated_at
|
DATETIME |
Ja * | - | Feld updated_at |
created_by
|
UUID |
Nein | - | Feld created_by |
updated_by
|
UUID |
Nein | - | Feld updated_by |
source_type
|
VARCHAR(32) |
Nein | - | Feld source_type |
source_id
|
UUID |
Nein | - | Feld source_id |
metadata
|
JSONB |
Ja * | - | Feld metadata |
hr_work_instructions
RLS Aktiv
Tabelle hr_work_instructions
| Feldname | Тип данных | Обязательность | Schlüssel | Профессиональное значение |
|---|---|---|---|---|
workplace_id
|
UUID |
Nein | FK ➔ hr_workplace_descriptions.id | Feld workplace_id |
code
|
VARCHAR(64) |
Ja * | - | Feld code |
title
|
VARCHAR(255) |
Ja * | - | Feld title |
steps
|
JSONB |
Ja * | - | Feld steps |
integration_notes
|
TEXT |
Nein | - | Feld integration_notes |
status
|
VARCHAR(16) |
Ja * | - | Feld status |
source
|
VARCHAR(64) |
Ja * | - | Feld source |
plan_hash
|
VARCHAR(64) |
Nein | - | Feld plan_hash |
idempotency_key
|
VARCHAR(128) |
Nein | - | Feld idempotency_key |
document_id
|
UUID |
Nein | FK ➔ documents.id | Feld document_id |
notes
|
TEXT |
Nein | - | Feld notes |
id
|
UUID |
Nein | PK | Feld id |
tenant_id
|
UUID |
Ja * | FK ➔ organizations.id | Feld tenant_id |
created_at
|
DATETIME |
Ja * | - | Feld created_at |
updated_at
|
DATETIME |
Ja * | - | Feld updated_at |
created_by
|
UUID |
Nein | - | Feld created_by |
updated_by
|
UUID |
Nein | - | Feld updated_by |
source_type
|
VARCHAR(32) |
Nein | - | Feld source_type |
source_id
|
UUID |
Nein | - | Feld source_id |
metadata
|
JSONB |
Ja * | - | Feld metadata |
hr_workplace_descriptions
RLS Aktiv
Tabelle hr_workplace_descriptions
| Feldname | Тип данных | Обязательность | Schlüssel | Профессиональное значение |
|---|---|---|---|---|
code
|
VARCHAR(64) |
Ja * | - | Feld code |
title
|
VARCHAR(255) |
Ja * | - | Feld title |
summary
|
TEXT |
Nein | - | Feld summary |
duties
|
JSONB |
Ja * | - | Feld duties |
role_code
|
VARCHAR(64) |
Nein | - | Feld role_code |
org_unit_name
|
VARCHAR(255) |
Nein | - | Feld org_unit_name |
headcount_planned
|
INTEGER |
Nein | - | Feld headcount_planned |
status
|
VARCHAR(16) |
Ja * | - | Feld status |
source
|
VARCHAR(64) |
Ja * | - | Feld source |
plan_hash
|
VARCHAR(64) |
Nein | - | Feld plan_hash |
idempotency_key
|
VARCHAR(128) |
Nein | - | Feld idempotency_key |
document_id
|
UUID |
Nein | FK ➔ documents.id | Feld document_id |
notes
|
TEXT |
Nein | - | Feld notes |
id
|
UUID |
Nein | PK | Feld id |
tenant_id
|
UUID |
Ja * | FK ➔ organizations.id | Feld tenant_id |
created_at
|
DATETIME |
Ja * | - | Feld created_at |
updated_at
|
DATETIME |
Ja * | - | Feld updated_at |
created_by
|
UUID |
Nein | - | Feld created_by |
updated_by
|
UUID |
Nein | - | Feld updated_by |
source_type
|
VARCHAR(32) |
Nein | - | Feld source_type |
source_id
|
UUID |
Nein | - | Feld source_id |
metadata
|
JSONB |
Ja * | - | Feld metadata |
🔌 Входные пункты (UI & API)
| Art | Метод | Конечный пункт / путь | Titel & Zweck | Право на |
|---|---|---|---|---|
| ⚡ REST API | GET | /api/v1/directory/colleagues |
list_colleagues
Semantic binding: inventory_only; mutation=False
|
employees
|
| ⚡ REST API | GET | /api/v1/employees |
list_employees
Semantic binding: inventory_only; mutation=False
|
employees
|
| ⚡ REST API | GET | /api/v1/employees/stats |
employee_stats
Semantic binding: inventory_only; mutation=False
|
employees
|
| ⚡ REST API | GET | /api/v1/employees/{employee_id} |
get_employee
Semantic binding: inventory_only; mutation=False
|
employees
|
| ⚡ REST API | GET | /api/v1/employees/{employee_id}/permissions |
get_employee_permissions
Semantic binding: inventory_only; mutation=False
|
employees
|
| ⚡ REST API | GET | /employees |
employees_page
Semantic binding: inventory_only; mutation=False
|
employees
|
| ⚡ REST API | GET | /employees/new |
employee_create_page
Semantic binding: inventory_only; mutation=False
|
employees
|
| ⚡ REST API | GET | /employees/{employee_id} |
employee_edit_page
Semantic binding: inventory_only; mutation=False
|
employees
|
| ⚡ REST API | PATCH | /api/v1/employees/{employee_id} |
update_employee
Semantic binding: operator_surface; mutation=True
|
employees
|
| ⚡ REST API | POST | /api/v1/employees |
create_employee
Semantic binding: operator_surface; mutation=True
|
employees
|
| ⚡ REST API | POST | /api/v1/employees/{employee_id}/deactivate |
deactivate_employee
Semantic binding: operator_surface; mutation=True
|
employees
|
🛡️ Регуляторство и соответствие
Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:
- СОЗО § 3
- ПРИЛОЖЕНИЕ No 9
- СЗЗ
- В. В. В. В. В. В. В. В. В. В. В. В. В. В. В. В. В. В. В.
- RLS Изоляция