{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$ref": "#/definitions/UserPreferences",
    "definitions": {
        "UserPreferences": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
                "hide_mail": {
                    "type": "boolean"
                },
                "time_zone": {
                    "type": ["string", "null"]
                },
                "theme": {
                  "type": "string",
                  "enum": ["light", "light_high_contrast", "dark"]
                },
                "warn_on_leaving_unsaved": {
                    "type": "boolean"
                },
                "comments_sorting": {
                    "type": "string",
                    "enum": ["asc", "desc"]
                },
                "auto_hide_popups": {
                    "type": "boolean"
                },
                "diff_type": {
                  "type": "string",
                  "enum": ["inline", "sbs"]
                },
                "workdays": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 7
                  }
                },
                "daily_reminders": {
                    "$ref": "#/definitions/DailyReminders"
                },
                "immediate_reminders": {
                  "$ref": "#/definitions/ImmediateReminders"
                },
                "pause_reminders": {
                  "$ref": "#/definitions/PauseReminders"
                }
            },
            "title": "UserPreferences"
        },
        "DailyReminders": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
                "enabled": {
                    "type": "boolean"
                },
                "times": {
                    "type": "array",
                    "items": {
                        "type": "string",
                        "format": "time"
                    }
                }
            },
            "required": [
                "enabled",
                "times"
            ],
            "title": "DailyReminders"
        },
        "ImmediateReminders": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "mentioned": {
              "type": "boolean"
            }
          },
          "required": [
            "mentioned"
          ],
          "title": "ImmediateReminders"
        },
        "PauseReminders": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "first_day": {
              "type": "string",
              "format": "date"
            },
            "last_day": {
              "type": "string",
              "format": "date"
            }
          },
          "required": [
            "enabled"
          ],
          "title": "PauseReminders"
        }
    }
}
