Centurio System- & moduldokumentation
🏛️ Plattformarkitektur 🔑 Login
🏠 Alla moduler / crm_office / Biljetter och hjälpbord
🎧

Biljetter och hjälpbord

tickets crm_office 🛡️ RLS Protected

Kundstödbiljetter, SLA-skalatestadier, biljettrutning och koppling till uppdrag och kundportal.

Fachliche Bestimmung: Kanaliserar kundansökningar, störningsmeddelanden och serviceanordningar. Biljetter kan skapas direkt från kundportalen, via e-post eller manuellt. Stödjer interna teammeddelanden (som förblir osynliga för kunder), tidspåhållning samt eskalation efter definierade servicenivåavtal (SLA).

⚡ Arbetsflöden och livscykler

Färdbearbetning cascade:business.delivery_note.intake

Kaskade (review_gated).

1. stock
Inkomst av varor i _GT20_0__ bokningar
Inventering
Aktionen: post_goods_receipt
2. tour
Planera turné/ vidare transport
Logistik
Aktionen: create_tour
3. task
Kontrollera/jämför ingång av varor
Uppgifter
Aktionen: create_task
4. qc
Kvalitetskontroll vid misstanke om brister
Inventering
Aktionen: - Jag har inte hört det.
5. ticket
Ticket för klagomål om brister
Biljetter
Aktionen: create_ticket

- Förberedelse cascade:business.maintenance.cycle

Kaskade (review_gated).

1. fieldservice
Investeringar i utrikesverksamhet / rapportering
fälttjänst
Aktionen: create_service_report
2. followup
Förvaltningsplanering
Förvärv
Aktionen: Underhåll.
3. ticket
Biljett i fall av defekter/störningar
Biljetter
Aktionen: create_ticket

Förberedelser cascade:business.return_note.handling

Kaskade (review_gated).

1. ticket
Anmälan av en inkomst
Biljetter
Aktionen: create_ticket
2. tour
Planera en avdragstur
Logistik
Aktionen: create_tour
3. task
Utveckling av återbetalningar
Uppgifter
Aktionen: create_task

Utländsk tjänst → avskrivning cascade:business.work_report.billing

Kaskade (review_gated).

1. fieldservice
Utveckling av tjänster
fälttjänst
Aktionen: create_service_report
2. task
Uppgifter om efterföljande
Uppgifter
Aktionen: create_task
3. ticket
Biljett i fall av defekter/störningar
Biljetter
Aktionen: create_ticket

Införing av biljett cascade_target:business.ticket.create

Kaskade (review_gated).

1. cascade
Införing av biljett

Biljett status:ticket

Observable_only_observable_state machine.

1. new
ny
Status <unk>ny<unk> av biljettens status.
2. open
Öppna
Status <unk>open<unk> av biljettens status.
3. in_progress
in_progress
Status <unk>in_progress<unk> av biljettens status.
4. pending_customer
pending_customer
Status <unk>pending_customer<unk> av biljettens tillstånd.
5. pending_vendor
pending_vendor
Status <unk>pending_vendor<unk> av biljettens tillstånd.
6. resolved
Avslutade
Status <unk>lösad<unk> av biljettens status.
7. closed
Stängd
Status av biljetttillgången.
8. cancelled
Avbokade
Status av biljettbiljetten.

🗄️ Datamodeller & fält

TicketMessages ticket_messages RLS Aktiv
16 Fält / kolumner

Tabelle ticket_messages

Feldname Uppgifter Förpliktelse Schlüssel Arbetsuppgifter
ticket_id UUID Ja * FK ➔ tickets.id Feld ticket_id
author_user_id UUID Nein FK ➔ users.id Feld author_user_id
author_name VARCHAR(255) Ja * - Feld author_name
author_email VARCHAR(255) Nein - Feld author_email
is_internal BOOLEAN Ja * - Feld is_internal
body TEXT Ja * - Feld body
attachments JSONB Nein - Feld attachments
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
TicketSlaPolicies ticket_sla_policies RLS Aktiv
16 Fält / kolumner

Tabelle ticket_sla_policies

