{
    "type": "object",
    "properties": {
        "id": {
            "type": "integer"
        },
        "login": {
            "type": "string"
        },
        "firstname": {
            "type": "string"
        },
        "lastname": {
            "type": "string"
        },
        "email": {
            "type": "string"
        },
        "web": {
            "type": "string"
        },
        "mobile": {
            "type": "string"
        },
        "street": {
            "type": "string"
        },
        "zip": {
            "type": "string"
        },
        "city": {
            "type": "string"
        },
        "vip": {
            "type": "boolean"
        },
        "verified": {
            "type": "boolean"
        },
        "active": {
            "type": "boolean"
        },
        "login_failed": {
            "type": "integer"
        },
        "out_of_office": {
            "type": "boolean"
        },
        "preferences": {
            "type": "object",
            "properties": {
                "notification_config": {
                    "type": "object",
                    "properties": {
                        "matrix": {
                            "type": "object",
                            "properties": {
                                "create": {
                                    "type": "object",
                                    "properties": {
                                        "criteria": {
                                            "type": "object",
                                            "properties": {
                                                "owned_by_me": {
                                                    "type": "boolean"
                                                },
                                                "owned_by_nobody": {
                                                    "type": "boolean"
                                                },
                                                "subscribed": {
                                                    "type": "boolean"
                                                },
                                                "no": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "required": [
                                                "owned_by_me",
                                                "owned_by_nobody",
                                                "subscribed",
                                                "no"
                                            ]
                                        },
                                        "channel": {
                                            "type": "object",
                                            "properties": {
                                                "email": {
                                                    "type": "boolean"
                                                },
                                                "online": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "required": [
                                                "email",
                                                "online"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "criteria",
                                        "channel"
                                    ]
                                },
                                "update": {
                                    "type": "object",
                                    "properties": {
                                        "criteria": {
                                            "type": "object",
                                            "properties": {
                                                "owned_by_me": {
                                                    "type": "boolean"
                                                },
                                                "owned_by_nobody": {
                                                    "type": "boolean"
                                                },
                                                "subscribed": {
                                                    "type": "boolean"
                                                },
                                                "no": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "required": [
                                                "owned_by_me",
                                                "owned_by_nobody",
                                                "subscribed",
                                                "no"
                                            ]
                                        },
                                        "channel": {
                                            "type": "object",
                                            "properties": {
                                                "email": {
                                                    "type": "boolean"
                                                },
                                                "online": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "required": [
                                                "email",
                                                "online"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "criteria",
                                        "channel"
                                    ]
                                },
                                "reminder_reached": {
                                    "type": "object",
                                    "properties": {
                                        "criteria": {
                                            "type": "object",
                                            "properties": {
                                                "owned_by_me": {
                                                    "type": "boolean"
                                                },
                                                "owned_by_nobody": {
                                                    "type": "boolean"
                                                },
                                                "subscribed": {
                                                    "type": "boolean"
                                                },
                                                "no": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "required": [
                                                "owned_by_me",
                                                "owned_by_nobody",
                                                "subscribed",
                                                "no"
                                            ]
                                        },
                                        "channel": {
                                            "type": "object",
                                            "properties": {
                                                "email": {
                                                    "type": "boolean"
                                                },
                                                "online": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "required": [
                                                "email",
                                                "online"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "criteria",
                                        "channel"
                                    ]
                                },
                                "escalation": {
                                    "type": "object",
                                    "properties": {
                                        "criteria": {
                                            "type": "object",
                                            "properties": {
                                                "owned_by_me": {
                                                    "type": "boolean"
                                                },
                                                "owned_by_nobody": {
                                                    "type": "boolean"
                                                },
                                                "subscribed": {
                                                    "type": "boolean"
                                                },
                                                "no": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "required": [
                                                "owned_by_me",
                                                "owned_by_nobody",
                                                "subscribed",
                                                "no"
                                            ]
                                        },
                                        "channel": {
                                            "type": "object",
                                            "properties": {
                                                "email": {
                                                    "type": "boolean"
                                                },
                                                "online": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "required": [
                                                "email",
                                                "online"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "criteria",
                                        "channel"
                                    ]
                                }
                            },
                            "required": [
                                "create",
                                "update",
                                "reminder_reached",
                                "escalation"
                            ]
                        }
                    },
                    "required": [
                        "matrix"
                    ]
                },
                "locale": {
                    "type": "string"
                },
                "intro": {
                    "type": "boolean"
                },
                "secondaryAction": {
                    "type": "string"
                },
                "theme": {
                    "type": "string"
                },
                "tickets_closed": {
                    "type": "integer"
                },
                "tickets_open": {
                    "type": "integer"
                },
                "notification_sound": {
                    "type": "object",
                    "properties": {
                        "file": {
                            "type": "string"
                        },
                        "enabled": {
                            "type": "boolean"
                        }
                    },
                    "required": [
                        "file",
                        "enabled"
                    ]
                }
            }
        },
        "updated_by_id": {
            "type": "integer"
        },
        "created_by_id": {
            "type": "integer"
        },
        "created_at": {
            "type": "string"
        },
        "updated_at": {
            "type": "string"
        },
        "role_ids": {
            "type": "array",
            "items": {
                "type": "integer"
            }
        },
        "two_factor_preference_ids": {
            "type": "array",
            "items": {
                "type": "integer"
            }
        },
        "authorization_ids": {
            "type": "array",
            "items": {
                "type": "integer"
            }
        },
        "group_ids": {
            "type": "object",
            "properties": {
                "1": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        }
    },
    "required": [
        "id",
        "organization_id",
        "login",
        "firstname",
        "lastname",
        "email",
        "image",
        "image_source",
        "web",
        "phone",
        "fax",
        "mobile",
        "department",
        "street",
        "zip",
        "city",
        "country",
        "address",
        "vip",
        "verified",
        "active",
        "note",
        "last_login",
        "source",
        "login_failed",
        "out_of_office",
        "out_of_office_start_at",
        "out_of_office_end_at",
        "out_of_office_replacement_id",
        "preferences",
        "updated_by_id",
        "created_by_id",
        "created_at",
        "updated_at",
        "role_ids",
        "two_factor_preference_ids",
        "organization_ids",
        "authorization_ids",
        "overview_sorting_ids",
        "group_ids"
    ],
    "version": 1
}
