logologo
Get Started
Guide
Development
Plugins
API
English
简体中文
Get Started
Guide
Development
Plugins
API
English
简体中文
logologo

Ticketing Solution

Solution Overview
Detailed Design
Installation
More Content

CRM

Solution Overview
Installation
More Content
Previous PageSolution Overview
Next PageInstallation

#Ticketing Solution Detailed Design

Version: v2.0-beta

Updated: 2025-12-29

Status: Preview

#1. System Overview and Design Philosophy

#1.1 System Positioning

This system is an AI-driven intelligent ticket management platform built on the NocoBase low-code platform. The core goal is:

Let customer service focus on solving problems, not tedious process operations

#1.2 Design Philosophy

#Philosophy One: T-Shaped Data Architecture

What is T-Shaped Architecture?

Inspired by the "T-shaped talent" concept — horizontal breadth + vertical depth:

  • Horizontal (Main Table): Universal capabilities covering all business types — ticket number, status, assignee, SLA and other core fields
  • Vertical (Extension Tables): Specialized fields for specific business types — equipment repair has serial numbers, complaints have compensation plans

ticketing-imgs-en-2025-12-31-23-18-25

Why This Design?

Traditional ApproachT-Shaped Architecture
One table per business type, duplicated fieldsCommon fields unified, business fields extended as needed
Statistical reports need to merge multiple tablesOne main table for all ticket statistics
Process changes require modifications in multiple placesCore process changes in one place only
New business types require new tablesOnly add extension tables, main flow unchanged

#Philosophy Two: AI Employee Team

Not "AI features", but "AI employees". Each AI has a clear role, personality, and responsibilities:

AI EmployeePositionCore ResponsibilitiesTrigger Scenario
SamService Desk SupervisorTicket routing, priority assessment, escalation decisionsAutomatic on ticket creation
GraceCustomer Success ExpertReply generation, tone adjustment, complaint handlingWhen agent clicks "AI Reply"
MaxKnowledge AssistantSimilar cases, knowledge recommendations, solution synthesisAutomatic on ticket detail page
LexiTranslatorMulti-language translation, comment translationAutomatic when foreign language detected

Why the "AI Employee" Model?

  • Clear Responsibilities: Sam handles routing, Grace handles replies, no confusion
  • Easy to Understand: Saying "Let Sam analyze this" is friendlier than "Call the classification API"
  • Extensible: Adding new AI capabilities = hiring new employees

#Philosophy Three: Knowledge Self-Circulation

ticketing-imgs-en-2025-12-31-23-19-13

This forms a Knowledge Accumulation - Knowledge Application closed loop.


#2. Core Entities and Data Model

#2.1 Entity Relationship Overview

ticketing-imgs-en-2025-12-31-23-20-02

#2.2 Core Table Details

#2.2.1 Ticket Main Table (nb_tts_tickets)

This is the core of the system, using a "wide table" design with all commonly used fields in the main table.

Basic Information

FieldTypeDescriptionExample
idBIGINTPrimary key1001
ticket_noVARCHARTicket numberTKT-20251229-0001
titleVARCHARTitleSlow network connection
descriptionTEXTProblem descriptionSince this morning, office network...
biz_typeVARCHARBusiness typeit_support
priorityVARCHARPriorityP1
statusVARCHARStatusprocessing

Source Tracking

FieldTypeDescriptionExample
source_systemVARCHARSource systemcrm / email / iot
source_channelVARCHARSource channelweb / phone / wechat
external_ref_idVARCHARExternal reference IDCRM-2024-0001

Contact Information

FieldTypeDescription
customer_idBIGINTCustomer ID
contact_nameVARCHARContact name
contact_phoneVARCHARContact phone
contact_emailVARCHARContact email
contact_companyVARCHARCompany name

Assignee Information

FieldTypeDescription
assignee_idBIGINTAssignee ID
assignee_department_idBIGINTAssignee department ID
transfer_countINTTransfer count

Time Nodes

FieldTypeDescriptionTrigger Timing
submitted_atTIMESTAMPSubmission timeOn ticket creation
assigned_atTIMESTAMPAssignment timeWhen assignee specified
first_response_atTIMESTAMPFirst response timeOn first reply to customer
resolved_atTIMESTAMPResolution timeWhen status changes to resolved
closed_atTIMESTAMPClosure timeWhen status changes to closed

SLA Related

FieldTypeDescription
sla_config_idBIGINTSLA config ID
sla_response_dueTIMESTAMPResponse deadline
sla_resolve_dueTIMESTAMPResolution deadline
sla_paused_atTIMESTAMPSLA pause start time
sla_paused_durationINTCumulative pause duration (minutes)
is_sla_response_breachedBOOLEANResponse breached
is_sla_resolve_breachedBOOLEANResolution breached

