{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "Fibaro Home Center User JSON Schema",
    "name": "user",
    "type": "object",
    "properties": {
        "id": {
            "description": "Identifier for the user",
            "type": "integer",
            "minimum": 0
        },
        "name": {
            "description": "Name of the user",
            "type": "string",
            "maxLength": 20
        },
        "type": {
            "description": "Type of the user",
            "type": "string",
            "enum": [
                "user",
                "superuser"
            ]
        },
        "email": {
            "description": "Email of the user",
            "type": "string",
            "format": "email"
        },
        "hasGPS": {
            "description": "User has GPS Flag",
            "type": "boolean"
        },
        "deviceRights": {
            "description": "List of Devices Visible for User",
            "type": "array",
            "items": {
                "type": "number",
                "minimum": 0
            }
        },
        "sceneRights": {
            "description": "List of Scenes Visible for User",
            "type": "array",
            "items": {
                "type": "number",
                "minimum": 0
            }
        },
        "hotelRoom": {
            "description": "Hotel room number",
            "type": "integer"
        },
        "sendNotifications": {
            "description": "Shall Fibaro send notifications",
            "type": "boolean"
        },
        "tracking": {
            "description": "How frequently GPS position from the user's iPhone should be collected [min]",
            "type": "integer"
        },
        "usePin": {
            "description": "Use PIN Flag",
            "type": "boolean"
        },
        "useOptionalArmPin": {
            "description": "Use Optional Arm PIN Falg",
            "type": "boolean"
        },
        "pin": {
            "description": "PIN instead of a password for confirmations",
            "type": "string"
        },
        "password": {
            "description": "Password",
            "type": "string"
        }
    },
    "required": [
        "name"
    ],
    "additionalProperties": false
}