1 Command Center
2 Assignments
3 Team & Fleet
4 Safety
Dispatch Board — Cards
9:41
Dispatch
Mon, Feb 24
Cards
Gantt
Map
12
Total
3
Pending
5
Active
4
Completed
Quick Actions
All Jobs
Routes
Team
Speed Alerts
Unassigned Jobs
2
Gutter Cleaning — Full House
Pending
221 Portage Trail, Cuyahoga Falls
1:00 PM — 2:30 PM
High
Window Washing — 2nd Floor
Pending
845 W Market St, Akron
3:00 PM — 4:00 PM
Medium
Active Assignments
Roof Replacement — Shingle Tear-Off
En Route
Jake Morrison
123 Main St, Akron
9:00 AM — 11:30 AM
Deck Staining — Back Patio
In Progress
Sarah Chen
789 Maple Dr, Hudson
8:00 AM — 10:00 AM

DispatchBoard — cards view with KPIs, quick actions, assignment list

useDispatchStats() • useQuery(api.dispatch.queries.getTodaysAssignments)

Dispatch Board — Gantt
9:41
Dispatch
Mon, Feb 24
Cards
Gantt
Map
Team
7a
8a
9a
10a
11a
12p
1p
2p
3p
4p
5p
6p
Jake M.
Deck Insp.
Roof Rep.
Gutter Cln.
Sarah C.
Deck Stain
Fence Repr.
Siding Fix
Mike R.
Insp.
HVAC Svc.
Plumb. Fix
Win. Wash
Lisa P.
Elec. Panel
Tile Work
Paint Ext.
Tom D.
Drain Cln.
Faucet Rep.
Bath Remod.
Pending
Accepted
In Progress
Completed

GanttTimeline — timeline blocks colored by status, red now-line

useQuery(api.dispatch.queries.getTodaysAssignments)

Dispatch Board — Map
9:41
Dispatch
Mon, Feb 24
Cards
Gantt
Map
JM
SC
MR
LP
TD
JM
Jake M. → 123 Main St
En Route
ETA 12 min
Team Member
Job
Completed

DispatchMapView — live team pins, job markers, overlay card

useQuery(api.dispatch.queries.getTeamLocations)


All Assignments
9:41
Assignments
All
Pending
Active 5
Done
5 assignments
Mon, Feb 24
Roof Replacement — Shingle Tear-Off
En Route
Jake Morrison
9:00 — 11:30 AM
123 Main St, Akron OH
Deck Staining — Back Patio
On Site
Sarah Chen
8:00 — 10:00 AM
789 Maple Dr, Hudson OH
HVAC Duct Cleaning — Whole House
In Progress
Mike Rodriguez
9:30 — 11:30 AM
456 Oak Ave, Stow OH
Electrical Panel Upgrade — 200A
In Progress
Lisa Park
8:00 — 10:30 AM
321 Cedar Blvd, Tallmadge OH
Fence Repair — Cedar Picket
En Route
Tom Davis
10:00 — 12:00 PM
567 Pine Ln, Barberton OH

AssignmentCard — filtered list with status tabs and accent colors

useQuery(api.dispatch.queries.listAssignments, { status: "active" })

Assignment Detail
9:41
Assignment Detail
En Route
Job Details
Roof Replacement — Shingle Tear-Off
Roofing
High Priority
123 Main St, Akron OH 44308
JM
Jake Morrison
Lead Technician
Schedule
Scheduled Time
9:00 AM — 11:30 AM
Est. Duration
2.5 hours
Status History
Assigned
8:15 AM — by dispatch
Accepted
8:22 AM — by Jake Morrison
En Route
9:05 AM — GPS confirmed

AssignmentDetail — full job info, team member, schedule, status timeline

useQuery(api.dispatch.queries.getAssignment) • useMutation(api.dispatch.mutations.updateAssignmentStatus)

Route Detail
9:41
Today's Route
Jake's Morning Route
In Progress
5
Stops
3
Done
42
Miles
2:15
ETA PM
Stops
412 Oak Ave, Cuyahoga Falls
Arrived 8:02 AM — Deck Inspection
789 Maple Dr, Hudson
Arrived 9:15 AM — Gutter Cleaning
3
123 Main St, Akron
ETA 10:30 AM — Roof Replacement
4
567 Pine Ln, Barberton
ETA 11:45 AM — Fence Repair
5
890 Elm Ct, Stow
ETA 1:00 PM — Window Washing

RouteDetail — numbered stops, map polyline, progress tracking

useQuery(api.dispatch.queries.getRoute)


Team Locations
9:41
Team
8
Total
5
On Duty
3
Off Duty
All
On Duty 5
Off Duty
JM
Jake Morrison
En route to 123 Main St
2 min ago 78%
SC
Sarah Chen
On site at 789 Maple Dr
Just now 92%
MR
Mike Rodriguez
Available
5 min ago 64%
LP
Lisa Park
In progress at 456 Oak Ave
1 min ago 85%
TD
Tom Davis
En route to 321 Cedar Blvd
3 min ago 71%

TeamLocationCard — live status, battery, call/message actions