AI Analysis Results

FieldTypeDescriptionPopulated By
ai_category_codeVARCHARAI-identified categorySam
ai_sentimentVARCHARSentiment analysisSam
ai_urgencyVARCHARUrgency levelSam
ai_keywordsJSONBKeywordsSam
ai_reasoningTEXTReasoning processSam
ai_suggested_replyTEXTSuggested replySam/Grace
ai_confidence_scoreNUMERICConfidence scoreSam
ai_analysisJSONBComplete analysis resultSam

Multi-Language Support

FieldTypeDescriptionPopulated By
source_language_codeVARCHAROriginal languageSam/Lexi
target_language_codeVARCHARTarget languageSystem default EN
is_translatedBOOLEANWhether translatedLexi
description_translatedTEXTTranslated descriptionLexi

#2.2.2 Business Extension Tables

Equipment Repair (nb_tts_biz_repair)

FieldTypeDescription
ticket_idBIGINTAssociated ticket ID
equipment_modelVARCHAREquipment model
serial_numberVARCHARSerial number
fault_codeVARCHARFault code
spare_partsJSONBSpare parts list
maintenance_typeVARCHARMaintenance type

IT Support (nb_tts_biz_it_support)

FieldTypeDescription
ticket_idBIGINTAssociated ticket ID
asset_numberVARCHARAsset number
os_versionVARCHAROS version
software_nameVARCHARSoftware involved
remote_addressVARCHARRemote address
error_codeVARCHARError code

Customer Complaint (nb_tts_biz_complaint)

FieldTypeDescription
ticket_idBIGINTAssociated ticket ID
related_order_noVARCHARRelated order number
complaint_levelVARCHARComplaint level
compensation_amountDECIMALCompensation amount
compensation_typeVARCHARCompensation method
root_causeTEXTRoot cause

#2.2.3 Comments Table (nb_tts_ticket_comments)

Core Fields

FieldTypeDescription
idBIGINTPrimary key
ticket_idBIGINTTicket ID
parent_idBIGINTParent comment ID (supports tree structure)
contentTEXTComment content
directionVARCHARDirection: inbound(customer)/outbound(agent)
is_internalBOOLEANWhether internal note
is_first_responseBOOLEANWhether first response

AI Review Fields (for outbound)

FieldTypeDescription
source_language_codeVARCHARSource language
content_translatedTEXTTranslated content
is_translatedBOOLEANWhether translated
is_ai_blockedBOOLEANWhether blocked by AI
ai_block_reasonVARCHARBlock reason
ai_block_detailTEXTDetailed explanation
ai_quality_scoreNUMERICQuality score
ai_suggestionsTEXTImprovement suggestions

#2.2.4 Ratings Table (nb_tts_ratings)

FieldTypeDescription
ticket_idBIGINTTicket ID (unique)
overall_ratingINTOverall satisfaction (1-5)
response_ratingINTResponse speed (1-5)
professionalism_ratingINTProfessionalism (1-5)
resolution_ratingINTProblem resolution (1-5)
nps_scoreINTNPS score (0-10)
tagsJSONBQuick tags
commentTEXTWritten feedback

#2.2.5 Knowledge Articles Table (nb_tts_qa_articles)

FieldTypeDescription
article_noVARCHARArticle number KB-T0001
titleVARCHARTitle
contentTEXTContent (Markdown)
summaryTEXTSummary
category_codeVARCHARCategory code
keywordsJSONBKeywords
source_typeVARCHARSource: ticket/faq/manual
source_ticket_idBIGINTSource ticket ID
ai_generatedBOOLEANWhether AI-generated
ai_quality_scoreNUMERICQuality score
statusVARCHARStatus: draft/published/archived
view_countINTView count
helpful_countINTHelpful count

#2.3 Data Table List

No.Table NameDescriptionRecord Type
1nb_tts_ticketsTicket main tableBusiness data
2nb_tts_biz_repairEquipment repair extensionBusiness data
3nb_tts_biz_it_supportIT support extensionBusiness data
4nb_tts_biz_complaintCustomer complaint extensionBusiness data
5nb_tts_customersCustomer main tableBusiness data
6nb_tts_customer_contactsCustomer contactsBusiness data
7nb_tts_ticket_commentsTicket commentsBusiness data
8nb_tts_ratingsSatisfaction ratingsBusiness data
9nb_tts_qa_articlesKnowledge articlesKnowledge data
10nb_tts_qa_article_relationsArticle relationsKnowledge data
11nb_tts_faqsFAQsKnowledge data
12nb_tts_tickets_categoriesTicket categoriesConfig data
13nb_tts_sla_configsSLA configurationConfig data
14nb_tts_skill_configsSkill configurationConfig data
15nb_tts_business_typesBusiness typesConfig data

