Queue & Review
Verification Queue
9:41
Verifications
23
Pending
156
Approved
8
Rejected
12
Expiring Soon
All (23) License Insurance Background Identity
Marcus Rivera
Contractor License · 2h ago
Urgent
Sarah Chen
Insurance Certificate · 5h ago
New
James Okafor
Background Check · 1d ago
New
Emily Watson
Identity Verification · 2d ago
Flagged
David Park
License Renewal · 3d ago
New
VerificationQueue — priority-sorted by urgency, type filters
useQuery(api.admin.verifications.listPending)
Verification Detail
9:41
Review
Marcus Rivera
Plumbing · HVAC
Submitted Feb 22, 2026
Pending
Submitted Document
Auto-Extracted Data
License # OH-PL-2024-18392
Issuing Body Ohio OCILB
Expiration Dec 31, 2026
AI Confidence 96% Match
VerificationDetail — AI auto-extract, confidence score, actions
useMutation(api.admin.verifications.approve/reject)
Documents & Background Checks
Document Viewer
9:41
Document
Contractor License
OH-PL-2024-18392.pdf
File Metadata
Uploaded Feb 22, 2026 at 3:14 PM
File Type PDF (1.2 MB)
Integrity No Tampering Detected
DocumentViewer — zoom, rotate, flag, metadata overlay
useQuery(api.admin.verifications.getDocument)
Background Check
9:41
Background Check
Check Progress
Initiated
Feb 20, 2026 · 10:23 AM
Identity Verified
SSN trace completed
Records Search
Checking county records...
Final Review
Pending records search
Individual Checks
Criminal Records
National & state databases
Clear
Sex Offender Registry
National registry
Clear
SSN Trace
Identity confirmed
Pass
Motor Vehicle
Est. 24h remaining
Processing
Estimated completion: Feb 23, 2026
BackgroundCheckStatus — Checkr-style timeline, individual checks
useQuery(api.admin.verifications.getBackgroundCheck)
Compliance & Rules Engine
Compliance Dashboard
9:41
Compliance
86%
Compliant
Expiring SoonView All
7 licenses expire in 30 days
12 insurance certs in 60 days
5 background checks in 90 days
Non-CompliantBulk Notify
Tom Bradley
License expired 14 days ago
Suspended
Lisa Nguyen
Insurance lapsed 3 days ago
Suspended
Mike Santos
Missing W-9 form
Warning
ComplianceDashboard — gauge, expiring calendar, non-compliant list
useQuery(api.admin.compliance.getOverview)
Rules Engine
9:41
Verification Rules
Required Documents
Contractor License
Required for all trades
General Liability Insurance
Min $1M coverage
Background Check
Renewed every 2 years
Government ID
Photo ID verification
Auto-Approval Rules
AI Confidence Threshold
95%+
Documents above 95% confidence auto-approve
Expiry Warning Period
90 Days
Alerts at 90, 60, 30, and 7 days before expiration
Auto-Suspension
Suspend contractors with expired credentials automatically
VerificationRules — configurable requirements, auto-approval, suspension
useMutation(api.admin.compliance.updateRules)
Contractor Profile & Audit Log
Compliance Profile
9:41
Marcus Rivera
Trust Score: 92
Fully verified · Active since Jan 2025
Documents
Contractor License
Approved · Expires Dec 2026
General Liability
Approved · Expires Aug 2026
Background Check
Clear · Completed Jan 2025
Photo ID
Verified · Feb 2025
Verification History
License renewed
Auto-approved (98% confidence) · Feb 22
Insurance updated
Reviewed by Admin Sarah · Jan 15
Background check cleared
Checkr report · Jan 10
Initial verification
All documents approved · Jan 5, 2025
No active flags
All documents current and verified
ContractorComplianceProfile — trust score, docs, verification history
useQuery(api.admin.verifications.getContractorProfile)
Audit Log
9:41
Audit Log
All Actions Approvals Rejections Overrides
License Approved
2h ago
By: Auto-Approval (AI 98%)
Marcus Rivera — OH-PL-2024-18392
Insurance Rejected
5h ago
By: Admin Sarah K.
Emily Watson — Expired coverage date, wrong policy type
Override Applied
1d ago
By: Admin Danny M.
Tom Bradley — Temporary 30-day extension while license renews
Background Clear
1d ago
By: Checkr Integration
James Okafor — All checks passed
Reminder Sent
2d ago
By: Auto (30-day warning)
Bulk notification to 7 contractors with expiring licenses
Identity Verified
3d ago
By: Stripe Identity
David Park — Photo ID matched, selfie confirmed
AuditLog — searchable, filterable, exportable for regulatory compliance
useQuery(api.admin.verifications.getAuditLog)
Data Architecture

