Skip to content
GabNet 365
/Documentation
HomeSign In
  • Executive Overview
  • Getting Started Guide
  • Training Content
  • System Overview
  • User Roles & Permissions
  • Business Workflows
  • Documentation Portal
  • Dashboard
  • Inventory Management
  • Sales Management
  • Invoice Management
  • Rental Management
  • Service Management
  • Customer Management
  • Product Catalog
  • User Management
  • Reports & Analytics
  • Supplier Management
  • Purchase Orders
  • Spare Parts
  • Employee Management
  • Settings
  1. Docs
  2. Module Documentation
  3. Service Management Module

Service Management Module

8 min read25 sections
On this pageShowHide
  • Overview
  • Key Capabilities
  • Ticket Types
  • Installation Tickets (Automatic)
  • Repair Tickets (Manual)
  • Service Workflow
  • Status Lifecycle
  • 1. Ticket Creation
  • 2. Priority Assignment
  • 3. Technician Assignment
  • 4. Service Execution
  • 5. Cost Recording
  • 6. Closure & Release Workflow
  • 7. Customer Feedback
  • User Interface
  • Routes
  • Ticket Detail View
  • Ticket List
  • API Reference
  • Key Ticket Fields
  • Integration with Sales
  • Reporting
  • Success Metrics
  • Best Practices
  • Future Enhancements

Service Management Module

Service ticket tracking, installation automation, and technician management for customer satisfaction

Module Purpose: Deliver excellent service through efficient ticket management, automated installation scheduling, and a structured closure workflow
Primary Users: Customer Service, Service Technicians, Supervisors
Last Updated: June 10, 2026


Overview

The Service Management module provides complete lifecycle tracking for service requests—from automatic installation tickets created at the point of sale through repair work, release, and customer feedback collection.

Key Capabilities

  • Ticket Types: Installation, Warranty Repair, and Non-Warranty Repair
  • Automatic Installation Tickets: Created when a sales order includes machine products (Printer category)
  • Ticket Management: Create, assign, and track service requests manually or from sales
  • Priority System: Categorize by urgency (Low, Medium, High, Critical)
  • Technician Assignment: Workload distribution and tracking
  • Status Tracking: Open → Assigned → In Progress → Completed → Released → Closed
  • Closure Workflow: Feedback request and release required before final closure
  • Cost Tracking: Parts, labor, and transport costs (waived for non-warranty repairs)
  • Customer Feedback: Ratings, comments, and WhatsApp feedback request links
  • Warranty Management: Warranty vs. non-warranty service differentiation

Ticket Types

Ticket TypeHow CreatedWarranty TypeService Charge
InstallationAuto from sale (printer products) or manualWarranty (default)Per policy
Warranty RepairManualWarranty (auto-set)Parts/labor may apply
Non-Warranty RepairManualNon-Warranty (auto-set)No service charge required

Installation Tickets (Automatic)

When a sales order is created, the system inspects each line item. For products in the Printer category (machines requiring installation):

  1. An installation ticket is created immediately—even if the order is unpaid or partially paid
  2. The ticket is linked to the originating sales order
  3. source is set to sale_auto_installation
  4. serviceLocation defaults to Customer Location
  5. priority defaults to High
  6. Duplicate tickets are prevented per sales order, product, and unit quantity

Staff can view the linked sale from the ticket detail page.

Repair Tickets (Manual)

Create repair tickets from Services → New Ticket:

  • Select Warranty Repair or Non-Warranty Repair
  • Warranty type is set automatically from the ticket type
  • For Non-Warranty Repair, service costs are not required and are stored as zero

Service Workflow

Status Lifecycle

Open → Assigned → In Progress → Completed → Released → Closed
                                      ↓
                            (Cancelled at any active stage)
StatusMeaning
OpenTicket created, awaiting assignment
AssignedTechnician assigned
In ProgressWork underway
CompletedService work finished
ReleasedCustomer feedback requested; ticket released for closure
ClosedFinal archived state
CancelledTicket cancelled (cannot be reopened)

1. Ticket Creation

