{
  "schemaVersion": 2,
  "name": "Tansy",
  "slug": "tansy",
  "blocks": [
    "Pages",
    "Lists: forms"
  ],
  "persona": "teachers",
  "keywords": [
    "school",
    "primary school",
    "nursery",
    "term dates",
    "school news",
    "clubs",
    "admissions",
    "open morning",
    "headteacher",
    "school website",
    "enquiry form",
    "calendar"
  ],
  "description": "A small primary school or nursery website: corrugated-card wall displays in sugar-paper green, blue and yellow, a news list with story pages, term dates, a diary that drops past events, clubs and an admissions enquiry.",
  "audience": [
    "primary school",
    "nursery"
  ],
  "category": "Education",
  "job": "education",
  "categoryId": "tutor",
  "alsoFits": [
    "primary school",
    "nursery",
    "preschool",
    "infant school",
    "academy",
    "playgroup"
  ],
  "direction": "Wall display: sugar-paper boards in green, blue and yellow with orange corrugated-card edges, pinned cards, rounded Fredoka headings and Atkinson Hyperlegible text",
  "mood": [
    "light",
    "bold",
    "modern"
  ],
  "schemaOrg": "ElementarySchool",
  "palette": {
    "--paper": "#F8F1DF",
    "--ink": "#16202A",
    "--green": "#2F7D5C",
    "--orange": "#E56B25",
    "--blue": "#2B58C0",
    "--yellow": "#F5C442"
  },
  "fonts": [
    "Fredoka",
    "Atkinson Hyperlegible"
  ],
  "pages": [
    {
      "path": "index.html",
      "label": "Home",
      "purpose": "The school in a sentence, gates and office at a glance, the next three diary events and news stories, what a day looks like, a note from the head and an enquiry call to action"
    },
    {
      "path": "news.html",
      "label": "News",
      "purpose": "Every news story, newest first, from the news list"
    },
    {
      "path": "news/_item.html",
      "label": "A news story",
      "purpose": "Item page: each story of the news list gets its own page at news/<slug>, with its date, category, optional picture, body and its own search title and summary"
    },
    {
      "path": "calendar.html",
      "label": "Term dates",
      "purpose": "Term dates and closed days from the terms list, and the diary of upcoming events (only dates from today on) from the events list"
    },
    {
      "path": "clubs.html",
      "label": "Clubs",
      "purpose": "Lunchtime and after-school clubs from the clubs list: day, time, year groups, leader and cost"
    },
    {
      "path": "visit.html",
      "label": "Visit us",
      "purpose": "Enquiry form slot (fallback email and phone) for admissions and visits, address, office hours, what a visit is like and how to get here"
    }
  ],
  "slots": [
    {
      "id": "enquiry",
      "kind": "form",
      "page": "visit.html",
      "fallback": "mailto"
    }
  ],
  "facts": [
    "school name, town and address",
    "office phone and email",
    "office hours and gate times",
    "headteacher name",
    "age range and year groups",
    "term dates and closed days",
    "clubs (day, time, who leads, cost)",
    "news stories and diary events",
    "how to get there and where to park"
  ],
  "interview": [
    "What is the school or nursery called, and where is it?",
    "What age range do you take, and how many classes?",
    "What are the gate times and the office hours?",
    "What are this year’s term dates and closed days?",
    "Which clubs run, on which days and at what cost?",
    "Who answers admissions questions, and by phone, email or form?"
  ],
  "customise": {
    "strings": [
      "School name \"Tansy Lane Primary School\" and the short brand \"Tansy Lane\" in every header, footer, title and the JSON-LD",
      "Town \"Wrenfold\", address, phone and email in every footer, visit.html, privacy.html and the JSON-LD",
      "Gate and school-day times in the hero strip on index.html",
      "Headteacher \"Imogen Ashby\" on index.html and visit.html",
      "News, terms, events and clubs come from their lists"
    ],
    "colours": "Edit the :root tokens at the top of styles.css; also replace the matching hex values in art/*.svg and favicon.svg",
    "fonts": "Change the Google Fonts <link> on every page and --font-display / --font-body",
    "sections": "Each page is self-contained; keep the header, footer and the enquiry slot on visit.html. Publish no pupil data, no children's names and no photos of children",
    "images": "Replace art/school.svg (1600×1000, the building), art/playground.svg, art/garden.svg and art/hall.svg with photos of buildings, grounds and objects only, never of people; keep the frame ratios and data-pl-photo notes; WebP under 300 KB"
  },
  "files": [
    "index.html",
    "news.html",
    "news/_item.html",
    "news/harvest-soup-lunch.html",
    "news/reception-open-mornings.html",
    "news/reading-corners.html",
    "news/bike-shelter.html",
    "news/climbing-frame.html",
    "news/welcome-back.html",
    "calendar.html",
    "clubs.html",
    "visit.html",
    "privacy.html",
    "404.html",
    "styles.css",
    "script.js",
    "favicon.svg",
    "og.png",
    "apple-touch-icon.png",
    "art/school.svg",
    "art/playground.svg",
    "art/garden.svg",
    "art/hall.svg"
  ],
  "updated": "2026-11-03",
  "visuals": {
    "notes": "A classroom wall display. Flat SVG scenes in art/ with no people: the school front, the playground, the garden beds and the hall. Colours are literal hex values in the files.",
    "prompt": "Draw a flat SVG of a red-brick village school with a clock over a blue door and a hopscotch grid on the path, in sugar-paper greens, blues and yellows, with no people."
  },
  "lists": [
    {
      "name": "news",
      "label": "News",
      "pages": [
        "index.html",
        "news.html",
        "news/_item.html"
      ],
      "fields": [
        {
          "name": "title",
          "type": "text",
          "label": "Headline"
        },
        {
          "name": "published",
          "type": "date",
          "label": "Published"
        },
        {
          "name": "category",
          "type": "text",
          "label": "Category"
        },
        {
          "name": "image",
          "type": "image",
          "label": "Picture (buildings and objects only)"
        },
        {
          "name": "caption",
          "type": "text",
          "label": "Picture caption"
        },
        {
          "name": "body",
          "type": "rich_text",
          "label": "Story"
        },
        {
          "name": "seo_title",
          "type": "text",
          "label": "Search title"
        },
        {
          "name": "summary",
          "type": "text",
          "label": "Search and share summary"
        }
      ],
      "items": [
        {
          "slug": "harvest-soup-lunch",
          "title": "Harvest soup lunch raised £412 for the food bank",
          "published": "2026-10-30",
          "category": "Community",
          "image": "art/garden.svg",
          "caption": "The raised beds in the school garden, where the soup vegetables grew.",
          "body": "<p>Every class brought something for the pot, and by twelve o’clock the hall was full. The soup was made from vegetables grown in the school garden, plus a great many carrots from home.</p><p>Families and neighbours paid what they liked for a bowl and a roll. In all we raised £412 for the Wrenfold Food Larder, which opens every Thursday at the church hall.</p><p>Thank you to the kitchen team, to everyone who peeled and to the Year 6 helpers who carried the bowls.</p>",
          "seo_title": "Harvest soup lunch raised £412 for the food bank | Tansy",
          "summary": "Every class brought something for the pot and the hall was full by twelve. A harvest lunch at Tansy Lane raised £412 for the Wrenfold Food Larder."
        },
        {
          "slug": "reception-open-mornings",
          "title": "Open mornings for Reception places in September 2027",
          "published": "2026-10-23",
          "category": "Admissions",
          "body": "<p>If your child is due to start school in September 2027, you are welcome to visit in January. The headteacher will show you round, and you can see a class at work.</p><p>Open mornings are listed on the <a href=\"calendar.html\">term dates page</a>. If none suits, call the office and we will arrange a visit on any school day.</p><ul><li>Visits take about forty minutes</li><li>There is step-free access through the lower gate</li><li>Applications go through the local council, not through the school</li></ul>",
          "seo_title": "Open mornings for Reception places in September 2027 | Tansy",
          "summary": "Open mornings for Reception places in September 2027 are in January. See the school at work, meet the headteacher and ask anything you like."
        },
        {
          "slug": "reading-corners",
          "title": "New reading corners open in every classroom",
          "published": "2026-10-16",
          "category": "Learning",
          "image": "art/hall.svg",
          "caption": "The hall, where the class book swap was held.",
          "body": "<p>Over the October break the caretaker and a team of volunteers built a reading corner in every classroom. Each one has cushions, a small lamp and a shelf of books chosen by the class.</p><p>The shelves change every half term, so there is always something new. Donations of clean, good-condition picture books and short novels are very welcome at the office.</p>",
          "seo_title": "New reading corners open in every Tansy Lane classroom | Tansy",
          "summary": "Every classroom now has a reading corner with cushions, a lamp and a class-chosen shelf of books that changes each half term. Book donations welcome."
        },
        {
          "slug": "bike-shelter",
          "title": "A new shelter for bikes and scooters by the lower gate",
          "published": "2026-10-02",
          "category": "Notices",
          "body": "<p>The new shelter by the lower gate holds thirty bikes and as many scooters. It is open from 8:35 and locked at 15:30 when the last club ends.</p><p>Please lock bikes to the rail and take helmets inside with you. Anything left over the weekend will be moved to the office.</p>",
          "seo_title": "A new shelter for bikes and scooters by the lower gate | Tansy",
          "summary": "A covered shelter for thirty bikes and scooters opens by the lower gate at 8:35. Please lock bikes to the rail and take helmets with you."
        },
        {
          "slug": "climbing-frame",
          "title": "A new climbing frame for the lower playground",
          "published": "2026-09-18",
          "category": "Outdoors",
          "image": "art/playground.svg",
          "caption": "The new climbing frame, with a slide and a painted hopscotch grid beside it.",
          "body": "<p>The new frame went in over the summer holiday, built from larch by a firm in the next valley. It has a slide, a rope bridge and a seat underneath for anyone who wants a quieter break.</p><p>It was paid for by the summer fair and by a grant from the parish council. Thank you to everyone who bought a cake.</p>",
          "seo_title": "A new climbing frame for the lower playground | Tansy Lane",
          "summary": "The old frame is gone and a wooden replacement has a slide, a rope bridge and a quiet seat. It was paid for by the summer fair and a parish grant."
        },
        {
          "slug": "welcome-back",
          "title": "Welcome back: a few dates and a reminder about the gates",
          "published": "2026-09-04",
          "category": "Notices",
          "body": "<p>Welcome back to everyone, and a special welcome to our new Reception families. A few reminders for the first half term.</p><p>The front gate opens at 8:35 and closes at 8:50. After that, please come to the office. The school day ends at 15:15, and clubs start in the second week.</p><p>You will find every date on the <a href=\"calendar.html\">term dates page</a>.</p>",
          "seo_title": "Welcome back: dates and a reminder about the gates | Tansy",
          "summary": "The front gate opens at 8:35 and closes at 8:50, the school day ends at 15:15 and clubs start in week two. All the first half-term dates in one place."
        }
      ]
    },
    {
      "name": "terms",
      "label": "Term dates",
      "pages": [
        "calendar.html"
      ],
      "fields": [
        {
          "name": "name",
          "type": "text",
          "label": "Term"
        },
        {
          "name": "starts",
          "type": "date",
          "label": "First day"
        },
        {
          "name": "ends",
          "type": "date",
          "label": "Last day"
        },
        {
          "name": "half_term",
          "type": "text",
          "label": "Half term"
        },
        {
          "name": "closed",
          "type": "text",
          "label": "Closed days"
        }
      ],
      "items": [
        {
          "slug": "autumn-term-2027",
          "name": "Autumn term 2027",
          "starts": "2027-09-02",
          "ends": "2027-12-17",
          "half_term": "Half term: 25 to 29 October",
          "closed": "Staff training day: Wednesday 1 September, before term starts"
        },
        {
          "slug": "spring-term-2028",
          "name": "Spring term 2028",
          "starts": "2028-01-04",
          "ends": "2028-03-31",
          "half_term": "Half term: 14 to 18 February",
          "closed": "Staff training day: Monday 3 January, before term starts"
        },
        {
          "slug": "summer-term-2028",
          "name": "Summer term 2028",
          "starts": "2028-04-18",
          "ends": "2028-07-21",
          "half_term": "Half term: 29 May to 2 June",
          "closed": "Closed Monday 1 May, bank holiday"
        }
      ]
    },
    {
      "name": "events",
      "label": "Diary events",
      "pages": [
        "index.html",
        "calendar.html"
      ],
      "fields": [
        {
          "name": "title",
          "type": "text",
          "label": "Event"
        },
        {
          "name": "date",
          "type": "date",
          "label": "Date"
        },
        {
          "name": "time",
          "type": "text",
          "label": "Time"
        },
        {
          "name": "place",
          "type": "text",
          "label": "Where"
        },
        {
          "name": "kind",
          "type": "text",
          "label": "Kind"
        },
        {
          "name": "detail",
          "type": "long_text",
          "label": "Details"
        }
      ],
      "items": [
        {
          "date": "2028-01-12",
          "kind": "Admissions",
          "title": "Open morning for Reception",
          "time": "9:30 to 11:00",
          "place": "Main hall",
          "detail": "Meet the headteacher, see the classrooms and ask anything. No need to book, but tell us if you need step-free access."
        },
        {
          "date": "2028-02-03",
          "kind": "Meetings",
          "title": "Family meetings, spring term",
          "time": "15:30 to 18:30",
          "place": "Classrooms",
          "detail": "Ten-minute slots with your child’s class teacher. Book a slot at the office from the week before."
        },
        {
          "date": "2028-03-02",
          "kind": "Whole school",
          "title": "World Book Day dress-up",
          "time": "All day",
          "place": "Whole school",
          "detail": "Come as a character from a favourite book. A book swap runs in the hall at lunchtime."
        },
        {
          "date": "2028-03-24",
          "kind": "Concert",
          "title": "Spring concert",
          "time": "14:00",
          "place": "Main hall",
          "detail": "Songs from every class and a recorder finale. Doors open at 13:40 and everyone is welcome."
        },
        {
          "date": "2028-05-12",
          "kind": "Fundraiser",
          "title": "Plant sale",
          "time": "15:15 to 16:30",
          "place": "Garden gate",
          "detail": "Seedlings grown in the school garden, from tomatoes to marigolds. Cash or card."
        },
        {
          "date": "2028-06-23",
          "kind": "Sports",
          "title": "Sports day",
          "time": "9:15 to 12:00",
          "place": "School field",
          "detail": "Races for every year group, then a picnic lunch. Bring a hat and sun cream."
        },
        {
          "date": "2028-07-14",
          "kind": "Fundraiser",
          "title": "Summer fair",
          "time": "12:00 to 15:00",
          "place": "Playground",
          "detail": "Cake stall, tombola, bouncy castle and the raffle. All proceeds go to the playground fund."
        }
      ]
    },
    {
      "name": "clubs",
      "label": "Clubs",
      "pages": [
        "clubs.html"
      ],
      "fields": [
        {
          "name": "name",
          "type": "text",
          "label": "Club"
        },
        {
          "name": "day",
          "type": "text",
          "label": "Day"
        },
        {
          "name": "time",
          "type": "text",
          "label": "Time"
        },
        {
          "name": "years",
          "type": "text",
          "label": "Year groups"
        },
        {
          "name": "leader",
          "type": "text",
          "label": "Led by"
        },
        {
          "name": "cost",
          "type": "text",
          "label": "Cost"
        },
        {
          "name": "about",
          "type": "long_text",
          "label": "What happens"
        }
      ],
      "items": [
        {
          "name": "Lunchtime chess",
          "day": "Monday",
          "time": "12:15 to 12:45",
          "years": "Years 2 to 6",
          "leader": "Mr Okafor",
          "cost": "Free",
          "about": "Boards out in the library, beginners welcome. We learn one opening a half term and play the rest of the time."
        },
        {
          "name": "Choir",
          "day": "Tuesday",
          "time": "8:15 to 8:45",
          "years": "Years 3 to 6",
          "leader": "Mrs Lindqvist",
          "cost": "Free",
          "about": "Warm-up, a round and two songs. The choir sings at the spring concert and at the harvest lunch."
        },
        {
          "name": "Football",
          "day": "Wednesday",
          "time": "15:20 to 16:20",
          "years": "Years 3 to 6",
          "leader": "Mr Pell",
          "cost": "£2.50 a session",
          "about": "Drills and a short match on the field. Boots and shin pads please; wet weather moves us to the hall."
        },
        {
          "name": "Gardening club",
          "day": "Thursday",
          "time": "12:15 to 12:45",
          "years": "Years 1 to 6",
          "leader": "Ms Harrow",
          "cost": "Free",
          "about": "Sowing, weeding and watering the raised beds. What we grow ends up in the harvest soup or the plant sale."
        },
        {
          "name": "Art and clay",
          "day": "Friday",
          "time": "15:20 to 16:20",
          "years": "Years 2 to 6",
          "leader": "Mrs Lindqvist",
          "cost": "£3.00 a session",
          "about": "A different material each half term: clay, printing, paper cutting. Aprons provided."
        },
        {
          "name": "Homework and reading drop-in",
          "day": "Monday",
          "time": "15:20 to 16:20",
          "years": "Years 3 to 6",
          "leader": "Ms Harrow",
          "cost": "Free",
          "about": "A quiet room, a kettle for the adults and books on every table. Drop in whenever you like."
        }
      ]
    }
  ]
}
