Good morning, Dana
| Channel | Request | Type | Received | Status | Responded By | Action |
|---|
| Customer | Site Address | Intake Started | Status | Estimate # | Action |
|---|
Nothing flagged. (This panel isn't wired to real rules yet — it needs a decision on what should count as an alert here, e.g. overdue invoices or unconfirmed 811 tickets, most of which aren't tracked as real data yet either.)
| Time | Job / Site | Customer | Assigned To | Status |
|---|
Not tracked yet — there's no real report-generation status until PDF generation is built.
No activity yet. (Not wired to a real activity log yet — that would be a new feature, not just a data hookup.)
What records we need (anything about what's buried, where, or what was removed)
Accepted estimates land in the queue below. Click one to open its details, pick a date, start time, duration and locator, and add it to the calendar. It appears on the Main Scheduler and on that locator's own calendar in the Locator Portal.
Every job booked with the company, across every customer and locator. Saved to the real database (Master Build Framework Chapter 2.19's Company / Office / Person and Project/Visit data model) — every real job shows up here as soon as it's scheduled.
Click any column heading to sort by it — click again to reverse the order.
Reports released by someone without the "Send to customer portal" permission wait here. Check the PDF, then send it — the customer can then download the report, KMZ and GIS files and sees a "New report released" notice.
Reports from earlier companies (OnSite, Premier, KBYD CA), found by address. Records information only. They support, never replace, a current locate.
Drafts from the Grok assistant (estimates, replies to customers, time slots). Nothing goes to a customer or gets booked until it's approved — here by anyone with the "Approve AI Drafts" permission, or by Grant in the Grok app (first approval wins). Prices always come from Admin Settings › Price Rules.
📘 How to choose the right level (NAPUA Best Practices)
- Judge the whole site and use the worst area. One level per job — not per drawing or per utility. If one corner had no records and no access, that corner sets the level.
- Start at Level 4 and move up only as far as your evidence supports. Read the indicators on each card below. If you can't honestly check off a level's indicators, stay at the level below it.
- Supported or unsupported? A supported locate (records available, full access, informed site personnel) is usually Level 1 or 2. An unsupported or blind locate (no records, limited access, owner uninformed) is Level 3 or 4.
- Limitations push the level up. Any limitation you couldn't resolve (no tone, no access, obstructions, missing records) moves the job toward Level 3 or 4.
- Check your drawing. LC4 (blind EM only) or LC5 (records or oral recollections) lines in the work area point to Level 3 or 4. Level 1 needs the utilities in the work area physically exposed (LC1).
- If you're torn between two levels, pick the higher-risk one. Your job is to report the uncertainty honestly; the property owner decides how much risk to accept.
Internal Audit Checklist - off by default, not included in the customer report. Check every item that's present or was considered on this site. This is an internal record only - if a box is checked, it means it was looked at. Sign off at the end.
I confirm I have reviewed and completed this checklist accurately and to the best of my knowledge for this job.

Turn off whole sections your company doesn't use — office staff and field technicians won't see them on the pages above. Saved to the real database, so it's the same for your whole team on any device.
Admin can show/hide optional fields. Only Super Admin can mark a field mandatory (locked on, per company safety policy) — switch roles above to try it.
This is the source list for every locator/employee dropdown in the tool (Locator Portal, Main Scheduler, Locator's Name on the report). Saved to the real database — every admin at the company sees the same list, and it survives a refresh or a different computer. "Connect Outlook Calendar" is still simulated: it flips a status flag and marks scheduled jobs as synced (✓ on the Main Scheduler) so the workflow can be clicked through — no real Microsoft account gets connected yet. See the Master Build Framework for what the real Outlook/Microsoft Graph integration requires.
What each role can see and change. Each person has one role. Admin always has full access.
Defaults follow NIST SP 800-63B Revision 4 (2025): length over complexity, breached-password screening, no forced periodic password changes (change only when compromised), and two-step verification for accounts that can see or change everything.
Sign-ins, failed attempts, lockouts, password resets and two-step changes will be listed here once the server records them.
"Connect Outlook Calendar" above only flips a stored yes/no flag in this browser right now — nothing actually talks to Microsoft yet. Once there's a real server behind this tool, that button needs to do this instead:
- Register this app once with KBYD's Microsoft 365 tenant (Azure AD / Entra ID) — Grant, as tenant admin, grants consent for the whole organization in one step.
- Clicking "Connect" sends the locator to a real Microsoft login screen to approve access — not this app.
- Microsoft sends back an authorization code to the server, which exchanges it for an access token and a refresh token.
- Those tokens get stored per locator in a real database (not localStorage) — access tokens expire regularly and need the refresh token to renew automatically.
- Scheduling a job then calls the Microsoft Graph API to actually create the event on that locator's calendar, and saves the returned event ID so a later reschedule updates it instead of duplicating it.
See Master Build Framework Chapter 2.9 for the full write-up, including why Outlook was chosen over Google first and the Windows-timezone-naming quirk to watch for.
Each report page type can hold as many named, admin-built templates as your company needs — one for Private Locates, one for X-ray, one per drawing sheet size, and so on. Open a card below to manage that page type's templates. Saved to the real database — every admin at the company sees the same shared list, and it survives a refresh or a different computer.
Project Description — Page 1 (8.5" × 11" Portrait)
Notice to Ground Disturbance Professional — Page 2 (8.5" × 11" Portrait)
Item Notes (8.5" × 11" Portrait)
Notes & Limitations (8.5" × 11" Portrait)
Worksite Checklist — Page 3 (8.5" × 11" Portrait)
Locate Drawing Title Block — Exterior, 8.5" × 11" Portrait
Terms & Conditions — Last Pages (8.5" × 11" Portrait)
Company-level appearance — applies across the whole app for everyone in this organization. The DPS360 Pro name and taglines are fixed and can't be changed here; this page controls your own company's logo and accent color only.
Printed on drawings and report pages through placeholders — change a value here and every report updates. In any text in Report Designer, type a placeholder such as {Damage Phone} or {Website}; {COMPANY NAME} prints the name in capitals.
Everything here shows on the Office, Locator and Customer dashboards. Tick who sees each item: O = Office, L = Locators, C = Customers. Only Admins can post.
Products & Services used on Estimates -- name, category, price, and a description (shown to the customer on the estimate). This list feeds the line-item picker on the Estimate page once that's wired up. Manually entered for now; pulling this automatically from QuickBooks (so prices and descriptions stay in sync) is planned for later, not built yet.
The statements for the report's Notes & Limitations (Notice to GDP, page 2). Started from the KBYD master library and the DPS360 Limitations Development Guide. Each statement has a Page 2 version, an optional short drawing warning, the facility outcomes it is suggested for, and search words. Standard statements are added automatically when their condition is true. {Tolerance Distance} fills in from Company Contact.
The emails DPS360 sends your customers. For each one, start from a template (Professional, Friendly or Short), edit the subject and message — {Placeholders} fill in automatically — check the preview, and send yourself a test.
Each drawing's legend fills in automatically with only the line types and symbols on that page (lines shown solid in the utility colour with their label — LC is explained by the Locate Confidence key). Here you can change the wording used for any item, or set it to never show. Locators can still tweak an individual page with ✎ Edit legend in the Drawing Tool.
How DPS360 works out an estimate's price from a job's details (estimated hours on site and the job address). Every number can be changed. Each price rule is one kind of job (e.g. Homeowner, Commercial); the office or the AI picks which rule a job uses. DPS360 always calculates the price — the AI never sets one.
See the portal exactly as a customer sees it: their jobs, reports, downloads, "Included" deliverables and acknowledgements. View-only — nothing can be accepted, signed, paid or sent on their behalf from here. Each use is recorded.
Give a contact access from Office › Customers › (company) › Contacts › ✉ Give portal access. They get an email link (works once, expires in 7 days) that confirms their email and lets them set a password. "Forgot password?" on the customer login emails a reset link.
Before a customer can Accept an estimate in the Customer Portal, they complete this job checklist. Tick which items must be filled in before Accept unlocks; the rest are shown but optional.
The data a locator records on drawn items (manhole inverts, valve and vault depths). Each table can be changed here without any code changes, and you choose which appurtenances use which table. Changes apply to new entries only — notes already captured keep the layout they were made with, so past reports never change.
Tags a technician can put on a photo in a photo report (shown as a coloured label on the photo card).
The Customer Company Acknowledgements every customer agrees to — when they create their account, accept an estimate, or submit a booking form. Publishing a change makes a new version: at their next sign-in every Customer Portal user sees the new text and can't use the portal until they agree. Every version and every acceptance (who, when, how, which version) is kept.
These are the actual field/on-site working pages a locator fills out for a job — Site Conditions, Worksite Checklist, and the Drawing Tool itself — grouped here as a construction layer, separate from Office's own paperwork (Intake, Estimate, Scheduler). Everyone who opens one of these right now is opening the exact same shared workspace — there's no per-job copy yet. That depends on the real project database (see Master Build Framework Chapter 2.18), which hasn't been built.
Pick one of the three forms above (Site Conditions / Limitations, Worksite Checklist, Drawing Tool) to open it — that row stays put no matter which one you're looking at, so you can switch between them freely.
Good morning
Good morning
Ask Scout
Health, Safety & Environment
| Training | Type | Frequency | Last Completed | Next Due | Status |
|---|
This is for learning, not blame — report anything that happened or almost happened, even if nothing was damaged and no one was hurt. Every near miss caught here is one less real incident later.
Report Review
Welcome back
| Ticket / Site | Status | Report | Invoice | Paid | Days Outstanding | Action |
|---|
| Ticket / Site | Completed | Risk Level | Report | Invoice | Paid | Action |
|---|
Estimates
My Jobs
| Ticket / Site | Status | Locator | Date | Risk Level | Report |
|---|
Request a Locate or Estimate
Invoices
| Invoice # | Job / Site | Amount | Paid | Days Outstanding | Action |
|---|
Messages
Account Settings
Training & Resources
| Level | What it means | Typical expectation before digging |
|---|