Code360

Updates

What's new

New features and improvements, shipped continuously. Follow along as we build.

August 6, 2026

Informational and Repeating Events

Latest
New
  • When scheduling an event, turn off 'Track attendance & hours' to make it informational: everyone sees it on the calendar and can RSVP, but there is no sign-in sheet, no hours, and no pay code.
  • Informational events get their own color on the calendar, with an Info badge in lists and dialogs, so they read apart from tracked events at a glance. All other calendar entries keep their usual colors.
  • Choose Weekly, Every 2 weeks, or Monthly when scheduling, pick the days it repeats on, and set the last date. One event is created per date, and each session can be edited or cancelled on its own.
  • Editing or deleting a session in a series offers 'This and future', which applies the change to later sessions too. Sessions that already have signed attendance are always left untouched, and a repeating series sends one notification, not one per date.
  • Events can span multiple days with a 'Last day', like a weekend standby, and show as a continuous bar across the calendar.
Improved
  • Informational events never ask for hours. They are excluded from the 'needs hours' attention counts, and their rows skip the hours and attendance columns in the events list.
July 27, 2026

Scheduled Status Changes and Address Search

New
  • Pick a future effective date and the change is scheduled. The member keeps their current status until the date arrives, and the profile shows what is coming, for example 'Inactive on Aug 1'.
  • Tick 'Set an end date' to schedule the return trip in the same step. Choose the date they come back and the status they return to, and both transitions apply on their own.
  • Cancel any pending change from the member's profile. Changing someone's status by hand also clears anything still scheduled for them, so an old plan can never surprise you later.
  • Typing a call type, for example 'structure fire', offers that type as a shortcut and opens the incident list already filtered to it, with the real count rather than a handful of results.
Improved
  • Incident list filters now live in the web address, so a filtered view can be bookmarked or sent to someone else and it opens the same way for them. Leaving the list and coming back still restores your filters as before.
  • The sidebar is inset with an even margin around the page, and the edge between them glows when you hover it.
  • Headers, section sidebars, and the bars at the bottom of the incident report and checklist screens now share one background instead of a mix of tones, which reads more clearly in dark mode.
July 23, 2026

Payroll Modifiers and Incident Billing

New
  • Define payroll modifiers under Agency → Configuration. Each modifier is a percent of wages and applies either to everyone automatically or only to the members you assign. Rates are effective-dated: when a rate changes at the new year, past billing periods keep the rate that was in effect at the time.
  • Assign member-specific modifiers from either direction — an Assign picker on the modifier itself, or checkboxes on each member's profile next to their compensation. Both edit the same enrollment, so the two views can never disagree.
  • The Incident billing dataset lists one row per call: jurisdiction, call number, date, address, call type, responder wages, a column for every payroll modifier you've configured, and the fully burdened total. Group by jurisdiction with subtotals, filter by zone and date, and export to Excel, CSV, or PDF.
  • Billing charges each call's own hours, so overlapping calls never hide time from the jurisdiction that used it, and mutual-aid-given calls stay off local invoices unless you opt them in. Warnings surface anything that would quietly under-bill: responders with no wage on file, calls still pending a cleared time, or calls outside every mapped zone.
  • Portal users can now be removed. Pending invites delete outright; activated accounts are signed out everywhere and blocked from signing in, while their name stays intact on incidents and history (any linked personnel record is untouched). Removed accounts hide from the list behind a "Show removed" toggle, and re-inviting the same email restores access.
Improved
  • The standalone report pages (Hours, Run logs, Incidents, Apparatus hours, Absences) have been replaced by prebuilt custom reports — same numbers, one consistent engine, and every report is now editable, filterable, and exportable the same way. The Report graphic keeps its own page.
  • Incident links are now readable: the address bar shows the call's run number (/portal/incidents/2026-113) instead of a database id. Old links keep working, and visiting one switches to the clean form automatically.
  • On longer settings pages like Configuration, the agency sidebar now expands the page you're on to list its sections — click one to jump straight to that card.
July 16, 2026

A Smarter Hours Report and Portal Improvements

