{
  "demo": true,
  "settings": {
    "merge": {
      "companyName": "Gotham House",
      "tagline": "A members' club after dark."
    }
  },
  "data_tables": [
    {
      "key": "contact_submissions",
      "name": "Door Enquiries",
      "description": "Seeded contact-form submissions for the Gotham House demo. A submission becomes a row here and emails the site admins.",
      "columns": [
        { "key": "name", "label": "Name", "type": "text", "required": true },
        { "key": "email", "label": "Email", "type": "email", "required": true },
        { "key": "party", "label": "Party size", "type": "text", "required": false },
        { "key": "message", "label": "Message", "type": "text", "required": true }
      ]
    }
  ],
  "pages": [
    {
      "slug": "/",
      "title": "Gotham House",
      "template_key": "landing",
      "blocks": [
        {
          "block_key": "hero",
          "title": "Hero",
          "slot": "main",
          "sort_order": 1,
          "content": {
            "template": "centered",
            "minHeight": "75vh",
            "eyebrow": "Members only",
            "headline": "Gotham House",
            "subheadline": "A members' club after dark.",
            "description": "Late rooms, a long bar and a short guest list. Doors from nine, Thursday to Sunday. Bring your card.",
            "ctaPrimary": { "text": "Request the guest list", "url": "/contact" },
            "ctaSecondary": { "text": "See the programme", "url": "#programme" }
          }
        },
        {
          "block_key": "gotham:events_marquee",
          "title": "Programme",
          "slot": "main",
          "sort_order": 2,
          "content": {
            "eyebrow": "The programme",
            "title": "Tonight and after",
            "events": [
              { "date": "Thu", "name": "Late Set", "room": "Main Room", "note": "Resident selectors. Slow start, long finish.", "url": "/contact" },
              { "date": "Fri", "name": "The Gilt Sessions", "room": "The Brass Room", "note": "House and disco on the good system.", "url": "/contact" },
              { "date": "Sat", "name": "Members' Night", "room": "Whole House", "note": "Card on the door. No list, no entry.", "url": "/contact" },
              { "date": "Sun", "name": "Last Pour", "room": "The Cellar Bar", "note": "Quiet room. Records and a nightcap.", "url": "/contact" }
            ]
          }
        },
        {
          "block_key": "gotham:membership_tiers",
          "title": "Membership",
          "slot": "main",
          "sort_order": 3,
          "content": {
            "eyebrow": "Membership",
            "title": "Join the house",
            "intro": "Two ways in. Both start at the door.",
            "tiers": [
              {
                "name": "House",
                "price": "$40",
                "cadence": "/ month",
                "description": "The standard card. Enough for most nights.",
                "featured": false,
                "applyLabel": "Apply",
                "applyUrl": "/contact",
                "features": [
                  { "label": "Priority on the guest list" },
                  { "label": "The main room and the cellar bar" },
                  { "label": "Two guests a night" }
                ]
              },
              {
                "name": "Brass",
                "price": "$120",
                "cadence": "/ month",
                "description": "The full card. Every room, every night.",
                "featured": true,
                "applyLabel": "Apply",
                "applyUrl": "/contact",
                "features": [
                  { "label": "Everything in House" },
                  { "label": "The Brass Room and private booths" },
                  { "label": "First call on bottle service" },
                  { "label": "Four guests a night" }
                ]
              }
            ]
          }
        },
        {
          "block_key": "gotham:bottle_menu",
          "title": "Bottle service",
          "slot": "main",
          "sort_order": 4,
          "content": {
            "eyebrow": "The cellar",
            "title": "Bottle service",
            "footnote": "Booths hold six. Ask the host for the full list.",
            "sections": [
              {
                "title": "Champagne",
                "items": [
                  { "name": "House brut", "note": "By the glass or the bottle.", "price": "$95" },
                  { "name": "Vintage rose", "note": "A short shelf. Ask first.", "price": "$180" }
                ]
              },
              {
                "title": "Spirits",
                "items": [
                  { "name": "Aged rye", "note": "Neat, one large cube.", "price": "$140" },
                  { "name": "Single malt", "note": "Islay. Bring water.", "price": "$160" }
                ]
              }
            ]
          }
        },
        {
          "block_key": "cta",
          "title": "Closing CTA",
          "slot": "cta",
          "sort_order": 1,
          "content": {
            "background": "band",
            "heading": "The list closes at nine",
            "text": "Send your name and party. We reply the same day.",
            "primaryLabel": "Request the guest list",
            "primaryUrl": "/contact"
          }
        }
      ]
    },
    {
      "slug": "/about",
      "title": "The House",
      "template_key": "default",
      "blocks": [
        { "block_key": "heading", "title": "Heading", "slot": "main", "sort_order": 1, "content": { "text": "The House", "level": 1 } },
        { "block_key": "rich-text", "title": "Story", "slot": "main", "sort_order": 2, "content": { "html": "<p>Gotham House keeps late hours behind an unmarked door. We run four nights a week and hold the rest of the week back.</p><p>The rooms are dark by design. The bar is long. The list is short. Members come first, and their guests come with them.</p>" } },
        { "block_key": "divider", "title": "Divider", "slot": "main", "sort_order": 3, "content": { "variant": "ornament", "icon": "lucide:diamond" } },
        { "block_key": "quote", "title": "Quote", "slot": "main", "sort_order": 4, "content": { "style": "block", "align": "center", "quote": "Come late. Stay later.", "attribution": "The House" } }
      ]
    },
    {
      "slug": "/blog",
      "title": "The Journal",
      "template_key": "blog-index",
      "blocks": [
        { "block_key": "card", "title": "Post: The Door", "slot": "main", "sort_order": 1, "content": { "layout": "vertical", "title": "How the door works", "text": "<p>The list, the card and the guests. What to send and when.</p>", "link": "/blog/how-the-door-works", "linkLabel": "Read on" } },
        { "block_key": "card", "title": "Post: A Night", "slot": "main", "sort_order": 2, "content": { "layout": "vertical", "title": "A night at the house", "text": "<p>From the first pour to the last record. How the evening runs.</p>", "link": "/blog/a-night-at-the-house", "linkLabel": "Read on" } },
        { "block_key": "card", "title": "Post: The Cellar", "slot": "main", "sort_order": 3, "content": { "layout": "vertical", "title": "Notes from the cellar", "text": "<p>What we pour after midnight and why the list stays short.</p>", "link": "/blog/notes-from-the-cellar", "linkLabel": "Read on" } }
      ]
    },
    {
      "slug": "/blog/how-the-door-works",
      "title": "How the door works",
      "template_key": "article",
      "parent_slug": "/blog",
      "blocks": [
        { "block_key": "heading", "title": "Title", "slot": "main", "sort_order": 1, "content": { "text": "How the door works", "level": 1 } },
        { "block_key": "rich-text", "title": "Body", "slot": "main", "sort_order": 2, "content": { "html": "<p>Send your name and party by nine. We hold the list until then and reply the same day.</p><p>Members lead. Guests come with them, and there is a cap. Bring your card. The door checks it.</p>" } }
      ]
    },
    {
      "slug": "/blog/a-night-at-the-house",
      "title": "A night at the house",
      "template_key": "article",
      "parent_slug": "/blog",
      "blocks": [
        { "block_key": "heading", "title": "Title", "slot": "main", "sort_order": 1, "content": { "text": "A night at the house", "level": 1 } },
        { "block_key": "rich-text", "title": "Body", "slot": "main", "sort_order": 2, "content": { "html": "<p>Doors open at nine. The first set starts slow. The main room fills after eleven and holds until the lights come up.</p><p>The cellar bar stays quiet. That is the point. Records, a nightcap and the last pour.</p>" } }
      ]
    },
    {
      "slug": "/blog/notes-from-the-cellar",
      "title": "Notes from the cellar",
      "template_key": "article",
      "parent_slug": "/blog",
      "blocks": [
        { "block_key": "heading", "title": "Title", "slot": "main", "sort_order": 1, "content": { "text": "Notes from the cellar", "level": 1 } },
        { "block_key": "rich-text", "title": "Body", "slot": "main", "sort_order": 2, "content": { "html": "<p>The list is short by choice. We pour champagne by the glass, keep a bench of rye and hold a small shelf for members who ask.</p><p>Tell the host what you are drinking. The rest follows.</p>" } }
      ]
    },
    {
      "slug": "/contact",
      "title": "The Door",
      "template_key": "contact",
      "blocks": [
        {
          "block_key": "contact-form",
          "title": "Guest List Enquiry",
          "slot": "main",
          "sort_order": 1,
          "content": {
            "heading": "Request the guest list",
            "description": "Send your name, the night and the party. We reply the same day.",
            "submitLabel": "Send to the door",
            "successMessage": "Thank you. Your name is with the door. We will reply by email.",
            "fields": [
              { "name": "name", "label": "Your name", "type": "text", "required": true, "width": "half" },
              { "name": "email", "label": "Email", "type": "email", "required": true, "width": "half" },
              { "name": "party", "label": "Party size", "type": "text", "required": false, "width": "half" },
              { "name": "message", "label": "Which night, and any notes", "type": "textarea", "required": true, "width": "full" }
            ],
            "formConfig": { "enabled": true, "captchaEnabled": false, "targetTable": "contact_submissions" }
          }
        },
        {
          "block_key": "hours-location",
          "title": "Door & Hours",
          "slot": "aside",
          "sort_order": 1,
          "content": {
            "heading": "The Door",
            "hours": [
              { "day": "Thursday", "hours": "9pm to late" },
              { "day": "Friday to Saturday", "hours": "9pm to 4am" },
              { "day": "Sunday", "hours": "9pm to 2am" },
              { "day": "Monday to Wednesday", "closed": true }
            ],
            "specialHoursNote": "Members' Night runs Saturday. Card on the door.",
            "address": "1 Vane Court\nThe Old Quarter",
            "phone": "+1 555 0139"
          }
        }
      ]
    },
    {
      "slug": "/login",
      "title": "Members",
      "template_key": "auth",
      "blocks": [
        { "block_key": "auth-form", "title": "Sign in", "slot": "main", "sort_order": 1, "content": { "default_tab": "login", "show_social": false } },
        { "block_key": "text", "title": "Foot", "slot": "footer", "sort_order": 1, "content": { "text": "<p>Members book priority nights and private booths.</p>" } }
      ]
    }
  ],
  "menu_items": [
    { "menu": "main", "label": "Home", "page_slug": "/", "sort_order": 1 },
    { "menu": "main", "label": "The House", "page_slug": "/about", "sort_order": 2 },
    { "menu": "main", "label": "The Journal", "page_slug": "/blog", "sort_order": 3 },
    { "menu": "main", "label": "The Door", "page_slug": "/contact", "sort_order": 4 }
  ]
}
