Operations Center
The Operations Center is JRCO's live project timeline. It shows every active job across all regions — scheduled from start to finish — alongside the CenterPoint deal pipeline. Use it to spot conflicts, plan capacity, and drill into any job's setup without leaving the page.
FilterNarrow by status, city, segment
→
ViewSwitch Gantt mode
→
Read BarMargin, crew, dates
→
ActOpen Job Set Up Form
→
SaveSyncs to CenterPoint
→
FollowGet notified on changes
01
Toolbar & Filters
All filter and display controls run across the top of the page. Changes apply instantly — no Submit button needed.
Search & People Filters
Search Box
Type any job code, project name, PM name, or superintendent name. Matches as you type.
All PMs
Multi-select. Filter to one or more Project Managers. Leave blank to show all PMs.
Foreman Assignment
Filter to jobs assigned to a specific foreman.
Assigned Person
Filter to jobs where a specific crew member is listed.
Any City
Multi-select. Narrow to one or more job site cities.
Equipment Class
Show only jobs that have a specific equipment type assigned (e.g. Crane, Generator).
Row & Date Controls
| Control | Options | What it does |
| Internal + Sub | Internal Only · Sub-Contract Only | Filter by contract type. Sub-Contract jobs display with a diagonal stripe pattern on the bar. |
| All Jobs | Scheduled · All Jobs | Scheduled hides jobs with no start or end date. All Jobs shows them as a small dashed bar at the left edge. |
| All Dates (window) | 90 / 180 / 365 / All Days | Sets how far into the future the timeline extends. The left edge is always fixed at 2 weeks before today. |
| Status | All Active · In Progress · Setup · Complete · etc. | Filters jobs by their production status. Labels are plain-English — e.g. "In Progress" instead of a raw status code. |
| All Segments | Commercial · Commercial + Undefined · Undefined · Residential | Filters by the job's property type. Defaults to All Segments on every page load. |
Display Toggles
| Toggle | Default | Effect |
| Show Crew | Off | Expands each bar to show stacked crew name lanes inside the bar. Row height grows with crew count. |
| Compact | On | Reduces all rows to a single thin bar. Hides job detail columns. Best for a birds-eye overview of the full schedule. |
| Scopes | Off | Shows individual trade scope windows as colored sub-bars inside each job row. See Section 04. |
| CP Pipeline | On | Overlays CenterPoint deals on the Gantt as blue (hot), amber (warm), and green (sold) bars. See Section 05. |
| Capacity Strip | Off | Displays a demand vs. supply histogram below the timeline header. See Section 09. BETA |
Header Buttons
Refresh
Reloads all data from the database. Use after updating a job in the set up form or after another user has made changes.
🔔 Notification Bell
Opens your notification inbox — all unread alerts across every job you follow. A red badge shows the unread count and updates automatically every minute. See
Section 12.
⚠ Glitch
Opens the feature request / bug report form. The current page URL is automatically included so the report has context.
☀ Light / 🌙 Dark
Toggles light and dark mode. Preference is saved in your browser and persists across sessions.
02
Gantt View Modes
The "Gantt:" dropdown in the toolbar switches between eleven different ways to slice the same job data.
Gantt: By Job
Default. One row per job, sorted by start date. Click the Job or Dates column header to re-sort. Best for a full schedule overview.
Gantt: By Person
Groups rows by individual staff member (PM, PEx, Superintendent, Foreman). Each person shows their name as a header row, with each assigned job stacked below — showing job code, name, value, and start/end dates. Reveals who is over- or under-allocated.
Gantt: By Foreman
Same as By Person but limited to Foreman role. Good for field scheduling.
Gantt: By Superintendent
Same as By Person but limited to Superintendent role.
Gantt: By City
Groups jobs by city. Each group header shows the city name. Jobs within are sorted by start date. Useful for regional planning.
Gantt: By Type
Groups by job type derived from the job code prefix (e.g. KC = Kansas City, FL = Florida). Useful for branch-level visibility.
Gantt: By Territory
Groups jobs by nearest JRCO office from job coordinates (nearest_office on the project record). Falls back to state-based office only when coordinates are missing. Useful for regional managers to review workload by office.
Gantt: By Asset
Groups by physical asset tag. Shows every job a specific piece of equipment is assigned to. Helps plan crane or specialty equipment routing. Only jobs with a dispatched asset appear.
Gantt: By Asset Type
Groups by equipment class (Crane, Generator, etc.) with a demand strip below each group showing unit-weeks of demand. Helps spot capacity crunches for specific equipment categories.
Gantt: By Scope
Groups jobs by their defined trade scopes (Roofing, Siding, etc.). Only jobs that have at least one scope defined appear. Bar positions use scope-specific dates where set, falling back to the overall job dates otherwise. Use this to see all Roofing work — across every job — in one timeline.
Gantt: By Sub-contractor
Groups sub-managed scopes by subcontractor company name. Each row is one scope (not the whole job), and bar dates use that scope's start/end window — falling back to job dates only when scope dates are blank. Internal-only work is hidden; only scopes marked Sub-Contract or with a sub assignment in Job Setup appear. Scopes set to Sub-Contract but with no sub picked yet land under (Sub — Unassigned) so scheduling gaps stay visible. Diagonal stripe bars indicate sub-contract work (same as other views).
Tip: The Gantt mode, city filter, and equipment class filter are saved in your browser session. They restore when you refresh the page so you don't lose your view. Segment filter always resets to All Segments on page load.
03
Reading the Gantt Bar
Bar color tells you margin health at a glance. Width is the scheduled duration. Patterns and markers carry additional meaning.
Bar Color — PM Jobs
Positive GM
Forecasted gross margin is positive. Green = healthy job.
Negative GM
Forecasted gross margin is negative. Red = job is losing money — act now.
Neutral / —
Zero or missing margin data. Gray = no financial signal yet.
No Date
Job has no start or end date. Shown as a small dashed stub at the left edge. Only visible in All Jobs date mode.
Sub-Contract
Diagonal stripe overlay on any color. Indicates a Sub-Contract job rather than Internal.
Bar Markers
⚑ Projected Start
The left edge of the bar is estimated from WIP data — no confirmed start date has been set yet in the Job Set Up Form. The bar is still accurate within a few days.
* (Asterisk)
The right edge (end date) is projected / estimated. A confirmed completion date has not been set.
Hover Tooltip
Hovering any job bar shows a full tooltip: job code, project name, contract value, start → end dates, margin %, and number of assigned crew. Clicking any row in the left panel — or clicking the bar itself — opens the Job Set Up Form drawer for that job.
Left Panel — Job Detail Columns
In non-compact mode, the left panel shows four columns per job:
Job Code
Click to open the Job Set Up Form for that job.
Project Details
Name, contract value, % billed, % complete, gross margin %, and any No WIP warning.
Team
PEx, PM, Superintendent, and Foreman assigned to the job.
Action Icons
Three colored icon buttons sit at the end of each row: the
light-green Details tile opens the full Project Detail page in a new tab, the
green Set Up (gear) tile opens the Job Set Up Form drawer, and the
blue Notifications (bell) tile lets you follow the job for change notifications — see
Section 12.
Resizing the Left Panel
Drag the thin vertical divider between the job label columns and the Gantt timeline to resize both panes. Drag left to give more space to the timeline; drag right to see more job detail columns. The position is saved in your browser and restores on every page load. Minimum width is 240px (keeps Job + Project Detail visible); maximum is your screen width minus 320px.
No WIP: If a bar shows a No WIP pill, the job has no WIP accounting record. Its dates on the Gantt are estimated — set the Begin Date in the Job Set Up Form to lock the bar to the correct position.
04
Scope Sub-Bars
See individual trade windows inside each job row — toggle on the Scopes checkbox to activate.
When the Scopes toggle is on, each job row expands vertically to stack one thin colored lane per active trade scope. Each lane represents the scheduled start-to-end window for a single trade (Roofing, Architectural Siding, Glass and Glazing, etc.).
Scope Bar Colors
Scope 1
Scope 2
Scope 3
Scope 4
Scope 5
Scope 6+
Colors rotate through six slots. The order is always the same for a given job — scope 1 (first in the list) is always blue, scope 2 amber, etc.
Scope Date Fallback
If a scope has no dates saved in the database, its lane spans the full job duration instead — so you always see a lane for every active scope, even before exact scheduling is done. Hover any scope bar to see its name and exact dates (or "(job dates)" if no scope dates are set).
Setting Scope Dates
Scope sub-bars use per-trade dates from the Job Set Up Form. Only the assigned PM or PEx may add scopes or change these dates — see Section 07 for the full permission and step-by-step workflow (project dates and scope dates).
1
Click the SU button next to any job to open the Job Set Up Form.
2
Scroll to the Scope schedule section. Each active trade scope has Start and End date inputs.
3
Adjust dates to the actual planned window for each trade, then click Update Job Setup and Refresh on the Gantt.
Tip: In Compact mode, scope lanes are 6px tall — best used with a wide monitor. In normal (non-compact) mode, lanes are 10px and show the scope name if there is enough horizontal space.
05
CP Pipeline Overlay
CenterPoint deals appear on the Gantt timeline when CP Pipeline is checked — giving a forward look at what's coming before it's in production.
Deal Bar Colors
CP HOT
Forecasted deals. CenterPoint opportunity is marked as forecasted / high probability. Prioritize capacity planning for these.
CP Warm
Warm deals. Flagged as "warm" in CenterPoint's custom field. Active pursuit, not yet forecasted.
CP Sold
Won deals. Closed-won in CenterPoint but not yet a PM job in the system. These become real bars once set up.
KPI Strip
The colored KPI chips below the toolbar show live counts pulled from CenterPoint: total won deals, total forecasted, total warm, and pipeline value. These counts respect the current filter state.
Pipeline Data Freshness
CP deal data is cached for 5 minutes in your browser session to keep the page fast. Clicking Refresh busts the cache and reloads live data from CenterPoint. Use this after closing a deal or updating a forecast.
Note: CP Pipeline bars support setup workflows before the job reaches production. Warm and Forecasted / Hot deals open the Job Set Up Form with Warm, Forecasted & Docs, Labor Estimate, Contract, Materials, and Mobilization tabs. Confirmed production jobs open the production setup version from the job row or bar.
06
Job Set Up Form
The drawer that opens when you click SU next to any job. Every save writes to the database and re-syncs to CenterPoint.
Opening the Form
Click the SU button in the right-most column of any job row (left panel), click any row in the left panel, or click any Gantt bar directly. The form slides in from the right as a drawer — the Gantt stays visible behind it.
Cancel: Clicking the Cancel button at the bottom of the form closes the drawer immediately without saving any changes. No data is written to the database.
Form Sections
Assignments
Project Manager, PEx, and Contract Type. Changing PM triggers a CenterPoint sync.
Schedule
Begin Date and End Date for the overall project. End date cannot be before Begin Date — the form auto-corrects if you move Begin past End.
Scope Schedule
Per-trade start and end windows. Dates default to the project begin/end when first opened, and are saved permanently on your next Update click.
Positions
Superintendent, Crew, and Foreman assignments with primary/VAPI flags. Each position has Assign dates (start/end within the scope window) for ramp up and punch-out planning. Use ↺ to reset to full scope. Empty Foreman slots can be auto-filled from the Foreman recommendation API when Mobilization opens.
Lifting (Equipment)
Shows each equipment demand for the scope. Each row displays the equipment class, an optional note, and a status chip. Assignment is
read-only here — use the
Dispatch Board to assign, resolve, or share assets. See
Section 08.
Production
Property Type (Residential / Commercial), manpower headcount, and duration. Property Type drives the Segment filter on the Gantt.
Job Documents
Upload, view, download, replace, or delete job documents. Standard production jobs show documents from all phases; new uploads from this section save to the Mobilization phase and can still be categorized as Estimate Exports, Contract (Original & Addenda / Executed), Materials, or Mobilization support.
Estimate + Materials
Estimate exports can populate Labor Estimate, Contract, Materials, equipment planning, warranty, and Mobilization readiness for Warm, Forecasted / Hot, and production jobs. The active files attached to the job are the source of truth.
Tabs in the Job Set Up Form
| Tab | Use it for | Important notes |
| Warm | Warm estimating document intake. | Upload one or more labor forecasts, recap workbooks, SOV exports, PDFs, ZIP files, or supporting estimate packets. These documents feed the same analysis used later in Forecasted & Docs. |
| Forecasted & Docs | Forecasted deal documents and required forecast backups. | Estimate Exports, proposal/scope, drawings/photos, vendor quotes, approvals, contract (original & addenda, executed), and other forecast documents are grouped by category. Estimate files can be uploaded in batches and analyzed from this tab. |
| Labor Estimate | KPIs, supervision variance, critical path schedule, mini Gantt, and a collapsible Labor breakdown report (line-item labor from the estimate export). | Requires active Estimate Export files. Primary support is Labor Adjustments Time and CE Recap workbooks; estimate PDFs are also evaluated when text/totals are extractable. Re-import or Recompute after replacing files. Deleting all estimate exports clears stale analysis. |
| Contract | Contract terms, customer/property owner contacts, warranty, manufacturer, and CenterPoint deal details. | Forecasted deals require customer/property owner contact information before mobilization. WARM deals do not require those contacts yet. |
| Materials | Imported material plan rows grouped by scope. | Rows are grouped as Roofing, Sheet Metal, General Conditions, Equipment, Warranty, or Unscoped Materials with item counts and net cost subtotals. Inside each group, lines default to most expensive to least expensive (Actual Cost). |
| Mobilization | Schedule, manpower duration, scope schedule, production setup, crew, foremen, equipment planning, standard job documents, and hidden job flags. | Production jobs can upload estimates after the job is already active. Use the Job Documents section, choose Estimate Exports, and the Labor Estimate / Materials tabs will process the upload. Empty Foreman positions are checked against the Foreman recommendation API. Start mobilization is disabled until the completion checklist is satisfied. |
Foreman Recommendations on Mobilization
When the Mobilization tab opens, the form checks each active scope for an empty Foreman position. If job dates and job coordinates are available, it calls the Foreman recommendation API and can fill the empty slot with the next available foreman.
When it runs
Only on empty Foreman slots. Existing Foreman assignments are left alone. The form shows inline status such as checking, assigned, skipped, or an error beside the position.
How it decides
The API evaluates active foremen using home-base mileage, availability for the job window, staged-plan conflicts, certification gates, and the current provisional window. It returns both the selected person and the explanation.
Skipped / review
If dates or coordinates are missing, no foreman is available, or the recommended person already has active setup assignments elsewhere, the form does not force the assignment. It shows an inline message for manual review.
History note
When the recommendation is saved into the Foreman slot, job history records that the API was used and includes the decision result, selected foreman, miles from home, availability, days out, provisional/staged status, and decision logic.
Documents, Estimates, and Materials
1
Upload estimating files. Add the estimate recap, labor export, SOV export, and material list under Estimate Exports. You can upload multiple files at once from Warm, Forecasted & Docs, or the Production job document library. Duplicate filenames are allowed on different jobs; the system scopes imports by job code / CenterPoint ID, not by filename alone.
2
Analysis runs from active files. The Labor Estimate and Materials tabs analyze active Estimate Export documents attached to the job, reconcile them, and show the latest active import—including KPIs, critical path, mini Gantt, and the collapsible Labor breakdown line-item report. To avoid edge compute limits on large PDF batches, imports prioritize the most relevant files and can retry single-file material imports automatically.
3
Re-run when needed. Use Analyze All, Recompute, or Re-run material import after adding or replacing estimate files.
4
Delete is active. If an estimating file is deleted, the form recalculates from any remaining Estimate Export files. If none remain, the labor estimate and material plan are cleared so stale data does not display.
Where to Upload an Estimate
| Job state | Where to upload | What happens next |
| Warm CP deal | Warm tab > Estimating Documents | Files are saved to the shared job document library as Estimate Exports and analyzed across all active estimating files. |
| Forecasted / Hot CP deal | Forecasted & Docs tab > Estimate Exports | The upload is grouped with the required forecast document set and feeds Labor Estimate, Materials, Contract, and readiness scoring. |
| Production job | Mobilization tab > Job Documents > Upload Document > Estimate Exports | Production jobs can receive estimates after they are active. The upload runs the same labor/material intake as Warm and Forecasted jobs and refreshes the Labor Estimate and Materials tabs. |
Document Library Behavior
Multi-file Upload
The uploader accepts multiple documents in one selection. Each file is saved independently and written to job history.
View / Download / Replace
Use the document row actions to open a signed view link, download the original file, or replace a file while preserving history.
Inline Delete
Delete now uses an inline confirmation on the document row instead of a modal popup. Deleting an Estimate Export triggers recalculation from remaining active files.
Upload Safety
Duplicate filenames and duplicate workbook hashes are allowed across different jobs. Deduplication and imports are scoped by job code / CenterPoint ID.
Materials list requirement: A job is not ready for mobilization until both an estimate upload and a materials list upload are present. These now count in the completion score and appear in the "Still needed" message when missing.
Labor Estimate Tab
The Labor Estimate tab turns uploaded estimating workbooks into schedule assumptions, supervision checks, and a full line-item labor report so PMs do not need to reopen the original CE export for day-to-day review.
Calculated Metrics
Total hours, square feet, single-crew working days, calendar days, CE supervision days, team members per day, gross markup, and contract amount. Operational duration reflects your critical path schedule (not a simple sum of every spec row).
Variance Flag
Compares operational trade duration to CE supervision days. Under-billed means supervision may be light for the crew-days implied by the schedule; consider more supervision days or a stacked crew plan.
Scope Sync
Parsed subdivisions (Roofing, Sheet Metal, etc.) can create or update matching scope schedule rows using weekday-based date math from the operational labor duration.
Per Diem Check
Per Diem qty comes from the materials list. The tab shows a suggested plan qty scaled with job duration (same ratio as single crew). Alerts if per diem is below planned single crew or above planned CE supervision. The materials line is not auto-updated in the export.
Critical Path Schedule (Planning Gantt)
Edit Crew (top row fill-down), Phase, and optional Starts after. Est CDays stay fixed from the import; Plan CDays scale with crew. Use Save schedule to persist and write a Planning Gantt Saved line to job history with formulas and the phase plan. Per phase: Same crew (×N calendar on parallel scopes) or Additional crew (max CDays).
Mini Gantt
Visualizes the critical path from the job Estimated Start Date. Same phase # = overlapping bars. The next phase starts when the longest bar in the prior phase finishes. Dates use weekday-based Labor Scope Sync math.
Labor Breakdown
Collapsed by default: Labor breakdown (N lines · X hr · $Y). Expand for a CE-style table—subdivisions, spec sections (e.g. 07-100-210 — Tear Off Labor), every line item, subdivision subtotals, and TOTAL PROJECT. Matches Labor Adjustments Time exports; Recap imports show the same structure with crew/CDays columns when present.
Hourly Rates
From Labor Adjustments Time imports: Unit Price and EU Per Hr per line, plus rate summary chips (e.g. Trade $30/hr · Supervision $50/hr · Sheet metal $35/hr). Re-import the workbook after parser updates to refresh rates on older jobs. Foundation for future overtime vs. straight-time logic.
Forecast Field Sync
When analysis succeeds, GM%, hours, and square footage can populate the Warm / Hot setup fields so CenterPoint and PM planning stay aligned.
Planning Gantt calculations
Changing planned crew does not change total labor hours from the estimate — it changes how many people share that work and therefore calendar duration. Top metrics show plan with Est underneath when they differ. Save schedule records the full explanation in job history (Planning Gantt Saved).
| Metric | Formula / rule | Why |
| Est CDays | From import (frozen baseline) | Preserves original person-hours at estimate crew size. |
| Plan CDays | Est CDays × Est crew ÷ Plan crew | Same hours; more crew → fewer calendar days on that phase. |
| Single crew | Critical-path project end (working days) from Plan CDays, phases, and starts-after | Operational job length at planned staffing. |
| Calendar | Single crew × 7÷5 | Mon–Fri working week → calendar days. |
| CE supervision | Est supervision × (plan single crew ÷ est single crew) | Superintendent duration tracks planned job length. |
| Per diem (suggested) | Materials per-diem qty × (plan single crew ÷ est single crew) | Travel/mobilization days scale with shorter/longer job; materials qty unchanged until you edit the export. |
| Equipment rental days | Order qty × (plan single crew ÷ est single crew) for flagged equipment (toilet, dumpster, lifts, etc.) and DAY/WK/MO units | Rental duration tracks job length; material takeoff qty (SF, SQ) is not scaled. |
| Job Set Up crew slots | Peak Plan crew per scope; reconcile on save | 1 Supt + 1 Foreman + N crew; excess open crew slots above peak are archived. |
Labor breakdown report (expand on tab)
1
Upload a labor export. Under Estimate Exports, attach a Labor Adjustments Time workbook (preferred for line-item rates) or a CE Recap that includes labor sections.
2
Open Labor Estimate. Review KPIs, variance, and critical path. Set phases so parallel work (e.g. tear-off + reroof on phase 20, flashing on phase 30) matches how the job will run.
3
Expand Labor breakdown. Audit quantity, EU/hr, hours, unit price, and net cost by subdivision. Confirm subtotals and project total match the estimate (e.g. total hours and net labor cost).
4
Original file optional. Use Open original workbook inside the breakdown only when you need the raw Excel file; the in-app report is the working copy.
| Breakdown column | Source |
| Description | Line-item text from the export (e.g. Tear-Off 1 Layer, Install membrane). |
| Quantity EU | Quantity and unit (SF, SQ, EA, etc.). |
| EU Per Hr | Productivity from Labor Adjustments Time (blank on some Recap rows). |
| Hours | Labor hours for the line. |
| Unit Price | Billed hourly rate from the export ($/hr). |
| Net Cost | Line net cost (hours × rate, per CE). |
Supported workbook formats: Labor Adjustments Time (detected by report title) provides the richest breakdown and hourly rates. CE Recap provides subdivisions, specs, crew size, and crew-days where user-code rows exist. Unsupported formats show an import error.
Materials Tab
The Materials tab imports material plan rows when a materials list is included in the estimating documents. It keeps the full itemized grid, groups rows by scope, and sorts each scope group by highest Actual Cost first so the biggest cost drivers are reviewed first.
Scope Groups
Rows are grouped into Roofing, Sheet Metal, General Conditions, Equipment, Warranty, or Unscoped Materials. Each group shows item count and net cost subtotal, with default sort inside the group set to highest cost first.
PDF Table Extraction
Estimate PDFs that include pricing table columns (for example Description, Order Qty, Ord Un, Unit Price, Price Un, NetCost) can now import directly into Materials without converting to Excel first.
Equipment Detection
Large assets such as Forklift, Dumpster, Portable Toilet, lifts, trailers, and generators are flagged as Equipment and matched against the equipment inventory for planning.
Auto Assignment
Matched material equipment can be automatically added to the job's planning scope. If the material import is replaced or cleared, material-generated equipment is cleaned up.
Warranty
Warranty lines, such as a 20 Year Versico Warranty, are used to populate the Project Warranty value on the Contract tab when the current field is empty or compatible.
Per Diem
Per Diem quantities in the materials plan are used as another duration signal and checked against Labor Estimate duration assumptions.
Contract Tab Updates
The Contract tab collects customer company, property owner contact, billing company, billing terms, payment due date, retainage, workmanship warranty, manufacturer warranty, manufacturer, and related deal details. Warranty values can be filled manually or inferred from parsed materials list warranty rows.
Conditional Document Requirements
Admins can require a supporting document upload whenever a contract Yes/No field is set to Yes. For example, Tax exempt = Yes requires a tax exemption certificate, and Prevailing wage = Yes requires certified payroll / prevailing wage documentation.
Where to configure
CRM Admin > Contract Document Requirements (admin/contract-doc-requirements.html, linked from CRM Tools). Toggle Requires document on any contract field (Tax exempt, Prevailing wage, Bonded, Permit needed, etc.) and set the required document name. Changes save to tbl_contract_doc_requirements and go live for everyone immediately.
On the Contract tab
When an enabled field is switched to Yes, an inline badge appears under the row: amber <document> required with an Upload button, or green <document> on file once a matching file is uploaded.
Gates mobilization
Each unmet requirement is added to the Required to start mobilization checklist (click it to jump to the field) and disables Start mobilization until the document is on file. Uploads are tagged (cond_<field>) so the requirement is matched automatically.
Defaults: Tax exempt and Prevailing wage ship with the requirement enabled. All other contract fields default to off until an admin turns them on.
Contract Documents: Original vs. Executed
The job document library separates contract paperwork into two categories so the negotiated history stays distinct from the signed agreement:
- Contract — Original & Addenda — the original contract/subcontract plus the addendum, amendment, and redline history negotiated with the counterparty.
- Executed Contract — the final, fully-executed (signed) contract, kept separate from the original and addendum history above.
Task Orders (Subcontractor BOA)
From the Task Orders panel on the Contract tab, generate a branded Task Order / Basic Ordering Agreement (BOA) for each assigned subcontractor.
PDF & Word output
Generate the task order as a PDF or an editable Word (.doc) file. Both share the same JR&CO letterhead, field tables, signature blocks, and PPE pages.
Workflow status
Each task order tracks Draft → Pending signature → Complete at the top of the editor (mirrors the contract status). A matching status pill shows on each task order row in the list.
Scope of Work selection
Pull scope line-by-line from the uploaded contract (e.g. Exhibit E) as checkable bullets, pre-filtered by the subcontractor's trade scopes. Add manual lines as needed. Selected lines become the Task Order scope and are saved per sub.
Amount = sub's firm fixed price
The task order amount is the subcontractor's firm fixed price — not the project deal/contract value. It is intentionally left blank for the PM to enter and is no longer pre-filled from the deal.
Editable template
CRM Admin > Task Order Template (admin/task-order-template.html) edits the BOA legal terms and cover-page boilerplate (contingent docs, reaffirmation, PPE). Saves to tbl_document_templates and powers both the PDF and Word exports; empty fields fall back to the built-in default.
Completion Score & Mobilization Readiness
The completion score appears in the drawer header and workflow bar as a percentage and item count, such as 70% Complete (26/37). It counts required setup items and explains what is still needed before forecast-complete / mobilization.
| Required Item | Why it matters |
| Begin / End dates | Drives the main Gantt bar and the mobilization schedule window. |
| Duration days / months | Required manpower plan values. The form reads both the visible inputs and saved database values. |
| Address + coordinates | Street, city, state, ZIP, latitude, and longitude are needed before a job can leave setup. |
| CenterPoint roles | Estimator and account manager identify ownership while the job is still Warm / Hot. |
| Assignments | Project manager and PEx ownership drive scheduling permissions and job follow-up. |
| Identity + value | Job name, contract value, and anticipated award date keep the setup record tied to the correct CenterPoint opportunity. |
| Estimate upload | At least one active Estimate Export file must be attached so the labor forecast can be validated. |
| Labor estimate analysis | The uploaded estimating files must parse into labor hours, square footage, and schedule assumptions. |
| Materials list upload / import | A materials list is required so material scope, equipment, warranty, and per diem assumptions can be reviewed. |
| Deal details | Construction Type, Customer Type, Customer Vertical, Square Footage, Manufacturer, Hours, and GM% feed CenterPoint and PM planning. |
| Contract fields | Customer company, billing company, billing terms, retainage, and warranty values are counted when the Contract tab is present. |
| Hot document set | Hot / Forecasted deals also require Proposal & Scope, Drawings & Photos, and Vendor Quotes documents. |
| Forecasted contacts | Forecasted deals require customer and property owner contacts. WARM deals can save partial progress without those contacts. |
| Conditional contract documents | When a contract Yes/No field flagged "requires document" is set to Yes (e.g. Tax exempt, Prevailing wage), the supporting upload is required before mobilization. See Conditional Document Requirements above. |
Production jobs: Active production jobs use the same estimate and materials readiness checks. Upload the estimate under Job Documents > Estimate Exports to satisfy the estimate requirement and populate the Labor Estimate / Materials tabs.
Workflow Actions & Activity
The workflow bar above the tabs provides Acknowledge, Assign, and Comment actions for Job Set Up handoffs. These are setup-history actions: Assignments require a comment, create a notification for the selected employee, and write the activity to job history. For role-based job tasks that appear in the Command Center and mobile Tasks tab, use the TASK process.
Precon action items
On Contract review, Labor Estimate, Materials, and Mobilization, a Precon action items panel appears below the workflow bar. Use + Add action to capture follow-ups discovered during preconstruction planning (for example, call a supplier to verify material availability). Each item:
- Assigns to the job PM by default (scope PM, or variance PM email as fallback)
- Creates an Action Queue row on the job (Precon source) in Command Center
- Writes a Precon Action entry to job history and the activity rail
- Records which setup tab the item came from (phase chip)
Complete or snooze items in Command Center or mobile Tasks; the Job Set Up list refreshes when you revisit a tab. This is separate from workflow Assign (handoff history only) and from transcript-ingested precon_action_items in the precon intelligence pipeline.
Save, Activity, and Job Flags
Save Forecast
Saves partial progress on Warm / Forecasted deals. It updates only changed fields in job history so repeated saves do not create noisy duplicate change notes.
Start Mobilization
Requires the full readiness checklist. If anything is missing, the orange "Still needed" message lists the remaining items.
Activity Rail
Shows setup saves, workflow actions, precon action items, uploaded documents, deleted documents, estimate imports, material imports, and related job history while staying beside the form.
Job Flags
Production Reporting and Hide from Command Center are tucked under the collapsible Job Flags section below the save buttons.
Auto-populate Behavior
↻
Start Date Backfill: If a job has no Begin Date set but has a WIP record, the form automatically copies the earliest WIP date into the Begin Date field when the drawer opens. Click Update Job Setup to confirm it.
↻
Scope Date Defaults: If no scope dates exist, the Scope Schedule section pre-fills the first scope with the project Begin/End dates. These appear immediately and are saved on your next Update.
↻
Estimate-driven scopes: When labor estimate subdivisions are parsed, matching scope schedule rows can be created or updated for the job.
↻
Document cleanup: Deleting the last active Estimate Export clears the labor estimate and materials list from the form so the completion score reflects the missing files.
Tip: The form loads quickly because it only fetches data for the single job you clicked — it does not re-run the full Gantt query. After saving, click Refresh in the Gantt toolbar to see your changes reflected in the bars.
For who may edit scopes and how project vs. scope dates work together, see Section 07 — Permissions & Dates.
07
Permissions & Scheduling Dates
Who may change Definable Features of Work on a job, and how to set the overall project window vs. per-trade scope windows.
Definable Features of Work — Who Can Edit
In JRCO's Operations Center, Definable Features of Work (DFOW) are the trade scopes on a job — Roofing, Architectural Siding, Glass and Glazing, and the other scope types listed in the Job Set Up Form. Adding a scope, removing a scope, or changing a scope's planned start/end dates counts as modifying DFOW.
May edit DFOW
Project Manager (PM) or Project Executive (PEx) who is assigned to that specific job. You must be signed in with a JRCO account that has the pm or pex role on Project Management, and your identity must match the PM or PEx shown in the form's Assignments section.
View only
Superintendents, Foremen, Crew, and other field roles can read the Gantt and open the Job Set Up Form for reference, but they cannot add, remove, or reschedule trade scopes. If you are not the assigned PM or PEx for the job, do not change scope rows or dates — contact the job owner instead.
1
Confirm you are signed in — your name appears in the header when Cloudflare Access or local dev auth has resolved your identity.
2
Open the Job Set Up Form (SU) for the job and check the Assignments section. Your account must match the listed Project manager or PEx.
3
Make scope changes in the Scope schedule section — add scopes with + Add scope, pick a scope type, set dates, or remove a scope with ×. Canonical trade scopes (Roofing, Glass and Glazing, Architectural Siding) cannot be hard-deleted once created; clear their dates or archive them from Project Detail if production reporting has started.
4
Click Update Job Setup to save. Scope rows with equipment assigned cannot be removed until the equipment is cleared on the Dispatch Board.
Production reporting scopes: When a job uses production reporting, each DFOW also has budget quantity, hours, and unit-of-measure settings on the job's Project Detail page (Labor tab). Those production-line edits follow the same ownership rule — only the assigned PM or PEx may create, rename, archive, or delete scope lines. Field staff submit daily production against scopes they are assigned to; they do not configure the scope list itself.
Adding Overall Project Dates
The main Gantt bar for a job is driven by the project-level Begin date and End date in the Job Set Up Form's Schedule section. These dates are stored on the job record and take priority over WIP-estimated dates once saved.
1
Click SU (or click the job row / Gantt bar) to open the Job Set Up Form.
2
In Schedule, set Begin date and End date. The end date cannot be before the begin date — if you move begin past end, the form auto-corrects.
3
If begin date is blank but the job has WIP history, the form may pre-fill begin date from the earliest WIP date when the drawer opens. Review it and confirm on save.
4
Fill in Manpower plan days and months if the job should leave Needs Setup status — schedule completeness is required for active status alongside a geocoded address.
5
Click Update Job Setup, then click Refresh on the Gantt toolbar. The job bar moves to the saved window. Jobs with no dates show as a dashed stub at the left edge when All Jobs is selected.
Projected markers: A ⚑ on the left edge or * on the right edge means that side is still estimated from WIP — set and save a confirmed date in the form to lock the bar.
Adding Scope Dates
On multi-trade jobs, each trade scope can have its own planned window. Scope dates live in the Scope schedule section of the same Job Set Up Form. When the Gantt Scopes toggle is on, each scope renders as a colored sub-bar using its own dates; if a scope has no dates saved, its lane falls back to the full job duration.
1
Open the Job Set Up Form and scroll to Scope schedule. Existing active scopes for the job appear as rows with Start and End date inputs.
2
If scope dates are empty on first open, they pre-fill from the project begin/end dates as a starting point. Adjust each trade to its actual planned window.
3
To add a new scope, click + Add scope, choose a scope type from the dropdown, and set start/end dates (new rows default to the current project begin/end).
4
As you edit scope dates, Project duration (computed) updates to the earliest scope start through the latest scope end. Changing any scope date also pushes that computed span into the project-level Begin/End fields automatically.
5
Alternatively, after all scopes have dates, click Use computed for project dates to copy the computed min/max into the Schedule section manually.
6
Click Update Job Setup, then Refresh on the Gantt. Turn on the Scopes toggle to verify each trade sub-bar. Hover a scope bar to see its name and exact dates (or (job dates) if no scope dates are set).
| Date type | Where to set | What it affects |
| Project begin / end | Schedule section | Main Gantt bar width and position; default for scopes with no dates; manpower duration sync |
| Scope start / end | Scope schedule section | Colored scope sub-bars when Scopes toggle is on; equipment demand windows; Gantt: By Scope mode; Gantt: By Sub-contractor bar windows |
| Computed duration | Read-only summary below scope table | Min start → max end across all active scopes; can be copied to project dates |
Date order: Every scope must have an end date on or after its start date. The form shows a warning if any scope violates that rule — fix it before saving.
08
Dispatch Board & Equipment Assignment
The Dispatch Board is where all equipment demands are resolved — assets are assigned, conflicts are worked, and allocations are documented. The Job Set Up Form's Lifting section is read-only; all assignment actions happen here.
How It Works
Each scope in a job can have one or more equipment demands (e.g. Crane, Telehandler, Boom Lift). When dates overlap with another job using the same asset, a conflict is flagged. The Dispatch Board surfaces all open demands, conflicts, and resolved assignments in one place. Open it from the CRM Tools hub or directly at admin/dispatch-board.html.
Equipment Status Chips
Each demand row in the Job Set Up Form's Lifting section shows a chip reflecting the current dispatch status:
ASSET TAG ✓
Asset has been assigned directly. The asset tag is shown in green. This is the standard fully-owned assignment.
ASSET TAG · Shared with JOB X
Asset is shared across two jobs with overlapping dates. The asset tag and the other job's code are shown in blue. Both jobs get full use of the asset on a day-level basis — the overlap has been acknowledged by the dispatcher.
Assigned · Sub Rental
A rental asset has been matched to this demand. The vendor and rental details are tracked separately in the Rental Tracker.
Unassigned
No asset assigned yet. The demand is open on the Dispatch Board.
Resolution Types
When a conflict is flagged on the Dispatch Board, the dispatcher chooses a resolution. Each type is recorded in job history and shown on the Job Set Up Form:
✓
Assign — A specific owned asset is dispatched to the job. The asset moves to In Service status for the job window and shows as the green ASSET TAG ✓ chip.
⇌
Share — A single asset is allocated across two jobs with overlapping dates. Both jobs show a blue ASSET TAG · Shared with JOB X chip. The asset stays In Service — it is not released back to Available when the share is set up. Use this when the asset can realistically serve both sites on the same day (e.g. a crane making a single lift at each location). The share is logged to the history of both jobs.
$
Sub Rental — A rental unit is sourced from a vendor to satisfy the demand. Rental details are tracked in the Rental Tracker.
↕
Shift Dates — The job dates are adjusted to eliminate the conflict. Shown as Assigned · Dates Shifted.
⊕
Substitute Class — A different class of equipment is used instead. Shown as Assigned · Substituted.
↑
Escalate — The conflict is flagged for management review. Shown as Unassigned · Escalated with a tooltip showing the escalation note.
Unassigning / Removing a Share
On the Dispatch Board's Assigned tab, each resolved demand has an Unassign button. Behavior depends on resolution type:
Standard Unassign
Clears the asset from the demand. The asset's status returns to Available. The demand moves back to the Open tab.
Remove Share
Removes the shared allocation from this job only. Because the asset is still in use on the other job, it is not returned to Available — it stays In Service. The demand returns to Open on the Dispatch Board.
Note: Equipment assignment and resolution are managed entirely on the Dispatch Board. The Job Set Up Form's Lifting section is a status mirror — it shows what was decided on the board but does not allow changes. Hover any chip in the form for the full dispatch tooltip.
09
Capacity Strip BETA
A demand vs. supply histogram that appears below the timeline header when Capacity Strip is checked.
The capacity strip shows how many crew-days of demand are scheduled for each week, compared to JRCO's available headcount. Red columns mean demand exceeds supply — a crew crunch is coming. Blue columns mean balanced or over-supplied capacity.
Group By
When the Capacity Strip is on, a Group: Trade / Branch / Trade+Branch selector appears. This controls how demand is bucketed in the histogram.
Clicking a Column
Click any week column in the strip to open a detail panel showing which jobs are driving demand that week and which crew members are available. This helps you identify exactly where a crunch is coming from and who could be moved.
Note: The Capacity Strip only counts jobs with real WIP records — jobs flagged as "No WIP" are excluded because their dates are estimated and would inflate the demand count inaccurately.
10
Workload, Demand & Gaps
Three workforce-planning views reached from the buttons in the top-right of the toolbar: ⊞ Workload, Demand Grid, and Gap Heatmap.
The Gantt answers "when is each job running?" These three views answer the people side: "who is carrying how much, how much crew does the work require, and where do we come up short?"
⊞ Workload View
Click ⊞ Workload to replace the Gantt with the Workload Analysis table. It rolls up active (non-pipeline) jobs onto PM, PEx, and field staff (Superintendent / Foreman / Crew). Use the All / PEx / PM / Field tabs to filter by role. Field staff use assignment dates from Mobilization (not the full job bar) for concurrency and date coloring.
| Column | What it tells you |
| Name / Role | The person and whether they act as PM, PEx, or both on the jobs in view. |
| Jobs | Dated jobs / total jobs assigned to them. |
| Portfolio Value | Combined contract value of all their jobs. |
| Avg GM% | Average forecast gross margin across their jobs — green ≥ 20%, amber ≥ 10%, red below. |
| Avg % Done | Average production completion across their jobs. |
| Peak Concurrent | The most jobs running at the same time over the next 26 weeks — green low, amber 3+, red 5+. The best single read on overload. |
| 26-week sparkline | A mini-chart of concurrent job count week-by-week, so you can spot upcoming crunch periods. |
Expanding a Person
Click the ▶ caret (or anywhere on a person's row) to expand their full job breakdown. Every person's breakdown uses the same aligned columns:
Dates (color-coded)
Green = job is in progress today · Amber = starts in the future · Red = past its end date (should be done).
Location (Home / Away)
A Home or Away badge plus the job's city. Home = Tier 0 (≤70 mi from the nearest JRCO office); Away = Tier 1 (≤200 mi, amber) or Tier 2 (>200 mi, red), with the distance shown. Surfaces honestly when someone is managing work away from their home territory.
Code · Project · Role · Value · GM% · Done
Per-job detail. Click the job code to open Project Detail, or the ✎ icon to open the Job Set Up Form.
Note: Workload counts only active jobs (CenterPoint pipeline deals are excluded). A job with a start date in the past but no end date is treated as "in progress" (green).
Demand Grid
Click Demand Grid to open the weekly manpower demand table (reuses its browser tab if already open). Each row is a job's trade slot — job code, slot count, trade, and the assigned name — and each column is a week. Cells count a slot only in weeks that overlap its assignment dates (set in Mobilization), so ramp up and punch-out show as lower totals at the start and end of the job.
Gap Heatmap
Click Gap Heatmap to open the craft × period gap heatmap. It uses the same supply/demand rules as the Demand Grid — slot demand from jobs, supply from the org roster, adjusted for travel — and computes the gap (demand − supply) for each craft (Superintendent, Foreman, Crew) across each region and time period. Cells are colored by gap severity so red blocks show exactly which craft, which region, and which weeks are short-staffed — your early warning to hire, sub out, or reschedule.
How they fit together: Use Workload to balance assignments across PMs, PExs, and field staff; Demand Grid to see crew demand by job, slot, and week (assignment-aware); and Gap Heatmap to find where demand outruns available people. The Capacity Strip (Settings) also uses slot assignment dates for daily demand when a Job Set Up plan exists.
11
Quick Reference
Common questions and where to find the answer.
"I need to see all jobs in Kansas City." → Set Any City filter → type or select Kansas City
"Which jobs are going negative on margin?" → Sort by job (default) → look for red bars → hover to see exact GM%
"How loaded is Robert Magana right now?" → Switch to Gantt: By Person → scroll to Robert's row — all his jobs stack as lanes
"Where is the crane scheduled after KC26-039?" → Switch to Gantt: By Asset → find the crane tag — all its jobs appear in date order
"A job shows a blue chip with 'Shared with JOB X' — what does that mean?" → The same physical asset is dispatched to both jobs on overlapping dates. The dispatcher acknowledged the day-level overlap on the Dispatch Board. Both jobs are fully assigned.
"How do I assign a crane to a job?" → Open the Dispatch Board (admin/dispatch-board.html) → find the demand under the Open tab → click Assign next to the asset you want → the Job Set Up Form updates automatically.
"Two jobs need the crane on the same day — what do I do?" → On the Dispatch Board, open the conflict resolution panel for the second job → choose Share Asset → confirm the asset. Both jobs show a blue shared chip. The share is logged to both job histories.
"A job's bar is in the wrong place." → Open the SU form → check and update the Begin Date → Refresh the Gantt
"Who can add or change trade scopes on a job?" → Only the assigned
PM or
PEx for that job. See
Section 07.
"How do I set different dates for Roofing vs. Siding on the same job?" → Open SU → Scope schedule → set Start/End per scope → Update → Refresh → turn on Scopes
"I want to see what trade windows are scheduled for CO24-007." → Check the Scopes toggle → find CO24-007 — colored sub-bars show each trade window
"What hot deals do we have coming in Q3?" → Make sure CP Pipeline is checked → set the window to 180 or 365 days → look for blue CP HOT bars
"We're going to be short crew in June — how do I see it?" → Check Capacity Strip → look for tall red columns in June → click a column for the detail breakdown
"A job shows No WIP — what do I do?" → Open the SU form — the Begin Date will auto-populate from WIP if available → confirm it and click Update
"I want to see all jobs with a Roofing scope scheduled." → Switch to Gantt: By Scope → find the Roofing group — every job with a Roofing scope appears with its scope-specific bar dates
"When is ABC Roofing on site across all our jobs?" → Switch to Gantt: By Sub-contractor → find the ABC Roofing group — each row is one sub-managed scope with its own bar dates. Unassigned Sub-Contract scopes appear under (Sub — Unassigned).
"Something looks broken or wrong." → Click the red ⚠ Glitch button — it opens the bug report form with the page URL pre-filled
"How do I follow a job?" → Click the blue Notifications icon in any job row → you are now following. A red ring appears around the icon when active. See
Section 12.
"How do I assign a job task to the field or PM team?" → Open the Command Center → click
Assign Task → choose the job, role, category, severity, title, details, and due date. See
Section 13.
"I want to stop getting notifications for one job." → Click the red-ringed Notifications icon on that job row → choose Unfollow from the menu
"I'm going on vacation — pause my alerts." → Click the red-ringed Notifications icon on any followed job → Pause 1 day or Pause 1 week. Notifications resume automatically when the pause expires.
"The notification bell shows a number but I don't see it updating." → The badge polls every 60 seconds. Click the bell to open the inbox and all unread items refresh immediately.
"The left panel is too wide / too narrow." → Drag the thin divider between the job columns and the timeline left or right. Width saves automatically.
12
Follow & Notifications
Subscribe to any job and receive instant alerts when its schedule, team, status, or daily field report changes — in-app or by email.
Following a Job
Every job row in the Gantt has a small blue Notifications (bell) icon in the rightmost Actions column, next to the light-green Details and green Set Up icons.
1
Click the blue Notifications icon on any job row. A red ring appears around the icon and a toast confirms you are now following.
2
From that moment, any qualifying change to that job triggers a notification to you within seconds.
3
The red badge on the header bell counts your unread notifications across all followed jobs.
First time on a new browser or device? Click the header bell → the inbox will ask for your email. Enter your JRCO email once — it saves to your browser and is used to identify you on all future sessions from that device.
What Triggers a Notification
Schedule — Start Date
Start date moves by 1 or more days in either direction. Example: "Start date on Lim Residence moved 3 days earlier (now Jan 07)"
Schedule — End Date
End date moves by 1 or more days. Example: "End date on KC25-012 moved 5 days later (now Aug 14)"
Schedule — Hold / Resume
Job status changes to or from on hold.
Schedule — Cancelled
Job status changes to cancelled.
People — PEx Changed
The Project Executive assigned to the job changes. Example: "PEx on Lim Residence changed from unassigned to Julian Caldwell"
People — PM Changed
The Project Manager assigned to the job changes.
People — Foreman Changed
The Foreman on the job is added, replaced, or removed.
People — Crew Added / Removed
A crew member is assigned to or removed from the job.
Status — % Complete Milestone
Production % complete crosses 50%, 75%, or 100% in the morning snapshot.
Issues — RFI Submitted
A new RFI ticket is opened on the job.
Issues — Safety Incident
A safety incident is logged on the job.
Issues — Deficiency Flagged
A deficiency ticket is raised on the job.
◈ Daily SitRep
The foreman submits a daily log and the AI generates a Situation Report. The email includes the full report text and a photo grid of all site photos taken that day — no login needed to read it.
The Notification Inbox
Click the bell icon in the page header to open the notification drawer from the right side. Notifications are grouped by job, then sorted newest-first within each group.
Unread dot
Red dot on the left of an item means unread. Click the item to mark it read. The header badge decrements immediately.
Category icon
Each notification shows a small icon: calendar for schedule, person for people, clock for status, triangle for issues, speech bubble for SitReps.
Mark all read
The Mark all read link in the top-right of the drawer clears all unread at once.
Badge polling
The unread count in the header badge refreshes automatically every 60 seconds. Opening the drawer always shows the latest.
Notification Preferences
When you follow a job, the default settings are: all five categories on (Schedule, People, Status, Issues, Daily SitReps), In-App delivery on, Email delivery off. You can customize per-follow.
1
Click the red-ringed Notifications icon on a job you are already following.
2
Choose Settings from the context menu. The preferences panel slides open.
3
Toggle any of the five categories on or off. Daily SitReps is on by default — turn it off if you do not want to receive the AI field report each day this job has a submission.
4
Under Delivery, toggle In-App and/or Email. Email sends a branded message via JR&CO Project Updates with a direct link back to the job.
5
Click Save Preferences. Changes take effect immediately for future events.
Email Notifications
Email notifications are sent from JR&CO Project Updates. Every email contains:
| Element | Description |
| Category badge | Mono label in the header — e.g., Schedule Update, Daily SitRep. |
| Job card | Job code and name with a red left border. For non-SitRep alerts, the change summary is shown here. |
| Field Report (SitRep only) | Full SITREP text — Production, Field Notes, Equipment, Projected Finish, Priorities — rendered in a monospace block so it's easy to read on any device. |
| Photos (SitRep only) | A 3-column photo grid of all site photos taken that day, ordered by time. Each thumbnail links to the full-size image. Links are valid for 7 days. |
| View button | Red button that opens the job directly in the Project Management Gantt dashboard. |
| Footer links | Unfollow [Job Code] — one-click, signed link that removes your subscription immediately without logging in. Manage preferences — link to the Gantt where you can adjust category and channel settings. |
Unfollow from email: Every notification email has an Unfollow [Job Code] link in the footer. Clicking it opens a confirmation page and removes your subscription in one step — no login required. The link is cryptographically signed so only the original recipient can use it.
Managing Follows
| Action | How | Effect |
| Follow | Click the blue Notifications icon on any job row | Subscribes immediately with default preferences. A red ring appears around the icon. |
| Unfollow | Click the red-ringed Notifications icon → Unfollow or click the Unfollow link in any email | Removes subscription. No new notifications. Existing inbox items remain. |
| Pause 1 day | Click the red-ringed Notifications icon → Pause 1 day | Suppresses notifications for 24 hours. Resumes automatically — no action needed. |
| Pause 1 week | Click the red-ringed Notifications icon → Pause 1 week | Suppresses notifications for 7 days. Resumes automatically. |
| Customize | Click the red-ringed Notifications icon → Settings | Opens the preferences panel for category and delivery channel control. |
Delivery speed: Notifications are generated in real time — a database trigger fires the moment a field changes and the fan-out runs within seconds. You will typically see an inbox notification within 5–10 seconds of a data change, and an email within 15–30 seconds. SitRep emails are sent after the AI finishes generating the report, typically 20–40 seconds after the foreman hits Save.
13
TASK Process
Use TASK to assign a specific job follow-up to the active PM, Foreman, or Superintendent and track it through the Command Center and mobile job view.
Where Tasks Are Created
Open the Command Center and click Assign Task. This is different from the Job Set Up Form's Acknowledge / Assign / Comment workflow. Job Set Up workflow actions document setup handoffs; TASK creates an actionable queue item assigned to the person currently filling a role on the job.
Who Can Assign Tasks
Only users with Project Management access as PEx, PM, admin, or platform admin can create job tasks. The system resolves the assignee from the job's active role assignments. If no active PM, Foreman, or Superintendent is found for the selected role, the task is not created and the page shows an error.
Assigning a Task
1
Click Assign Task in the Command Center queue header.
2
Select or type the Job Code. The job name auto-fills when the code matches a known job.
3
Choose a Category: Audit, Review, Safety, Quality, RFI, or Other.
4
Choose the role to assign: PM, Foreman, or Superintendent. The system assigns the task to the active person in that role for the job.
5
Set Severity: Low, Medium, or High. Add a required title, optional issue description, and optional due date.
6
Click Submit Task. The task is inserted into the Command Center queue and an email is sent to the resolved assignee.
What Gets Created
Queue Item
A Command Center item is created with source type job_task, status open, the selected job code, title, detail, severity, category, due date, and assigned role.
Role Routing
The assignee is determined from active job role assignments. PM tasks prefer the job-level PM assignment; Foreman and Superintendent tasks use the active assignment for that role.
Email
The assignee receives a "Job Task Assigned" email with the job, task title, category, role, severity, due date, Command Center link, and mobile task link. If email fails, the task still exists and the page warns the creator.
Audit Trail
The assignment writes an audit entry showing who assigned the task, which role was selected, and which email became the owner.
Where Assigned Users See Tasks
Assigned users see open, acknowledged, or snoozed tasks in the Project Mobile job view under the Tasks tab. The mobile link can open directly to the job and selected task. The Command Center also shows the task in the queue with a task icon, role badge, category, severity, due date, and status controls.
| Task Status | Meaning |
| Open | New task waiting for the assigned person to review or act on. |
| Acknowledged | The assignee has seen the task and accepted ownership. |
| Snoozed | The task is temporarily deferred but still active. |
| Resolved | The work is complete or no longer needs action. |
Best practice: Use TASK for specific, role-owned work that needs to live in the Command Center queue. Use Job Set Up Comment for general setup notes, and use Assign in Job Set Up only for setup handoff notifications.