reportedReported
A stable CAD or operations identifier, incident type, severity, caller reference, required capability, and location intent are recorded.
Resolve an incident location, select a capable available responder, route and observe the unit, adapt to hazards, establish arrival, resolve with evidence, and review every decision.
A state is not a UI label. It determines which actor may act, what evidence exists, what may be retried, and how recovery proceeds.
reportedA stable CAD or operations identifier, incident type, severity, caller reference, required capability, and location intent are recorded.
locatedA provider-backed Mappls identity, coordinate, formatted address, confidence, and resolution method are committed.
dispatchedA capable available unit is selected with matrix ETA, route identity, constraints, and attributable rationale.
en_routeThe assigned unit accepted and current event-time telemetry drives route progress and ETA.
on_sceneDistance, speed, and dwell policy establish arrival; scene hazards and coordination remain active.
resolvedOutcome, responsible responder, and external evidence references are committed.
reviewedterminalA commander signs off the replay, disposition, response timings, telemetry count, hazards, and evidence completeness.
Commands express intent. The aggregate validates current state and invariants, commits one new version, and emits a fact in the same transaction.
report_incidentCall takerincident.reportedUse the external CAD or operations identity across retries.
resolve_locationDispatcherreportedincident.locatedBind the accepted candidate, method, confidence, and operator decision to one command.
dispatchDispatcherlocatedincident.dispatchedCompare incident version and reserve the selected unit under the same command identity.
accept_dispatchResponderdispatcheddispatch.acceptedThe assigned unit generates and persists a command ID before transmission.
record_positionTelematics serviceen_routeunit.position_recordedUse provider event identity and preserve event and receipt time.
confirm_arrivalResponderen_routeincident.arrivedBind distance, speed, dwell, policy version, and incident version.
resolveResponderon_sceneincident.resolvedCommit outcome, responder, evidence manifest, and outbox atomically.
reviewIncident commanderresolvedincident.reviewedReview identity and incident terminal version form the stable key.
Keep provider responses, business identity, state, events, and side-effect delivery distinct so each can be reconciled safely.
Business identity, lifecycle, location, assignment, hazards, outcome, and review.
incidentIdexternalIncidentIdstateversionseverityrequiredCapabilityProvider-backed location and human confirmation evidence.
mapplsPincoordinateformattedAddressmethodconfidenceCapability, availability, matrix, route, constraints, and selection rationale.
unitIdrouteIdcapabilitiesetaselectedByreasonImmutable responder position and vehicle evidence.
providerEventIdunitIdeventTimereceivedTimepositionqualityAttributable disposition and metrics derived from committed events.
reviewerdispositiontimingspositionCounthazardCountOne external report maps to one incident aggregate.
Only available units with the required capability are eligible for ranking.
A unit is assigned to at most one active incident in the same operational context.
Only the assigned unit can accept dispatch and publish operational telemetry.
Raw telemetry preserves event and receipt time; late evidence never regresses latest state.
Arrival requires explicit distance, speed, and dwell evidence.
Resolution cannot occur without external evidence references.
Recovery changes durable truth only through the same rules as normal operation. A timeout is an unknown outcome, not evidence that nothing happened.
Search candidates are low-confidence, far apart, or conflict with caller/device context.
Keep the report unresolved, ask a targeted confirmation question, and record the chosen candidate and reason.
Unit reservation or incident expected version conflicts.
Return the current assignments and require an intentional new selection from refreshed availability.
Event time is behind the incident position watermark.
Store it, emit a late-evidence event, and do not replace latest route progress.
A new hazard, closure, or restriction intersects the current route or approach policy.
Record the hazard, calculate a versioned replacement route, and keep the last safe guidance until accepted.
Incident is resolved while notification or downstream outbox entries remain pending.
Retry the outbox independently; never re-resolve the incident to trigger delivery.
Measure state age, event health, retries, reconciliation, and sensitive-data access alongside latency and error rate.
Only explicitly indexed evidence is linked. Empty sections are not backfilled with invented endpoints or package names.
8 labs · 5 hostile scenarios/api/places/search/json/{REST_KEY}/rev_geocode/{rest-key}/{resources}/{profile}/{geopositions}/{REST_KEY}/{resources}/{profile}/{geopositions}/devices/devices/{deviceId}/eventsmappls-rest-apismappls-intouch-rest-apismapmyindia-intouch-rest-apis8 verified tests