👤
angajat & personal
employees
organization_compliance
🛡️ RLS Protected
Datele de bază, contracte de muncă (NachwG), înregistrarea timpului cu date de referință de la RBZG, absențe și eAU/EFZG.
Fachliche Bestimmung: Departamentul de personal operațional: Contract de angajare, TimeEntry (reglementări de pauză de la muncă/ZG), absență (rezervare de vacanță/rău incluzând § 9 BUrlG), calificări și contacte de urgență.
⚡ Fluxuri de lucru (2)
🗄️ Modele de date & câmpuri (5)
🔌 Puncte de inițiere (UI & API) (11)
🛡️ Reglementări și respectare
⚡ Fluxuri de lucru
Stampul, concediul și comunicarea de boală
hr_time_and_absence
Recuperarea timpului de serviciu independent și solicitările de absență cu eliberare a managerului.
1. CLOCK_IN
Înregistrări
POST /api/v1/h/clock-in începe TimeEntry.
Aktionen: arbzg_warnings
2. CLOCK_OUT
Înregistrări
Încheiere cu indicații de pauză în conformitate cu ArbZG.
Aktionen: time_summary
3. ABSENCE_REQUEST
Cerere
Oferta de concediu/oferta specială, după cum este solicitată.
Aktionen: vacation_balance
4. ABSENCE_APPROVE
Autorizație
Manager aprobă/refuza; boal cu statut de eAU.
Aktionen: eau_status, efzg_exhausted
O instrucțiune de utilizare:
plan:command_employee_crud_subagent
Plan durabil verificat (durable_plan), inițiativă: manual_command.
1. employee_crud_subagent
employee_crud_subagent
{"key": "execute_command", "label": "Befehl prüfen, ausführen oder zur Freigabe vorlegen", "adapter": "agent.execute", "agent": "employee_crud_subagent", "condition_fact": null}
Aktionen: employee_crud_subagent
🗄️ Modele de date & câmpuri
HrAbsences
hr_absences
RLS Aktiv
24 Câmpuri / coloane
Tabelle hr_absences
| Feldname | Tip de date | Obligatoriu | Schlüssel | Importanța profesională |
|---|---|---|---|---|
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 |
HrEmergencyContacts
hr_emergency_contacts
RLS Aktiv
14 Câmpuri / coloane
Tabelle hr_emergency_contacts
| Feldname | Tip de date | Obligatoriu | Schlüssel | Importanța profesională |
|---|---|---|---|---|
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 |
HrEmploymentContracts
hr_employment_contracts
RLS Aktiv
29 Câmpuri / coloane
Tabelle hr_employment_contracts
| Feldname | Tip de date | Obligatoriu | Schlüssel | Importanța profesională |
|---|---|---|---|---|
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 |
HrQualifications
hr_qualifications
RLS Aktiv
17 Câmpuri / coloane
Tabelle hr_qualifications
| Feldname | Tip de date | Obligatoriu | Schlüssel | Importanța profesională |
|---|---|---|---|---|
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 |
HrTimeEntries
hr_time_entries
RLS Aktiv
23 Câmpuri / coloane
Tabelle hr_time_entries
| Feldname | Tip de date | Obligatoriu | Schlüssel | Importanța profesională |
|---|---|---|---|---|
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 |
🔌 Puncte de inițiere (UI & API)
| Art | Metoda | Punctul de încheiere / traseul | Titel & Zweck | Asigurarea |
|---|---|---|---|---|
| ⚡ REST API | GET | /api/v1/directory/colleagues |
list_colleagues
Semantic binding: not_evaluated; mutation=False
|
employees
|
| ⚡ REST API | GET | /api/v1/employees |
list_employees
Semantic binding: not_evaluated; mutation=False
|
employees
|
| ⚡ REST API | GET | /api/v1/employees/stats |
employee_stats
Semantic binding: not_evaluated; mutation=False
|
employees
|
| ⚡ REST API | GET | /api/v1/employees/{employee_id} |
get_employee
Semantic binding: not_evaluated; mutation=False
|
employees
|
| ⚡ REST API | GET | /api/v1/employees/{employee_id}/permissions |
get_employee_permissions
Semantic binding: not_evaluated; mutation=False
|
employees
|
| ⚡ REST API | GET | /employees |
employees_page
Semantic binding: not_evaluated; mutation=False
|
employees
|
| ⚡ REST API | GET | /employees/new |
employee_create_page
Semantic binding: not_evaluated; mutation=False
|
employees
|
| ⚡ REST API | GET | /employees/{employee_id} |
employee_edit_page
Semantic binding: not_evaluated; mutation=False
|
employees
|
| ⚡ REST API | PATCH | /api/v1/employees/{employee_id} |
update_employee
Semantic binding: not_evaluated; mutation=True
|
employees
|
| ⚡ REST API | POST | /api/v1/employees |
create_employee
Semantic binding: not_evaluated; mutation=True
|
employees
|
| ⚡ REST API | POST | /api/v1/employees/{employee_id}/deactivate |
deactivate_employee
Semantic binding: not_evaluated; mutation=True
|
employees
|
🛡️ Reglementări și respectare
Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:
- ArbZG § 3
- BURLG § 9
- Răspunde
- Peste 100 kg
- RLS izolare a mandanților
Module legate: