Example · all examples

Multi-city

This Roadbook represents a five-day, three-city trip by train — Madrid, Lisbon, Porto — with a night train that departs on one day and arrives the next (endDate) and crosses a timezone (timezone / endTimezone), Aztec tickets with berth numbers, a high-speed train with platform, one stay per city and a flight home.

file multi-city.roadbook.json format 1.2 days 5 items 19 bookings 7 validates ✓ schema + reference validator

⤓ Download multi-city.roadbook.json View raw JSON Validate Preview

What this example shows#

It is the reference for time handling: every time is the local wall-clock time where the item happens, and the logistics note spells the rule out for travelers. Each day carries its own timezone; the critical text on the night train warns about the arrival being in Lisbon time.

Features demonstrated#

Manifest tags: train night train endDate timezone endTimezone aztec seat platform multiple stays — see examples/index.json.

Excerpt#

Abridged — the full file is the reference.

{
  "days": [
    {
      "id": "d2",
      "index": 2,
      "date": "2026-09-22",
      "title": "Madrid → Lisbon (night train)",
      "timezone": "Europe/Madrid",
      "items": [
        {
          "id": "i7",
          "time": "21:43",
          "endTime": "07:20",
          "endDate": "2026-09-23",
          "title": "Night train Madrid Chamartín → Lisboa Santa Apolónia",
          "type": "train",
          "status": "planned",
          "stars": 1,
          "timezone": "Europe/Madrid",
          "endTimezone": "Europe/Lisbon",
          "bookingId": "b-train-1",
          "transport": {
            "carrier": "Example Rail",
            "number": "NT 335",
            "ref": "TRN-EXAMPLE-1",
            "from": {
              "name": "Madrid Chamartín",
              "platform": "14",
              "timezone": "Europe/Madrid"
            },
            "to": {
              "name": "Lisboa Santa Apolónia",
              "timezone": "Europe/Lisbon"
            }
          },
          "critical": "Arrival is 07:20 LISBON time (one hour behind Madrid)."
        }
      ]
    }
  ],
  "bookings": [
    {
      "id": "b-train-1",
      "type": "transport",
      "status": "confirmed",
      "title": "Night train Madrid → Lisbon — 2 berths",
      "price": 180,
      "payment": {
        "status": "prepaid"
      },
      "transport": {
        "carrier": "Example Rail",
        "number": "NT 335",
        "ref": "TRN-EXAMPLE-1"
      },
      "tickets": [
        {
          "id": "t1",
          "label": "Berth",
          "code": "TRN-EXAMPLE-1-A",
          "memberId": "m1",
          "seat": "Car 21, berth 13",
          "payload": "TRNEXAMPLE1A",
          "format": "aztec",
          "date": "2026-09-22",
          "time": "21:43"
        },
        {
          "id": "t2",
          "label": "Berth",
          "code": "TRN-EXAMPLE-1-B",
          "memberId": "m2",
          "seat": "Car 21, berth 14",
          "payload": "TRNEXAMPLE1B",
          "format": "aztec",
          "date": "2026-09-22",
          "time": "21:43"
        }
      ]
    }
  ]
}

Use it#