EVENTS

Event catalog

33 event types 7 topics

Every event type the platform publishes, grouped by the topic that carries it. Each one arrives inside the standard envelope — the fields below are what sits in its payload.

How to read this page

Topics are the Kafka streams that carry events; you do not interact with them directly, but they are how the platform groups related event types and how schemas are versioned. What you subscribe to is an event type — the dotted name in each heading below, which arrives as event_type in the envelope.

A field marked ✓ is always present. An unmarked field is nullable and may be absent — treat it as optional in your types, because “absent” is a normal value and not an error.

This page mirrors the schema registry

The contract lives in the platform’s Avro schemas, and this page is a rendering of it. If a field is listed here it is in the registered schema. New event types are added by extending the payload union, which is a backward-compatible change — a consumer that does not know a new type keeps working.

Geofences

loc_mesh.events.geofences.v1

2 event types.

geofence.entered

A tracked subject crossed into a boundary.

FieldTypeRequired
geofence_idstring✓
tenant_idstring✓
geofence_namestring | null—
polygon_idstring | null—
device_idstring✓
driver_idstring | null—
latitudedouble✓
longitudedouble✓
positioned_atlong (timestamp-millis)✓

geofence.exited

A tracked subject crossed out of a boundary.

FieldTypeRequired
geofence_idstring✓
tenant_idstring✓
geofence_namestring | null—
polygon_idstring | null—
device_idstring✓
driver_idstring | null—
latitudedouble✓
longitudedouble✓
positioned_atlong (timestamp-millis)✓

Notes

loc_mesh.events.notes.v1

1 event type.

note.created

A note was added to an entity.

FieldTypeRequired
note_idstring✓
tenant_idstring✓
subject_typestring | null—
subject_idstring | null—
created_atlong (timestamp-millis)✓

Orders

loc_mesh.events.orders.v1

4 event types.

order.cancelled

The order was cancelled.

FieldTypeRequired
order_idstring✓
tenant_idstring✓
cancelled_atlong (timestamp-millis)✓

order.completed

The order reached its terminal completed status.

FieldTypeRequired
order_idstring✓
tenant_idstring✓
completed_atlong (timestamp-millis)✓

order.created

A merchant-placed order was created.

FieldTypeRequired
order_idstring✓
tenant_idstring✓
merchant_tenant_idstring | null—
created_atlong (timestamp-millis)✓

order.status.changed

The order's lifecycle status transitioned.

FieldTypeRequired
order_idstring✓
tenant_idstring✓
from_statusstring | null—
to_statusstring✓
changed_atlong (timestamp-millis)✓

Packages

loc_mesh.events.packages.v1

6 event types.

package.created

A package was created.

FieldTypeRequired
package_idstring✓
tenant_idstring✓
order_idstring | null—
created_atlong (timestamp-millis)✓

package.damaged

A package was marked damaged.

FieldTypeRequired
package_idstring✓
tenant_idstring✓
damaged_atlong (timestamp-millis)✓

package.delivered

A package was delivered.

FieldTypeRequired
package_idstring✓
tenant_idstring✓
stop_idstring | null—
delivered_atlong (timestamp-millis)✓

package.lost

A package was marked lost.

FieldTypeRequired
package_idstring✓
tenant_idstring✓
lost_atlong (timestamp-millis)✓

package.moved

A package moved to a new in-facility location (package journey).

FieldTypeRequired
package_idstring✓
tenant_idstring✓
facility_location_idstring | null—
moved_atlong (timestamp-millis)✓

package.status.changed

The package's lifecycle status transitioned.

FieldTypeRequired
package_idstring✓
tenant_idstring✓
from_statusstring | null—
to_statusstring✓
changed_atlong (timestamp-millis)✓

Runs

loc_mesh.events.runs.v1

9 event types.

break.completed

A driver finished a break on a run.

FieldTypeRequired
break_idstring✓
run_idstring✓
tenant_idstring✓
driver_idstring | null—
completed_atlong (timestamp-millis)✓

break.started

A driver started a break on a run.

