{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "description": "Openwifimap API https://github.com/freifunk/openwifimap-api",
    "properties": {
        "total_rows": {
            "title": "Total rows",
            "type": "integer",
            "description": "Total number of results"
        },
        "offset": {
            "title": "Offset",
            "type": "integer"
        },
        "rows": {
            "title": "Rows",
            "type": "array",
            "_uniqueItems": true,
            "items": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "key": {
                        "type": "string"
                    },
                    "value": {
                        "type": "object",
                        "properties": {
                            "hostname": {
                                "type": "string"
                            },
                            "ctime": {
                                "type": "string"
                            },
                            "mtime": {
                                "type": "string"
                            },
                            "id": {
                                "type": "string"
                            },
                            "latlng": {
                                "type": "array",
                                "items": {
                                    "type": "number"
                                },
                                "minItems": 2,
                                "maxItems": 2
                            }
                        },
                        "required": [
                            "hostname",
                            "ctime",
                            "mtime",
                            "id",
                            "latlng"
                        ]
                    }
                }
            }
        }
    }
}