{
    "definitions": {
        "Weather-AirConditions": {
            "properties": {
                "feelLikesTemperature": {
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "relativeHumidity": {
                    "maximum": 1,
                    "minimum": 0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "temperature": {
                    "type": [
                        "number",
                        "null"
                    ]
                }
            },
            "type": "object"
        },
        "Weather-Commons": {
            "allOf": [
                {
                    "$ref": "#/definitions/Weather-AirConditions"
                },
                {
                    "properties": {
                        "refPointOfInterest": {
                            "type": "string"
                        },
                        "visibility": {
                            "enum": [
                                "veryPoor",
                                "poor",
                                "moderate",
                                "good",
                                "veryGood",
                                "excellent"
                            ],
                            "type": "string"
                        },
                        "weatherType": {
                            "type": "string"
                        },
                        "windDirection": {
                            "maximum": 360,
                            "minimum": 0,
                            "type": [
                                "integer",
                                "null"
                            ]
                        },
                        "windSpeed": {
                            "minimum": 0,
                            "type": [
                                "number",
                                "null"
                            ]
                        }
                    }
                }
            ],
            "type": "object"
        },
        "WeatherAlertCategories": {
            "enum": [
                "rainfall",
                "highTemperature",
                "lowTemperature",
                "heatWave",
                "coldWave",
                "ice",
                "snow",
                "wind",
                "fog",
                "flood",
                "tsunami",
                "tornado",
                "tropicalCyclone",
                "hurricane",
                "snow/ice",
                "thunderstorms",
                "coastalEvent",
                "forestFire",
                "avalanches",
                "rain/flood"
            ]
        }
    },
    "description": "Common definitions of weather data models",
    "title": "GSMA / FIWARE - Weather base schema",
    "properties": {
        "Weather-AirConditions": {
            "$ref": "#/definitions/Weather-AirConditions"
        },
        "Weather-Commons": {
            "$ref": "#/definitions/Weather-Commons"
        },
        "WeatherAlertCategories": {
            "$ref": "#/definitions/WeatherAlertCategories"
        }
    },
    "required": [
        "Weather-AirConditions",
        "Weather-Commons",
        "WeatherAlertCategories"
    ]
}