Centurio System- & Moduldokumentation
🏛️ Plattform-Architektur 🔑 Login
🏠 Alle Module / crm_office / Aufgabenmanagement
📘

Aufgabenmanagement

tasks crm_office 🛡️ RLS Protected

Aufgabenmanagement — aus Code abgeleitete Prozess- und API-Dokumentation.

Fachliche Bestimmung: Aufgabenmanagement — aus Code abgeleitete Prozess- und API-Dokumentation. Erfasst alle registrierten Prozesse, Capabilities, Zustandsmaschinen, APIs und Tabellen für Simulationen und Reviews.

⚡ Workflows & Lebenszyklen

Vertragslebenszyklus cascade:business.contract.lifecycle

Kaskade (review_gated).

1. contract
Vertrag anlegen
contracts
Aktionen: contract.create
2. task
Fristen / Kündigungsüberwachung
tasks
Aktionen: create_task

Korrespondenz → CRM cascade:business.correspondence.crm

Kaskade (review_gated).

1. lead
CRM-Lead / Anfrage anlegen
crm
Aktionen: crm.lead.create
2. task
Anfrage nachfassen
tasks
Aktionen: create_task

Kundenauftrag → Warenausgang cascade:business.customer_order.fulfill

Kaskade (review_gated).

1. issue
Warenausgang als Entwurf buchen
inventory
Aktionen: stock.issue.create
2. tour
Auslieferungstour einplanen
logistics
Aktionen: create_tour
3. project
Projekt / Kostenstelle zuordnen
projects
Aktionen: link_project
4. task
Auftrag ausführen / abrechnen
tasks
Aktionen: create_task

Lieferschein-Vollverarbeitung cascade:business.delivery_note.intake

Kaskade (review_gated).

1. stock
Wareneingang ins Lager buchen
inventory
Aktionen: post_goods_receipt
2. tour
Tour / Weitertransport einplanen
logistics
Aktionen: create_tour
3. task
Wareneingang prüfen / abgleichen
tasks
Aktionen: create_task
4. qc
Qualitätsprüfung bei Mängelverdacht
inventory
Aktionen: quality.check.create
5. ticket
Reklamations-Ticket bei Mängeln
tickets
Aktionen: create_ticket

Auftragsbestätigung prüfen cascade:business.order_confirmation.check

Kaskade (review_gated).

1. match
AB ↔ Bestellung abgleichen
purchasing
Aktionen: order_confirmation.match
2. project
Projekt / Kostenstelle zuordnen
projects
Aktionen: link_project
3. task
Liefertermin / Preise überwachen
tasks
Aktionen: create_task

Retourenbearbeitung cascade:business.return_note.handling

Kaskade (review_gated).

1. ticket
Reklamations-Ticket anlegen
tickets
Aktionen: create_ticket
2. tour
Abholtour einplanen
logistics
Aktionen: create_tour
3. task
Retoure weiterbearbeiten
tasks
Aktionen: create_task

Eingangsrechnung → Abrechnung cascade:business.supplier_invoice.p2p

Kaskade (review_gated).

1. booking
Buchungssatz erstellen
accounting
Aktionen: accounting.entry
2. project
Projektkosten verbuchen
projects
Aktionen: link_project
3. task
Frist / Skonto überwachen
tasks
Aktionen: create_task

Außendienst → Abrechnung cascade:business.work_report.billing

Kaskade (review_gated).

1. fieldservice
Außendienst-Einsatz / Servicebericht
fieldservice
Aktionen: create_service_report
2. task
Abrechnung nachverfolgen
tasks
Aktionen: create_task
3. ticket
Ticket bei Mängeln/Störung
tickets
Aktionen: create_ticket

Aufgabe / Wiedervorlage cascade_target:business.task.followup

Kaskade (review_gated).

1. cascade
Aufgabe / Wiedervorlage

Aufgabe status:task

Beobachtbare Zustandsmaschine (observable_only). Übergänge hier nicht erzwungen — siehe Service-Validierung.

1. todo
todo
Status «todo» der Zustandsmaschine Aufgabe.
2. open
open
Status «open» der Zustandsmaschine Aufgabe.
3. in_progress
in_progress
Status «in_progress» der Zustandsmaschine Aufgabe.
4. blocked
blocked
Status «blocked» der Zustandsmaschine Aufgabe.
5. review
review
Status «review» der Zustandsmaschine Aufgabe.
6. done
done
Status «done» der Zustandsmaschine Aufgabe.
7. cancelled
cancelled
Status «cancelled» der Zustandsmaschine Aufgabe.

🗄️ Datenmodelle & Felder

TaskChecklistItems task_checklist_items RLS Aktiv
12 Felder / Spalten

Tabelle task_checklist_items

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
task_id UUID Ja * FK ➔ tasks.id Feld task_id
title VARCHAR(255) Ja * - Feld title
is_done BOOLEAN Ja * - Feld is_done
position INTEGER Ja * - Feld position
assigned_user_id UUID Nein FK ➔ users.id Feld assigned_user_id
completed_at DATETIME Nein - Feld completed_at
completed_by UUID Nein FK ➔ users.id Feld completed_by
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
TaskDependencies task_dependencies RLS Aktiv
11 Felder / Spalten

Tabelle task_dependencies

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
task_id UUID Ja * FK ➔ tasks.id Feld task_id
predecessor_id UUID Ja * FK ➔ tasks.id Feld predecessor_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
Tasks tasks RLS Aktiv
32 Felder / Spalten

