{
  "version": "1.0.0",
  "kind": "olonjs-page-contract",
  "slug": "contatti",
  "title": "Contatti e Prenotazioni — SantaMamma Agriturismo",
  "description": "Prenota il tuo soggiorno a SantaMamma. Siamo a Acquedolci (ME), nel Parco dei Nebrodi. Scrivici o chiamaci.",
  "manifestHref": "/mcp-manifests/contatti.json",
  "systemPrompt": "You are operating the \"Contatti e Prenotazioni — SantaMamma Agriturismo\" page in OlonJS Studio. Use only the declared tools and keep mutations valid against the section schema.",
  "sectionTypes": [
    "header",
    "footer",
    "hero",
    "contact-form"
  ],
  "sectionInstances": [
    {
      "id": "global-header",
      "type": "header",
      "scope": "global",
      "label": "header"
    },
    {
      "id": "global-footer",
      "type": "footer",
      "scope": "global",
      "label": "footer"
    },
    {
      "id": "con-hero",
      "type": "hero",
      "scope": "local",
      "label": "Scrivici,"
    },
    {
      "id": "con-form",
      "type": "contact-form",
      "scope": "local",
      "label": "Richiedi disponibilità"
    }
  ],
  "sectionSchemas": {
    "header": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "anchorId": {
          "type": "string",
          "description": "ui:text"
        },
        "logoText": {
          "type": "string",
          "description": "ui:text"
        },
        "logoHighlight": {
          "type": "string",
          "description": "ui:text"
        },
        "logoImageUrl": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string"
            },
            "alt": {
              "type": "string"
            }
          },
          "additionalProperties": false,
          "required": [
            "url"
          ],
          "description": "ui:image-picker"
        },
        "logoImageScrolled": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string"
            },
            "alt": {
              "type": "string"
            }
          },
          "additionalProperties": false,
          "required": [
            "url"
          ],
          "description": "ui:image-picker"
        },
        "logoMaxHeight": {
          "type": "integer",
          "description": "ui:number",
          "default": 30
        },
        "showLogoText": {
          "type": "boolean",
          "description": "ui:checkbox",
          "default": true
        },
        "ctaLabel": {
          "type": "string",
          "description": "ui:text"
        },
        "ctaHref": {
          "type": "string",
          "description": "ui:text"
        },
        "showLangToggle": {
          "type": "boolean",
          "description": "ui:checkbox",
          "default": false
        },
        "links": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "label": {
                "type": "string",
                "description": "ui:text"
              },
              "href": {
                "type": "string",
                "description": "ui:text"
              }
            },
            "additionalProperties": false,
            "required": [
              "label",
              "href"
            ]
          },
          "description": "ui:list"
        }
      },
      "additionalProperties": false,
      "required": [
        "logoText"
      ]
    },
    "footer": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "anchorId": {
          "type": "string",
          "description": "ui:text"
        },
        "brandText": {
          "type": "string",
          "description": "ui:text"
        },
        "brandHighlight": {
          "type": "string",
          "description": "ui:text"
        },
        "logoImageUrl": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string"
            },
            "alt": {
              "type": "string"
            }
          },
          "additionalProperties": false,
          "required": [
            "url"
          ],
          "description": "ui:image-picker"
        },
        "showLogoText": {
          "type": "boolean",
          "description": "ui:checkbox",
          "default": true
        },
        "logoMaxHeight": {
          "type": "integer",
          "description": "ui:number",
          "default": 30
        },
        "tagline": {
          "type": "string",
          "description": "ui:textarea"
        },
        "copyright": {
          "type": "string",
          "description": "ui:text"
        },
        "vatLabel": {
          "type": "string",
          "description": "ui:text"
        },
        "links": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "label": {
                "type": "string",
                "description": "ui:text"
              },
              "href": {
                "type": "string",
                "description": "ui:text"
              }
            },
            "additionalProperties": false,
            "required": [
              "label",
              "href"
            ]
          },
          "description": "ui:list"
        }
      },
      "additionalProperties": false,
      "required": [
        "brandText"
      ]
    },
    "hero": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "anchorId": {
          "type": "string",
          "description": "ui:text"
        },
        "badge": {
          "type": "string",
          "description": "ui:text"
        },
        "title": {
          "type": "string",
          "description": "ui:text"
        },
        "titleHighlight": {
          "type": "string",
          "description": "ui:text"
        },
        "description": {
          "type": "string",
          "description": "ui:textarea"
        },
        "bgImageUrl": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string"
            },
            "alt": {
              "type": "string"
            }
          },
          "additionalProperties": false,
          "required": [
            "url"
          ],
          "description": "ui:image-picker"
        },
        "ctas": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "label": {
                "type": "string",
                "description": "ui:text"
              },
              "href": {
                "type": "string",
                "description": "ui:text"
              },
              "variant": {
                "type": "string",
                "enum": [
                  "primary",
                  "secondary",
                  "accent"
                ],
                "description": "ui:select",
                "default": "primary"
              }
            },
            "additionalProperties": false,
            "required": [
              "label",
              "href"
            ]
          },
          "description": "ui:list"
        },
        "scrollLabel": {
          "type": "string",
          "description": "ui:text"
        }
      },
      "additionalProperties": false,
      "required": [
        "title"
      ]
    },
    "contact-form": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "anchorId": {
          "type": "string",
          "description": "ui:text"
        },
        "label": {
          "type": "string",
          "description": "ui:text"
        },
        "title": {
          "type": "string",
          "description": "ui:text"
        },
        "description": {
          "type": "string",
          "description": "ui:textarea"
        },
        "addressLine1": {
          "type": "string",
          "description": "ui:text"
        },
        "addressLine2": {
          "type": "string",
          "description": "ui:text"
        },
        "phone": {
          "type": "string",
          "description": "ui:text"
        },
        "email": {
          "type": "string",
          "description": "ui:text"
        },
        "recipientEmail": {
          "type": "string",
          "description": "ui:text"
        },
        "actionUrl": {
          "type": "string",
          "description": "ui:text"
        },
        "submitLabel": {
          "type": "string",
          "description": "ui:text"
        }
      },
      "additionalProperties": false,
      "required": [
        "title"
      ]
    }
  },
  "tools": [
    {
      "name": "update-section",
      "description": "Update a section field in the Studio draft. Does not persist — call save when all updates are complete. Use sectionType to select the matching schema from sectionSchemas.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "slug": {
            "type": "string",
            "description": "Canonical page slug currently open in Studio."
          },
          "sectionId": {
            "type": "string",
            "description": "Concrete section instance id inside the current draft."
          },
          "sectionType": {
            "type": "string",
            "description": "Section type being updated (for example \"hero\" or \"header\"). Used to select the correct validation schema."
          },
          "scope": {
            "type": "string",
            "enum": [
              "local",
              "global"
            ],
            "default": "local"
          },
          "data": {
            "type": "object",
            "description": "Full replacement payload validated against the schema declared for sectionType."
          },
          "itemPath": {
            "type": "array",
            "description": "Optional root-to-leaf selection path for targeted field mutation.",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "fieldKey": {
                  "type": "string"
                },
                "itemId": {
                  "type": "string"
                }
              },
              "required": [
                "fieldKey"
              ]
            }
          },
          "value": {
            "description": "Value written to the final field targeted by itemPath."
          },
          "fieldKey": {
            "type": "string",
            "description": "Shorthand for a top-level scalar field update when itemPath is omitted."
          }
        },
        "required": [
          "sectionId"
        ],
        "oneOf": [
          {
            "required": [
              "data"
            ]
          },
          {
            "required": [
              "itemPath",
              "value"
            ]
          },
          {
            "required": [
              "fieldKey",
              "value"
            ]
          }
        ]
      }
    },
    {
      "name": "save",
      "description": "Persist all pending draft changes using the active save mode (local file, hot save, or save2repo). Call once after all update-section calls are complete.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {}
      }
    }
  ],
  "sectionSubmissionSchemas": {
    "contact-form": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Nome e cognome dell'ospite"
        },
        "email": {
          "type": "string",
          "description": "Email di contatto dell'ospite"
        },
        "phone": {
          "type": "string",
          "description": "Telefono (opzionale)"
        },
        "checkin": {
          "type": "string",
          "description": "Data di check-in (ISO 8601, YYYY-MM-DD)"
        },
        "checkout": {
          "type": "string",
          "description": "Data di check-out (ISO 8601, YYYY-MM-DD)"
        },
        "guests": {
          "type": "integer",
          "description": "Numero di persone"
        },
        "rooms": {
          "type": "integer",
          "description": "Numero di stanze"
        },
        "notes": {
          "type": "string",
          "description": "Note, intolleranze, richieste speciali"
        }
      },
      "additionalProperties": false,
      "required": [
        "name",
        "email"
      ]
    }
  }
}
