Centurio Sistemas & modulju dokumentacija
🏛️ Platformas arhitektūra 🔑 Login
🏠 Visi moduli / crm_office / Klientu attiecības (CRM)
🎯

Klientu attiecības (CRM)

crm crm_office 🛡️ RLS Protected

Interesentu pārvaldība, vizuālā darījuma piļveida (Kanban), darbības vēsture un pārveidošana no līda uz GT13_0__.

Fachliche Bestimmung: Atbalsta pārdošanas komandas akvizīcijā un klientu apkalpošanā.

⚡ Darbības plūsmas un dzīves cikļi

Korrespondence → CRM cascade:business.correspondence.crm

Kaskade (review_gated).

1. lead
CRM vadība / pieprasījums
Cm
Aktionen: crm.lead.create
2. task
Izmantojot pieprasījumu
uzdevumi
Aktionen: create_task

CRM vadība / pieprasījums cascade_target:business.crm.lead

Kaskade (review_gated).

1. cascade
CRM vadība / pieprasījums

Izmantošanas instrukcija: izmeklēšanas pārstāvis plan:command_inquiry_agent

Pārbaudēts durabls plan (durabls_plan), sākums: manuals_command.

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

Liedums status:crm_lead

Apskatāma stāvokļa mašīna (apskatāma tikai).

1. new
nov
Status <unk>new<unk> stāvokļa mašīna līds.
2. contacted
kontaktēts
Status <unk>kontaktēts<unk> ar stūrmasinas līdu.
3. qualified
kvalifikācijas
Status <unk>kvalificēts<unk> stāvokļa mašīnas līds.
4. disqualified
disqualificēts
Status <unk>disqualified<unk> stāvokļa mašīna
5. converted
pārveidotas
Status <unk>converted<unk> state machine lead.

Izvēle status:crm_opportunity

Apskatāma stāvokļa mašīna (apskatāma tikai).

1. open
atvērts
Status <unk>open<unk> stāvokļa mašīna iespēja.
2. won
uzvarēja
Statuss <unk>W<unk> <unk> statuss mašīna iespēja.
3. lost
zaudēta
Status <unk>lost<unk> state machine Opportunity.

🗄️ Datu modeļi & laukumi

CrmActivities crm_activities RLS Aktiv
19 Šķiet, ka tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā vai ir no tā.

Tabelle crm_activities

Feldname Datums Atbalsts Schlüssel Īpaša nozīme
type VARCHAR(16) Ja * - Feld type
subject VARCHAR(255) Ja * - Feld subject
body TEXT Nein - Feld body
due_at DATETIME Nein - Feld due_at
done_at DATETIME Nein - Feld done_at
outcome TEXT Nein - Feld outcome
owner_id UUID Nein - Feld owner_id
lead_id UUID Nein FK ➔ crm_leads.id Feld lead_id
opportunity_id UUID Nein FK ➔ crm_opportunities.id Feld opportunity_id
customer_id UUID Nein FK ➔ customers.id Feld customer_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
CrmLeads crm_leads RLS Aktiv
27 Šķiet, ka tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā vai ir no tā.

Tabelle crm_leads

Feldname Datums Atbalsts Schlüssel Īpaša nozīme
name VARCHAR(255) Ja * - Feld name
company_name VARCHAR(255) Nein - Feld company_name
email VARCHAR(320) Nein - Feld email
phone VARCHAR(64) Nein - Feld phone
interest TEXT Nein - Feld interest
source VARCHAR(32) Ja * - Feld source
status VARCHAR(32) Ja * - Feld status
estimated_value NUMERIC(14, 2) Nein - Feld estimated_value
currency VARCHAR(3) Ja * - Feld currency
owner_id UUID Nein - Feld owner_id
disqualify_reason TEXT Nein - Feld disqualify_reason
consent_given BOOLEAN Ja * - Feld consent_given
consent_at DATETIME Nein - Feld consent_at
last_activity_at DATETIME Nein - Feld last_activity_at
customer_id UUID Nein FK ➔ customers.id Feld customer_id
opportunity_id UUID Nein - Feld opportunity_id
converted_at DATETIME Nein - Feld converted_at
anonymized_at DATETIME Nein - Feld anonymized_at
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
CrmOpportunities crm_opportunities RLS Aktiv
27 Šķiet, ka tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā vai ir no tā.

Tabelle crm_opportunities

Feldname Datums Atbalsts Schlüssel Īpaša nozīme
title VARCHAR(255) Ja * - Feld title
description TEXT Nein - Feld description
customer_id UUID Nein FK ➔ customers.id Feld customer_id
lead_id UUID Nein - Feld lead_id
stage_id UUID Ja * FK ➔ crm_pipeline_stages.id Feld stage_id
status VARCHAR(16) Ja * - Feld status
expected_value NUMERIC(14, 2) Ja * - Feld expected_value
currency VARCHAR(3) Ja * - Feld currency
probability INTEGER Nein - Feld probability
expected_close_date DATETIME Nein - Feld expected_close_date
owner_id UUID Nein - Feld owner_id
source VARCHAR(32) Ja * - Feld source
lost_reason TEXT Nein - Feld lost_reason
closed_at DATETIME Nein - Feld closed_at
stage_entered_at DATETIME Ja * - Feld stage_entered_at
last_activity_at DATETIME Nein - Feld last_activity_at
quote_id UUID Nein - Feld quote_id
project_id UUID Nein - Feld project_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
CrmPipelineStages crm_pipeline_stages RLS Aktiv
15 Šķiet, ka tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā vai ir no tā.

