Set the monthly seniority order for OT signups. Employees ahead in the order get first pick. After everyone has picked, remaining slots go first-come-first-served.
🎯 Shift Bid Management
Review and manage employee shift bids. Approve, deny, or bulk-process pending signups.
Click refresh to load bids
Loading shift bid...
✈️ My Vacation
View your vacation entitlement, submit requests for open bid periods, and track your submissions.
Loading vacation information...
♜ Leave Protection Simulator
See which of your days off would be protected from mandation if you took leave on the days you pick. Protected days are marked with a gold rook ♜. You can also simulate other people taking leave to see whether their picks would block yours. This is a what-if tool. It changes nothing.
Simulate other people taking leave
Add coworkers and the days they might take off. Under 12-hour rules, anyone senior to you who takes one of your surrounding days off will expose that day, and taking your work day as their leave can block yours. A day is only protected if nobody ahead of you grabs it first.
♜ Day-Off Protection Calendar
Every employee's approved leave and the surrounding days off the contract protects from mandation. This is the real calendar — it updates as vacation-bid results are exported and as one-off leave is approved. Protected days carry the gold rook ♜.
Leave♜ Protected day off· Day off (not protected)D/N Working
📅 Vacation Bid Simulator
Load every employee's vacation request, run them in seniority order under the 12-hour or 8-hour ruleset, review the whole-center result, then export the approved leave. Nothing is written until you export.
Ruleset:
Saved request sets:
Add a request
Writes approved requests to the leave calendar. Asks you to confirm first.
📊 My Dashboard
Customize Dashboard
Drag ≡ to reorder · 👁 to hide · ⊞ for width
📢 Announcements
Watchdog:Checking...
🛡️ OIC Coverage
🎓 Trainee Coverage
Upcoming Observations
Applicant Evaluations
Applicant ObservationsOpen admin →
Weather
Loading...
My Week
My Stats
Quick Actions
Upcoming OT Shifts
🚩 Training Flags
Loading…
🎓 Active Trainees
Loading…
📋 My OT History
🔄 OT Shift Swap Board
Can't work a shift you signed up for? Post it here. Someone else can claim it with supervisor approval.
📅 My Calendar
Sun
Mon
Tue
Wed
Thu
Fri
Sat
No OT shifts signed up this period.
📅 Calendar View
Birthday Holiday 🎂
*
Non-Mandatory
#
Training coverage
NC
No Cover (at minimum)
Sun
Mon
Tue
Wed
Thu
Fri
Sat
📋 Available Shifts
📊 OT Hours Tracking
⚖️ Mandate Status
🗓️ Staff Calendar
Set Shift Assignment
📊 Coverage Dashboard
⚙️ Minimum Staffing Requirements
Real-time view of staffing levels. Red = below minimum. Yellow = OT needed. Green = fully covered.
📅 Day View
🏖️ Leave Calendar
📋 Vacation Bid Leave
The approved leave from each bid. Use the toggle to switch between the 12-hour and 8-hour bid so it's always clear which one you're looking at. This shows the bid results for reference — it does not change the live schedule.
Viewing bid:
📥 Leave Inbox
Leave requests automatically imported from Right Stuff. Confirm the ones that need a look. Clean matches are confirmed automatically.
Loading...
🦌 Deer Kill List
Onboarding Status
This sends a one-time text to every contact with pending_optin status explaining the new system and asking them to confirm or opt out.
Licensed Mitigators
Pending Approvals
No pending approvals.
🦌 New Deer Kill Incident
Add Contact
Import Contacts
Paste from Excel. One contact per line, tab-separated: Name [TAB] Phone
🗺️ Roadmap
What's being worked on and what's coming next for UCORE 911.
📝 Changelog
🚒 CAD-Down Dispatch
Recommends units to dispatch when Tyler CAD is unavailable. Per Ohio Admin Code 5507-1 / COOP.
📖 Training Manual
🔍
📢 Announcements
📘 Training Bulletins
Read and acknowledge training bulletins. Ask questions if anything is unclear.
Loading...
💡 Suggest a Feature
Have an idea to make UCORE better? Submit it here.
How important?
Roadmap
🐛 Report an Error
Something broken? Let us know. We'll capture technical details automatically.
How bad?
Auto-captured diagnostics:
📋 My Tickets
Track your submissions and responses.
System WatchdogChecking...
📊 Support Dashboard
✉️ Email Dispatcher
To:
🛠️ Maintenance & Notices
📜 My Mandate History
Every mandate issued to you with full reasoning. Click any mandate to see the complete rotation snapshot.
--
Your Mandates (YTD)
--
Total Agency Mandates
--
Fair Share
--
Days Since Last
Mandate tracking began March 2026. Data will normalize as more history is collected.
Loading...
⚖️ Employee Mandate Overview
Click any employee to view their full mandate history and fairness data.
Note: Mandate tracking began March 2026. Early data may appear uneven as the system collects history. Numbers will normalize over time and reflect true distribution as more data is recorded.
Employee Mandates
⇄ Time Trades
Trade a regular shift with another dispatcher. Both of you sign, a supervisor approves, and UCORE puts it on the schedule.
Loading...
🪪 Visitor Log
Every visit to the Communications Center by non-Communications personnel must be logged
(CJIS/LEADS). Visitors need prior approval from the Director or a supervisor and must be
escorted at all times. Entries are reviewed by a supervisor and kept for at least one year.
Sign a VIPS radio out to a member and check it back in on return. The member and the VIPS coordinator
are emailed on sign-out and check-in, and overdue radios trigger daily reminders. Members and radios
are set up by a supervisor under Admin → VIPS Radio Admin.
to
Loading...
🛠 VIPS Radio Admin
Set up the VIPS radio program: who the coordinator is, the member roster, and the radios. Dispatchers
sign radios out and check them in from the VIPS Radio section under Operations.
Rail Crossing (TRAINFO)
Live blockage feed for the Bear Swamp Rd crossing. Interim solution while the CAD interface is built.
LOADING…
Blockage Report
–
Blockages
–
Total Blocked
–
Average
–
Longest
Date
Blocked
Cleared
Duration
Source
No data yet.
Connection Settings (admin)
Waiting on credentials only: enter the Login and Token from the TRAINFO portal (key icon, upper right), set the crossing ID if we have more than one crossing, click Test Connection, then flip Feed to Enabled. The endpoint is already configured per TRAINFO API Reference v4.6.
Environment: use Production · use Testing
How this works
When TRAINFO reports the crossing blocked, a red banner appears on the dispatch board within seconds and stays up until the crossing clears. Every blockage is logged automatically with its start, end, and duration, and this page builds the report from that log.
Dispatchers, supervisors, and admins can use Simulate Approach, Simulate Block, and Simulate Clear to demo the full pipeline, including the board sounds, before the live feed is connected. Simulated blockages appear in the log with source "simulation".
Conversations
Select a conversation
Select a person or group to start chatting.
📇 Rolodex
Import Contacts
Paste tab-delimited or comma-separated data, or upload a PDF to extract contacts automatically.
Add Contact
🤖 Atlas
Ask about schedules, OT, contacts, or anything UCSO-related
🤖
Atlas
Ask me anything — your schedule, upcoming OT, who's working, shift coverage, contact info, or general questions.
Try: "What's my OT this pay period?" or "Who's on C shift today?"
🌩️ Coverage Events
Create Coverage Event
Event History
🤖 AI Assistant Logs
💬 Chat Logs & Management
Group Management
📊 Mandatory OT Hours
Rolling 12-month pay period tracking. Employees sorted by rolling total (lowest = first to mandate).
Loading spreadsheet data...
Hours Activity Log
Loading...
Reconcile with Excel Spreadsheet
Copy the employee rows from your Excel spreadsheet and paste below. Include employee names and the Rolling Total column. Tab-separated or any format works — the system will find names and numbers.
User Management
Accounts, roles, page access, and shift clearance — all in one place.
ActiveDeactivatedArchivedAll
Name
Role
Account
Shifts
Last Seen
Actions
Loading…
Edit User
Account Status
Shift Clearance
Reset Password
They click the link and set their own password.
Page Access
Role default follows their role. Always show adds the page to their menu even if the role wouldn't. Always hide removes it no matter what. This controls the menus — what they can do on a page is still controlled by their role.
Display Boards
Manage wall-mounted dispatch status screens. Each screen gets an activation code to connect.
Board Content
Manage jokes, roasts, social posts, and trivia that display on the dispatch board.
Weather Intelligence
0 active
Upload weather forecast images from meteorologists. AI analyzes dates, source, and threat level. Images auto-expire when the forecast date passes and auto-delete from the server.
Upload Forecast Images
Drop images here or click to browse
Multiple images OK - PNG, JPG, WebP (max 15MB each)
AI Analysis
Review & Confirm
Active Forecasts
No active forecasts
Forecast History
Loading...
Create Poll
Active Polls
Module Controls
Shows/hides the sidebar tab for all users
Board Mode
Slide Controls
Ticker Settings
Custom Ticker Messages
Shift Pass-Along Notes
Custom Countdowns
🚨 Board Alert Banner
Send an urgent message that displays as a red pulsing banner across the top of the dispatch board. Stays visible until you clear it.
Purple Tally Board
Stale Mandates
📋 Daily Director Briefing
Automated text message briefing with shift rosters, staffing gaps, OT, mandates, and weather. Tap the link in the text for full details.
💬 Chat Away Timeout
minutes before showing as Away
Morning Briefing
Evening Briefing
Recipients
Board Preview
Preview what each slide will show. Click arrows to cycle through slides.
⏱️ Unworked Shifts
Past shifts with signups not yet marked as worked. Review and confirm in batch.
🎓 CTO / Trainee Assignments
Assign trainees to CTOs. When a CTO has a trainee, the shift staffing target adjusts to the configured minimum. Configure which days and halves need extra coverage.
⏱ Trainee Hours Template — default hours a "Follow template" trainee works on each CTO shift
When a trainee assignment is set to Follow template, the trainee works these hours instead of the CTO's full shift. You can still adjust any individual day on the trainee's schedule. Edit the windows here; they are not hard-coded.
Loading…
New Trainee Assignment
"Follow template" uses the Trainee Hours Template above (e.g. Day 0800-1800). You can still adjust any individual day below.
Sun
Mon
Tue
Wed
Thu
Fri
Sat
Loading assignments...
📋 Audit History
Loading...
📊 OT Hours Report
Breakdown of non-mandatory signups, mandatory signups, and supervisor-mandated hours per employee.
Select a time period above.
👤 My Profile
Shift Alerts
Get a personal text when shifts matching your preferences are posted.
Shift Types:
Days:
Supervisor Notifications
Change Password
🧭 Sidebar Sections
Choose which sections appear in your sidebar. Unchecked sections are hidden but can be turned back on anytime.
🔔 Notifications
📢 Announcements
Loading announcements...
⚙️ My Notification Preferences
Choose which events trigger email notifications for you. (Email delivery depends on the system-wide email setting in Admin.)
Loading preferences...
Saved!
📱 Mobile App & Push Notifications
Install UCORE on your home screen for push notifications -- no more waiting for a text.
Add to Home Screen
Installs UCORE as a standalone app on your device.
On iPhone: tap the Share button in Safari, then tap "Add to Home Screen".
Push Notifications
Not enabled on this device.
🔑 Passkey Sign-In
Sign in without a password using a passkey — works with Google Passkey Manager, iCloud Keychain, Face ID, fingerprint, or a security key.
Save Dispatch Contacts
Download the full roster as contacts for your phone.
🛠️ Admin: PWA Settings
When enabled, employees see Install App, Enable Notifications, and Biometric Login options.
Loading coverage...
🔁 Re-Send Today's OT Request
Resend the OT availability notification to all employees for any open shifts today. Use this if a prior notification failed to deliver.
📧 Send Custom Notification
Send an email notification to employees.
⌨️ Typing Practice
TIME
0:00
WPM
0
ACCURACY
100%
WPM
ACCURACY
ERRORS
TIME
🎧 Audio Drills
TIME
0:00
Speed:
🔊 Playing...
Listen carefully, then type what you heard. The text will be hidden until you submit.
ACCURACY
ERRORS
TIME
COMPARISON (green = correct, red = error, gray = missing)
📈 My Training Progress
🏆 Leaderboard
Recent Attempts
💬 Training Q&A
Ask procedure questions and get answers from the Training Manual, signal codes, and dispatch protocols. This is a safe space to learn — ask anything.
Ask me anything about dispatch procedures
Examples:
How do I handle a domestic violence call?
What signal code is used for a burglary in progress?
What is the procedure for a bomb threat?
How many units should respond to an injury crash?
📚 Study Mode
Loading weak areas...
🏖️ Vacation Bids
CBA Article 25 - Seniority-based vacation bidding
Vacation Bid Events
Loading...
📋 Vacation Entitlements (CBA Article 25)
Loading...
--
Status: --
Max off/shift/day: --
Vacation Requests
No requests yet.
Approved Vacation Calendar
No approved vacation yet.
×
New Vacation Bid
Per CBA Section 25.4: Vacation requests during the 10-day window after shift assignment are honored by classification seniority. Requests after that window are first-come, first-served.
Loading...
📋 Shift Bid Management
Create, manage, and run shift bid events
Shift Bid Events
Loading...
Create New Shift Bid
Bid Title
Available Bid Positions
Each slot is a position. Set the shift per day (X = off), max picks, and whether it's a supervisor or line slot. Labels auto-generate from the dropdown selections.
Label (auto)
SAT
SUN
MON
TUE
WED
THU
FRI
Max
✕
Bid Order (Seniority)
Supervisors and line-level employees have separate bid tracks that run in parallel. Probationary employees are skipped — assign their schedule in the Probationary tab.
👔 Supervisor Track
👤 Line-Level Track
Current Picks & Live Staffing
Employee Picks
Manage Probation & Assign Schedules
Mark employees as probationary in the system. Probationary employees don't bid — assign their schedule directly. Probation is typically the first year but can be extended.
Probation Status
Assign Probationary Schedules
UCORE Training Intelligence
Calibration drift detection · DOR longitudinal tracking · anonymous CTO surveys · live calibration polling. Score = CTO involvement, not absolute trainee performance.
Per-CTO scoring distribution vs. peer mean. The "stringency offset" shows whether a CTO scores consistently higher or lower than peers — that is the statistical fingerprint of severity/leniency bias (Saal, Downey & Lahey 1980). This is calibration support, not surveillance.
UCORE Training DOR Import
Import Daily Observation Reports from PowerReady. Paste text or drag PDF files. The parser extracts SEG scores, activity types, and high-acuity flags automatically. The score reflects CTO involvement on each SEG (5=passenger, 1=CTO doing >50%).
Paste DOR Text
Upload PDFs
Import History
Go to your completed DOR in PowerReady. Select all text (Ctrl+A), copy, and paste below. Paste multiple DORs at once — they'll be split on the "Daily Observation Report #" marker.
Drop your PowerReady DOR PDFs here. Multiple files supported. Each file may contain one or more DORs.
Drop PDFs here
or click to select files (up to 20 PDFs, 30 MB each)
Loading recent imports…
UCORE Training Trainees
Longitudinal trainee tracking with SEG heatmap, DOR history, and intelligence flags.
Observation Admin
Manage observation programs, external users, bookings, and reports
Name
Email
Agency
Status
Registered
Actions
Loading...
Name
City
Contact
Users
Loading...
Loading...
Date
Observer
Host
Duration
Agency
Status
Actions
Loading...
Pre-employment ride-along observations for conditional-offer applicants. Evaluations are routed to the assigned background detective.
Date
Applicant
Dispatchers
Evals
Consent
Detective
Packet
Actions
Loading...
–
TOTAL REPORTS
–
AVG RATING
–
WOULD RECOMMEND
–
NEEDS REVIEW
–
PENDING SUBMISSION
Date
Observer
Agency
Host
Type
Rating / Conduct
Status
Actions
Loading...
Observation reports that have been shared with you by an admin.
Loading...
Loading...
Open Availability Availability (Booked) Booked Pending
Sun
Mon
Tue
Wed
Thu
Fri
Sat
Availability Records
Loading...
Edit Availability
Create Booking (Admin)
Add an observation booking on behalf of an external user, or create a test booking.
External users register at /observations.html — approve them here, and they can book observation sessions with hosts.
Shift Bid Setup (12-hour mode)
Shift Mode
Switching mode is reversible. The bid setup tool writes 12hr-mode shift letters (D/N/M12); existing 8hr bids stay in the table with their bid_end_date set so you can flip back.
Apply Bid Pattern
Future-dated bids are stored as queued until their start date arrives. Existing active bids for the same user are archived (bid_end_date set to start - 1 day) automatically. Signed bid window: June 20, 2026 - December 18, 2026.
Preview: Rows that will be inserted
Current Bid Status
Active bids in green, queued (future) in amber, archived in gray. Click a bid to expand its rows.
Loading...
📚 Tyler Documentation Admin
Select a view above to get started.
⚙️ Admin Dashboard
Manage users and system settings
📅 Schedule Model
One switch drives the whole system: which vacation bid's days are live on the schedule, which signed shift patterns are active, and how coverage and mandate math run. Flipping is reversible — the other model's days and patterns are restored exactly.
Active model:
Loading...
📧 Email Notifications
Email notifications are currently:
Loading...
When enabled, employees will receive email notifications for:
New shifts posted
Shift modifications
Mandate notifications
Signup confirmations
Custom announcements (if "Also send as email" is checked)
⚙️ Mailgun Configuration
Configure Mailgun API credentials for email delivery. Get these from app.mailgun.com.
Used for email delivery (must match Mailgun domain)
Used for EMAG text gateway (must match EMAG domain)
📟 Active911 Configuration
Configure Active911 email alerts for urgent notifications (storm coverage, coverage requests). Alerts are sent in CAD format so they parse correctly on your pager.
Email address tied to your Active911 unit/group
🧪 Notification Test Sandbox
Send real notifications to test the full flow. Creates a test shift on the calendar with [TEST] marker. You can test accept/deny, see how employees see it, and see the supervisor response view. Delete the test shift when done.
Loading employees...
0 selected
👥 User Management
Name
Email
Role
Hire Date
Status
Training
Verify
Last Seen
Actions
Loading users...
🏥 Leave Management
Set leave type and dates for employees on military leave, medical leave, FMLA, etc.
Employees on leave are automatically excluded from staffing counts, mandate rotation, and coverage analysis during their leave period. No need to deactivate them.
Employee
Leave Type
Start Date
End Date
Notes
Actions
Loading...
📋 Shift Bid Management
Paste a shift bid sheet to import employee shift assignments. The system auto-detects each employee's shift per day of week. Old bids are preserved — the coverage analysis always uses whichever bid is active for the date being analyzed.
Active Bid Periods:
Loading...
Import New Bid
⚙️ Shift Staffing Minimums
Configure minimum dispatchers per shift half per day. Each 8hr shift is split into front and back 4hr halves so you can adjust for peak vs off-peak staffing. Coverage analysis uses the full shift row for gap detection; halves let you fine-tune OT slot types.
Day
Loading...
Trainee / CTO Assignments
Assign trainees to CTOs. When a CTO has a trainee, the shift staffing target is set to the configured minimum (default 3). Configure which days and halves need extra coverage.
New Trainee Assignment
Sun
Mon
Tue
Wed
Thu
Fri
Sat
Loading assignments...
×
Edit Trainee Assignment
Leave blank for ongoing
Sun
Mon
Tue
Wed
Thu
Fri
Sat
×
Add New User
Texts sent via Verizon EMAG gateway
×
Reset Password
Sends a branded email. Employee clicks the link and sets their own password.
Or set a password manually:
Permanent: Password is set as-is. No forced change. No email sent. Temp & Email: Password set with forced change on next login, employee gets an email with the temp password.
📊 Dashboard Defaults
Lock widgets per role. Required widgets cannot be hidden by users — receipts via view tracking below.
View as user
Render another user's exact dashboard layout (read-only). Useful for verifying locks behave as intended.
Widget view stats
Aggregate "they saw it" counts across all users. Click a row for per-user receipts.
📋 Activity Log
Presets:
✍️ Signup Log
All OT shift signups — helpful for updating RightStuff.
🔔 Notification Log
Every notification sent to employees — who received it, when, and how.
🖥️ System Dashboard
Loading system data...
👥 User Activity
🖥️ Server
🗄️ Database
📊 Table Row Counts
⚠️ Alerts Config
📋 Recent Audit Log (Last 15)
💸 API Cost Dashboard
Every AI/LLM API call this system makes, with estimated daily / weekly / monthly / yearly cost. Admin-only; you can grant individual users access from there.
v11 horizontal-nav rollout: who is on it, whether they stay, and why people switch back.
Reversions
Per user
Nav Layout
Drag items between the dropdown columns (and reorder within a column) to change where they appear in the v11 top nav. This layout applies to everyone; items still stay hidden from staff who lack the role. Calendar and Today are fixed direct links and are not listed here.
Section headers (the small grey labels) are draggable too — drag items beneath a header to group them, or move a header to reorder sub-sections. Role lock on a chip (sup / admin) just indicates who can see it; it does not stop you from moving it.
🤖 AI Generate Scenario
🎙️ Upload Real Audio Recording
Upload a real dispatch audio clip to replace the computer-generated voice for this scenario. Accepted formats: MP3, WAV, OGG, M4A, AAC, WEBM. Max size: 50MB.
✅ A real recording is currently attached to this scenario.
×
·
-- · --
--
--
Shift Details
Shift Type:
--
Day:
--
Date:
--
Time:
--
--
--
Notes:
Who's Signed Up
Sign Up for This Shift
Shift History
×
·
-- · --
--
--
Shift #--
Shift Assignment & Mandate
Shift Type:
--
Day:
--
Date:
--
Time:
--
Shift ID:
--
Notes:
Edit Shift Type / Times
Current Status
Slot Assignments:
📱 Call-Off Responses:
📋 Slot Timeline:
Quick Actions
Assign Employee:
Shift Type:
⚖️ Mandate by Slot:
Mandating: -- for --
A Shift22:00–06:00
B Shift06:00–14:00
C Shift14:00–22:00
Half Shifts
A Front 22–02
A Back 02–06
B Front 06–10
B Back 10–14
C Front 14–18
C Back 18–22
Open full form for this date →
×
Mandate Details
Loading...
×
Loading...
×
Edit Trainee Assignment
Leave blank for ongoing
"Follow template" uses the Trainee Hours Template; adjust individual days in the grid below.