> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scanova.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Product category schema

> Validate product category

Validate product category

## Schema Structure

This category uses the standard QR code category structure.

## Components Used

This category uses the following components:

* [Banner Images](/guides/category-components/components/banner_images)
* [Button](/guides/category-components/components/button)
* [Custom Form](/guides/category-components/components/custom_form)
* [Custom Script](/guides/category-components/components/custom_script)
* [Description Box](/guides/category-components/components/description_box)
* [File](/guides/category-components/components/file)
* [Map](/guides/category-components/components/map)
* [Page Layout](/guides/category-components/components/page_layout)
* [Page Settings](/guides/category-components/components/page_settings)
* [Social Profile](/guides/category-components/components/social_profile)
* [Social Sharing Buttons](/guides/category-components/components/social_sharing_buttons)
* [Video](/guides/category-components/components/video)

## Schema

<CodeGroup>
  ```json Schema theme={null}
  {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "type": "array",
    "title": "Product category schema",
    "description": "Validate product category",
    "examples": [],
    "additionalProperties": false,
    "items": {
      "type": "object",
      "required": [
        "type",
        "data"
      ],
      "additionalProperties": false,
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "page_layout",
            "button",
            "description_box",
            "banner_images",
            "social_sharing_buttons",
            "map",
            "custom_script",
            "file",
            "custom_form",
            "video",
            "page_settings",
            "social_media_profiles"
          ]
        },
        "data": {
          "type": "object"
        }
      },
      "allOf": [
        {
          "if": {
            "properties": {
              "type": {
                "const": "page_layout"
              }
            }
          },
          "then": {
            "properties": {
              "data": {
                "$ref": "components/page_layout.json"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "description_box"
              }
            }
          },
          "then": {
            "properties": {
              "data": {
                "$ref": "components/description_box.json"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "button"
              }
            }
          },
          "then": {
            "properties": {
              "data": {
                "$ref": "components/button.json"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "banner_images"
              }
            }
          },
          "then": {
            "properties": {
              "data": {
                "$ref": "components/banner_images.json"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "social_sharing_buttons"
              }
            }
          },
          "then": {
            "properties": {
              "data": {
                "$ref": "components/social_sharing_buttons.json"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "map"
              }
            }
          },
          "then": {
            "properties": {
              "data": {
                "$ref": "components/map.json"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "custom_script"
              }
            }
          },
          "then": {
            "properties": {
              "data": {
                "$ref": "components/custom_script.json"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "file"
              }
            }
          },
          "then": {
            "properties": {
              "data": {
                "$ref": "components/file.json"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "custom_form"
              }
            }
          },
          "then": {
            "properties": {
              "data": {
                "$ref": "components/custom_form.json"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "video"
              }
            }
          },
          "then": {
            "properties": {
              "data": {
                "$ref": "components/video.json"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "page_settings"
              }
            }
          },
          "then": {
            "properties": {
              "data": {
                "$ref": "components/page_settings.json"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "social_media_profiles"
              }
            }
          },
          "then": {
            "properties": {
              "data": {
                "type": "object",
                "required": [
                  "profiles"
                ],
                "additionalProperties": false,
                "properties": {
                  "profiles": {
                    "$ref": "components/social_profile.json"
                  },
                  "headerText": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      ]
    }
  }
  ```
</CodeGroup>
