Example · all examples
City break
This Roadbook represents a two-day city break in Lisbon for two adults, on foot and by tram: viewpoints and monuments, meal options decided on-site, a rain alternative on the castle visit, a confirmed hotel and two activities still to book with a dated reminder, indicative prices, a packing checklist and the emergency number.
⤓ Download city-break.roadbook.json View raw JSON Validate Preview
What this example shows#
It is the typical output of an AI travel planner for a short leisure trip: nothing is invented (no booking numbers, no ticket payloads), bookings that require action are marked to_book, and each meal offers two candidates rather than one guess. Notice critical used as a short warning text on the timed entry, and a tram ride typed transit with structured transport details.
Features demonstrated#
- ItemOption — on-site choice
- Alternative — conditional fallback
- Booking (to_book, reminder)
- TransportDetails on a transit item
- Checklist
- Contact
Manifest tags: options alternatives bookings to_book reminder checklist contacts transit prices — see examples/index.json.
Excerpt#
Abridged — the full file is the reference.
{
"days": [
{
"id": "d1",
"index": 1,
"date": "2026-10-10",
"title": "Alfama and the river",
"stayBookingId": "b-hotel",
"items": [
{
"id": "i2",
"time": "10:45",
"endTime": "12:30",
"title": "Castelo de São Jorge",
"type": "heritage",
"status": "planned",
"stars": 3,
"place": "R. de Santa Cruz do Castelo, Lisboa",
"coords": {
"lat": 38.7139,
"lon": -9.1335
},
"bookingId": "b-castle",
"price": 30,
"priceEstimated": true,
"critical": "Timed entry — arrive 10 minutes before the slot.",
"alternatives": [
{
"id": "a1",
"trigger": "rain",
"title": "Museu de Lisboa — Teatro Romano",
"desc": "Indoor, 5 minutes downhill."
}
]
},
{
"id": "i3",
"time": "13:00",
"title": "Lunch in Alfama",
"type": "meal",
"status": "planned",
"options": [
{
"id": "o1",
"title": "Tasca do Chico",
"place": "R. dos Remédios 83",
"desc": "Grilled fish, small and lively"
},
{
"id": "o2",
"title": "Ao 26 Vegan Food Project",
"place": "R. Vítor Cordon 26",
"desc": "Vegan — good for Sam"
}
]
}
]
}
],
"bookings": [
{
"id": "b-castle",
"type": "activity",
"status": "to_book",
"title": "Castelo de São Jorge — timed entry",
"website": "https://castelodesaojorge.pt",
"reminder": {
"date": "2026-10-03",
"action": "Book the 10:45 slot for 2 adults"
}
}
]
}
Use it#
- As a reader test: load the file in your player or importer; it must open without error and unknown fields (if you add some) must survive a round-trip.
- As a writer reference: copy the shapes you need — the specification documents every field and the JSON Schema validates the structure.
- With an AI assistant: hand it the file URL as a shape reference ("produce a Roadbook like city-break.roadbook.json for …"); then validate the output.