New
  • Break down by: pick one lens at a time, activity type, pay code, zone, or station, and the report splits Total hours into exactly those columns. Every lens includes a catch-all bucket, so its columns always add back up to the total. No more overlapping columns counting the same hours twice.
  • A totals row now anchors the table: total hours and events across everyone, a subtotal for each breakdown column, and, when you can view compensation, the pay subtotal for each bucket right beneath its hours. Exports carry the same totals, plus a Total pay row, so the spreadsheet matches the screen.
  • Click any person to open their entry-by-entry paper trail for the period: each call, training, and event with its date, station, role, and hours, including overrides and overlap adjustments.
  • Payroll lines export: one row per member per pay code with hours and pay, in the Export menu.
  • Holiday shifts now show in the breakdowns, counted in halves with the stipend beneath.
  • A pay code can now carry a flat hourly rate. Hours under that code pay the same rate for everyone, whoever worked them; codes without a rate keep each person's own wage. Set it in Agency, Configuration, Pay codes.
  • Round activity hours up: with this setting on, every training, maintenance, event, and inspection entry rounds up to the whole hour in reports, the same way calls always have. People keep entering their real times; only reported pay hours round.
  • A new Inspections page under Records lets members with the Inspection Hours permission log the date, the hours, and what was inspected, then sign the entry. Signed hours flow straight into the HR Hours report under their own Inspections pay code, configurable in Agency settings.
  • The Report Graphic tool now includes two ready-made background images, available to every department.
Improved
  • The report now runs on a purpose-built reporting engine. Any date range works, a month, a quarter, or the full year, and it stays fast as your history grows.
  • Pay-code and activity columns show each member's pay under their hours, and clicking a member shows their totals by pay code.
  • Published meetings now show recipients the minutes only; the full transcript stays with meeting managers. Publishing also requires minutes to be generated first, so nothing goes out half-finished.
  • Announcement emails now say who posted: the author's name and rank, or the department name for official department posts.
  • The personnel roster is sorted alphabetically by last name.
July 13, 2026

Meeting Minutes, a Shareable Report Graphic, and Unlocked Widgets

New
  • A new optional Contacts module records who you spoke with on scene: homeowners, property owners, occupants, keyholders. Each contact holds a name, relationship, phone, email, address, and notes, so the follow-up call three weeks later starts with the right person. Add it from the module picker on any incident report; like Vehicles, it stays in your department's records and is never sent to NERIS.
  • Upload a recorded business or officer meeting under Community, Meetings. Code360 transcribes the audio and splits it by speaker, and you put real names to Speaker 1 and Speaker 2 before anyone else sees it. Transcript text is editable inline, so you can clean up anything the transcription got wrong.
  • When the transcript reads right, generate minutes with one click: a summary, attendees, motions and decisions, and action items with owners. Minutes stay editable after publishing, so treat them as a living document.
  • Publish to everyone or to a hand-picked audience. Recipients get a notification and see the minutes and transcript; the original audio stays restricted to meeting managers.
  • The new Report Graphic tool in Reports builds a shareable stats card for your social media pages. Pick a month (or a whole year) and you get a finished graphic with your logo, total calls, a breakdown by call type, and a community message you can rewrite: perfect for a monthly recap or a year in review post.
  • Make it yours: dark or light styling, your own background images (kept readable by an automatic darkening overlay), and optional extras like your busiest day and new members welcomed. Download the PNG and post it; your setup is remembered as next month's starting point.
  • Timeframes gained Last month and Last year presets, the hours widget can now filter which activity types count, the certification expiry window is adjustable from 30 to 180 days, and the announcements widget can show 3, 5, or 10 posts.
Improved
  • The Documents module now separates photos from files: photos show in their own labeled grid, and PDFs and other files sit in a cleaner list below.
  • Incident cleared time is now a required field on the dispatch module. It still fills itself when the last unit clears, so most reports need nothing extra; it just can't be skipped anymore, since apparatus billing and pay-per-call hours depend on it.
  • Widgets are no longer locked after creation. Open a widget's edit panel to change its type and visualization any time, no need to delete and rebuild.
July 9, 2026

Weather on Incidents, Filters That Stick, and Sharper Imports

