{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "Product set",
    "type": "array",
    "items": {
        "$ref": "#/definitions/Product"
    },
    "definitions": {
        "Product": {
            "id": "Product",
            "type": "object",
            "properties": {
                "id": {
                    "description": "The unique identifier for a product",
                    "type": "number",
                    "examples": [ 1234, 5678 ]
                },
                "name": {
                    "type": "string",
                    "examples": [ "thingy" ]
                },
                "price": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "minItems": 1,
                    "uniqueItems": true
                },
                "dimensions": {
                    "type": "object",
                    "properties": {
                        "length": {
                            "type": "number"
                        },
                        "width": {
                            "type": "number"
                        },
                        "height": {
                            "type": "number"
                        }
                    },
                    "required": ["length", "width", "height"]
                },
                "prop": {
                    "$ref": "#/definitions/Prop"
                }
            },
            "required": ["id", "name", "price"]
        },
        "Prop": {
            "properties": {
                "name": {
                   "type": "string"
                }
            }

        }

    }
}

