1
Escalation Procedure (Core Flow)
The main path every ticket follows, from inbound call to closure. Shows the three-tier escalation spine.
flowchart TD
START(("📞 Inbound Call
/ Ticket Received"))
START --> LOG["Step 1 — Log Ticket
Capture: Caller, Contractor,
Issue, Screenshots"]
LOG --> SEV["Step 2 — Classify Severity
(See Severity Guide)"]
SEV --> P1CHECK{"Is this P1 Critical?
(System down / All users)"}
P1CHECK -->|"Yes 🔴"| IMMEDIATE["⚠️ Skip L1 — Escalate Immediately
Call L2 On-Call by phone"]
IMMEDIATE -.->|🔔 Notify| L3_PM
L3_PM["L3 — PM (Keep Informed)
Notified on P1 / all escalations"]
P1CHECK -->|"No"| L1_TRY["Step 3 — L1 Resolution Attempt
· Use Support Tools (NotebookLM / FAQ)
· Apply standard troubleshooting
· Max 15 minutes"]
L1_TRY --> L1_DONE{"Resolved
within 15 min?"}
L1_DONE -->|"Yes ✅"| CLOSE_L1["Close Ticket
(See Close Procedure)"]
L1_DONE -->|"No"| ESC_L2["📤 Step 4 — Escalate to L2
Transfer ticket with full notes"]
IMMEDIATE --> L2_P1
ESC_L2 --> L2_STD
L2_P1["L2 — Technical/Infra Lead
Investigates & applies fix"]
L2_P1 --> L2_P1_CHECK{"L2 resolved?"}
L2_P1_CHECK -->|"Yes ✅"| CLOSE_P1["Close Ticket
(See Close Procedure)"]
L2_P1_CHECK -->|"No — Require HKT support"| NOTIFY_PM1["🔔 L3 — Notify PM"]
NOTIFY_PM1 --> ESC_AA1["📤 Step 5 — PM Escalate to Management (AA)
AA Escalation / Infra-related contact point"]
ESC_AA1 --> CLOSE_P1
L2_STD["L2 — Technical/Infra Lead
Investigates"]
L2_STD --> L2_STD_CHECK{"L2 resolved?"}
L2_STD_CHECK -->|"Yes ✅"| TEMP_FIX["Update ticket to
Temp fixed"]
TEMP_FIX -.->|Notify| L3_STD["L3 — PM (Keep Informed)
Deployment Request to AA"]
L3_STD -->|Deployment approval from AA| L2_DEPLOY["L2 — Technical/Infra Lead
Production deployed"]
L2_DEPLOY --> CLOSE_STD["Close Ticket
(See Close Procedure)"]
L2_STD_CHECK -->|"No"| ESC_MGMT["📤 Step 5 — Escalate to Management"]
ESC_MGMT --> MGMT["Management
Authorise additional resources
Stakeholder liaison"]
MGMT --> L2_STD_CHECK
CLOSE_L1 --> END(("✅ Done"))
CLOSE_P1 --> END
CLOSE_STD --> END
style START fill:#1B3A5C,stroke:#1B3A5C,color:#fff
style END fill:#388E3C,stroke:#388E3C,color:#fff
style IMMEDIATE fill:#FFCDD2,stroke:#D32F2F,color:#B71C1C
style L1_TRY fill:#E8F5E9,stroke:#388E3C,color:#1B5E20
style L2_P1 fill:#FFF8E1,stroke:#F57C00,color:#E65100
style L2_STD fill:#FFF8E1,stroke:#F57C00,color:#E65100
style L2_DEPLOY fill:#FFF8E1,stroke:#F57C00,color:#E65100
style MGMT fill:#FFEBEE,stroke:#D32F2F,color:#B71C1C
style L3_PM fill:#E8EAF6,stroke:#3F51B5,color:#1A237E
style NOTIFY_PM1 fill:#E8EAF6,stroke:#7986CB,color:#1A237E
style L3_STD fill:#E8EAF6,stroke:#3F51B5,color:#1A237E
style LOG fill:#E3F2FD,stroke:#1565C0,color:#0D47A1
style SEV fill:#E3F2FD,stroke:#1565C0,color:#0D47A1
style CLOSE_L1 fill:#F5F5F5,stroke:#666,color:#333
style CLOSE_P1 fill:#F5F5F5,stroke:#666,color:#333
style CLOSE_STD fill:#F5F5F5,stroke:#666,color:#333
style TEMP_FIX fill:#FFF3E0,stroke:#FB8C00,color:#E65100
style ESC_MGMT fill:#FFEBEE,stroke:#D32F2F,color:#B71C1C
Key rules:
- P1 Critical skips L1 → immediately call L2 On-Call by phone + notify L3 (PM) + Management.
- L1 has a 15-minute timer — if unresolved, escalate to L2 immediately.
- Tickets never skip tiers unless classified P1 or explicitly directed by management.
- ⚠️ Never escalate a P1 by email alone. Phone call is mandatory.
- L3 (PM) is kept informed on all P1 incidents and escalations (not a resolution tier).
- Escalation path: L1 (CS Team) → L2 (Technical Lead) → Management
2
Severity Classification Guide
Decision tree to determine P1–P5 with ZWIS-specific examples. Aligned to Contract SLA §7.3.
flowchart TD
START(("🎯 Start
Classify Incoming Issue"))
START --> Q1{"Q1: Is the system
completely unreachable
OR are ALL users unable
to login?"}
Q1 -->|"Yes"| P1
Q1 -->|"No"| Q2
Q2{"Q2: Is a key module
broken for a whole
contractor group
or site?
📋 Key Modules:
· Task Management
· Map & Real-Time Location Monitoring
· Shift & Staff Management
· Contract & Licensee Mgmt
· Reporting & Dashboard
· System Config & Access Control"}
Q2 -->|"Yes"| P2
Q2 -->|"No"| Q3
Q3{"Q3: Is it a functional
issue with a
workaround available?"}
Q3 -->|"Yes"| P3
Q3 -->|"Just display glitch /
enhancement / how-to"| Q4
Q4{"Q4: Is it a minor disruption
with workaround available?"}
Q4 -->|"Yes"| P4
Q4 -->|"No"| P5
P1["🔴 CRITICAL (Severity 1)
⏱ Response: 15 min · Resolution: 1 hr
Examples:
· System completely down
· All users can't login
· Database corruption
· Indoor positioning total failure
· Airside clock-in totally broken"]
P2["🟠 HIGH (Severity 2)
⏱ Response: 15 min · Resolution: 2 hrs
Examples:
· Roster not loading for Contractor A
· Clock-in failing at Terminal 2
· Report generation timeout
· Partial location tracking failure
· Push notifications broken"]
P3["🟡 MEDIUM (Severity 3)
⏱ Response: 15 min · Resolution: 4 hrs
Examples:
· Slow page load
· Single report rendering wrong"]
P4["🟢 LOW (Severity 4)
⏱ Response: 15 min · Resolution: 8 hrs
Examples:
· 1 user's password reset
· Typo in UI label
· UI alignment issue
· Notification delay for 1 user"]
P5["🔵 ENQUIRY (Severity 5)
⏱ Response: 15 min · Resolution: ASAP
Examples:
· Enquiry
· How-to question
· Known issues
· Request to add new column
· Feature enhancement request"]
P1 --> TIP1[/"💡 Tip: When in doubt,
classify ONE LEVEL HIGHER
and downgrade later"/]
P2 --> TIP1
P3 --> TIP1
P4 --> TIP1
P5 --> TIP1
style START fill:#1B3A5C,stroke:#1B3A5C,color:#fff
style P1 fill:#FFCDD2,stroke:#D32F2F,color:#B71C1C
style P2 fill:#FFE0B2,stroke:#F57C00,color:#E65100
style P3 fill:#FFF9C4,stroke:#FBC02D,color:#F57F17
style P4 fill:#C8E6C9,stroke:#4CAF50,color:#2E7D32
style P5 fill:#E3F2FD,stroke:#1565C0,color:#0D47A1
style TIP1 fill:#E1F5FE,stroke:#0288D1,color:#01579B
style Q1 fill:#F3E5F5,stroke:#7B1FA2,color:#4A148C
style Q2 fill:#F3E5F5,stroke:#7B1FA2,color:#4A148C
style Q3 fill:#F3E5F5,stroke:#7B1FA2,color:#4A148C
style Q4 fill:#F3E5F5,stroke:#7B1FA2,color:#4A148C
3
Support Tools Resolving Flow
The 5-tool cascade CS agents use to resolve issues before escalating. NotebookLM → FAQ → Known Issues → Dashboard → Admin Panel.
flowchart TD
START(("🔍 Issue Classified
(P2–P5)
Ready to Resolve"))
START --> ENQ_CHECK{"Enquiry /
how-to question?"}
ENQ_CHECK -->|"Yes"| T1["Tool 1 — 🤖 NotebookLM
· Type natural-language query
· Example: 'contractor cannot clock in at T2'
· Review AI answer + cited sources"]
ENQ_CHECK -->|"No"| KNOWN_CHECK{"Known issue
with workaround?"}
T1 --> T2["Tool 2 — 📋 FAQ Spreadsheet
· Filter by module / keyword
· Match scenario to documented cases
· Review workaround steps"]
T2 --> T3["Tool 3 — 📝 JIRA User Stories /
Known Issues Log
· Check recent entries (last 7 days)
· Look for similar symptoms
· Review workaround status"]
T3 --> SOLUTION{"Clear solution
found?"}
SOLUTION -->|"Yes ✅"| GUIDE["Guide caller through
the solution step-by-step"]
SOLUTION -->|"No"| ESCALATE["📤 Escalate to L2/L3
with full diagnostic notes"]
GUIDE --> RESOLVED{"Issue
resolved?"}
RESOLVED -->|"Yes ✅"| CLOSE(("→ Go to
Close Procedure"))
RESOLVED -->|"No"| ESCALATE
KNOWN_CHECK -->|"Yes ✅"| INFORM["Inform caller it's known
Provide workaround"]
KNOWN_CHECK -->|"No"| T4["Tool 4 — 📊 Health Dashboard
· Check system status (up/down)
· Check API response times
· Check login success rate"]
INFORM --> CLOSE
T4 --> SYS_CHECK{"System issue
detected?"}
SYS_CHECK -->|"Yes 🚨"| ESCALATE
SYS_CHECK -->|"No"| ASK["Ask caller for more info:
· Screenshots
· Exact steps
· Time of issue"]
ASK --> T1
ESCALATE --> L2(("→ L2 Escalation"))
style START fill:#1B3A5C,stroke:#1B3A5C,color:#fff
style CLOSE fill:#388E3C,stroke:#388E3C,color:#fff
style L2 fill:#F57C00,stroke:#F57C00,color:#fff
style T1 fill:#E3F2FD,stroke:#1565C0,color:#0D47A1
style T2 fill:#E8F5E9,stroke:#388E3C,color:#1B5E20
style T3 fill:#FFF8E1,stroke:#F9A825,color:#F57F17
style T4 fill:#F3E5F5,stroke:#7B1FA2,color:#4A148C
style ESCALATE fill:#FFE0B2,stroke:#F57C00,color:#E65100
style ENQ_CHECK fill:#F3E5F5,stroke:#7B1FA2,color:#4A148C
style KNOWN_CHECK fill:#F3E5F5,stroke:#7B1FA2,color:#4A148C
style SOLUTION fill:#F3E5F5,stroke:#7B1FA2,color:#4A148C
style SYS_CHECK fill:#F3E5F5,stroke:#7B1FA2,color:#4A148C
style RESOLVED fill:#F3E5F5,stroke:#7B1FA2,color:#4A148C
style GUIDE fill:#E8F5E9,stroke:#388E3C,color:#1B5E20
style INFORM fill:#E8F5E9,stroke:#388E3C,color:#1B5E20
style ASK fill:#E1F5FE,stroke:#0288D1,color:#01579B
Tool priority order — try in sequence: NotebookLM is fastest for natural-language queries, FAQ for documented scenarios, JIRA User Stories / Known Issues Log for ongoing problems, and Health Dashboard for system-level diagnosis. Escalate to L2/L3 once diagnostic notes are compiled.
4
Ticket Close Procedure
The 6-step closure protocol, including caller verification, KB update, and shift handover.
flowchart TD
START_P5(("✅ Issue Resolved
(P5)"))
START_P5 --> S1_P5["Step 1 — Verify with Caller
· Confirm enquiry / how-to question settled"]
S1_P5 --> VERIFY_P5{"Caller confirms
resolution?"}
VERIFY_P5 -->|"No ❌"| REOPEN
VERIFY_P5 -->|"Yes ✅"| S3
START_P14(("✅ Issue Resolved
(P1 / P2 / P3 / P4)"))
START_P14 --> S1
S1["Step 1 — Verify with Caller
· Confirm workaround provided has no further concern
· Assure caller on future fixes"]
S1 --> VERIFY{"Caller confirms
resolution?"}
VERIFY -->|"No ❌"| REOPEN["🔄 Reopen Ticket
Re-investigate / re-classify
→ Return to resolution flow"]
VERIFY -->|"Yes ✅"| S2
S2["Step 2a — Document Resolution
· Resolution steps taken
· Root cause (if known)
· Time to resolve
· Tier that resolved (L1/L2/L3/L4)"]
S2 --> S2B["Step 2b — Log issue resolution time (Temp fixed)
· Time to resolve
· Resolved by"]
S2B --> S3{"Was this a
new solution not
in existing KB?"}
S3 -->|"Yes"| S3A["Step 3a — Update Knowledge Base
· Record new solution/question to FAQ separate sheet
· Tag with module + symptom keywords
· Monthly: compile all new records to NotebookLM"]
S3 -->|"No"| S4
S3A --> S4_KNOWN["Step 3b — Update Known Issues Log (JIRA)
· Add to monthly report
· Notify project team"]
S3A --> S4
S4["Step 4 — Close Communication
· Send closure email / message
· Include: issue summary + resolution / workaround
· Invite feedback if needed"]
S4_KNOWN --> S4
S4 --> S5["Step 5a — Update Ticket in System
· Status: Open → Temp Fixed
· Tag: Module / Category
· Tag: Severity / Tier resolved
· Capture time-to-resolve metric"]
S5 -->|Production deployed| S5B["Step 5b — Close Ticket in System
· Status: Temp Fixed → Closed"]
S5B --> S6["Step 6 — Shift Handover Note
(If close to shift end)
· Add to handover log if
follow-up needed
· Flag recurring patterns"]
S6 --> END(("✅ Ticket Closed"))
REOPEN --> RESOLVE(("→ Back to
Resolution Flow"))
style START_P14 fill:#1B3A5C,stroke:#1B3A5C,color:#fff
style START_P5 fill:#1B3A5C,stroke:#1B3A5C,color:#fff
style END fill:#388E3C,stroke:#388E3C,color:#fff
style RESOLVE fill:#F57C00,stroke:#F57C00,color:#fff
style REOPEN fill:#FFCDD2,stroke:#D32F2F,color:#B71C1C
style S1 fill:#E3F2FD,stroke:#1565C0,color:#0D47A1
style S1_P5 fill:#E3F2FD,stroke:#1565C0,color:#0D47A1
style S2 fill:#E8F5E9,stroke:#388E3C,color:#1B5E20
style S2B fill:#E8F5E9,stroke:#388E3C,color:#1B5E20
style S3A fill:#FFF8E1,stroke:#F9A825,color:#F57F17
style S4_KNOWN fill:#FFE0B2,stroke:#F57C00,color:#E65100
style S4 fill:#F3E5F5,stroke:#7B1FA2,color:#4A148C
style S5 fill:#E0F7FA,stroke:#00838F,color:#006064
style S5B fill:#E0F7FA,stroke:#00838F,color:#006064
style S6 fill:#FCE4EC,stroke:#C2185B,color:#880E4F
Critical rules for closure:
- Never close a ticket without explicit caller confirmation the issue is resolved.
- New solutions must be added to the FAQ separate sheet immediately; all new records are compiled to NotebookLM on a monthly basis.