#3. Ticket Lifecycle

#3.1 Status Definitions

StatusNameDescriptionSLA TimingColor
newNewJust created, awaiting assignmentStartBlue
assignedAssignedAssignee specified, awaiting pickupContinueCyan
processingProcessingBeing processedContinueOrange
pendingPendingWaiting for customer feedbackPausedGray
transferredTransferredTransferred to another personContinuePurple
resolvedResolvedWaiting for customer confirmationStopGreen
closedClosedTicket endedStopGray
cancelledCancelledTicket cancelledStopGray

#3.2 Status Flow Diagram

Main Flow (Left to Right)

ticketing-imgs-en-2025-12-31-23-21-01

Branch Flows

ticketing-imgs-en-2025-12-31-23-22-14

ticketing-imgs-en-2025-12-31-23-22-32

Complete State Machine

ticketing-imgs-en-2025-12-31-23-23-13

#3.3 Key Status Transition Rules

FromToTrigger ConditionSystem Action
newassignedAssign handlerRecord assigned_at
assignedprocessingHandler clicks "Accept"None
processingpendingClick "Pause"Record sla_paused_at
pendingprocessingCustomer reply / Manual resumeCalculate pause duration, clear paused_at
processingresolvedClick "Resolve"Record resolved_at
resolvedclosedCustomer confirm / 3-day timeoutRecord closed_at
*cancelledCancel ticketNone

#4. SLA Service Level Management

#4.1 Priority and SLA Configuration

PriorityNameResponse TimeResolution TimeAlert ThresholdTypical Scenario
P0Critical15 min2 hours80%System down, production line stopped
P1High1 hour8 hours80%Important feature failure
P2Medium4 hours24 hours80%General issues
P3Low8 hours72 hours80%Inquiries, suggestions

#4.2 SLA Calculation Logic

ticketing-imgs-en-2025-12-31-23-23-46

#On Ticket Creation

sla_response_due = submitted_at + response_time_minutes
sla_resolve_due = submitted_at + resolve_time_minutes

#On Pause (pending)

-- Record pause start time
sla_paused_at = NOW()

#On Resume (from pending to processing)

-- Calculate pause duration
pause_duration = NOW() - sla_paused_at

-- Add to total pause duration
sla_paused_duration = sla_paused_duration + pause_duration

-- Extend deadlines
sla_response_due = sla_response_due + pause_duration
sla_resolve_due = sla_resolve_due + pause_duration

-- Clear pause time
sla_paused_at = NULL

#SLA Breach Determination

-- Response breach
is_sla_response_breached = (first_response_at IS NULL AND NOW() > sla_response_due)
                        OR (first_response_at > sla_response_due)

-- Resolution breach
is_sla_resolve_breached = (resolved_at IS NULL AND NOW() > sla_resolve_due)
                       OR (resolved_at > sla_resolve_due)

#4.3 SLA Alert Mechanism

Alert LevelConditionNotifyMethod
Yellow AlertRemaining time < 20%AssigneeIn-app notification
Red AlertAlready timeoutAssignee + SupervisorIn-app + Email
Escalation AlertTimeout 1 hourDepartment ManagerEmail + SMS

#4.4 SLA Dashboard Metrics

MetricFormulaHealth Threshold
Response Compliance RateNon-breached tickets / Total tickets> 95%
Resolution Compliance RateNon-breached resolved / Total resolved> 90%
Average Response TimeSUM(response time) / Ticket count< 50% of SLA
Average Resolution TimeSUM(resolution time) / Ticket count< 80% of SLA

#5. AI Capabilities and Employee System

#5.1 AI Employee Team

The system configures 8 AI employees in two categories:

New Employees (Ticketing System Specific)

IDNamePositionCore Capabilities
samSamService Desk SupervisorTicket routing, priority assessment, escalation decisions, SLA risk identification
graceGraceCustomer Success ExpertProfessional reply generation, tone adjustment, complaint handling, satisfaction recovery
maxMaxKnowledge AssistantSimilar case search, knowledge recommendations, solution synthesis

Reused Employees (General Capabilities)

IDNamePositionCore Capabilities
dexDexData OrganizerEmail-to-ticket, call-to-ticket, batch data cleaning
ellisEllisEmail ExpertEmail sentiment analysis, thread summarization, reply drafting
lexiLexiTranslatorTicket translation, reply translation, real-time conversation translation
coleColeNocoBase ExpertSystem usage guidance, workflow configuration help
veraVeraResearch AnalystTechnical solution research, product information verification

