Open & documented
Full field-level specification, official JSON Schema and validator with built-in preview. MIT licensed — no vendor, no account, no lock-in.
Open JSON interchange format for complete travel itineraries
Roadbook describes an entire trip — itinerary, transport, bookings, tickets, activities, travelers and logistics — in one portable .roadbook.json document that humans, travel apps and AI assistants can read and write. Open, versioned, vendor-neutral, MIT licensed.
Generate with AI → See an example Read the specification Validate a Roadbook
Full field-level specification, official JSON Schema and validator with built-in preview. MIT licensed — no vendor, no account, no lock-in.
Plain JSON with English tokens, one documented URL to feed a model, and validator errors written to be pasted back for self-correction. Generate a trip with an AI →
A Roadbook moves between tools: generated by an assistant or a script, checked by the validator, imported into a player, edited and re-exported — without losing fields.
Every file declares its formatVersion. Minor versions are additive; readers ignore and preserve unknown fields. Rules → · Changelog →
QR / Code 128 / PDF417 / Aztec tickets carrying their real encoded payload, vouchers, GPS coordinates, timezones, conditional fallbacks (rain, closure…), options decided on-site.
Same file for a family road trip, a business trip (payer, payment status, meetings, loyalty programs) or a package sold by an agency (guides to meet, transfers, structured transport).
A trip rarely lives in one place. The plan is in an e-mail thread, the flights in an airline app, the hotel in a PDF confirmation, the museum slots in a calendar, the train tickets in another app, the budget in a spreadsheet and the agency's program in a Word document. None of these speak to each other, and none of them can be handed to another application — or to an AI assistant — as a whole.
Roadbook is a travel itinerary format that puts the entire trip into one structured, machine-readable document: the day-by-day schedule, the transport legs, the bookings and their references, the scannable tickets, the travelers and their roles, the alternatives when it rains, the checklists and the emergency contacts. Because it is plain JSON with a published schema, the same file can be produced by a travel agency's system, a script, or an AI travel planner — and consumed by any player, importer or analytics tool that implements the specification. That is what makes it an itinerary interchange format rather than yet another app's internal data.
Roadbook is transverse: it is not tied to a travel style, a vendor or a distribution channel. The same schema, the same players.
| Context | What the format carries |
|---|---|
personal | Family road trip, city break, honeymoon: itinerary, hotel bookings, kids' surprise mode, "what to wear today", plan B when it rains, on-site restaurant options, budget. Example → |
professional | Business travel: flights with PNR / terminal / gate, meetings and conferences as first-class items, payer (personal / company), payment status, loyalty programs, expense notes. Example → |
agency | Packages sold by a tour operator or agency: guides and drivers to meet (photo, messaging, recognition sign), structured transfers, per-traveler tickets, the organisation's branding. Example → |
{
"formatVersion": "1.2",
"id": "bruges-weekend",
"name": "Weekend in Bruges",
"start": "2026-09-12",
"end": "2026-09-13",
"members": [
{ "id": "m1", "name": "Alex", "role": "owner", "kind": "adult" }
],
"days": [
{
"id": "d1", "index": 1, "date": "2026-09-12",
"title": "Canals and belfry",
"items": [
{ "id": "i1", "time": "10:00", "title": "Canal boat tour",
"type": "boat", "status": "planned",
"place": "Huidenvettersplein, Bruges",
"alternatives": [
{ "id": "a1", "trigger": "rain",
"title": "Groeninge Museum instead" }
] },
{ "id": "i2", "time": "12:30", "title": "Lunch",
"type": "meal", "status": "planned",
"options": [
{ "id": "o1", "title": "De Halve Maan", "place": "Walplein 26" },
{ "id": "o2", "title": "That's Toast", "place": "Dweersstraat 4" }
] }
]
}
]
}
More: nine annotated examples — minimal, city break, family vacation, business trip, road trip, multi-city, agency package, flight + hotel, full-featured demo — all validated against the current schema. Preview the demo →
| Step | |
|---|---|
1. write | Author a trip in JSON following the spec — or hand the prompt to an AI and let it generate the file. Recommended extension: .roadbook.json. |
2. validate | Run the official validator (browser or node cli.mjs trip.roadbook.json): structure, date/time formats, reference integrity. Errors can be copied as an AI repair prompt. |
3. preview | Hit Preview trip in the validator — a plain, read-only rendering to eyeball the result. |
4. play | Load the file into a compatible player: web, mobile, offline, synced across travelers. |
Those formats solve different problems and Roadbook does not replace them: an iCalendar export of a Roadbook, or a GPX track of a driving day, complement it well. What they cannot do is carry the whole trip with its semantics.
| Format | Events | Bookings | Transport | Tickets | Travelers | Alternatives | Machine readable |
|---|---|---|---|---|---|---|---|
PDF / e-mail | limited | visual only | visual only | visual | no semantics | no | poor |
iCalendar | yes | no | limited | no | limited | no | yes |
GPX / KML | no | no | route-focused | no | no | no | yes |
proprietary app formats | varies | varies | varies | varies | varies | varies | usually closed |
Roadbook | yes | yes | yes | yes | yes | yes | yes |
Read more: what a travel itinerary format needs · itinerary interchange between applications.
Specification, schema, validator, renderer and examples. Use them in commercial products.
Nothing to register. Read the spec, write a file, validate it locally.
Your itinerary is a text file you own. Any application may implement Roadbook; no permission is required.
Readers and writers — players, generators, importers, converters. Compatibility requirements →
Roadbook Format is the open specification. The official player roadbook.plus is one implementation, used to validate the spec on real trips; the validator is the reference implementation of the integrity rules. The three are deliberately kept separate.
| Current stable | Roadbook 1.2 — released 2026-08-08, additive amendments through 2026-08-22 (changelog). |
|---|---|
| Generate | New files should declare "formatVersion": "1.2". |
| Compatibility | Minor versions are additive; readers ignore and preserve unknown fields. Policy → |
| Media type | application/json, file extension .roadbook.json. No vendor media type is registered; see conventions. |
Around the specification: players (the official player roadbook.plus — offline-first PWA, details — and compatible viewers, yours included), generators (scripts, AI assistants, agency tooling), validation (web, CLI, ESM library, npm package in preparation) and agent tooling (llms.txt, llms-full.txt, MCP — planned). See integrations.
.roadbook.json document describing a complete travel itinerary — schedule, transport, bookings, tickets, travelers, alternatives, checklists, logistics — with a declared formatVersion and a public JSON Schema.path + message errors are made to be pasted back for correction. How →x-myapp-…) to avoid future collisions.