{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "PropertyList",
    "description": "This is the document root element. It contains a sequence of Property elements.",
    "items": {
        "$ref": "#/definitions/Property"
    },
    "type": "array",
    "definitions": {
        "Property": {
            "type": "object",
            "required": ["id"],
            "properties": {
                "id": {"type": "integer"},
                "cityid": {"type": "integer"},
                "countryid": {"type": "integer"},
                "Photos": {
                    "type": "array",
                    "items": {"$ref": "#/definitions/Photos"},
                    "minItems": 0
                }
            }
        },
        "Photos": {
            "type": "object",
            "required": ["photoid"],
            "properties": {
                "Author": {
                    "$ref": "#/definitions/Author",
                    "description": "Information about the author of the review."
                },
                "DatePublished": {
                    "type": "string",
                    "description": "The date and time the photo was published on the site. Format \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" (i.e., 2001-07-04T12:08:56.235-070 0)."
                },
                "Caption": {
                    "type": "string",
                    "description": "Caption text"
                },
                "ThumbnailURL": {
                    "$ref": "#/definitions/ThumbnailURL",
                    "description": "URL to the thumbnail size for this image, will always be 50x50."
                },
                "LargeThumbnailURL": {
                    "$ref": "#/definitions/LargeThumbnailURL",
                    "description": "URL to the large thumbnail size for this image, will always be 150x150."
                },
                "FullSizeURL": {
                    "$ref": "#/definitions/FullSizeURL",
                    "description": "URL to the full size for this image."
                },
                "StandardSizeURL": {
                    "$ref": "#/definitions/StandardSizeURL",
                    "description": "URL to the standard size for this image."
                },
                "OriginalSizeURL": {
                    "$ref": "#/definitions/OriginalSizeURL",
                    "description": "URL to the original size for this image."
                },
                "ViewerURL": {
                    "type": "string",
                    "format": "iri",
                    "description": "URL to the photo viewer that will have this photo."
                },
                "TripadvisorURL": {
                    "type": "string",
                    "format": "iri",
                    "description": "URL on the TA site."
                },
                "ThumbsUpCount": {
                    "type": "integer",
                    "description": "Number of thumbs up for this photo."
                },
                "ThumbsDownCount": {
                    "type": "integer",
                    "description": "Number of thumbs down for this photo."
                },
                "photoid": {"type": "integer"},
                "reviewid": {"type": "integer"}
            }
        },
        "Author": {
            "type": "object",
            "properties": {
                "AuthorName": {
                    "type": "string",
                    "description": "The displayable name of the review author. Maybe either first name and last initial, or screen name."
                },
                "Location": {
                    "type": "string",
                    "description": "The location of the review author."
                }
            }
        },
        "ThumbnailURL": {
            "type": "object",
            "required": [
                "height",
                "width",
                "url"
            ],
            "properties": {
                "height": {"type": "integer"},
                "width": {"type": "integer"},
                "url": {
                    "type": "string",
                    "format": "iri"
                }
            }
        },
        "LargeThumbnailURL": {
            "type": "object",
            "required": [
                "height",
                "width",
                "url"
            ],
            "properties": {
                "height": {"type": "integer"},
                "width": {"type": "integer"},
                "url": {
                    "type": "string",
                    "format": "iri"
                }
            }
        },
        "FullSizeURL": {
            "type": "object",
            "required": [
                "height",
                "width",
                "url"
            ],
            "properties": {
                "height": {"type": "integer"},
                "width": {"type": "integer"},
                "url": {
                    "type": "string",
                    "format": "iri"
                }
            }
        },
        "StandardSizeURL": {
            "type": "object",
            "required": [
                "height",
                "width",
                "url"
            ],
            "properties": {
                "height": {"type": "integer"},
                "width": {"type": "integer"},
                "url": {
                    "type": "string",
                    "format": "iri"
                }
            }
        },
        "OriginalSizeURL": {
            "type": "object",
            "required": [
                "height",
                "width",
                "url"
            ],
            "properties": {
                "height": {"type": "integer"},
                "width": {"type": "integer"},
                "url": {
                    "type": "string",
                    "format": "iri"
                }
            }
        }
    }
}