Schema Tables

contractorVerifications // Per-doc record
  contractorId: v.id("contractorUsers")
  type: "license" | "insurance" | "background" | "identity"
  status: "pending" | "approved" | "rejected" | "expired"
  documentUrl: string
  extractedData: { licenseNum, issuer, expiry }
  aiConfidence: number (0-100)
  reviewedBy: v.id("adminUsers") | "auto"

complianceRules // Configurable rules
  requiredDocs: string[]
  autoApproveThreshold: number
  expiryWarningDays: number[]
  autoSuspend: boolean

verificationAuditLog // Immutable log
  action: "approved" | "rejected" | "override" | "reminder"
  performedBy: string
  reason: string
  documentSnapshot: object

Queries

listPending // Queue with priority sort
getVerification // Single doc detail
getBackgroundCheck // Checkr status
getComplianceOverview // Gauge + expiring
getContractorProfile // Full compliance view
getAuditLog // Paginated, filterable
getDocument // Presigned URL + metadata
getRules // Current rule config

Mutations

approve
  args: verificationId
reject
  args: verificationId, reason
requestMoreInfo
  args: verificationId, message
overrideSuspension
  args: contractorId, duration, reason
updateRules
  args: ruleConfig object
bulkNotify
  args: contractorIds[], templateId

Components

VerificationQueue // FlatList + filters
VerificationDetail // Review + actions
DocumentViewer // Zoom/rotate/flag
BackgroundCheckStatus // Timeline + items
ComplianceDashboard // Gauge + lists
RulesEngine // Toggle configs
ContractorComplianceProfile
AuditLog // Search + export

Integrations

Stripe Identity // Photo ID verification
  Document upload → AI extraction
  Selfie matching → confidence score

Checkr // Background checks
  Webhook: check.completed
  Webhook: check.flagged

Ohio OCILB // License DB lookup
  Verify license # against state records

SendGrid // Notifications
  Expiry warnings, rejection notices

Verification Statuses

pending // Awaiting admin review
approved // Verified and active
rejected // Failed verification
expired // Past expiry date
expiring_soon // Within warning window
suspended // Auto-suspended (expired)
override // Admin temporary override
Queue & Review
9:41

Verification Queue & Verification Detail

Verification Queue
Queue Summary
Pending 12
In Review 4
Approved Today 8
Rejected 1
Pending Applications
Mike Rodriguez Plumbing — 2h ago
Lisa Thompson Electrical — 5h ago
James Wilson HVAC — 1d ago
Verification Detail
Applicant Profile
Name Mike Rodriguez
Trade Plumbing
License # PLB-2024-0847
Experience 12 years
Location Akron, OH
Documents Submitted
License Uploaded — Verified
Insurance Uploaded — Pending
Background Check In Progress
W-9 Uploaded — Verified

Documents & Background
9:41

Document Viewer & Background Check

Document Viewer
Document Verification
Trade License Valid — Expires Dec 2026
General Liability $1M coverage
Workers Comp $500K coverage
Bond $25K surety bond
Background Check
Background Results
Criminal Clear
Sex Offender Clear
SSN Trace Verified
Credit Check Good standing
Status In Progress — 80% complete
Compliance Notes
Auto-Check Passed 4/5 criteria
Manual Review Insurance coverage needs verification
Reviewer Assigned to Admin

Compliance & Rules
9:41

Compliance Dashboard & Rules Engine

Compliance Dashboard
Compliance Overview
Overall Score 94%
Verified Contractors 423 / 450
Expiring (30d) 12 licenses
Non-Compliant 3 contractors
Rules Engine
Active Rules
License Required Enabled — All trades
Insurance Min $1M GL required
Background Check Required — New applicants
Auto-Approve If score >= 90%
Audit Log
10:42 AM Mike R. — License verified
10:15 AM Lisa T. — Insurance pending
09:30 AM Auto-approved — James W.
Verification Center
https://admin.3bids.io/verifications
3Bids Admin
admin.3bids.io
MAIN
Queue
Documents
Background
Compliance
Rules
Audit Log
DA
Danny Admin
Platform Admin

Verifications

12 Pending 94% Compliance
Overview
Dashboard
Complete verifications with real-time data, analytics, and management tools.
Quick Actions
Full desktop layout combines all mobile screens into a dense, actionable dashboard with sidebar navigation, data tables, charts, and management controls.
Web DashboardThis web view consolidates all mobile screens into a single responsive dashboard. Sidebar navigation replaces tab-based mobile flow, with data density optimized for desktop viewport.