Tabelle crm_pipeline_stages

Feldname Datums Atbalsts Schlüssel Īpaša nozīme
name VARCHAR(128) Ja * - Feld name
position INTEGER Ja * - Feld position
probability INTEGER Ja * - Feld probability
is_won BOOLEAN Ja * - Feld is_won
is_lost BOOLEAN Ja * - Feld is_lost
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
CrmReports crm_reports RLS Aktiv
31 Šķiet, ka tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā vai ir no tā.

Tabelle crm_reports

Feldname Datums Atbalsts Schlüssel Īpaša nozīme
report_number VARCHAR(32) Ja * - Feld report_number
title VARCHAR(255) Ja * - Feld title
type VARCHAR(32) Ja * - Feld type
status VARCHAR(32) Ja * - Feld status
occurred_at DATETIME Ja * - Feld occurred_at
duration_minutes INTEGER Ja * - Feld duration_minutes
lead_id UUID Nein FK ➔ crm_leads.id Feld lead_id
customer_id UUID Nein FK ➔ customers.id Feld customer_id
opportunity_id UUID Nein FK ➔ crm_opportunities.id Feld opportunity_id
author_id UUID Nein - Feld author_id
author_name VARCHAR(255) Nein - Feld author_name
location VARCHAR(255) Nein - Feld location
attendees TEXT Nein - Feld attendees
internal_attendees VARCHAR(255) Nein - Feld internal_attendees
sentiment VARCHAR(32) Ja * - Feld sentiment
discussed_topics TEXT Nein - Feld discussed_topics
summary TEXT Ja * - Feld summary
agreed_next_steps TEXT Nein - Feld agreed_next_steps
competitive_situation VARCHAR(255) Nein - Feld competitive_situation
budget_or_timeline_note VARCHAR(255) Nein - Feld budget_or_timeline_note
next_followup_at DATETIME Nein - Feld next_followup_at
followup_task_id UUID Nein FK ➔ tasks.id Feld followup_task_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

🔌 Izstādes punkti (UI un API)

Art Metodes Galvenā vieta / ceļš Titel & Zweck Attaisnošana
⚡ REST API DELETE /api/v1/crm/reports/{report_id}
delete_report_route
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API GET /api/v1/crm/activities
list_activities
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /api/v1/crm/customers/{customer_id}/overview
customer_overview
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /api/v1/crm/due
due
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /api/v1/crm/leads
list_leads
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /api/v1/crm/next-actions
next_actions
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /api/v1/crm/opportunities
list_opportunities
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /api/v1/crm/opportunities/{opp_id}/flow
order_flow
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /api/v1/crm/reports
list_reports
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /api/v1/crm/reports/{report_id}
get_report_route
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /api/v1/crm/stages
list_stages
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /api/v1/crm/summary
kopsavilkums
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /crm
crm_dashboard_page
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /crm/customers/{customer_id}
crm_customer_page
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /crm/leads
crm_leads_page
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /crm/leads/new
crm_leads_new_page
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /crm/pipeline
crm_pipeline_page
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /crm/pipeline/new
crm_pipeline_new_page
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /crm/reports
crm_reports_page
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /crm/reports/new
crm_report_create_page
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /pub/anfrage/{tenant_id}
crm_inquiry_form
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API GET /pub/lead/{tenant_id}
lead_form
Semantic binding: inventory_only; mutation=False
crm
⚡ REST API PATCH /api/v1/crm/leads/{lead_id}
patch_lead
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API PATCH /api/v1/crm/opportunities/{opp_id}
patch_opportunity
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API PATCH /api/v1/crm/reports/{report_id}
patch_report_route
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API PATCH /api/v1/crm/stages/{stage_id}
patch_stage
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API POST /api/v1/crm/activities
create_activity
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API POST /api/v1/crm/activities/{activity_id}/complete
complete_activity
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API POST /api/v1/crm/leads
create_lead
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API POST /api/v1/crm/leads/{lead_id}/convert
convert_lead
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API POST /api/v1/crm/leads/{lead_id}/convert-and-quote
convert_lead_and_quote
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API POST /api/v1/crm/leads/{lead_id}/status
lead_status
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API POST /api/v1/crm/mail
send_mail_route
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API POST /api/v1/crm/opportunities
create_opportunity
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API POST /api/v1/crm/opportunities/{opp_id}/create-quote
create_quote
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API POST /api/v1/crm/opportunities/{opp_id}/draft-followup
draft_followup
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API POST /api/v1/crm/opportunities/{opp_id}/lost
mark_lost
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API POST /api/v1/crm/opportunities/{opp_id}/reopen
atvērt
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API POST /api/v1/crm/opportunities/{opp_id}/stage
move_stage
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API POST /api/v1/crm/reports
create_report_route
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API POST /api/v1/crm/stages
create_stage
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API POST /pub/anfrage/{tenant_id}
crm_inquiry_submit
Semantic binding: operator_surface; mutation=True
crm
⚡ REST API POST /pub/lead/{tenant_id}
submit_lead
Semantic binding: operator_surface; mutation=True
crm

🛡️ Regulators & atbilstība

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • DSGVO 6. pants (savilkšana ar kontaktu)
  • UWG reklāmas atļauja
Saistītie moduli:
➔ customers ➔ finance ➔ communications