useQuery(api.dispatch.queries.getTeamLocations)

Fleet Dashboard
9:41
Fleet
6
Active Vehicles
4
Active Vendors
3
Alerts Due
Key Insights
Avg Profit Margin
34.2%
Good
Material Variance
-2.8%
On Track
Fleet Cost/Job
$127
Above Avg
Top Vendor
ABC Supply
94/100
Maintenance Alerts
Oil Change Overdue
2019 Ford F-150 — 312 miles past due
Overdue
Tire Rotation Due
2021 Chevy Silverado — due in 800 miles
Due Soon
Vendors
Vehicles
Orders

FleetDashboard — insights grid, maintenance alerts, vendor score

useQuery(api.fleet.queries.getOwnerDashboard)


Speed Alerts
9:41
Speed Alerts
7
Violations
5
SMS Sent
3
Drivers
2
Unack.
Top Offenders
JM
Jake Morrison
4 violations
MR
Mike Rodriguez
2 violations
Recent Violations
Jake Morrison
47 mph in 35 zone
SMS Sent
Main St & Oak Ave, Akron
Today 10:23 AM
Mike Rodriguez
52 mph in 40 zone
SMS Sent
Highway 8 & Cedar, Stow
Today 9:15 AM
Jake Morrison
41 mph in 30 zone
Unacknowledged
School Zone, Elm St, Barberton
Yesterday 3:45 PM

ViolationStats + ViolationCard — KPIs, offenders, violation list

useQuery(api.speedAlerts.queries.getViolationStats) • useQuery(api.speedAlerts.queries.listViolations)

Alert Settings
9:41
Alert Settings
Speed Thresholds
Residential
35 mph
School Zone
25 mph
Highway
65 mph
Custom Geofence
30 mph
Notification Methods
SMS to Driver
Push Notification
Manager Email
Slack Alert
Alert Severity
1 – 10 mph over
Warning
Warning
11 – 20 mph over
Alert
Alert
20+ mph over
Critical
Critical

SpeedSettingsForm — thresholds, notification toggles, severity tiers

useQuery(api.dispatch.queries.getDispatchSettings) • useMutation(api.dispatch.mutations.updateSettings)


Data Architecture
Schema Tables
d2dReps — sales rep profiles
d2dTerritories — geographic zones
d2dDoors — door knock records
d2dKnocks — knock event log
d2dRoutes — canvassing routes
d2dTeams — team composition
d2dAlerts — field alerts
d2dRepLiveStatus — real-time GPS

dispatchAssignments — job assignments
dispatchRoutes — optimized routes
dispatchHistory — status transitions
teamMemberLocations — live positions

vehicles — fleet inventory
vehicleMaintenanceAlerts — service due
jobMileage — trip tracking
vendors — material suppliers
jobMaterialOrders — purchase orders
Hooks
useDispatchStats — KPI aggregation
useAssignments — filtered assignment list
useRoutes — route data + stops
useTeamLocations — real-time positions
useFleetDashboard — vehicles, vendors, alerts
useSpeedAlerts — violations + settings
Convex Queries
dispatch.queries.getDispatchStats
dispatch.queries.getTodaysAssignments
dispatch.queries.listAssignments
dispatch.queries.getAssignment
dispatch.queries.listRoutes
dispatch.queries.getRoute
dispatch.queries.getTeamLocations
dispatch.queries.getDispatchSettings

fleet.queries.getOwnerDashboard
fleet.queries.getVehiclesWithSummary
fleet.queries.getDueAlerts
fleet.queries.getVendors

speedAlerts.queries.getViolationStats
speedAlerts.queries.listViolations
Mutations
dispatch.mutations.createAssignment · dispatch.mutations.updateAssignmentStatus · dispatch.mutations.optimizeRoute · speedAlerts.mutations.acknowledgeViolation · speedAlerts.mutations.updateSettings
Dispatch & Fleet
9:41
Dispatch & Fleet
Active Crews
12
Active
3
Idle
87%
Utilization
24
Jobs Today
Active Crews
Crew Alpha
Roofing — 3 members
On Site
Crew Bravo
Siding — 4 members
En Route
Crew Charlie
Gutters — 2 members
Idle
Assignments & Safety
9:41
Assignments & Safety
Details
Title
Summit County — East Route
Description
120 doors assigned, 3 reps active. Check-in required every hour.
Configuration
GPS Tracking
Photo Verification
Preview
Route Map
Live map with rep locations, door statuses, and territory boundaries.
Performance
38%
Contact
+14%
Close Rate
247
Doors/Day
Fleet Command Center
https://app.3bids.io/contractor/fleet
3Bids
Fleet ⌘1
Assignments ⌘2
Team ⌘3
Safety ⌘4
Analytics ⌘5
MK
Mike Kowalski
Contractor
Settings ⌘,

Fleet Command Center

38
Total Vehicles
12
Active Crews
94%
On-Time Rate
$18.2K
Daily Revenue
Recent Activity
Crew Alpha
Roofing — 3 members
Crew Bravo
Siding — 4 members
Crew Charlie
Gutters — 2 members
Performance