{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "definitions": {
        "Address": {
            "type": "object",
            "additionalProperties": true,
            "title": "Address schema.",
            "description": "An explanation about the purpose of this instance described by this schema.",
            "properties": {
                "street": {
                    "type": "array",
                    "minItems": 0,
                    "additionalItems": true,
                    "title": "street schema.",
                    "description": "An explanation about the purpose of this instance described by this schema.",
                    "items": {
                        "type": "string"
                    }
                },
                "city": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "minLength": 1
                },
                "state": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "minLength": 1
                },
                "zip": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "minLength": 1
                },
                "country": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "minLength": 1
                },
                "use": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "minLength": 1
                }
            }
        },
        "Locatable": {
            "type": "object",
            "additionalProperties": true,
            "title": "Locatable schema.",
            "description": "An explanation about the purpose of this instance described by this schema.",
            "allOf": [
                {
                    "$ref": "#/definitions/Address"
                }
            ]
        }
    },
    "properties": {
        "Address": {
            "$ref": "#/definitions/Address"
        },
        "Locatable": {
            "$ref": "#/definitions/Locatable"
        }
    },
    "required": [
        "Address",
        "Locatable"
    ]
}