FieldTypeRequired
break_idstring✓
run_idstring✓
tenant_idstring✓
driver_idstring | null—
started_atlong (timestamp-millis)✓

run.assigned

A run was assigned to a driver and/or vehicle.

FieldTypeRequired
run_idstring✓
tenant_idstring✓
driver_idstring | null—
vehicle_idstring | null—
assigned_atlong (timestamp-millis)✓

run.cancelled

The run was cancelled.

FieldTypeRequired
run_idstring✓
tenant_idstring✓
cancelled_atlong (timestamp-millis)✓

run.completed

The run reached its terminal completed status.

FieldTypeRequired
run_idstring✓
tenant_idstring✓
driver_idstring | null—
completed_atlong (timestamp-millis)✓

run.created

A run (a driver's route for a date) was created.

FieldTypeRequired
run_idstring✓
tenant_idstring✓
run_datestring✓
driver_idstring | null—
vehicle_idstring | null—
created_atlong (timestamp-millis)✓

run.reordered

The stop order on the run changed. Carries the new order so consumers can recompute ETAs without re-reading.

FieldTypeRequired
run_idstring✓
tenant_idstring✓
stop_idsarray<string>✓
reordered_atlong (timestamp-millis)✓

run.started

The driver started the run.

FieldTypeRequired
run_idstring✓
tenant_idstring✓
driver_idstring | null—
started_atlong (timestamp-millis)✓

run.status.changed

The run's lifecycle status transitioned.

FieldTypeRequired
run_idstring✓
tenant_idstring✓
from_statusstring | null—
to_statusstring✓
changed_atlong (timestamp-millis)✓

Stops

loc_mesh.events.stops.v1

9 event types.

stop.arrived

The driver arrived at the stop.

FieldTypeRequired
stop_idstring✓
tenant_idstring✓
run_idstring | null—
driver_idstring | null—
arrived_atlong (timestamp-millis)✓

stop.assigned

A stop was assigned to a run (and optionally a driver).

FieldTypeRequired
stop_idstring✓
tenant_idstring✓
run_idstring✓
driver_idstring | null—
assigned_atlong (timestamp-millis)✓

stop.completed

Emitted when a stop reaches the terminal "completed" status.

FieldTypeRequired
stop_idstring✓
run_idstring✓
tenant_idstring✓
statusstring✓
completed_atlong (timestamp-millis)✓
driver_idstring | null—

stop.created

A stop was created.

FieldTypeRequired
stop_idstring✓
tenant_idstring✓
order_idstring | null—
run_idstring | null—
created_atlong (timestamp-millis)✓

stop.departed

The driver left the stop.

FieldTypeRequired
stop_idstring✓
tenant_idstring✓
run_idstring | null—
driver_idstring | null—
departed_atlong (timestamp-millis)✓

stop.failed

A delivery/collection attempt at the stop failed.

FieldTypeRequired
stop_idstring✓
tenant_idstring✓
run_idstring | null—
driver_idstring | null—
reasonstring | null—
failed_atlong (timestamp-millis)✓

stop.rated

A customer rated the delivery at this stop.

FieldTypeRequired
stop_idstring✓
tenant_idstring✓
ratingdouble✓
rated_atlong (timestamp-millis)✓

stop.status.changed

The stop's lifecycle status transitioned. Generic transition event; the granular events above fire for notable milestones.

FieldTypeRequired
stop_idstring✓
tenant_idstring✓
from_statusstring | null—
to_statusstring✓
changed_atlong (timestamp-millis)✓

stop.updated

A stop's mutable fields changed (coarse; consumers re-read for detail).

FieldTypeRequired
stop_idstring✓
tenant_idstring✓
updated_atlong (timestamp-millis)✓

Users

loc_mesh.events.users.v1

2 event types.

user.created

A tenant user was created. If the user is also a driver, driver_id is populated (this covers "driver created").

FieldTypeRequired
user_idstring✓
tenant_idstring✓
driver_idstring | null—
created_atlong (timestamp-millis)✓

user.suspended

A tenant user was suspended.

FieldTypeRequired
user_idstring✓
tenant_idstring✓
suspended_atlong (timestamp-millis)✓