Help desk & customer support ticketing schema

A support desk modelled properly: tickets in queues, one thread that mixes public replies with internal notes, SLA clocks measured in business hours with breach tracking, macros, tags, merges and CSAT.

Help Desk ER diagram

Help desk & customer support ticketing schema n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 agents idBIGINT emailVARCHAR display_nameVARCHAR roleVARCHAR signatureTEXT max_open_ticketsINTEGER is_activeBOOLEAN created_atTIMESTAMP customers idBIGINT emailVARCHAR full_nameVARCHAR external_refVARCHAR companyVARCHAR localeVARCHAR first_seen_atTIMESTAMP business_calendars idBIGINT nameVARCHAR timezoneVARCHAR holiday_datesJSONB business_hours idBIGINT calendar_idBIGINT weekdaySMALLINT opens_atTIME closes_atTIME queues idBIGINT keyVARCHAR nameVARCHAR calendar_idBIGINT default_sla_polic…BIGINT assignment_strate…VARCHAR escalation_queue_…BIGINT is_activeBOOLEAN sla_policies idBIGINT nameVARCHAR priorityVARCHAR calendar_idBIGINT first_response_mi…INTEGER next_response_min…INTEGER resolution_minutesINTEGER escalate_after_mi…INTEGER is_activeBOOLEAN tickets idBIGINT referenceVARCHAR queue_idBIGINT customer_idBIGINT assignee_agent_idBIGINT sla_policy_idBIGINT subjectVARCHAR statusVARCHAR priorityVARCHAR channelVARCHAR first_response_atTIMESTAMP last_customer_rep…TIMESTAMP reopen_countINTEGER created_atTIMESTAMP solved_atTIMESTAMP closed_atTIMESTAMP ticket_messages idBIGINT ticket_idBIGINT author_agent_idBIGINT author_customer_idBIGINT visibilityVARCHAR bodyTEXT source_message_idVARCHAR via_macro_idBIGINT created_atTIMESTAMP ticket_sla_targets idBIGINT ticket_idBIGINT sla_policy_idBIGINT target_kindVARCHAR started_atTIMESTAMP due_atTIMESTAMP paused_minutesINTEGER satisfied_atTIMESTAMP breached_atTIMESTAMP ticket_links source_ticket_idBIGINT target_ticket_idBIGINT link_typeVARCHAR created_by_agent_…BIGINT created_atTIMESTAMP ticket_tags ticket_idBIGINT tagVARCHAR tagged_by_agent_idBIGINT created_atTIMESTAMP macros idBIGINT nameVARCHAR queue_idBIGINT bodyTEXT actionsJSONB usage_countINTEGER created_by_agent_…BIGINT is_activeBOOLEAN csat_responses idBIGINT ticket_idBIGINT rated_agent_idBIGINT sent_atTIMESTAMP responded_atTIMESTAMP ratingSMALLINT commentTEXT

Related database schemas