Skip to content

Admin Call Routing Configuration

Document ID: PLCY-ADM-002
Version: 1.0
Effective Date: December 30, 2025
Last Review: December 30, 2025
Owner: Hop And Haul Team


CONFIDENTIAL

This document is CONFIDENTIAL and for internal use only. Do not distribute outside the organization.

1. Purpose

This document defines the admin dashboard capabilities for configuring voice call routing, on-call schedules, role assignments, and escalation rules. It provides guidance for fleet administrators and operations staff on managing the voice agent escalation system.

Related Documents:


2. Dashboard Overview

2.1 Access Levels

RoleCapabilities
Hop And Haul AdminFull access: all fleets, global settings
Fleet AdminFleet-scoped: own fleet settings only
Safety Ops ManagerSafety settings: on-call, escalation rules
Support ManagerSupport settings: schedules, routing

2.2 Dashboard Sections

┌─────────────────────────────────────────────────────────────────────┐
│  ADMIN DASHBOARD - Call Routing                                     │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌────────────┐ │
│  │ On-Call     │  │ Role        │  │ Escalation  │  │ Reports    │ │
│  │ Schedules   │  │ Assignments │  │ Rules       │  │            │ │
│  └─────────────┘  └─────────────┘  └─────────────┘  └────────────┘ │
│                                                                      │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐                 │
│  │ Notification│  │ Fleet       │  │ Audit       │                 │
│  │ Settings    │  │ Overrides   │  │ Log         │                 │
│  └─────────────┘  └─────────────┘  └─────────────┘                 │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

3. On-Call Schedule Management

3.1 Schedule Types

TypeDescriptionUse Case
RotatingCycles through team membersSafety Ops weekly rotation
FixedSame person always on-callSmall team operations
Calendar-basedSpecific dates/times assignedSupport coverage
HybridRotating with manual overridesVacation coverage

3.2 Creating a Rotation Schedule

UI Flow:

1. Navigate to: On-Call Schedules → Create New
2. Select Role: Safety Ops / Driver Support / Fleet Admin
3. Select Type: Rotating
4. Add Team Members:
   - Name: [Alice Smith]
   - Phone: [+1XXXXXXXXXX]
   - Email: [alice@example.com]
   [Add Another]
5. Configure Rotation:
   - Rotation Period: Weekly / Daily / Custom
   - Start Day: Monday
   - Handoff Time: 9:00 AM
6. Set Backup Rules:
   - Backup Assignment: Next in rotation
   - Escalation Timeout: 30 seconds
7. Save Schedule

3.3 Schedule Configuration Options

OptionValuesDefault
Rotation periodDaily, Weekly, Bi-weekly, MonthlyWeekly
Handoff timeAny time9:00 AM local
TimezoneAny timezoneFleet timezone
Backup ruleNext in rotation, Specific person, Skip to managerNext in rotation
Escalation timeout15s, 30s, 60s, 120s30s

3.4 Schedule Calendar View

┌─────────────────────────────────────────────────────────────────────┐
│  Safety Ops On-Call - January 2026                                  │
├─────────────────────────────────────────────────────────────────────┤
│  Sun   Mon   Tue   Wed   Thu   Fri   Sat                           │
│                    1     2     3     4                              │
│                    Alice Alice Alice Alice                          │
│                                                                      │
│  5     6     7     8     9     10    11                            │
│  Alice Bob   Bob   Bob   Bob   Bob   Bob                           │
│                                                                      │
│  12    13    14    15    16    17    18                            │
│  Bob   Charlie Charlie Charlie Charlie Charlie Charlie              │
│                          (override: Alice - vacation)               │
└─────────────────────────────────────────────────────────────────────┘

3.5 Manual Overrides

Override Types:

TypeDescriptionDuration
SwapExchange shifts with anotherPermanent until next rotation
CoverTemporary coverageSpecified date range
BlockMark unavailableSpecified date range

Creating an Override:

1. Click on calendar date
2. Select: Swap / Cover / Block
3. If Swap: Select swap partner
4. If Cover: Select covering person + date range
5. If Block: Specify date range + require coverage assignment
6. Add reason (optional)
7. Notify affected parties: Yes/No
8. Confirm

3.6 Holiday & Exception Handling

SettingOptions
Holiday calendarUS Federal, Custom, None
Holiday behaviorNormal rotation, Skip, Specific assignment
Exception datesCustom list of dates with special handling

4. Role Assignment

4.1 Role Types

RoleScopeAssignable By
Safety OpsGlobalHop And Haul Admin
Driver SupportGlobalHop And Haul Admin, Support Manager
Fleet AdminPer-fleetHop And Haul Admin, Fleet Owner

4.2 Assigning Roles

UI Flow:

1. Navigate to: Role Assignments → [Role Type]
2. Click: Add Team Member
3. Enter:
   - Name: [Full Name]
   - Email: [work email]
   - Phone: [mobile for on-call]
4. Set Permissions:
   - Can be on-call: Yes/No
   - Can modify schedules: Yes/No
   - Can configure routing: Yes/No
5. Training Status:
   - Required training completed: [checkbox]
   - Training completion date: [date]
