Standardized schema
Entries follow a predictable structure, enabling automation and machine validation.
OpenRoadBook defines an open, human‑friendly, machine‑readable format for roadbooks. It is designed for both competitive rally events (FIA‑style) and non‑competitive adventure travel (motorbike, 4x4, overland). It enables interoperability between peers, organizers, competitors, and software tools, while remaining easy to author and validate.
This specification applies to:
It covers:
It does not prescribe:
GPS fields (waypoint) are optional. Roadbooks may be fully usable without GPS coordinates, relying solely on distances, tulips, and notes.
meta.format: OpenRoadBook and meta.version.meta:
format: OpenRoadBook
version: 1.0
event:
name: Rally of Exampleland
date: 2025-10-23
stage: SS1
organizer: Example Rally Club
regulations: FIA Cross-Country Rally Appendix II
entries:
- km: 0.00
tulip: start
cap: 90
notes: "Start of stage"
symbols: [start]
waypoint: { lat: 41.12345, lon: 2.12345 }
- km: 12.35
tulip: turn_left
cap: 270
notes: "Gravel, caution rocks"
symbols: [danger2, jump]
speed_limit: 50
{lat, lon} object.The registry defines a stable vocabulary of symbol IDs. Each ID maps to metadata and an SVG/PNG asset.
symbols:
- id: danger2
name: "Danger (2 exclamations)"
category: hazard
svg: danger2.svg
description: "Serious hazard, reduce speed"
start, finish, turn_left, turn_right, straight, roundabout, junctiondanger1, danger2, danger3, jump, ford, bridge, railroad, cliff, rocks, animalstarmac, gravel, sand, offtrack, fence, gatefuel, service, speed_limit, neutralization, cp, wpcamp — campsitewater — potable water sourcefood — restaurant or supply pointscenic — viewpoint / landmarkborder — border crossing / checkpointtown — settlement / villagekm is numeric.cap is 0–359.symbols reference valid IDs.https://openroadbook.com/schemas/orb.schema.json (JSON Schema Draft 2020-12). Versioned snapshots live under https://openroadbook.com/schemas/1.0/orb.schema.json, https://openroadbook.com/schemas/1.1/orb.schema.json, etc., so tools can pin to a specific release.A tool is OpenRoadBook‑compliant if it:
tip: or landmark: for descriptive guidance.- km: 25.40
tulip: turn_right
cap: 180
notes: "Sharp right, rocks inside"
symbols: [danger2, rocks]
waypoint: { lat: 41.67890, lon: 2.67890 }
camp — campsitewater — potable water sourcefood — restaurant or supply pointscenic — viewpoint / landmarkborder — border crossing / checkpointtown — settlement / village- km: 45.20
tulip: straight
notes: "Pass through small village, bakery on right"
symbols: [town, food]
tip: "Good place to refuel body and bike"
The specification defines normative schema rules, profile behaviour, and validation requirements. Use this document to determine whether a file, tool, or workflow is compliant with the OpenRoadBook format.
This document describes the normative expectations for files claiming conformance to the OpenRoadBook format. It covers required fields, allowed values, profile semantics, and the validation behaviour that tools must implement.
The specification aims to make roadbooks predictable and verifiable across authoring, validation, rendering, and exchange. It must enable independent implementations to produce consistent outputs from the same inputs.
Entries follow a predictable structure, enabling automation and machine validation.
YAML is canonical so authors can understand the data without specialized tools.
Profiles and registry additions expand capabilities without breaking existing roadbooks.
Designed for rendering into FIA-style PDFs, GPX/KML, and digital dashboards.
JSON Schema or equivalent ensures data quality before competitors see it.
Community-driven updates with transparent releases and versioning.
Files that declare `meta.format: OpenRoadBook` and the matching `meta.version` must meet the structural and field-level constraints specified here. The JSON Schema provides the machine-readable contract; this document explains intent and edge cases.
meta.format: OpenRoadBookmeta.version follows semantic versioning.km (number) — cumulative distance in km.tulip (string) — ID referencing the tulip registry.cap (integer) — compass heading 0–359.notes (string) — human-readable guidance.symbols (array) — registry IDs for hazards/services.speed_limit (integer km/h), waypoint (lat/lon),
adventure tip and landmark.camp, water, etc.).Validation verifies types, ranges, and registry references. Implementations should use the published JSON Schema as the primary validator and follow the profile-specific rules for mandatory or restricted fields. Validation failures must be reported with clear, actionable messages.
The authoritative schema is published at https://openroadbook.com/schemas/orb.schema.json, matching the `$id` embedded in the JSON Schema for automatic resolver support. Immutable snapshots live under versioned paths such as https://openroadbook.com/schemas/1.0/orb.schema.json so tooling can pin to a specific release.
km is numeric and non-negative.cap is an integer in the range 0–359.symbols exists in the registry.Semantic versioning keeps the ecosystem predictable. Community governance ensures changes reflect real-world needs.
A tool or dataset may be advertised as OpenRoadBook-compliant when it satisfies the following conditions.
Accept OpenRoadBook YAML and execute schema validation with error reporting.
Output roadbooks using the official symbol registry (PDF, digital, or hybrid).
Retain unrecognized fields to avoid breaking future minor releases.
Profiles tailor the baseline schema for each discipline. The adventure profile ships today; FIA and additional competitive variants are in development with the community.
camp, water, food.tip and landmark for storytelling.Specification v1.0 (draft) · Last updated 29 Oct 2025