Centurio System- & Moduldokumentation (CH)
🏛️ Plattform-Architektur 🔑 Login
🏠 Alli Modul / crm_office / Dokumentenumläufe & Prüfungen
📘

Dokumentenumläufe & Prüfungen

circulations crm_office 🛡️ RLS Protected

Dokumentenumläufe & Prüfungen — aus Code abgeleitete Prozess- und API-Dokumentation.

Fachliche Bestimmung: Dokumentenumläufe & Prüfungen — aus Code abgeleitete Prozess- und API-Dokumentation. Erfasst alle registrierten Prozesse, Capabilities, Zustandsmaschinen, APIs und Tabellen für Simulationen und Reviews.

⚡ Workflows & Läbenszykle

Benutzerbefehl: circulation agent plan:command_circulation_agent

Geprüfter Durable-Plan (durable_plan), Start: manual_command.

1. circulation_agent
circulation_agent
{"key": "execute_command", "label": "Befehl prüfen, ausführen oder zur Freigabe vorlegen", "adapter": "agent.execute", "agent": "circulation_agent", "condition_fact": null}
Aktionen: circulation_agent

Umlauf status:circulation

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

1. draft
draft
Status «draft» der Zustandsmaschine Umlauf.
2. active
active
Status «active» der Zustandsmaschine Umlauf.
3. completed
completed
Status «completed» der Zustandsmaschine Umlauf.
4. rejected
rejected
Status «rejected» der Zustandsmaschine Umlauf.
5. returned
returned
Status «returned» der Zustandsmaschine Umlauf.
6. cancelled
cancelled
Status «cancelled» der Zustandsmaschine Umlauf.

🗄️ Datemodell & Fälder

CirculationComments circulation_comments RLS Aktiv
13 Fälder / Spalte

Tabelle circulation_comments

Feldname Datetyp Pflicht Schlüssel Fachlichi Bedütig
circulation_id UUID Ja * FK ➔ document_circulations.id Feld circulation_id
step_id UUID Nein FK ➔ circulation_steps.id Feld step_id
document_id UUID Ja * FK ➔ documents.id Feld document_id
author_id UUID Nein FK ➔ organization_users.id Feld author_id
page INTEGER Ja * - Feld page
x FLOAT Ja * - Feld x
y FLOAT Ja * - Feld y
text TEXT Ja * - Feld text
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
CirculationStamps circulation_stamps RLS Aktiv
16 Fälder / Spalte

Tabelle circulation_stamps

Feldname Datetyp Pflicht Schlüssel Fachlichi Bedütig
circulation_id UUID Ja * FK ➔ document_circulations.id Feld circulation_id
step_id UUID Nein FK ➔ circulation_steps.id Feld step_id
document_id UUID Ja * FK ➔ documents.id Feld document_id
placed_by UUID Nein FK ➔ organization_users.id Feld placed_by
page INTEGER Ja * - Feld page
x FLOAT Ja * - Feld x
y FLOAT Ja * - Feld y
width FLOAT Ja * - Feld width
height FLOAT Ja * - Feld height
text VARCHAR(255) Ja * - Feld text
color VARCHAR(7) Ja * - Feld color
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
CirculationSteps circulation_steps RLS Aktiv
17 Fälder / Spalte

Tabelle circulation_steps

Feldname Datetyp Pflicht Schlüssel Fachlichi Bedütig
circulation_id UUID Ja * FK ➔ document_circulations.id Feld circulation_id
position INTEGER Ja * - Feld position
assignee_id UUID Ja * FK ➔ organization_users.id Feld assignee_id
status VARCHAR(48) Ja * - Feld status
instructions TEXT Nein - Feld instructions
assigned_at DATETIME Nein - Feld assigned_at
started_at DATETIME Nein - Feld started_at
completed_at DATETIME Nein - Feld completed_at
decision VARCHAR(32) Nein - Feld decision
notes TEXT Nein - Feld notes
due_at DATETIME Nein - Feld due_at
decision_comment TEXT Nein - Feld decision_comment
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

🔌 Iistigspünkt (UI & APIs)

Art Method Endpunkt / Pfad Titel & Zweck Berächtigig
⚡ REST API DELETE /api/v1/circulations/{circulation_id}/assignees/{step_id}
remove_assignee
Semantic binding: operator_surface; mutation=True
circulations
⚡ REST API DELETE /api/v1/circulations/{circulation_id}/documents/{document_id}
remove_document
Semantic binding: operator_surface; mutation=True
circulations
⚡ REST API GET /api/v1/circulations
list_circulations
Semantic binding: inventory_only; mutation=False
circulations
⚡ REST API GET /api/v1/circulations/{circulation_id}
get_circulation
Semantic binding: inventory_only; mutation=False
circulations
⚡ REST API GET /api/v1/circulations/{circulation_id}/documents/{document_id}/preview
document_preview
Semantic binding: inventory_only; mutation=False
circulations
⚡ REST API GET /api/v1/circulations/{circulation_id}/final-pdf
download_final_pdf
Semantic binding: inventory_only; mutation=False
circulations
⚡ REST API GET /circulations
circulations_page
Semantic binding: inventory_only; mutation=False
circulations
⚡ REST API GET /circulations/new
circulation_create_page
Semantic binding: inventory_only; mutation=False
circulations
⚡ REST API GET /circulations/{circulation_id}
circulation_detail_page
Semantic binding: inventory_only; mutation=False
circulations
⚡ REST API PATCH /api/v1/circulations/{circulation_id}
update_circulation
Semantic binding: operator_surface; mutation=True
circulations
⚡ REST API PATCH /api/v1/circulations/{circulation_id}/assignees/{step_id}
update_assignee
Semantic binding: operator_surface; mutation=True
circulations
⚡ REST API POST /api/v1/circulations
create_circulation
Semantic binding: operator_surface; mutation=True
circulations
⚡ REST API POST /api/v1/circulations/{circulation_id}/assignees
add_assignee
Semantic binding: operator_surface; mutation=True
circulations
⚡ REST API POST /api/v1/circulations/{circulation_id}/begin-review
begin_review
Semantic binding: operator_surface; mutation=True
circulations
⚡ REST API POST /api/v1/circulations/{circulation_id}/cancel
cancel_circulation
Semantic binding: operator_surface; mutation=True
circulations
⚡ REST API POST /api/v1/circulations/{circulation_id}/comments
add_comment
Semantic binding: operator_surface; mutation=True
circulations
⚡ REST API POST /api/v1/circulations/{circulation_id}/complete-step
complete_step
Semantic binding: operator_surface; mutation=True
circulations
⚡ REST API POST /api/v1/circulations/{circulation_id}/documents
add_document
Semantic binding: operator_surface; mutation=True
circulations
⚡ REST API POST /api/v1/circulations/{circulation_id}/return
return_for_revision
Semantic binding: operator_surface; mutation=True
circulations
⚡ REST API POST /api/v1/circulations/{circulation_id}/stamps
add_stamp
Semantic binding: operator_surface; mutation=True
circulations
⚡ REST API POST /api/v1/circulations/{circulation_id}/start
start_circulation
Semantic binding: operator_surface; mutation=True
circulations
⚡ REST API POST /api/v1/circulations/{circulation_id}/steps/reorder
reorder_steps
Semantic binding: operator_surface; mutation=True
circulations
⚡ REST API POST /api/v1/circulations/{circulation_id}/upload
upload_document
Semantic binding: operator_surface; mutation=True
circulations

🛡️ Regulatorie & Compliance

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • GoBD Nachvollziehbarkeit
  • Mandanten-Isolation (PostgreSQL RLS)