Tabelle tasks

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
title VARCHAR(255) Ja * - Feld title
description TEXT Nein - Feld description
status VARCHAR(48) Ja * - Feld status
priority VARCHAR(48) Ja * - Feld priority
due_at DATETIME Nein - Feld due_at
started_at DATETIME Nein - Feld started_at
completed_at DATETIME Nein - Feld completed_at
estimated_hours NUMERIC(14, 2) Nein - Feld estimated_hours
logged_hours NUMERIC(14, 2) Nein - Feld logged_hours
tags JSONB Nein - Feld tags
assigned_user_id UUID Nein FK ➔ users.id Feld assigned_user_id
customer_id UUID Nein FK ➔ customers.id Feld customer_id
project_id UUID Nein FK ➔ projects.id Feld project_id
work_order_id UUID Nein FK ➔ work_orders.id Feld work_order_id
asset_id UUID Nein FK ➔ assets.id Feld asset_id
ticket_id UUID Nein FK ➔ tickets.id Feld ticket_id
milestone_id UUID Nein FK ➔ project_milestones.id Feld milestone_id
entity_type VARCHAR(64) Nein - Feld entity_type
entity_id UUID Nein - Feld entity_id
action_url VARCHAR(512) Nein - Feld action_url
created_by_agent VARCHAR(64) Nein - Feld created_by_agent
source_event_id UUID Nein - Feld source_event_id
idempotency_key VARCHAR(128) Nein - Feld idempotency_key
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

🔌 Einstiegspunkte (UI & APIs)

Art Methode Endpunkt / Pfad Titel & Zweck Berechtigung
⚡ REST API DELETE /api/v1/tasks/checklist/{item_id}
delete_checklist_item
Semantic binding: operator_surface; mutation=True
tasks
⚡ REST API DELETE /api/v1/tasks/{task_id}
delete_task
Semantic binding: operator_surface; mutation=True
tasks
⚡ REST API DELETE /api/v1/tasks/{task_id}/dependencies/{predecessor_id}
remove_dependency
Semantic binding: operator_surface; mutation=True
tasks
⚡ REST API GET /api/v1/tasks
list_tasks
Semantic binding: inventory_only; mutation=False
tasks
⚡ REST API GET /api/v1/tasks/board
get_task_board
Semantic binding: inventory_only; mutation=False
tasks
⚡ REST API GET /api/v1/tasks/context/{entity_type}/{entity_id}
list_tasks_for_context
Semantic binding: inventory_only; mutation=False
tasks
⚡ REST API GET /api/v1/tasks/count
open_count
Semantic binding: inventory_only; mutation=False
tasks
⚡ REST API GET /api/v1/tasks/my
my_tasks
Semantic binding: inventory_only; mutation=False
tasks
⚡ REST API GET /api/v1/tasks/{task_id}
get_task
Semantic binding: inventory_only; mutation=False
tasks
⚡ REST API GET /api/v1/tasks/{task_id}/dependencies
list_dependencies
Semantic binding: inventory_only; mutation=False
tasks
⚡ REST API GET /aufgaben
tasks_page
Semantic binding: inventory_only; mutation=False
tasks
⚡ REST API GET /aufgaben/neu
task_create_page
Semantic binding: inventory_only; mutation=False
tasks
⚡ REST API GET /aufgaben/{task_id}
task_detail_page
Semantic binding: inventory_only; mutation=False
tasks
⚡ REST API GET /tasks
tasks_page
Semantic binding: inventory_only; mutation=False
tasks
⚡ REST API GET /tasks/new
task_create_page
Semantic binding: inventory_only; mutation=False
tasks
⚡ REST API GET /tasks/{task_id}
task_detail_page
Semantic binding: inventory_only; mutation=False
tasks
⚡ REST API PATCH /api/v1/tasks/checklist/{item_id}
update_checklist_item
Semantic binding: operator_surface; mutation=True
tasks
⚡ REST API PATCH /api/v1/tasks/checklist/{item_id}/toggle
toggle_checklist_item
Semantic binding: operator_surface; mutation=True
tasks
⚡ REST API PATCH /api/v1/tasks/{task_id}
update_task
Semantic binding: operator_surface; mutation=True
tasks
⚡ REST API PATCH /api/v1/tasks/{task_id}/status
update_task_status
Semantic binding: operator_surface; mutation=True
tasks
⚡ REST API POST /api/v1/tasks
create_task
Semantic binding: operator_surface; mutation=True
tasks
⚡ REST API POST /api/v1/tasks/context/{entity_type}/{entity_id}
create_task_for_context
Semantic binding: operator_surface; mutation=True
tasks
⚡ REST API POST /api/v1/tasks/{task_id}/assign
assign_task
Semantic binding: operator_surface; mutation=True
tasks
⚡ REST API POST /api/v1/tasks/{task_id}/cancel
cancel_task
Semantic binding: operator_surface; mutation=True
tasks
⚡ REST API POST /api/v1/tasks/{task_id}/checklist
add_checklist_item
Semantic binding: operator_surface; mutation=True
tasks
⚡ REST API POST /api/v1/tasks/{task_id}/complete
complete_task
Semantic binding: operator_surface; mutation=True
tasks
⚡ REST API POST /api/v1/tasks/{task_id}/dependencies
add_dependency
Semantic binding: operator_surface; mutation=True
tasks
⚡ REST API POST /api/v1/tasks/{task_id}/log-time
log_task_time
Semantic binding: operator_surface; mutation=True
tasks

🛡️ Regulatorik & Compliance

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • GoBD Nachvollziehbarkeit
  • Mandanten-Isolation (PostgreSQL RLS)