{
  "format": "pulp",
  "version": 1,
  "name": "Project Status Report",
  "published": false,
  "publishMajor": 1,
  "publishMinor": 0,
  "publishedBy": "",
  "publishedAt": null,
  "theme": "paper",
  "scale": 100,
  "blocks": [
    { "id": "prTitle", "type": "title", "text": "Project Status Report", "indent": 0 },
    {
      "id": "prInfo", "type": "form", "title": "", "text": "", "cols": 3, "formStyle": "grid", "indent": 0,
      "fields": [
        { "id": "prF1", "label": "Project", "value": "Website relaunch", "fieldType": "text", "options": [], "width": "compact" },
        { "id": "prF2", "label": "Report date", "value": "2026-10-05", "fieldType": "date", "options": [], "width": "compact" },
        {
          "id": "prF3", "label": "Overall status", "value": "prOptAmber", "fieldType": "select", "width": "compact",
          "options": [
            { "id": "prOptGreen", "label": "On track", "color": "#3fa66a" },
            { "id": "prOptAmber", "label": "At risk", "color": "#e08a3c" },
            { "id": "prOptRed", "label": "Off track", "color": "#e2574c" }
          ]
        },
        { "id": "prF6", "label": "Project lead", "value": "Alex Morgan", "fieldType": "text", "options": [], "width": "compact" },
        { "id": "prF7", "label": "Sponsor", "value": "Operations", "fieldType": "text", "options": [], "width": "compact" },
        { "id": "prF4", "label": "Budget approved", "value": "true", "fieldType": "checkbox", "options": [], "width": "compact" },
        { "id": "prF5", "label": "Summary", "value": "Design and content are complete. Development is two weeks behind because of a hosting change; launch moves from November to early December.", "fieldType": "multiline", "options": [], "width": "fill" }
      ]
    },

    { "id": "prH1", "type": "heading", "headingStyle": "h1", "text": "Milestones", "indent": 0 },
    {
      "id": "prTl", "type": "timeline", "text": "", "indent": 0,
      "events": [
        { "id": "prE1", "date": "2026/07/15", "title": "Kick-off", "body": "Scope, team and budget agreed.", "status": "done" },
        { "id": "prE2", "date": "2026/08/30", "title": "Design sign-off", "body": "Final page designs approved by the client.", "status": "done" },
        { "id": "prE3", "date": "2026/10/20", "title": "Development complete", "body": "Waiting on the new hosting environment.", "status": "active" },
        { "id": "prE4", "date": "2026/12/03", "title": "Launch", "body": "Go-live and handover.", "status": "upcoming" }
      ]
    },

    { "id": "prH2", "type": "heading", "headingStyle": "h1", "text": "Spend to date", "indent": 0 },
    {
      "id": "prChart", "type": "chart", "text": "", "indent": 0,
      "chartType": "area", "chartSchemaVersion": 1,
      "title": "Monthly spend", "description": "", "xLabel": "Month", "yLabel": "Spend",
      "series": [
        { "id": "prSerBud", "name": "Budget", "color": "slate" },
        { "id": "prSerAct", "name": "Actual", "color": "blue" }
      ],
      "rows": [
        { "id": "prM1", "label": "Jul", "values": { "prSerBud": 18000, "prSerAct": 16500 } },
        { "id": "prM2", "label": "Aug", "values": { "prSerBud": 22000, "prSerAct": 23900 } },
        { "id": "prM3", "label": "Sep", "values": { "prSerBud": 26000, "prSerAct": 27400 } },
        { "id": "prM4", "label": "Oct", "values": { "prSerBud": 24000, "prSerAct": 21200 } },
        { "id": "prM5", "label": "Nov", "values": { "prSerBud": 15000, "prSerAct": null } },
        { "id": "prM6", "label": "Dec", "values": { "prSerBud": 9000, "prSerAct": null } }
      ],
      "settings": {
        "showData": false, "showLegend": true, "showGrid": true, "showPoints": true, "tooltips": true,
        "zeroBaseline": true, "height": "standard", "valueDecimals": 0, "unit": "USD",
        "yMin": null, "yMax": null, "pieSeries": null
      }
    },

    { "id": "prH3", "type": "heading", "headingStyle": "h1", "text": "Risks", "indent": 0 },
    {
      "id": "prRisks", "type": "table", "title": "", "text": "", "indent": 0,
      "columns": [
        { "id": "prColRisk", "name": "Risk", "type": "text", "sum": false, "decimals": 2, "options": [], "formula": null },
        {
          "id": "prColImpact", "name": "Impact", "type": "select", "sum": false, "decimals": 2, "formula": null,
          "options": [
            { "id": "prOptLow", "label": "Low", "color": "#3fa66a" },
            { "id": "prOptMed", "label": "Medium", "color": "#d9a93c" },
            { "id": "prOptHigh", "label": "High", "color": "#e2574c" }
          ]
        },
        { "id": "prColOwner", "name": "Owner", "type": "text", "sum": false, "decimals": 2, "options": [], "formula": null },
        { "id": "prColDue", "name": "Review by", "type": "date", "sum": false, "decimals": 2, "options": [], "formula": null }
      ],
      "rows": [
        { "id": "prRk1", "cells": { "prColRisk": "Hosting migration slips further", "prColImpact": "prOptHigh", "prColOwner": "Alex", "prColDue": "2026/10/12" } },
        { "id": "prRk2", "cells": { "prColRisk": "Content approvals delayed", "prColImpact": "prOptMed", "prColOwner": "Sam", "prColDue": "2026/10/19" } },
        { "id": "prRk3", "cells": { "prColRisk": "Browser testing finds layout issues", "prColImpact": "prOptLow", "prColOwner": "Riley", "prColDue": "2026/11/02" } }
      ]
    },

    {
      "id": "prNext", "type": "checklist", "title": "Next steps", "text": "", "indent": 0,
      "items": [
        { "id": "prN1", "text": "Confirm the new hosting go-live date", "done": true },
        { "id": "prN2", "text": "Agree the revised launch date with the client", "done": false },
        { "id": "prN3", "text": "Book user testing sessions", "done": false }
      ]
    },
    { "id": "prCall", "type": "callout", "variant": "info", "title": "", "text": "Tip: hover the chart to read exact values, or open a chart's settings in Edit to switch it to a donut.", "indent": 0 }
  ],
  "auditLog": [],
  "modified": 1791180000000
}