Manual creation — information captured:

  • Customer
  • Product/equipment
  • Ticket type (Installation, Warranty Repair, Non-Warranty Repair)
  • Issue description (max 1000 characters)
  • Priority level (Low, Medium, High, Critical)
  • Service location (In-Shop or Customer Location)
  • Warranty status (auto-set for repair types; editable for Installation)
  • Auto-generated ticket number (ST######)

Automatic creation — triggered by sales orders containing printer products. No staff action required.

2. Priority Assignment

PriorityResponse TimeUse Case
Critical< 4 hoursSystem down, business impact
High< 24 hoursMajor functionality affected; default for auto-installation
Medium< 48 hoursPartial functionality affected
Low< 1 weekMinor issues, enhancements

3. Technician Assignment

Assignment criteria:

  • Technician skills match
  • Current workload
  • Geographic location
  • Customer relationship
  • Availability

4. Service Execution

Technician actions:

  • Review ticket details
  • Gather necessary parts/tools
  • Travel to service location (if customer site)
  • Diagnose issue
  • Perform repair, installation, or maintenance
  • Update ticket status
  • Record work performed

5. Cost Recording

Cost formula:

Parts Cost + Labor Cost + Transport Cost = Total Cost

Non-warranty repairs: Costs are automatically zeroed—no service charge is required.

Warranty and installation tickets: Parts, labor, and transport may be recorded as applicable.

6. Closure & Release Workflow

Closing a ticket follows a enforced sequence:

Completed
    ↓
Mark feedback requested (+ optional WhatsApp link to customer)
    ↓
Released  (records releasedAt / releasedBy)
    ↓
Closed

Rules enforced by the system:

  • A ticket cannot move to Released unless it is Completed and feedback has been requested
  • A ticket cannot move to Closed unless it has been Released and feedback was requested
  • Cancelled tickets cannot be reopened

Staff actions (Edit Ticket or Ticket Detail):

  1. Set status to Completed when work is done
  2. Click Mark Feedback Requested to record the feedback request timestamp
  3. Click Send WhatsApp Feedback Request to open a pre-filled wa.me link for the customer
  4. Set status to Released once feedback has been requested
  5. Set status to Closed after release

7. Customer Feedback

Feedback is collected in two ways:

  1. WhatsApp (preferred): Staff send a pre-filled feedback message via WhatsApp share link
  2. In-system: Staff record rating (1–5) and comments (max 500 characters) on the ticket

WhatsApp links include the ticket number, customer name, and a prompt to reply with a rating and comments. This uses manual share links (wa.me)—the same pattern as invoice sharing—not automated WhatsApp Business API sending.

API endpoint: GET /api/v1/tickets/:id/feedback-whatsapp


User Interface

Routes

RoutePurpose
/dashboard/servicesTicket list, filters, and stats
/dashboard/services/newCreate manual ticket
/dashboard/services/[id]Ticket detail, closure actions, WhatsApp feedback
/dashboard/services/[id]/editEdit ticket, costs, status, closure workflow
/dashboard/services/maintenancePreventive maintenance schedule
/dashboard/services/reportsService performance reports

Ticket Detail View

Displays:

  • Ticket type and source (Manual / Auto from Sale)
  • Link to originating sales order (for auto-installation tickets)
  • Warranty type and service location
  • Release and feedback-request timestamps
  • Customer feedback (rating and comments)
  • Closure actions (mark feedback requested, WhatsApp link)

Ticket List

Status filter includes all lifecycle states: Open, Assigned, In Progress, Completed, Released, Cancelled, Closed.


API Reference

Base path: /api/v1/tickets

MethodEndpointDescription
GET/List tickets (filter by status, paginate)
POST/Create manual ticket
GET/:idGet ticket detail (includes sales order, release metadata)
PUT/:idUpdate ticket; supports markFeedbackRequested: true
GET/:id/feedback-whatsappGenerate WhatsApp feedback share link
DELETE/:idDelete ticket

Key Ticket Fields

FieldTypeDescription
ticketTypeInstallation | Warranty Repair | Non-Warranty RepairCategory of service work
sourcemanual | sale_auto_installationHow the ticket was created
salesOrderObjectIdLinked sales order (auto-installation only)
warrantyTypeWarranty | Non-WarrantyCoverage type
statusSee lifecycle aboveCurrent workflow state
releasedAtDateWhen ticket was released
releasedByObjectIdUser who released the ticket
feedbackRequestedAtDateWhen customer feedback was requested
customerFeedback{ rating, comments }Recorded customer satisfaction

Permissions: serviceTickets:list, serviceTickets:create, serviceTickets:update, serviceTickets:delete


Integration with Sales

When a sales order is created (POST /api/v1/sales):

  1. The order is saved and inventory is updated as usual
  2. After the transaction commits, the system scans sold items
  3. For each Printer product, one installation ticket is created per unit sold
  4. Idempotency prevents duplicate tickets if the process is retried

This happens regardless of payment status (Paid, Partially Paid, or Pending).

See also: Sales module and Order-to-Cash workflow.


Reporting

Completed statuses for metrics include: Completed, Released, and Closed.

Reports cover:

  • Tickets by status and priority
  • Average resolution time
  • Customer satisfaction (ratings, compliments vs. complaints)
  • Open vs. completed ticket counts

Success Metrics

Average Resolution Time:

  • By priority level
  • Trend over time
  • Comparison to SLA targets

First-Time Fix Rate:

  • Target: 85%+
  • % of tickets resolved on first visit

Customer Satisfaction:

  • Target: 4.0+ average rating
  • Collect feedback on closed tickets
  • Address low ratings promptly

SLA Compliance:

  • Target: 95%+ within SLA
  • Critical tickets: 100% compliance

Installation Coverage:

  • % of printer sales with installation tickets created automatically

Best Practices

✅ Do:

  • Verify auto-created installation tickets after machine sales
  • Use the correct ticket type for manual repairs
  • Follow the closure sequence: Complete → request feedback → Release → Close
  • Send WhatsApp feedback links while the service is fresh in the customer's mind
  • Record in-system feedback when customers reply
  • Update status regularly during active work

❌ Don't:

  • Skip the feedback-request step before releasing or closing
  • Attempt to close tickets directly from Completed
  • Add service charges to non-warranty repair tickets
  • Ignore high-priority or auto-generated installation tickets
  • Cancel tickets that should be completed and closed properly

Future Enhancements

  • WhatsApp Business API: Programmatic message sending behind a messaging provider abstraction
  • requiresInstallation product flag: Extend beyond Printer category for other machine types
  • Customer-facing feedback form: Public URL embedded in WhatsApp messages

← Back to Documentation Home | View All Modules

PreviousRental ManagementNextCustomer Management
Back to Documentation Center

On this page

  • Overview
  • Key Capabilities
  • Ticket Types
  • Installation Tickets (Automatic)
  • Repair Tickets (Manual)
  • Service Workflow
  • Status Lifecycle
  • 1. Ticket Creation
  • 2. Priority Assignment
  • 3. Technician Assignment
  • 4. Service Execution
  • 5. Cost Recording
  • 6. Closure & Release Workflow
  • 7. Customer Feedback
  • User Interface
  • Routes
  • Ticket Detail View
  • Ticket List
  • API Reference
  • Key Ticket Fields
  • Integration with Sales
  • Reporting
  • Success Metrics
  • Best Practices
  • Future Enhancements

© 2026 Gabnet Enterprise. All rights reserved.

Documentationv0.16.0