New
  • When an incident is created, Code360 automatically records the weather at the time of the call from the nearest National Weather Service station: temperature, conditions, wind, humidity, and any active weather alerts. It shows as a chip in the bar at the top of the incident report, visible from any module, with a warning icon whenever alerts were in effect.
  • Click the chip for the full picture: which station the observation came from and when, a refresh button, and click-to-edit fields for entering values by hand. The Weather Service keeps about a week of history, so older incidents can be filled in manually. This is for your department's records; NERIS attaches its own weather to submissions, so nothing changes there.
  • Added a module you didn't need? Optional modules can now be removed. On a computer, hover over the module in the sidebar and click the X; on a phone, use the trash button next to the module picker. Removing a module deletes its entries from the report (with a confirmation first), and you can always add the module back later.
Improved
  • List filters now stick while you work. Filter the incident list (or personnel, fleet, inventory, trainings, maintenance, properties, events, or absence requests), open a record, and come back: your filters are still applied. Everything resets when you close the tab.
July 8, 2026

Pay Codes & Payroll Tools, Event Sign-Ups, and a New Calendar

New
  • Set up your city's pay codes (like 11-01 City Fire Calls) under Agency, Configuration. Map them to trainings, maintenance, holiday shifts, and incident zones once, and the Hours report splits everyone's hours into a column per code, ready to hand to payroll. The mapping applies to past months too, no re-entry needed.
  • A new Apparatus Hours report lists every unit's time on every call, dispatched to cleared, with per-unit totals and pay codes, for billing apparatus time.
  • Personnel now have an Employee Number field next to the badge number. It is available as a column in the Hours report so exports match the city's payroll records.
  • Import wages in bulk from a CSV. Each row matches a person by employee number or email, shows you who it matched before anything saves, and rows that fail are reported by line number without blocking the rest.
  • Say you're attending an event right from the calendar. Tap the event ad hit I'm attending. Everyone can see who's signed up, and the day-of sign-in list shows who committed.
  • Tap any day on the calendar to see everything happening that day, including multi-day time off, and open any item from there.
  • Agency, Portal Users lists every account that can sign in: their access level, whether they're linked to the roster, and invite status. Invite people who aren't firefighters (like city HR) with full or standard access, and edit anyone's permissions right from the list.
  • The Portal Users export is the permissions report: one row per account with a column for every permission, in CSV, Excel, or PDF.
Improved
  • Events carry their own pay code (set from Edit Hours on the event), since only you know whether an event is fire prevention or a special event. Past events without one get a Needs pay code flag, and the Hours report calls out any unassigned hours before you export.
  • Clicking a calendar item now opens its summary popup for everyone. If you have access to the full record, a View details button inside takes you there.
  • The calendar works properly on phones: days show compact colored dots instead of squeezed labels, the month scrolls naturally, and the calendar and list views switch from a button on the right instead of tabs.
  • An event, training, or maintenance attached to an announcement now opens its summary popup in place, sign-ups included, instead of sending you to a page you might not have access to. Incidents can no longer be attached to announcements.
  • The separate HR portal and its access codes are retired. Outside HR staff now get real portal accounts with exactly the permissions they need, managed in one place with everyone else.
  • The forgot password, reset password, and invitation pages now match the new site design, and password fields gained show/hide toggles.
  • The personnel list behaves on phones: the tabs no longer overflow the screen and rows keep long names readable.
July 6, 2026

Sign Holiday Shifts From Your Account & Incident Report Updates

New
  • When a holiday ends, everyone with unsigned shifts gets an email and in-app notification that their pay is ready to sign, listing each shift, its pay, and the signing deadline.
  • A Sign now button on the Holiday Shifts page shows your completed shifts and their total, and one signature signs them all. Signing at a station kiosk still works as before.
Improved
  • Each holiday now keeps the signing window it was created with. Changing the department default no longer moves the deadline on existing holidays.
  • The narrative is now a required part of every incident report, and a report no longer shows Ready to Submit until it has a written account of what happened. Narrative and impediment notes can also be read on a locked report.
  • Your stats now show the counts behind the numbers: incidents attended out of the year's total, and this month's responses out of the month's calls.
July 1, 2026

NERIS reporting, dispatch import, and pay per call