#5.2 AI Task List

Each AI employee is configured with 4 specific tasks:

#Sam's Tasks

Task IDNameTrigger MethodDescription
SAM-01Ticket Analysis & RoutingWorkflow autoAuto-analyze on new ticket creation
SAM-02Priority Re-evaluationFrontend interactionAdjust priority based on new info
SAM-03Escalation DecisionFrontend/WorkflowDetermine if escalation needed
SAM-04SLA Risk AssessmentWorkflow autoIdentify timeout risks

#Grace's Tasks

Task IDNameTrigger MethodDescription
GRACE-01Professional Reply GenerationFrontend interactionGenerate reply based on context
GRACE-02Reply Tone AdjustmentFrontend interactionOptimize existing reply tone
GRACE-03Complaint De-escalationFrontend/WorkflowResolve customer complaints
GRACE-04Satisfaction RecoveryFrontend/WorkflowFollow-up after negative experience

#Max's Tasks

Task IDNameTrigger MethodDescription
MAX-01Similar Case SearchFrontend/WorkflowFind similar historical tickets
MAX-02Knowledge Article RecommendationFrontend/WorkflowRecommend relevant knowledge articles
MAX-03Solution SynthesisFrontend interactionSynthesize solutions from multiple sources
MAX-04Troubleshooting GuideFrontend interactionCreate systematic troubleshooting process

#Lexi's Tasks

Task IDNameTrigger MethodDescription
LEXI-01Ticket TranslationWorkflow autoTranslate ticket content
LEXI-02Reply TranslationFrontend interactionTranslate agent replies
LEXI-03Batch TranslationWorkflow autoBatch translation processing
LEXI-04Real-time Conversation TranslationFrontend interactionReal-time dialogue translation

#5.3 AI Employees and Ticket Lifecycle

ticketing-imgs-en-2025-12-31-23-24-22

#5.4 AI Response Examples

#SAM-01 Ticket Analysis Response

{
  "category_code": "COMPUTER",
  "sentiment": "NEGATIVE",
  "urgency": "HIGH",
  "keywords": ["ERP", "login failure", "timeout", "month-end closing"],
  "confidence": 0.92,
  "reasoning": "This ticket describes an ERP system login issue affecting finance department month-end closing, high urgency",
  "suggested_reply": "Dear Customer, thank you for reporting this issue...",
  "source_language_code": "zh",
  "is_translated": true,
  "description_translated": "Hello, our ERP system cannot login..."
}

#GRACE-01 Reply Generation Response

Dear Mr. Zhang,

Thank you for contacting us about the ERP login issue. I fully understand this issue is
affecting your company's month-end closing work, and we have prioritized this as high priority.

Current status:
- Technical team is investigating server connection issues
- Expected to provide an update within 30 minutes

In the meantime, you can try:
1. Access via backup address: https://erp-backup.company.com
2. For urgent report needs, contact us for export assistance

Please feel free to contact me if you have any other questions.

Best regards,
Technical Support Team

#5.5 AI EQ Firewall

Grace's reply quality review blocks the following issues:

Issue TypeOriginal ExampleAI Suggestion
Negative tone"No, this is not under warranty""This fault is not currently covered by free warranty, we can offer a paid repair plan"
Blaming customer"You broke it yourself""Upon verification, this fault is accidental damage"
Shifting responsibility"Not our problem""Let me help you further investigate the cause"
Cold expression"Don't know""Let me look up the relevant information for you"
Sensitive information"Your password is abc123"[Blocked] Contains sensitive information, not allowed to send

#6. Knowledge Base System

#6.1 Knowledge Sources

ticketing-imgs-en-2025-12-31-23-24-57

#6.2 Ticket-to-Knowledge Flow

ticketing-imgs-en-2025-12-31-23-25-18

Evaluation Dimensions:

  • Generality: Is this a common problem?
  • Completeness: Is the solution clear and complete?
  • Reproducibility: Are the steps reusable?

#6.3 Knowledge Recommendation Mechanism

When an agent opens ticket details, Max automatically recommends related knowledge:

