SLA Ticketing & CS Incident Assignment Management
Web-Based Customer Issue Categorization, Team Assignment & SLA Resolution Tracking
Sistem manajemen tiket gangguan pelanggan berbasis web portal yang diinput oleh tim Customer Service (CS), dikelompokkan berdasarkan kategori insiden, lalu di-assign ke tim teknis terkait dengan pelacakan batas waktu resolusi SLA.
Diagram Alur Data & Arsitektur Sistem
Visual InteraktifAlur Manajemen Tiket CS & Eskalasi SLA Berbasis Web
Alur intake tiket oleh Customer Service, penentuan kategori masalah, penugasan ke tim teknis, dan pemantauan SLA
CS Web Portal
Customer Complaint Intake
Issue Classifier
Category & Severity Matrix
Assignment Engine
Route to Relevant Unit
PostgreSQL Tickets
Audit Trail & Milestones
Web SLA Monitor
Real-Time Dashboard Alert
Problem & Latar Belakang Kebutuhan
Saat pelanggan mengalami gangguan (misal: kabel fiber putus, redaman tinggi, kendala router Wi-Fi, atau tagihan billing), laporan yang diterima tim CS sering kali tercecer atau lambat diteruskan tanpa kejelasan tim penanggung jawab dan status penyelesaian.
Implementasi TicketAssignmentService di NestJS
Setiap keluhan pelanggan dibuatkan tiket resmi di web portal oleh tim CS dengan klasifikasi kategori masalah (Fiber Cut LOS, Konfigurasi Router/ONT, Klaim Billing). Sistem secara otomatis menghitung tenggat waktu SLA (P1: 2 jam, P2: 4 jam, P3: 24 jam), meng-assign tiket ke unit penanggung jawab (Tim Splicer Lapangan, Tim NOC Jaringan, atau Tim Finance), serta melacak setiap tahapan progres penyelesaian secara real-time di dashboard web.
Aspek Skema Tiket PostgreSQL, Kategori & Riwayat Status
Tabel PostgreSQL support_tickets dan ticket_history mencatat relasi foreign key customer_id, branch_id, assigned_to_user_id, status transisi (OPEN -> ASSIGNED -> IN_PROGRESS -> RESOLVED -> CLOSED), serta timestamp SLA countdown.
Keamanan, Idempotensi & Kepatuhan SLA
Validasi hak akses peran (RBAC): CS berwenang membuat dan mengarahkan tiket, Teknisi/NOC hanya dapat memperbarui progres tiket yang di-assign kepada mereka, dan Supervisor dapat memvalidasi penyelesaian tiket.
// Manajemen Tiket CS & Penugasan Berdasarkan Kategori Masalah di NestJS
@Injectable()
export class TicketAssignmentService {
constructor(
@InjectRepository(SupportTicket)
private readonly ticketRepo: Repository<SupportTicket>,
@InjectRepository(TechnicalTeam)
private readonly teamRepo: Repository<TechnicalTeam>,
) {}
async createAndAssignTicket(dto: CreateTicketDto, csUser: User): Promise<SupportTicket> {
// 1. Tentukan SLA target resolusi berdasarkan tingkat keparahan & kategori masalah
const slaHours = this.determineSlaHours(dto.category, dto.severity);
const slaDeadline = new Date(Date.now() + slaHours * 60 * 60 * 1000);
// 2. Tentukan tim teknis terkait berdasarkan kategori insiden
const targetTeam = await this.teamRepo.findOneBy({
category: dto.category,
branchId: dto.branchId,
});
// 3. Terbitkan tiket resmi dan simpan status penugasan awal
const ticket = this.ticketRepo.create({
ticketNumber: `TCK-${new Date().getFullYear()}-${Math.floor(1000 + Math.random() * 9000)}`,
customerId: dto.customerId,
branchId: dto.branchId,
category: dto.category, // 'FIBER_CUT_LOS' | 'ONT_ROUTER_CONFIG' | 'BILLING_DISPUTE'
severity: dto.severity, // 'P1_CRITICAL' | 'P2_MAJOR' | 'P3_STANDARD'
createdByUserId: csUser.id,
assignedTeamId: targetTeam?.id,
status: 'ASSIGNED',
slaDeadline,
});
return await this.ticketRepo.save(ticket);
}
}Live Simulator & Execution Sandbox
PostGIS GiST R-Tree ST_DWithin query executed in 3.8ms. Matched ODP-FATMAWATI-42 (84.2m).
Estimated optical attenuation: -17.4 dBm. Port 4 of 8 available. Redis lock acquired with 24h TTL.
HMAC-SHA256 verified. Redis Redlock acquired. Invoice INV-2026-0982 settled with zero ledger variance.
ST_DWithin R-Tree matched ODP in 4.1ms (dist: 84.2m). Optical loss -17.4 dBm. Splitter port locked with 24h Redis TTL.
Eksplorasi Fitur Terkait Lainnya
Lihat Semua Fitur →PostGIS Spatial R-Tree & ODP Fiber Allocation
Validasi geospasial real-time titik koordinat pelanggan, kalkulasi jarak kabel drop optik, estimasi degradasi redaman (dBm), dan auto-lock port splitter ODP tanpa full-table scan.
Sales Order SPK & Automated Provisioning Lifecycle
Otomasi penerbitan Surat Perintah Kerja (SPK) pasang baru pelanggan, validasi KTP/NIK, reservasi port ODP selama 24 jam, dan pembuatan akun PPPoE/RADIUS otomatis di NestJS.
Multi-Tenant Branch & Multi-Level Approval Engine
Pemisahan data operasional antar cabang regional ISP berbasis Role-Based Access Control (RBAC) & Scoped Tenant Guard serta pipeline persetujuan multi-level otomatis (Sales -> NOC Kelayakan -> Finance Margin -> Dispatch).
Multi-Gateway Webhook & Double-Entry Reconcile
Pengolahan webhook multi-gateway (Midtrans, Xendit, Bank Direct VA) dengan transactional outbox pattern dan double-entry ledger untuk rekonsiliasi bebas selisih.