{
  "spec": "quick-html/v0",
  "id": "travel-itinerary",
  "version": "0.1.0",
  "name": "Travel Itinerary",
  "description": "Day-by-day trip itinerary on a vertical timeline: bold trip masthead, sand-tinted essentials card for flights and stay, numbered day cards with timed plans, and a good-to-know tips block. Pick it for city breaks, holidays and any multi-day trip.",
  "useWhen": [
    "travel itinerary",
    "trip plan",
    "plan a city break",
    "vacation day-by-day schedule",
    "holiday planner",
    "reisschema",
    "Reiseplan",
    "itinéraire de voyage"
  ],
  "format": "printable",
  "theme": "home-living",
  "tags": [
    "travel",
    "trip",
    "vacation",
    "planner",
    "itinerary"
  ],
  "language": "en",
  "page": {
    "size": "A4",
    "orientation": "portrait"
  },
  "modules": [
    "edit-overlay",
    "print-helper"
  ],
  "slots": [
    {
      "name": "doc-title",
      "type": "text",
      "required": true,
      "example": "Travel Itinerary — Lisbon in five days",
      "notes": "Browser tab title; used as the download filename."
    },
    {
      "name": "trip-title",
      "type": "text",
      "required": true,
      "example": "Lisbon in five days",
      "notes": "Big masthead title; short and evocative, keep under ~40 chars."
    },
    {
      "name": "trip-dates",
      "type": "text",
      "required": true,
      "example": "14 – 18 Sep 2026",
      "notes": "Date range exactly in this style; a single date is fine for day trips."
    },
    {
      "name": "travellers",
      "type": "text",
      "required": true,
      "example": "Bram & Sanne · 2 travellers",
      "notes": "Who is going; keep under ~60 chars."
    },
    {
      "name": "essentials-content",
      "type": "html",
      "required": false,
      "example": "<dl><dt>Outbound</dt><dd>TAP TP 665 · AMS → LIS · Mon 09:40 – 11:35</dd><dt>Return</dt><dd>TAP TP 674 · LIS → AMS · Fri 18:20 – 22:05</dd><dt>Stay</dt><dd>Casa do Limoeiro · Rua do Limoeiro 12, Alfama</dd></dl>",
      "notes": "Inside the essentials optional. One <dl> of dt/dd pairs (renders as a compact two-column grid): flights, stay, emergency numbers. Keep each dd under ~46 chars so cells stay one line; short <p> lines also work."
    },
    {
      "name": "tips-content",
      "type": "html",
      "required": false,
      "example": "<ul><li><strong>Tipping</strong> — round up or leave 5–10% at dinner.</li><li><strong>Getting around</strong> — buy a Navegante card and load Zapping credit.</li></ul>",
      "notes": "Inside the tips optional; one <ul> with 2–4 short bullets, each opening with a <strong> topic."
    },
    {
      "name": "footer-line",
      "type": "text",
      "required": false,
      "example": "Prepared 13 Aug 2026 · Lisbon city break for two",
      "notes": "Small line in the footer: prepared-by, booking reference or a send-off."
    }
  ],
  "repeats": [
    {
      "name": "day",
      "description": "One timeline card per travel day, in chronological order. The numbered dot on the spine renders automatically for each card.",
      "min": 1,
      "max": 14,
      "slots": [
        {
          "name": "day-label",
          "type": "text",
          "required": true,
          "example": "Day 1 · Mon 14 Sep",
          "notes": "Exactly this format: 'Day N · Ddd D Mon'."
        },
        {
          "name": "day-title",
          "type": "text",
          "required": true,
          "example": "Alfama & the miradouros",
          "notes": "The day's theme or area; keep under ~45 chars."
        },
        {
          "name": "day-plan",
          "type": "html",
          "required": true,
          "example": "<ul><li><strong>09:00</strong> Pastéis de Belém — arrive before the queue</li><li><strong>10:00</strong> Jerónimos Monastery — cloisters first, then the church</li><li><strong>19:00</strong> Time Out Market — dinner from the stalls</li></ul>",
          "notes": "One <ul> with 3–6 <li>, each '<strong>HH:MM</strong> Activity — short practical note'."
        }
      ]
    }
  ],
  "optionals": [
    {
      "name": "essentials",
      "description": "Sand-tinted card under the masthead with flights, stay and emergency numbers; remove when these are unknown or not wanted."
    },
    {
      "name": "tips",
      "description": "Good-to-know block after the timeline: transport, tipping, one lesser-known spot."
    }
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "date": "2026-08-14",
      "notes": "Initial release: A4 day-by-day itinerary with vertical timeline, numbered day cards, essentials card and tips block."
    }
  ],
  "agentInstructions": "Duplicate the 'day' block once per travel day, in chronological order, and delete the two data-example day cards (preview content only). The numbered dot on each card renders automatically — you never edit dot numbers, only the text slots. Mirror the placeholder formats exactly: day-label like 'Day 1 · Mon 14 Sep', trip-dates like '14 – 18 Sep 2026', times 24-hour HH:MM. Write each day-plan as one <ul> with 3–6 <li> items shaped '<strong>09:00</strong> Activity — short practical note'. Keep activities realistic, in sensible time order, and geographically sane: cluster each day around one neighbourhood or area the way the Lisbon sample does, and give each day-title the day's area or theme. Set doc-title to 'Travel Itinerary — ' + trip-title. If flights, stay or emergency numbers are unknown, either remove the essentials optional or keep it with recognizable placeholders like [FLIGHT NUMBER] and [HOTEL ADDRESS] and tell the user to fill them via the built-in Edit button. Remove the tips optional unless you have genuinely useful local advice (transport card, tipping, one lesser-known spot). Two pages are fine for longer trips — day cards never break across pages — but avoid a nearly empty final page: trim plan items rather than strand one small card.",
  "license": "MIT",
  "authors": [
    {
      "github": "bvrln"
    }
  ]
}
