Intervention Workflow
Service intervention dispatch, execution, and completion diagrams
Intervention Workflow
This page covers the complete intervention workflow from service request through completion.
Intervention Creation Flow
flowchart TD
subgraph "Request Sources"
CALL[Customer Call]
PORTAL[Customer Portal]
CONTRACT[Contract Schedule]
ALERT[Equipment Alert]
end
subgraph "Request Processing"
CALL --> CREATE[Create Request]
PORTAL --> CREATE
CONTRACT --> AUTO[Auto-Generate]
ALERT --> AUTO
CREATE --> VALIDATE[Validate Request]
AUTO --> VALIDATE
VALIDATE --> CHECK{Contract Check}
CHECK -->|Covered| APPROVE[Auto-Approve]
CHECK -->|Not Covered| QUOTE[Generate Quote]
QUOTE --> ACCEPT{Customer Accepts?}
ACCEPT -->|Yes| APPROVE
ACCEPT -->|No| CANCEL[Cancel Request]
APPROVE --> SCHEDULE[Schedule Intervention]
end
style SCHEDULE fill:#e8f5e9Dispatch Sequence
sequenceDiagram
participant Dispatcher
participant System as Dispatch System
participant DB as Database
participant Tech as Technician App
participant Customer
Dispatcher->>System: View pending interventions
System->>DB: Query unassigned interventions
DB-->>System: Intervention list
Dispatcher->>System: Select intervention
System->>System: Calculate requirements
Note over System: Skills, parts, travel time
System->>DB: Find matching technicians
DB-->>System: Available technicians
Dispatcher->>System: Assign technician
System->>DB: Update intervention (SCHEDULED)
System->>DB: Block technician calendar
System->>Tech: Push notification
Tech-->>Tech: Accept assignment
System->>Customer: Send appointment confirmation
Customer-->>System: Confirmation receivedTechnician Execution Flow
flowchart TD
START[Start of Day] --> CHECK[Check Assignments]
CHECK --> ROUTE[View Route]
ROUTE --> TRAVEL[Travel to Site]
TRAVEL --> ARRIVE[Mark Arrival]
ARRIVE --> ASSESS[Assess Situation]
ASSESS --> WORK{Can Complete?}
WORK -->|Yes| EXECUTE[Perform Service]
WORK -->|No - Parts| ORDER[Order Parts]
WORK -->|No - Skills| ESCALATE[Escalate]
ORDER --> RESCHEDULE[Reschedule]
ESCALATE --> ASSIGN_SENIOR[Assign Senior Tech]
EXECUTE --> DOCUMENT[Document Work]
DOCUMENT --> PARTS_USED[Record Parts Used]
PARTS_USED --> PHOTOS[Take Photos]
PHOTOS --> COMPLETE[Mark Complete]
COMPLETE --> SIGNATURE[Get Customer Signature]
SIGNATURE --> SUBMIT[Submit Report]
style COMPLETE fill:#e8f5e9Mobile App Sequence
sequenceDiagram
participant Tech as Technician
participant App as Mobile App
participant API as Backend API
participant DB as Database
participant Notify as Notification Service
Tech->>App: Open app
App->>API: Sync interventions
API->>DB: Get today's schedule
DB-->>API: Interventions
API-->>App: Display schedule
Tech->>App: Start navigation
App->>App: Launch maps
Tech->>App: Mark arrived
App->>API: updateStatus(ON_SITE)
API->>DB: Update intervention
API->>Notify: Alert customer
Tech->>App: Start work
App->>API: updateStatus(IN_PROGRESS)
App->>App: Start timer
loop During work
Tech->>App: Add notes/photos
App->>API: Upload media
end
Tech->>App: Complete intervention
App->>API: submitCompletion(data)
API->>DB: Update intervention
API->>DB: Record parts used
API->>DB: Update inventory
App->>App: Generate report
Tech->>App: Get signature
App->>API: uploadSignature()
API-->>App: Completion confirmedParts Management
flowchart TD
subgraph "Before Intervention"
CHECK_PARTS[Check Required Parts]
CHECK_PARTS --> INVENTORY{In Stock?}
INVENTORY -->|Yes| RESERVE[Reserve Parts]
INVENTORY -->|No| ORDER[Order Parts]
ORDER --> WAIT[Reschedule When Available]
end
subgraph "During Intervention"
RESERVE --> LOAD[Load in Vehicle]
LOAD --> USE[Use Parts]
USE --> RECORD[Record Usage]
end
subgraph "After Intervention"
RECORD --> INVOICE[Add to Invoice]
INVOICE --> RESTOCK[Trigger Restock]
RESTOCK --> UPDATE[Update Inventory]
endSLA Monitoring
flowchart TD
INTERVENTION[Intervention Created] --> SLA[Check Contract SLA]
SLA --> RESPONSE[Response Time SLA]
SLA --> RESOLUTION[Resolution Time SLA]
RESPONSE --> TIMER1[Start Response Timer]
RESOLUTION --> TIMER2[Start Resolution Timer]
TIMER1 --> CHECK1{Approaching?}
CHECK1 -->|< 25%| ALERT1[Warning Alert]
CHECK1 -->|> 25%| MONITOR1[Continue Monitoring]
TIMER2 --> CHECK2{Approaching?}
CHECK2 -->|< 25%| ALERT2[Warning Alert]
CHECK2 -->|> 25%| MONITOR2[Continue Monitoring]
ALERT1 --> ESCALATE1[Escalate to Manager]
ALERT2 --> ESCALATE2[Escalate to Manager]
subgraph "SLA Breach"
BREACH[SLA Breached]
BREACH --> LOG[Log Breach]
BREACH --> NOTIFY[Notify Stakeholders]
BREACH --> COMPENSATION[Check Compensation]
end
style BREACH fill:#ffebeeCompletion & Invoicing
sequenceDiagram
participant Tech as Technician
participant System as System
participant Finance as Finance System
participant Customer
Tech->>System: Submit completion report
System->>System: Validate report
System->>System: Calculate charges
Note over System: Labor + Parts + Travel
alt Contract Covered
System->>System: Check contract coverage
System->>Finance: Record under contract
else Billable
System->>Finance: Generate invoice
Finance->>Customer: Send invoice
end
System->>Customer: Send completion summary
System->>System: Update asset service history
System->>System: Schedule next maintenanceIntervention Report
erDiagram
INTERVENTION ||--|| INTERVENTION_REPORT : generates
INTERVENTION_REPORT {
string id PK
string interventionId FK
timestamp arrivalTime
timestamp departureTime
int laborMinutes
text workPerformed
text customerFeedback
json partsUsed
json photos
string signatureUrl
enum status
}
INTERVENTION_REPORT ||--o{ REPORT_PHOTO : contains
INTERVENTION_REPORT ||--o{ PART_USAGE : records
PART_USAGE {
string id PK
string reportId FK
string partId FK
int quantity
decimal unitPrice
decimal totalPrice
}