WholeStack Pricing ↗
Operations · Field Service Intent Contract: field-dispatch-v2

Dispatch software that enforces the way your crews actually work.

Off-the-shelf field service platforms make you run your business their way. WholeStack captures the exact way you dispatch — multi-tech crews, trade certifications, drive-time buffers, photo sign-off, and escalation trees — and compiles it into a production system whose invariants hold at the database boundary.

Build a dispatch desk Bring an existing app See pricing
Field Operations & Commercial Dispatch

Operational Territory

Commercial Field Dispatch, Telemetry & Safety Systems
Postgres RLS · Automated Crew Replay

What the compiled desk runs

A dispatch application is not a calendar. It is a set of transactional records and mathematical constraints about who may commit whose time, and what must be proven true before a work order closes.

https://app.wholestack.internal/field-dispatch/schedule
Verified Release: v3.1.0 · P3 PASS
Field Dispatch Materialized Application UI

Schedule Board

Jobs, crews, and job sites mapped on a live board with travel-time buffers enforced as hard booked time.

Crew Certifications

Assignment verifies license validity. An expired EPA or high-voltage license instantly locks the technician out of the pool.

Proof of Work

Timestamped geo-verified photos and customer signatures attach directly to the job record before status can change to closed.

MOD 01

Schedule Board

Jobs, crews, and sites on one board, with travel time between stops treated as booked time rather than as slack.

MOD 02

Crew & Certification

Assignment checks the certification a job requires. An expired license removes the technician from the eligible pool.

MOD 03

Proof of Work

Photo and signature capture attached to the job record, not to a technician’s personal camera roll.

MOD 04

Inspections & Safety

Recurring checks generate their own work, and an overdue inspection escalates on a schedule you set.

MOD 05

Estimates to Invoices

The approved estimate is the exact entity that becomes the invoice, so line items cannot drift apart.

MOD 06

Customer Visibility

Commercial clients see their own jobs and nothing else, enforced by row ownership rather than by a filtered view.

The rules the contract enforces

These are written as Intent Specification Language (ISL) invariants, compiled directly into PostgreSQL storage constraints and API permissions. Break one and the operation is refused at the engine boundary.

field-dispatch-rules.isl
Compiled to Postgres RLS · Zero Drift
domain FieldDispatchSystem {
  entity Technician {
    id: UUID
    name: String
    certifications: List[Certification]
    is_active: Boolean
  }

  entity WorkOrder {
    id: UUID
    window_start: Timestamp
    window_end: Timestamp
    assigned_tech_id: UUID -> Technician
    signoff_photo_id: Optional[AssetUUID]
    status: Enum[Assigned, EnRoute, OnSite, Completed]
  }

  policy DispatchInvariants {
    invariant R01_NoCloseWithoutPhotoSignoff:
      forall w in WorkOrder:
        (w.status == Completed) implies (w.signoff_photo_id != null)

    invariant R02_NoOverlappingCrewDispatches:
      forall w1, w2 in WorkOrder:
        (w1.id != w2.id && w1.assigned_tech_id == w2.assigned_tech_id) implies
        (w1.window_end <= w2.window_start || w2.window_end <= w1.window_start)
  }
}

What ShipGate checks before this launches

Dispatch is where a missed rule turns into a truck at the wrong address or an uncertified technician on a high-voltage roof. ShipGate sits outside the generation loop and tries to break the application before you rely on it.

VERDICT: SHIP (VERIFIED RECEIPT)
SHA256: 7f12e84c990a3b8d41...
100%
Safety Invariant Coverage
12/12
Dispatch Beats Executed
0
Overlap Conflicts
PASS
Non-Vacuous Proving
CHK 01

Requirement Coverage

Every clause in your contract has an executing test. Uncovered clauses fail the gate immediately.

CHK 02

Non-Vacuity

Tests that pass because they assert nothing are treated as failures, not as coverage.

CHK 03

Security Boundaries

Technicians cannot see pricing or client billing. Each role is boundary-tested against records it must not touch.

CHK 04

Runtime Replay

The booted application replays real dispatch sequences against an isolated PostgreSQL instance before signing the release.

Frequently Asked Questions

How does it handle crews in areas with no cellular signal?

The mobile shell queues completions locally with client-side timestamps and syncs as soon as connectivity returns. Rules are verified against the timestamp recorded at capture.

Can we import our existing customer list and equipment registry?

Yes. Bring your schema and historical data via CSV or direct database dump. The compiler provisions matching entities and validates all existing records on import.

How long does a build take?

A working prototype compiles in seconds. The full verified build, including all contract invariants and simulated crew runs, finishes in under three minutes.

What if our safety regulations change next month?

You update the invariant in your intent contract. WholeStack re-proves the entire application against the new rule and ships an updated build with a fresh verification receipt.

Run dispatch on your terms.

Prototyping costs nothing and needs no credit card. You pay $299 once, on a verified SHIP verdict, and $79 per month to keep your application running, backed up, and re-verified.