6. Save Assignment

4.3 Fleet Admin Delegation

For Fleet Admins, additional configuration:

SettingDescription
Fleet assignmentWhich fleet(s) this admin manages
Escalation recipientReceives escalations for their fleet
Hours of availabilityWhen they can receive calls
Backup delegationWho covers when unavailable

5. Escalation Rules

5.1 Rule Components

ComponentDescription
TriggerWhat initiates the escalation
ConditionAdditional criteria to match
DestinationWhere to route
TimeoutHow long before escalating further

5.2 Default Escalation Rules

PriorityTriggerDestinationTimeoutNext Step
1Safety keywordsSafety Ops Primary30sSafety Ops Backup
2Support keywordsDriver Support60sSafety Ops
3Fleet-specificFleet Admin60sDriver Support
4Unresolved (3x)Driver Support60sVoicemail
5System errorDriver Support30sVoicemail

5.3 Creating Custom Rules

UI Flow:

1. Navigate to: Escalation Rules → Create New
2. Define Trigger:
   - Type: Keyword / Event / Time-based
   - If Keyword: Enter keywords (comma-separated)
   - If Event: Select from list
   - If Time-based: Set schedule
3. Add Conditions (optional):
   - Driver fleet: [specific fleet or any]
   - Vehicle state: [MOVING, STOPPED, PARKED, any]
   - Time of day: [business hours, after-hours, any]
4. Set Destination:
   - Role: Safety Ops / Driver Support / Fleet Admin
   - Specific person (optional)
5. Configure Timeout:
   - Duration: [seconds]
   - On timeout: Next in chain / Voicemail / Specific person
6. Set Priority:
   - Higher priority = evaluated first
7. Enable/Disable
8. Save Rule

5.4 Rule Priority & Evaluation

INCOMING ESCALATION:

┌─────────────────┐
│ Evaluate rules  │
│ by priority     │
│ (highest first) │
└────────┬────────┘

   ┌─────────────┐
   │ Rule 1      │ ← Priority 100 (Safety)
   │ matches?    │
   └─────┬───────┘
     Yes │ No
         │   ↓
         │ ┌─────────────┐
         │ │ Rule 2      │ ← Priority 50 (Support)
         │ │ matches?    │
         │ └─────┬───────┘
         │   Yes │ No
         │       │   ↓
         │       │ ┌─────────────┐
         │       │ │ Default     │ ← Fallback
         │       │ │ rule        │
         │       │ └─────────────┘
         ↓       ↓
   ┌─────────────────┐
   │ Route to        │
   │ destination     │
   └─────────────────┘

5.5 Fleet-Specific Rules

Fleet Admins can create rules scoped to their fleet:

Rule TypeExample
Custom keywordsRoute "dispatch" to fleet-specific line
Time-basedAfter 6 PM → voicemail only
Driver-specificVIP drivers → priority routing

6. Notification Configuration

6.1 Notification Channels

ChannelUse CaseConfiguration
Phone callCritical escalationsPhone number required
SMSBackup notificationPhone number required
Push notificationAll escalationsPagerDuty app required
EmailLow priority, summariesEmail required

6.2 PagerDuty Integration

Setup:

1. Navigate to: Notification Settings → PagerDuty
2. Enter API Key: [PagerDuty API key]
3. Configure Services:
   - Safety Ops Service ID: [service_id]
   - Driver Support Service ID: [service_id]
4. Map Escalation Policies:
   - P1 (Critical) → Safety Ops
   - P2 (High) → Driver Support
   - P3 (Normal) → Driver Support
5. Test Connection
6. Save

6.3 Notification Preferences (Per User)

SettingOptions
Primary contactPhone / SMS / Push
Backup contactPhone / SMS / Push / Email
Quiet hoursTime range to suppress non-critical
Critical overrideAlways notify for safety (cannot disable)

7. Fleet Overrides

7.1 Override Types

OverrideDescription
Routing overrideRoute all calls for a fleet differently
Hours overrideDifferent availability hours
Escalation overrideCustom escalation chain
BlackoutTemporarily disable voice agent for fleet

7.2 Creating Fleet Overrides

Example: Custom Routing

Fleet: Acme Trucking
Override Type: Routing
Configuration:
  - All support calls → Fleet Admin (John) first
  - Timeout: 45 seconds
  - Fallback: Standard Driver Support
  - Effective: Immediately
  - Expiration: Ongoing (no end date)

7.3 Emergency Blackout

For fleet-wide voice agent disable:

1. Navigate to: Fleet Overrides → [Fleet Name]
2. Click: Emergency Blackout
3. Select Duration:
   - 1 hour
   - 4 hours
   - 24 hours
   - Until manually disabled
4. Set Message:
   "Voice agent temporarily unavailable. Please use the app or
    call [backup number] for assistance."
5. Notify Fleet Admin: Yes
6. Confirm Blackout

8. Audit & Reporting

8.1 Audit Log

Logged Events:

EventDetails Captured
Schedule changeWho, what changed, when
Role assignmentWho assigned, to whom, role
Rule modificationRule ID, changes, by whom
Override creationOverride details, reason
Configuration exportWho, what exported