Feldname Uppgifter Förpliktelse Schlüssel Arbetsuppgifter
name VARCHAR(128) Ja * - Feld name
description TEXT Nein - Feld description
team_id UUID Nein FK ➔ ticket_teams.id Feld team_id
priority VARCHAR(16) Nein - Feld priority
target_response_hours NUMERIC(6, 2) Ja * - Feld target_response_hours
target_resolution_hours NUMERIC(6, 2) Ja * - Feld target_resolution_hours
is_active BOOLEAN Ja * - Feld is_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
TicketTeams ticket_teams RLS Aktiv
17 Fält / kolumner

Tabelle ticket_teams

Feldname Uppgifter Förpliktelse Schlüssel Arbetsuppgifter
name VARCHAR(128) Ja * - Feld name
code VARCHAR(32) Ja * - Feld code
description TEXT Nein - Feld description
email_alias VARCHAR(128) Nein - Feld email_alias
assignment_method VARCHAR(32) Ja * - Feld assignment_method
lead_user_id UUID Nein FK ➔ users.id Feld lead_user_id
is_active BOOLEAN Ja * - Feld is_active
color VARCHAR(16) 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
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
TicketTimeLogs ticket_time_logs RLS Aktiv
15 Fält / kolumner

Tabelle ticket_time_logs

Feldname Uppgifter Förpliktelse Schlüssel Arbetsuppgifter
ticket_id UUID Ja * FK ➔ tickets.id Feld ticket_id
user_id UUID Nein FK ➔ users.id Feld user_id
work_date DATE Ja * - Feld work_date
hours NUMERIC(6, 2) Ja * - Feld hours
is_billable BOOLEAN Ja * - Feld is_billable
description TEXT Nein - Feld description
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
Tickets tickets RLS Aktiv
49 Fält / kolumner

Tabelle tickets

Feldname Uppgifter Förpliktelse Schlüssel Arbetsuppgifter
ticket_number VARCHAR(32) Ja * - Feld ticket_number
title VARCHAR(255) Ja * - Feld title
description TEXT Nein - Feld description
status VARCHAR(48) Ja * - Feld status
priority VARCHAR(48) Ja * - Feld priority
category VARCHAR(48) Ja * - Feld category
channel VARCHAR(48) Ja * - Feld channel
team_id UUID Nein FK ➔ ticket_teams.id Feld team_id
assigned_user_id UUID Nein FK ➔ users.id Feld assigned_user_id
customer_id UUID Nein FK ➔ customers.id Feld customer_id
contact_name VARCHAR(255) Nein - Feld contact_name
contact_email VARCHAR(255) Nein - Feld contact_email
contact_phone VARCHAR(64) Nein - Feld contact_phone
project_id UUID Nein FK ➔ projects.id Feld project_id
work_order_id UUID Nein FK ➔ work_orders.id Feld work_order_id
contract_id UUID Nein FK ➔ contracts.id Feld contract_id
asset_id UUID Nein FK ➔ assets.id Feld asset_id
quote_id UUID Nein FK ➔ quotes.id Feld quote_id
invoice_id UUID Nein FK ➔ invoices.id Feld invoice_id
return_id UUID Nein FK ➔ return_orders.id Feld return_id
service_report_id UUID Nein FK ➔ service_reports.id Feld service_report_id
sla_policy_id UUID Nein FK ➔ ticket_sla_policies.id Feld sla_policy_id
sla_status VARCHAR(48) Ja * - Feld sla_status
response_due_at DATETIME Nein - Feld response_due_at
first_responded_at DATETIME Nein - Feld first_responded_at
resolution_due_at DATETIME Nein - Feld resolution_due_at
resolved_at DATETIME Nein - Feld resolved_at
closed_at DATETIME Nein - Feld closed_at
is_billable BOOLEAN Ja * - Feld is_billable
hourly_rate NUMERIC(14, 2) Nein - Feld hourly_rate
currency VARCHAR(3) Ja * - Feld currency
planned_hours NUMERIC(8, 2) Nein - Feld planned_hours
logged_hours NUMERIC(8, 2) Ja * - Feld logged_hours
csat_rating INTEGER Nein - Feld csat_rating
csat_comment TEXT Nein - Feld csat_comment
csat_submitted_at DATETIME Nein - Feld csat_submitted_at
resolution_summary TEXT Nein - Feld resolution_summary
tags JSONB Nein - Feld tags
custom_fields JSONB Nein - Feld custom_fields
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
deleted_at DATETIME Nein - Feld deleted_at