┌────────────────────────────────────────────────────────────┐
│ Recommended Knowledge                       [Expand/Collapse]│
│ ┌────────────────────────────────────────────────────────┐ │
│ │ KB-T0042 CNC Servo System Fault Diagnosis Guide  Match: 94% │
│ │ Includes: Alarm code interpretation, servo drive check steps │
│ │ [View] [Apply to Reply] [Mark Helpful]                   │
│ ├────────────────────────────────────────────────────────┤ │
│ │ KB-T0038 XYZ-CNC3000 Series Maintenance Manual   Match: 87% │
│ │ Includes: Common faults, preventive maintenance plan      │
│ │ [View] [Apply to Reply] [Mark Helpful]                   │
│ └────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────┘

#6.4 Knowledge Base Health Metrics

MetricFormulaHealth Threshold
Coverage RateTickets with recommendations / Total tickets> 60%
Effectiveness Ratehelpful_count / (helpful + not_helpful)> 75%
Citation RateCited articles / Total published articles> 40%
FreshnessArticles updated in last 90 days ratio> 50%

#7. Workflow Engine

#7.1 Workflow Categories

CodeCategoryDescriptionTrigger Method
WF-TTicket FlowTicket lifecycle managementForm events
WF-SSLA FlowSLA calculation and alertsForm events/Scheduled
WF-CComment FlowComment processing and translationForm events
WF-RRating FlowRating invitations and statisticsForm events/Scheduled
WF-NNotification FlowNotification sendingEvent-driven
WF-AIAI FlowAI analysis and generationForm events

#7.2 Core Workflows

#WF-T01: Ticket Creation Flow

ticketing-imgs-en-2025-12-31-23-25-48

#WF-AI01: Ticket AI Analysis

ticketing-imgs-en-2025-12-31-23-26-14

#WF-AI04: Comment Translation & Review

ticketing-imgs-en-2025-12-31-23-26-38

#WF-AI03: Knowledge Generation

ticketing-imgs-en-2025-12-31-23-26-54

#7.3 Scheduled Tasks

TaskFrequencyDescription
SLA Alert CheckEvery 5 minutesCheck tickets about to timeout
Ticket Auto-CloseDailyAuto-close resolved status after 3 days
Rating InvitationDailySend rating invitation 24 hours after close
Statistics UpdateHourlyUpdate customer ticket statistics

#8. Menu and Interface Design

#8.1 Backend Admin

ticketing-imgs-en-2025-12-31-23-27-19

#8.2 Customer Portal

ticketing-imgs-en-2025-12-31-23-27-35

#8.3 Dashboard Design

#Executive View

ComponentTypeData Description
SLA Compliance RateGaugeThis month's response/resolution compliance
Satisfaction TrendLine ChartLast 30 days satisfaction changes
Ticket Volume TrendBar ChartLast 30 days ticket volume
Business Type DistributionPie ChartProportion of each business type

#Supervisor View

ComponentTypeData Description
Timeout AlertsListAbout to timeout/already timeout tickets
Team WorkloadBar ChartTeam member ticket counts
Backlog DistributionStacked ChartTicket counts by status
Processing TimeHeatmapAverage processing time distribution

#Agent View

ComponentTypeData Description
My To-DoNumber CardPending ticket count
Priority DistributionPie ChartP0/P1/P2/P3 distribution
Today's StatisticsMetric CardToday's processed/resolved count
SLA CountdownListTop 5 most urgent tickets

#Appendix

#A. Business Type Configuration

Type CodeNameIconAssociated Extension Table
repairEquipment Repairwrenchnb_tts_biz_repair
it_supportIT Supportcomputernb_tts_biz_it_support
complaintCustomer Complaintmegaphonenb_tts_biz_complaint
consultationConsultationquestionNone
otherOthermemoNone

#B. Category Codes

CodeNameDescription
CONVEYORConveyor SystemConveyor system issues
PACKAGINGPackaging MachinePackaging machine issues
WELDINGWelding EquipmentWelding equipment issues
COMPRESSORAir CompressorAir compressor issues
COLD_STORECold StorageCold storage issues
CENTRAL_ACCentral ACCentral AC issues
FORKLIFTForkliftForklift issues
COMPUTERComputerComputer hardware issues
PRINTERPrinterPrinter issues
PROJECTORProjectorProjector issues
INTERNETNetworkNetwork connectivity issues
EMAILEmailEmail system issues
ACCESSAccessAccount permission issues
PROD_INQProduct InquiryProduct inquiry
COMPLAINTGeneral ComplaintGeneral complaint
DELAYShipping DelayShipping delay complaint
DAMAGEPackage DamagePackage damage complaint
QUANTITYQuantity ShortageQuantity shortage complaint
SVC_ATTITUDEService AttitudeService attitude complaint
PROD_QUALITYProduct QualityProduct quality complaint
TRAININGTrainingTraining request
RETURNReturnReturn request

Document Version: 2.0 | Last Updated: 2025-12-29