{
  "name": "How-To",
  "description": "Use this schema type for instructional content that walks users through a set of steps to complete a task. Enables rich how-to results in Google Search with step-by-step instructions, images, tools, and supplies.",
  "schema_type": "HowTo",
  "version": "1.0.0",
  "fields": [
    {
      "key": "name",
      "label": "Title",
      "type": "text",
      "required": true,
      "description": "The title of the how-to guide (e.g., 'How to Change a Tire').",
      "default": ""
    },
    {
      "key": "description",
      "label": "Description",
      "type": "textarea",
      "required": false,
      "description": "A brief summary of what this how-to guide covers.",
      "default": ""
    },
    {
      "key": "image",
      "label": "Image URL",
      "type": "url",
      "required": false,
      "description": "URL of an image representing the completed result of the how-to.",
      "default": ""
    },
    {
      "key": "totalTime",
      "label": "Total Time",
      "type": "text",
      "required": false,
      "description": "The total time required in ISO 8601 duration format (e.g., PT30M for 30 minutes, PT2H for 2 hours).",
      "default": ""
    },
    {
      "key": "estimatedCost",
      "label": "Estimated Cost",
      "type": "object",
      "required": false,
      "description": "The estimated cost to complete the how-to.",
      "default": "",
      "fields": [
        {
          "key": "value",
          "label": "Cost Amount",
          "type": "number",
          "required": true,
          "description": "The estimated cost value.",
          "default": ""
        },
        {
          "key": "currency",
          "label": "Currency",
          "type": "text",
          "required": true,
          "description": "Currency code in ISO 4217 format (e.g., 'USD').",
          "default": "USD"
        }
      ]
    },
    {
      "key": "supply",
      "label": "Supplies",
      "type": "array",
      "required": false,
      "description": "Materials or supplies consumed during the how-to (e.g., paint, screws, ingredients).",
      "default": [],
      "items": {
        "type": "object",
        "fields": [
          {
            "key": "name",
            "label": "Supply Name",
            "type": "text",
            "required": true,
            "description": "The name of the supply item.",
            "default": ""
          }
        ]
      }
    },
    {
      "key": "tool",
      "label": "Tools",
      "type": "array",
      "required": false,
      "description": "Tools required but not consumed during the how-to (e.g., hammer, wrench, oven).",
      "default": [],
      "items": {
        "type": "object",
        "fields": [
          {
            "key": "name",
            "label": "Tool Name",
            "type": "text",
            "required": true,
            "description": "The name of the tool.",
            "default": ""
          }
        ]
      }
    },
    {
      "key": "step",
      "label": "Steps",
      "type": "array",
      "required": true,
      "description": "The step-by-step instructions. Each step should describe a single action.",
      "default": [],
      "items": {
        "type": "object",
        "fields": [
          {
            "key": "name",
            "label": "Step Name",
            "type": "text",
            "required": false,
            "description": "A short title for this step.",
            "default": ""
          },
          {
            "key": "text",
            "label": "Step Instructions",
            "type": "textarea",
            "required": true,
            "description": "The detailed instruction text for this step.",
            "default": ""
          },
          {
            "key": "image",
            "label": "Step Image URL",
            "type": "url",
            "required": false,
            "description": "URL of an image illustrating this step.",
            "default": ""
          },
          {
            "key": "url",
            "label": "Step URL",
            "type": "url",
            "required": false,
            "description": "URL that links directly to this step on the page.",
            "default": ""
          }
        ]
      }
    }
  ],
  "template": {
    "@context": "https://schema.org",
    "@type": "HowTo",
    "name": "",
    "description": "",
    "image": "",
    "totalTime": "",
    "estimatedCost": {
      "@type": "MonetaryAmount",
      "currency": "USD",
      "value": ""
    },
    "supply": [
      {
        "@type": "HowToSupply",
        "name": ""
      }
    ],
    "tool": [
      {
        "@type": "HowToTool",
        "name": ""
      }
    ],
    "step": [
      {
        "@type": "HowToStep",
        "name": "",
        "text": "",
        "image": "",
        "url": ""
      }
    ]
  },
  "google_required": ["name", "step"],
  "google_recommended": ["totalTime", "image", "description"]
}