Availability
Loading…
Ready to schedule ACTIVE projects whose survey is waiting — send the rep a booking link
The filter is
project_status = 'ACTIVE' and the survey status — not survey
status alone. Verified live: 94% of surveys sitting in a schedulable status (1,054 of 1,124)
belong to CANCELLED projects, because survey status is never cleaned up when a project dies.
Expect this queue to be short; it's arrival-driven, not a backlog.
| OUR # | Customer | City | State | Survey status | Type | Geocode | Booking | |
|---|---|---|---|---|---|---|---|---|
| Loading… | ||||||||
Links sent the token itself is never stored — a link is shown once, at mint time
| OUR # | Customer | Rep | Sent | Expires | Uses | Status | |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Surveyors OWEDB is the seed, not the source of truth — curate here
Import pulls Site Surveyor and Site Survey Tech / Lead only — matching on
role ILIKE '%Survey%' would make 8 schedulers and 8 reviewers bookable.
OWEDB has no home lat/lon, so set a home base below or drive time can't be measured.
| Name | State | Home base | Timezone | Jobs/day | Max drive | Phone | Status | |
|---|---|---|---|---|---|---|---|---|
| Loading… | ||||||||
Working hours the recurring weekly pattern, effective-dated
Changing hours adds a dated row rather than rewriting history, so a slot
offered last month can still be explained. Times are local wall clock — they survive DST.
Current patterns everyone keeps default hours; hours set for a market are an override on top. Saving replaces the previous hours of the same kind only — market hours never close default hours, or another market's
| Surveyor | Week | Break | Market | Effective | Status | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
One-off day change beats the recurring pattern for a single date
Move a surveyor to a market state or region, for a date range
A temporary move outranks the home market for its date range and then hands back
automatically — the home assignment is left intact. Their working day starts from the
destination market's centre and runs on that market's timezone, so sending a
Phoenix tech to Houston gives a 7 AM Central start, not 7 AM Mountain. Setting a new
home market auto-closes the previous home the day before this one starts.
Assignments
| Surveyor | Market | Type | From | To | Timezone | Priority | Status | |
|---|---|---|---|---|---|---|---|---|
| Loading… | ||||||||
Markets & regions a market spans one timezone — that's why El Paso and the Florida panhandle are their own
| Code | Name | State | Timezone | ZIP3s | |
|---|---|---|---|---|---|
| Loading… | |||||
Time off this app is the system of record — OWEDB has no leave table at all
Every “PTO” field in OWEDB means Permission To Operate (utility
interconnection), not leave — none of them are wired to this.
Only approved time off removes availability; pending never does.
Requests
| Surveyor | Dates | Kind | Reason | Status | Decided | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Service areas ZIP3 is primary; radius is a fallback and a ranking signal
We deliberately don't derive coverage from OWEDB's zip→office table: it's populated
for only ~8,945 of ~22,000 ZIPs (CA has 10) and is empty for NY/IL/VA/MA/NJ/MD/ME/CT/VT.
Since this serves all markets, coverage lives here. A state row is a fine start for a
one-surveyor market.
| Surveyor | Kind | Value | Priority | |
|---|---|---|---|---|
| Loading… | ||||
Blackouts company / regional closures
| Scope | Dates | Label | |
|---|---|---|---|
| Loading… | |||
Calendar enter a project, pick a window, book it
Every window here works on the route, not just on paper. The tech
finishes their last job, drives over, and is at the door somewhere inside the
window — each window shows when we expect them — and can still reach their next
customer inside the window that customer was given.
Everyone's windows who is free, and what is already taken
Who is available when bookable local hours per surveyor, after shifts, overrides, approved time off and blackouts
has room
at day cap
not working
booked but not working
Every arrival window each
surveyor has, and which are already taken. Click a free one to book into it.
Put an OUR # above and this narrows to the people who can actually take that job,
with the drive time checked.
Tickets
Everything the team has raised, what was
actually done about it, and whether it's finished. Anyone here can add one or move one
along — you shouldn't have to ask for a status.
Auto-send to the customer send the booking link on its own once a project clears QC
“Cleared QC” is read as: the project is ACTIVE, it has a sale date, its survey is
waiting to be scheduled, and no link has been sent and nothing booked for it yet. Turning this on
still respects the email switch on Config — with email suppressed, nothing
leaves either way.
Who would be sent, right now a preview — nothing is sent while this is off
| OUR # | Customer | Address | State | Sale date | Would go to |
|---|---|---|---|---|---|
| Loading… | |||||
Day board every tech's day in one place — jobs, addresses, route and drive time
workable
check it
unreachable / over cap
Amber and red are computed from real drive time between consecutive addresses, not a
gap rule — a red day contains a job the tech physically cannot reach. Map overview
opens the whole route in Google Maps. Click a job to move or cancel it; reviewing a day
records who cleared it, and the review lapses automatically if the day changes afterwards.
What's scheduled every survey on the calendar — filter by surveyor, market, state, status or date
| Date | Window | OUR # | Customer | Market | State | Surveyor | Drive in | Status |
|---|---|---|---|---|---|---|---|---|
| Loading… | ||||||||
Waiting to be entered in Tape bookings live here first — ops reads Tape, so each one is mirrored by hand until a real integration exists
Open the Tape record, enter the survey as Scheduled with the date, arrival window and
tech below, then tick it off — the checkmark records who moved it and when, and
it's undoable from the list underneath. A booking that later cancels comes back into
this queue so Tape gets updated too.
| Survey date | Arrival window | OUR # | Customer | Address | Surveyor | Status | Tape record | |
|---|---|---|---|---|---|---|---|---|
| Loading… | ||||||||
Recently mirrored tick the wrong row? Undo puts it back in the queue
| OUR # | Customer | Survey date | Window | Moved to Tape by | When | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Scheduling config scope resolves most-specific-first: surveyor → state → global
| Scope | Key | Value | Updated by |
|---|---|---|---|
| Loading… | |||
Who can sign in fail-closed and invite-only — an @ourworldenergy.com address gets NOTHING until it's listed here
Two gates still protect this app, but the first one moved.
OWE sign-in (ScaleKit → the company directory) decides who can authenticate;
this list decides what they can do — and anyone not on it is refused outright,
even with a perfectly good OWE login. Cloudflare Access used to be the front door and
no longer is, so this list is now the only place a new person is let in.
A surveyor login must be linked to its surveyor record — that's what scopes
them to their own day.
What each role can see which tabs a role gets — the server decides this, the sidebar just follows
Hiding a tab is convenience, not the security
boundary: every endpoint behind every tab re-checks the role itself, so a URL
typed by hand still gets refused. A surveyor login is additionally scoped
to its own record — that's what keeps a field tech out of the whole company's day.
Who actually signed in successes and refusals — the only way to see a person being turned away, since the directory holds no roster we can read
Loading…
| When | Result | Why | |
|---|---|---|---|
| Loading… | |||
Current access
| Role | Linked surveyor | Added by | When | ||
|---|---|---|---|---|---|
| Loading… | |||||
Audit trail append-only; every availability edit and booking action
| When | Who | Action | Entity | Detail |
|---|---|---|---|---|
| Loading… | ||||