{
  "spec": "quick-html/v0",
  "id": "event-programme",
  "version": "0.1.0",
  "name": "Event Programme",
  "description": "Elegant one-page order-of-day programme: centred serif header, gold ornament divider, a timed running order on hairline rules, optional practical notes and a word of thanks. Fits weddings, anniversaries, ceremonies, conferences and concert evenings.",
  "useWhen": [
    "event programme",
    "order of the day",
    "running order",
    "wedding programme",
    "ceremony schedule",
    "conference day agenda",
    "programma",
    "draaiboek",
    "tagesprogramm",
    "programme de la soirée"
  ],
  "format": "printable",
  "theme": "events",
  "tags": [
    "programme",
    "schedule",
    "agenda",
    "running-order",
    "ceremony"
  ],
  "language": "en",
  "page": {
    "size": "A4",
    "orientation": "portrait"
  },
  "modules": [
    "edit-overlay",
    "print-helper"
  ],
  "slots": [
    {
      "name": "doc-title",
      "type": "text",
      "required": true,
      "example": "Programme — Willem & Margriet de Vries · 25 Years",
      "notes": "Browser tab title; used as the download filename."
    },
    {
      "name": "kicker",
      "type": "text",
      "required": true,
      "example": "Programme",
      "notes": "Small-caps label above the title; rendered uppercase. 'Programme', 'Order of Service', 'Agenda' — keep to 1–3 words."
    },
    {
      "name": "event-title",
      "type": "text",
      "required": true,
      "example": "Willem & Margriet de Vries",
      "notes": "Large serif headline: the couple, occasion or conference name. Keep under ~40 characters so it stays on one or two lines."
    },
    {
      "name": "event-date",
      "type": "date",
      "required": true,
      "example": "Saturday 26 September 2026",
      "notes": "Written out in full, weekday included."
    },
    {
      "name": "venue-name",
      "type": "text",
      "required": true,
      "example": "Landgoed Duin & Kruidberg, Santpoort",
      "notes": "Venue, optionally with town; rendered uppercase on the detail line."
    },
    {
      "name": "welcome-line",
      "type": "html",
      "required": true,
      "example": "<p>Twenty-five years ago we said yes to each other; tonight we raise a glass to everything that followed. We are so glad you are here — welcome, and make yourselves at home.</p>",
      "notes": "1–2 gracious sentences in one <p>; keep under ~220 characters."
    },
    {
      "name": "practical-content",
      "type": "html",
      "required": false,
      "example": "<p><strong>Parking</strong> — free on the estate; follow the signs from the main gate.</p><p><strong>Taxis</strong> — Taxi Santpoort, +31 23 538 22 11.</p>",
      "notes": "Inside the practical optional block; 2–5 short <p> lines (parking, taxis, wi-fi, accommodation, contact), rendered in two columns."
    },
    {
      "name": "thanks-line",
      "type": "html",
      "required": false,
      "example": "<p>With thanks to our children, Floor & Daan, who planned this evening down to the smallest detail.</p>",
      "notes": "Inside the thanks optional block; one <p>, one line."
    },
    {
      "name": "footer-line",
      "type": "text",
      "required": false,
      "example": "Willem & Margriet · 26 September 2026 · Landgoed Duin & Kruidberg",
      "notes": "Very muted; names/date/venue or a website."
    }
  ],
  "repeats": [
    {
      "name": "entry",
      "description": "One row of the running order: time, title and an optional short detail line.",
      "min": 2,
      "max": 20,
      "slots": [
        {
          "name": "entry-time",
          "type": "text",
          "required": true,
          "example": "17:00",
          "notes": "24-hour clock, zero-padded ('09:30', '17:00'); rows must be chronological."
        },
        {
          "name": "entry-title",
          "type": "text",
          "required": true,
          "example": "Reception on the south lawn",
          "notes": "Keep under 60 characters, no trailing period."
        },
        {
          "name": "entry-detail",
          "type": "html",
          "required": false,
          "example": "<p>Champagne & canapés · Weather permitting</p>",
          "notes": "0–2 short lines (who/where/note), each its own <p>, parts joined with ' · '; leave empty when not needed."
        }
      ]
    }
  ],
  "optionals": [
    {
      "name": "practical",
      "description": "Hairline-ruled band with practical notes in two columns: parking, taxis, wi-fi, accommodation, contact number."
    },
    {
      "name": "thanks",
      "description": "Single centred italic line of thanks above the footer."
    }
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "date": "2026-08-14",
      "notes": "Initial release: one-page A4 running-order programme with centred header, ornament divider, timed entry repeat, practical and thanks optionals."
    }
  ],
  "agentInstructions": "Keep entries in strict chronological order with plausible, consistent times formatted like the placeholders: 24-hour, zero-padded ('09:30', '17:00' — never am/pm). Remove the data-example rows and create one 'entry' per programme item. entry-title stays short (≤60 characters, no trailing period); entry-detail is at most two short lines (who/where/note, parts separated by ' · ') and may be left empty — never a paragraph. Adapt the register to the event while keeping the same structure: warm and gracious for weddings, anniversaries and ceremonies; crisp and neutral for conferences and concerts (set kicker to 'Agenda' or 'Order of Service' when that fits better). Write event-date out in full with the weekday ('Saturday 26 September 2026'). The document must stay ONE A4 page: beyond ~14 entries, tighten or drop entry-detail lines first, then remove the practical block. Remove the practical and/or thanks optional blocks when there is nothing real to say. If details are unknown (venue, contact number, menu), leave clearly recognizable placeholders like [VENUE NAME] or [CONTACT NUMBER] and tell the user to fill them in via the built-in Edit button.",
  "license": "MIT",
  "authors": [
    {
      "github": "bvrln"
    }
  ]
}
