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