{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "type": "object",
  "name": "Product",
  "description": "Any offered product or service.",
  "properties": {
    "type": { "type": "string" },
    "context": { "type": "string" },
    "name": { "type": "string" },
    "description": { "type": "string" },
    "url": { "type": "string" },
    "image": { "type": "array", "items": { "type": "string" } },
    "sku": { "type": "string" },
    "gtin": { "type": "string" },
    "gtin12": { "type": "string" },
    "gtin13": { "type": "string" },
    "gtin14": { "type": "string" },
    "gtin8": { "type": "string" },
    "mpn": { "type": "string" },
    "brand": { "type": { "$ref": "schema-org-organization.json" } },
    "manufacturer": { "type": { "$ref": "schema-org-organization.json" } },
    "model": { "type": "string" },
    "category": { "type": "string" },
    "color": { "type": "string" },
    "material": { "type": "string" },
    "weight": { "type": { "$ref": "schema-org-quantitative-value.json" } },
    "width": { "type": { "$ref": "schema-org-quantitative-value.json" } },
    "height": { "type": { "$ref": "schema-org-quantitative-value.json" } },
    "depth": { "type": { "$ref": "schema-org-quantitative-value.json" } },
    "offers": { "type": "array", "items": { "type": { "$ref": "schema-org-offer.json" } } },
    "review": { "type": "array", "items": { "type": { "$ref": "schema-org-review.json" } } },
    "aggregateRating": { "type": { "$ref": "schema-org-aggregate-rating.json" } },
    "isRelatedTo": { "type": "array", "items": { "type": { "$ref": "#" } } },
    "isSimilarTo": { "type": "array", "items": { "type": { "$ref": "#" } } },
    "additionalProperty": { "type": "array", "items": { "type": { "$ref": "schema-org-property-value.json" } } },
    "award": { "type": "string" },
    "countryOfOrigin": { "type": "string" },
    "releaseDate": { "type": "date" },
    "productionDate": { "type": "date" },
    "sameAs": { "type": "array", "items": { "type": "string" } },
    "identifier": { "type": "string" }
  },
  "required": ["name"]
}
