Skip to content

RFC 0001 — payload profile location/v1

Status: draft · 2026-09-14 · comment period: two weeks

One observed position of the owner at one instant. Produced by phone trackers (Dawarich, OwnTracks, Overland), Google Timeline exports, GPX tracks, camera EXIF.

Line

kind MUST be location. tier SHOULD be 1. at is the fix time; end is null.

Payload

Field Type Req Meaning
schema "location/v1" MUST
lat, lon number MUST WGS-84 degrees
accuracy_m number SHOULD horizontal accuracy radius in metres
alt_m number MAY altitude in metres
speed_mps number MAY metres per second
heading_deg number MAY 0–360
provider string MAY gps, wifi, cell, fused, manual
tracker string MAY the app or device that produced the fix, e.g. dawarich, garmin, iphone
raw_id string MAY the source's own id for the point

Anything else the source reports MAY be kept under extra.

Example (synthetic)

{"at":"2026-03-01T07:30:00Z","end":null,"tz":"Europe/Oslo","source":"dawarich","kind":"location","tier":1,
 "payload":{"schema":"location/v1","lat":59.911,"lon":10.750,"accuracy_m":12,"provider":"fused","tracker":"iphone","raw_id":"184223"}}

Notes

A visit or stay (a span at one place) is not a location line; it is derived by an engine pass, or, when a source supplies visits itself, recorded as a separate profile (visit/v1, to be proposed). Keep raw points raw.