New
  • A Units & Responders section on the report puts each unit's response times together with its crew sign-ins and station coverage, so you can see and edit who responded on what in one place.
  • A Documents section keeps the incident's photos, imported dispatch reports, and any files you upload right alongside the report.
  • An unreported incident now shows how many days old it is, turning amber and then red as it nears the 60-day NERIS filing window, so a report doesn't quietly slip past the deadline.
Improved
  • Opening an incident now takes you straight to its report instead of a separate summary page. Everything that used to be split across two screens is now in one place.
  • A NERIS report now has a Stations section showing who covered which station during the incident.
  • Sign in responders and fix their hours, import a dispatch report, export the PDF, set the map location, edit zones, and delete the incident, all from the report itself.
  • A filed report now shows Reported to NERIS with the date and its NERIS ID right in the report header, so you can confirm at a glance that it went through.
  • The report header leads with the run number, and members who can only view a report now see it read-only instead of buttons that wouldn't work for them.
  • Required fields on a NERIS report now highlight in red and recommended fields in amber, updating live as you fill the form, so you can see what's left at a glance.
  • The report's validation summary now reads requirements and recommendations, previously errors and warnings. County and the impediment note are no longer flagged, since NERIS does not require them.
  • Actions taken and the no-action reason are now a single picker. If a call had no action, pick a reason like Cancelled and the actions list steps aside.
  • The incidents list now shows when a report is Ready to Submit (all of its core required fields are filled), alongside Reported and Not Reported.
  • Click a unit on a NERIS report to see who responded on it and whether each person signed in.
  • The tactic timeline now lines its times up in a single column, and every milestone box starts with the incident's date filled in so you only type the time.
  • The dispatch section of a NERIS report now shows the run number.
  • On a mutual aid call, you can record the other department's own run number for your records. It stays local and is not sent to NERIS.
  • You can now give each station a CAD dispatch id under Agency settings (CAD mapping), alongside your units, so imported dispatch reports can recognize them.
  • When you import a dispatch report, it now recognizes your own stations by their CAD id and records which of them were covered during the call, listing them in the report's Stations section.
  • Dispatch report importing now reads each system's own date and time format, so reports from other departments' CAD systems import correctly, not just yours.
  • If your department pays per call, you can now have overlapping calls paid once instead of twice. Turn on "Pay overlapping calls once" in your Agency department settings, and when someone signs two calls that overlap in time, the Hours report counts the overlapping time a single time. It takes the continuous stretch in the field, from the page to when the last unit cleared, and rounds that up to the hour, rather than paying each call in full. Off by default, so nothing changes until you turn it on.
  • When a call's time is fully covered by another call the person was already on, the Hours report breakdown marks it as absorbed and shows zero hours, so the per-call rows still add up to what you actually pay.
June 25, 2026

Dispatch Import, Incident Times & Dashboard Fixes

Improved
  • When you import a CAD/CFS dispatch report, you can now edit any value before saving: the call, dispatched, and cleared times, the dispatch ID, the location, and each unit's times, all right in the review screen.
  • Importing a dispatch report now sets your dispatched time from when your units were actually assigned, not when the call first came in. A call you were assigned to late no longer shows an early dispatch time.
  • The incident's cleared time now comes from when your last unit went available.
  • Incident and NERIS times now keep seconds, matching the precision on your dispatch reports.
  • On a NERIS report, the en route, on scene, and cleared time boxes start with the incident's date already filled in, so you only type the time.
  • The Top responders widget now lists every responder for the period, ranked by incidents attended, instead of only the top ten. It's renamed Responders by incidents to match.
  • While a dispatch report reads in the background, the View button on its notification now takes you straight back to that incident's report from anywhere in the app.
  • Re-importing a dispatch report now updates unit times that changed since the last import, like times that gained seconds, instead of skipping them. It shows the old value so you can see what's changing.
  • Test incidents now get a dispatch ID automatically, and whether a call is a test is chosen when you create it.
June 23, 2026

Move Responders, Remove Units & Mobile Fixes

Improved
  • Signed in on the wrong apparatus? You can now move a responder, or a whole crew, to a different unit, or over to cover a station, right from the Responders list. Their signature and hours come along, with no need to sign in again.
  • Remove a unit that responded by mistake from an incident, so the apparatus list on your NERIS report stays accurate.