🔌 Inledande punkter (UI & API)

Art Förberedelse Slutpunkt / väg Titel & Zweck Förmåga
⚡ REST API GET /api/v1/tickets
list_tickets
Semantic binding: not_evaluated; mutation=False
tickets
⚡ REST API GET /api/v1/tickets/sla-policies
list_sla_policies
Semantic binding: not_evaluated; mutation=False
tickets
⚡ REST API GET /api/v1/tickets/stats
get_ticket_stats
Semantic binding: not_evaluated; mutation=False
tickets
⚡ REST API GET /api/v1/tickets/teams
list_teams
Semantic binding: not_evaluated; mutation=False
tickets
⚡ REST API GET /api/v1/tickets/{ticket_id}
get_ticket
Semantic binding: not_evaluated; mutation=False
tickets
⚡ REST API GET /api/v1/tickets/{ticket_id}/messages
list_ticket_messages
Semantic binding: not_evaluated; mutation=False
tickets
⚡ REST API GET /api/v1/tickets/{ticket_id}/timelogs
list_ticket_timelogs
Semantic binding: not_evaluated; mutation=False
tickets
⚡ REST API GET /portal/{slug}/tickets
tickets_page
Semantic binding: not_evaluated; mutation=False
tickets
⚡ REST API GET /portal/{slug}/tickets/{ticket_id}
ticket_detail
Semantic binding: not_evaluated; mutation=False
tickets
⚡ REST API GET /tickets
tickets_page
Semantic binding: not_evaluated; mutation=False
tickets
⚡ REST API GET /tickets/new
ticket_create_page
Semantic binding: not_evaluated; mutation=False
tickets
⚡ REST API GET /tickets/{ticket_id}
ticket_detail_page
Semantic binding: not_evaluated; mutation=False
tickets
⚡ REST API PATCH /api/v1/tickets/teams/{team_id}
update_team
Semantic binding: not_evaluated; mutation=True
tickets
⚡ REST API POST /api/v1/tickets
create_ticket
Semantic binding: not_evaluated; mutation=True
tickets
⚡ REST API POST /api/v1/tickets/sla-policies
create_sla_policy
Semantic binding: not_evaluated; mutation=True
tickets
⚡ REST API POST /api/v1/tickets/teams
create_team
Semantic binding: not_evaluated; mutation=True
tickets
⚡ REST API POST /api/v1/tickets/{ticket_id}/create-project
create_project_from_ticket
Semantic binding: not_evaluated; mutation=True
tickets
⚡ REST API POST /api/v1/tickets/{ticket_id}/create-task
create_task_from_ticket
Semantic binding: not_evaluated; mutation=True
tickets
⚡ REST API POST /api/v1/tickets/{ticket_id}/create-work-order
create_work_order_from_ticket
Semantic binding: not_evaluated; mutation=True
tickets
⚡ REST API POST /api/v1/tickets/{ticket_id}/csat
submit_ticket_csat
Semantic binding: not_evaluated; mutation=True
tickets
⚡ REST API POST /api/v1/tickets/{ticket_id}/messages
add_ticket_message
Semantic binding: not_evaluated; mutation=True
tickets
⚡ REST API POST /api/v1/tickets/{ticket_id}/status
transition_ticket_status
Semantic binding: not_evaluated; mutation=True
tickets
⚡ REST API POST /api/v1/tickets/{ticket_id}/timelogs
log_ticket_time
Semantic binding: not_evaluated; mutation=True
tickets
⚡ REST API POST /portal/{slug}/tickets
ticket_create
Semantic binding: not_evaluated; mutation=True
tickets
⚡ REST API POST /portal/{slug}/tickets/{ticket_id}/abschliessen
ticket_close
Semantic binding: not_evaluated; mutation=True
tickets
⚡ REST API POST /portal/{slug}/tickets/{ticket_id}/antwort
ticket_reply
Semantic binding: not_evaluated; mutation=True
tickets
⚡ REST API PUT /api/v1/tickets/{ticket_id}
update_ticket
Semantic binding: not_evaluated; mutation=True
tickets

🛡️ Reglering och efterlevnad

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • ITIL-tjänst
  • SLA-övervakning
Kopplade moduler:
➔ customers ➔ portal ➔ workorders