{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://tune.toys/schemas/platform/sound-landing-page.schema.json",
  "title": "SoundLandingPage",
  "description": "Validated sound facet landing content, filters, pagination metadata and related categories.",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "head": {
      "$ref": "product-page.schema.json#/$defs/PublicPageHead"
    },
    "facet": {
      "type": "string",
      "enum": ["genre", "instrument", "mood", "tempo"]
    },
    "value": {
      "type": "string",
      "maxLength": 40
    },
    "title": {
      "type": "string",
      "maxLength": 200
    },
    "intro": {
      "type": "string",
      "maxLength": 2000
    },
    "total": {
      "type": "integer",
      "minimum": 0
    },
    "filter": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "genre": {
          "type": "string",
          "maxLength": 40
        },
        "inst": {
          "type": "string",
          "maxLength": 40
        },
        "mood": {
          "type": "string",
          "maxLength": 40
        },
        "bpmMin": {
          "type": "string",
          "maxLength": 20
        },
        "bpmMax": {
          "type": "string",
          "maxLength": 20
        }
      },
      "required": []
    },
    "related": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "label": {
            "type": "string",
            "maxLength": 100
          },
          "href": {
            "type": "string",
            "maxLength": 2048
          }
        },
        "required": ["label", "href"]
      },
      "maxItems": 40
    }
  },
  "required": [
    "head",
    "facet",
    "value",
    "title",
    "intro",
    "total",
    "filter",
    "related"
  ],
  "$defs": {}
}