June 22, 2026

Documentation, Smoother Lists & Mobile Polish

New
  • Open Documentation from your account menu for step-by-step guides covering every part of Code360: incident reporting, NERIS, apparatus checks, training, and more.
  • You're already signed in. Your Code360 login carries straight over to the documentation site, with no separate password to remember.
Improved
  • Long lists like incidents, trainings, events, maintenance, and the roster now load as you scroll, instead of paging through Next and Previous.
  • NERIS reports and maintenance checklists are easier to fill out on a phone. The section switcher stays in place as you scroll the form.
  • The dashboard's separate Actions button is gone. Its options now live on the tab itself. Click the active dashboard's tab to Add widget, Rename, Reset, or Delete.
June 18, 2026

PDF Incident Reports & Call Dispositions

New
  • Export a full incident report to PDF from the incident page: every completed NERIS section, responding units and personnel, dispatch notes, and attached document names, with your department's logo on the letterhead.
  • Record a call's disposition right from Today's Incidents: mark it Complete, or Cancel it with a reason (en route, prior to response, or on arrival). Cancelled calls keep their sign-ins open so members still get attendance credit.
  • Cancelled calls are now clearly flagged across the incident list, the incident detail page, and the NERIS report.
Improved
  • Importing a dispatch report is now on demand. Open it from the “Add dispatch report” button, and confirm you have the right call from the incident type, date, and address shown in the prompt.
  • Drag and drop to upload: drop a dispatch report PDF onto the import prompt, or drop files straight onto an incident's Documents card.
  • Click an incident's address to start navigation.
June 14, 2026

What's New, Holiday Coverage & Bulk Sign-In

New
  • Open What's New from the account menu any time to browse the full update history
  • A highlight appears above your name in the sidebar whenever there's an unseen update
  • The Holiday Shifts page shows each holiday's coverage shifts, with open Driver, Officer, and Firefighter seats available for sign-up
  • Coverage pay totals are calculated automatically from each member's signed shifts
  • Holidays and their coverage shifts appear on the department calendar
  • Departments set their defaults for shift length, pay per shift, crew, and signing window under Agency → Configuration
  • Events and maintenance events now support bulk attendance sign-in from the Sign Attendance menu
Improved
  • Bulk sign-in now works the same way across incidents, trainings, events, and maintenance
June 10, 2026

Incidents & NERIS on Mobile

Improved
  • The incident list has been redesigned for small screens, keeping key details readable without horizontal scrolling
  • The NERIS report form is optimized for mobile, allowing federal reporting to be completed from any device
  • Agency settings now use a compact dropdown navigation on mobile
June 9, 2026

Dispatch Report Import

New
  • Uploading a dispatch report PDF automatically extracts the address, times, incident type, and responding units; all details are presented for review before the incident is saved
  • CAD comments from the report are retained with the incident and available in a dedicated dialog
June 4, 2026

Run Numbers & Notifications

New
  • Each incident is automatically assigned a sequential department run number
  • Announcements can deliver in-app and email notifications to members
  • Records missing hours and incidents missing a cleared time are flagged to maintain reporting accuracy
Improved
  • The responders list displays each member's sign-in time
  • Incident addresses are geocoded on save for accurate map placement
June 3, 2026

Incident Locations & Sign-In Flexibility

New
  • Map pins can be placed manually when an address cannot be located automatically
  • Intersections can be recorded as incident locations
  • Responders can sign in with a personal vehicle (POV) in place of an apparatus
  • Incidents can be saved with a pending dispatch ID and updated once one is assigned
June 1, 2026

Early Access Launch

New
  • Complete incident reporting workflow, from dispatch through federal NERIS submission, with individual and crew sign-in, signatures, and vehicle assignments
  • Daily apparatus checklists and SCBA equipment checks, with a complete maintenance history for every vehicle
  • Training and event records with signature-based attendance and hours tracking
  • Fleet, personnel, and inventory management, including vehicle records, rosters, certifications, and station stock
  • Department calendar, configurable dashboard, announcements, and a social feed
  • Service-area map with incident locations and property records
  • Station sign-in for shared department computers
  • HR hours reports for compensation tracking