{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "type": "object",
    "properties": {
        "calendar_name": {
            "type": "string",
            "input_type": "text",
            "hidden": false,
            "title": "Calendar name (internal use only)",
            "tab": "general",
            "misc": {
                "tooltip": "Enter a name to identify the calendar."
            },
            "required": true,
            "dependency": [],
            "default_value": "",
            "editable": true
        },
        "calendar_user_id": {
            "type": "string",
            "input_type": "select",
            "hidden": false,
            "title": "User",
            "tab": "advanced",
            "misc": {
                "tooltip": "",
                "null_value": [
                    "select option"
                ],
                "options": "backend"
            },
            "required": false,
            "dependency": [],
            "default_value": 0,
            "editable": true
        },
        "calendar_outlook_id": {
            "type": "string",
            "input_type": "select",
            "hidden": false,
            "title": "Calendar in Outlook Account",
            "tab": "general",
            "misc": {
                "tooltip": "Select calendar from the authorized account.",
                "enable": {
                    "endpoint": "get-outlook-auth-data",
                    "data": {
                        "calendar_id": "id"
                    },
                    "conditions": [
                        {
                            "operator": "=",
                            "value": true,
                            "field": "isAuthenticated"
                        }
                    ]
                },
                "hide": [
                    [
                        "id",
                        "!=",
                        ""
                    ]
                ],
                "options": "backend"
            },
            "required": false,
            "dependency": [],
            "default_value": "",
            "editable": true
        },
        "calendar_mode": {
            "type": "string",
            "input_type": "select",
            "hidden": false,
            "title": "Mode",
            "tab": "general",
            "misc": {
                "tooltip": "Choose the calendar connection mode",
                "options": {
                    "One-way": "One-way (export)",
                    "One-way-import": "One-way (import)",
                    "Two-ways": "Two-ways"
                },
                "default_value": "One-way",
                "description": "<strong>One-way (import):</strong> This mode will import all unavailable times from your Outlook Calendar to Webba Calendar. No meeting data is imported, only the time slots.<br><br>\n                    <strong>One-way (export):</strong> This mode will automatically add Webba bookings to your Outlook Calendar, but will not check availability of your Outlook calendar (risk of double-booking).<br><br>\n                    <strong>Two-ways (recommended):</strong> This mode will both import unavailable times from Outlook Calendar to Webba Calendar and add Webba bookings to your Outlook Calendar.<br><br>"
            },
            "required": true,
            "dependency": [],
            "default_value": null,
            "editable": true
        },
        "calendar_access_token": {
            "type": "not_defined",
            "input_type": "not_defined",
            "hidden": false,
            "title": "Authorization",
            "tab": null,
            "misc": [],
            "required": false,
            "dependency": [],
            "default_value": "general",
            "editable": false
        }
    }
}