8.2 Reports

Available Reports:

ReportDescriptionFrequency
Escalation SummaryCount by type, outcomeDaily, Weekly, Monthly
Response TimeAverage, P95 by roleDaily, Weekly
Coverage GapsPeriods with no on-callWeekly
On-Call HoursHours per personWeekly, Monthly
Resolution RateFirst-call resolution %Weekly

8.3 Report Configuration

1. Navigate to: Reports → Schedule Report
2. Select Report Type: [Escalation Summary]
3. Set Parameters:
   - Date range: Last 7 days
   - Group by: Role / Fleet / Outcome
   - Include: All fleets / Specific fleet
4. Set Delivery:
   - Email to: [recipients]
   - Format: PDF / CSV
   - Frequency: Weekly (Monday 9 AM)
5. Save Schedule

8.4 Dashboard Metrics

Real-Time Dashboard:

┌─────────────────────────────────────────────────────────────────────┐
│  CALL ROUTING DASHBOARD                                             │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐              │
│  │ Active Calls │  │ Escalations  │  │ Avg Response │              │
│  │      3       │  │  Today: 12   │  │    45 sec    │              │
│  └──────────────┘  └──────────────┘  └──────────────┘              │
│                                                                      │
│  On-Call Now:                                                        │
│  ┌────────────────────────────────────────────────────────────────┐ │
│  │ Safety Ops: Alice Smith (Primary), Bob Johnson (Backup)        │ │
│  │ Driver Support: Charlie Brown                                   │ │
│  └────────────────────────────────────────────────────────────────┘ │
│                                                                      │
│  Recent Escalations:                                                 │
│  ┌────────────────────────────────────────────────────────────────┐ │
│  │ 14:32 | Support | John D. | App issue | Resolved (2 min)       │ │
│  │ 14:15 | Support | Jane S. | Navigation | Resolved (5 min)      │ │
│  │ 13:45 | Safety  | Mike R. | Accident   | Resolved (15 min)     │ │
│  └────────────────────────────────────────────────────────────────┘ │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

9. Single-Person Operations Mode

9.1 Enabling Single-Person Mode

For small fleets or startups with limited staff:

1. Navigate to: Settings → Operations Mode
2. Select: Single-Person Operations
3. Configure Primary Operator:
   - Name: [Operator Name]
   - Phone: [Primary phone]
   - Email: [Email]
   - Backup Phone: [Secondary phone]
4. Set Availability:
   - Available hours: [8 AM - 10 PM]
   - Timezone: [Local timezone]
5. After-Hours Behavior:
   - Safety calls: Page operator (phone + SMS)
   - Support calls: Voicemail + SMS notification
   - Message: [Custom voicemail message]
6. Enable Mode

9.2 Single-Person Dashboard

Simplified view for single-operator mode:

┌─────────────────────────────────────────────────────────────────────┐
│  SINGLE OPERATOR MODE                                               │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  Status: AVAILABLE                    [Toggle Availability]         │
│                                                                      │
│  ┌──────────────────────────────────────────────────────────────┐   │
│  │ You will receive:                                              │  │
│  │  • All safety escalations (immediate)                         │  │
│  │  • All support escalations (immediate during available hours)  │ │
│  │  • Voicemail alerts (after hours)                             │  │
│  └──────────────────────────────────────────────────────────────┘   │
│                                                                      │
│  Today: 3 escalations handled, 0 pending                            │
│                                                                      │
│  [View History]  [Update Settings]  [Set Backup]                    │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

10. API Access

10.1 Configuration API Endpoints

EndpointMethodPurpose
/api/admin/schedulesGET, POST, PUT, DELETEManage on-call schedules
/api/admin/rolesGET, POST, PUT, DELETEManage role assignments
/api/admin/rulesGET, POST, PUT, DELETEManage escalation rules
/api/admin/overridesGET, POST, PUT, DELETEManage fleet overrides
/api/admin/notificationsGET, PUTConfigure notifications

10.2 Example: Update On-Call Schedule

http
PUT /api/admin/schedules/{schedule_id}
Authorization: Bearer {token}
Content-Type: application/json

{
  "rotation": {
    "period": "weekly",
    "handoff_day": "monday",
    "handoff_time": "09:00",
    "timezone": "America/New_York"
  },
  "members": [
    { "user_id": "usr_alice", "order": 1 },
    { "user_id": "usr_bob", "order": 2 },
    { "user_id": "usr_charlie", "order": 3 }
  ],
  "backup_rule": "next_in_rotation",
  "escalation_timeout_seconds": 30
}

11. NIST 800-53 Control Mapping

ControlTitleImplementation
AC-2Account ManagementRole assignments, access control
AC-3Access EnforcementRole-based dashboard access
AU-2Event LoggingConfiguration change audit log
AU-6Audit ReviewReporting and metrics
CM-3Configuration Change ControlAudit trail for changes

12. Document Control

VersionDateAuthorChanges
1.0December 30, 2025Hop And Haul TeamInitial release

CONFIDENTIAL - Internal Use Only - Hop And Haul Policy Documentation