<?php //app-metadata-module-metadata-schedulers-

return [PHP_INT_MAX, [
    'search' => [
        'layout' => [
            'basic' => [
                'name' => [
                    'name' => 'name',
                    'width' => '10%',
                    'label' => 'LBL_NAME',
                    'link' => false,
                    'default' => true,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'fieldDefinition' => [
                        'name' => 'name',
                        'vname' => 'LBL_NAME',
                        'type' => 'varchar',
                        'len' => '255',
                        'required' => true,
                        'reportable' => false,
                        'importable' => 'required',
                        'readonly' => false,
                    ],
                    'vardefBased' => false,
                    'readonly' => false,
                ],
                'id' => [
                    'name' => 'id',
                    'width' => '',
                    'label' => 'LBL_NAME',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'id',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'id',
                        'vname' => 'LBL_NAME',
                        'type' => 'id',
                        'dbType' => 'varchar',
                        'len' => 36,
                        'required' => true,
                        'reportable' => false,
                        'readonly' => false,
                    ],
                ],
                'deleted' => [
                    'name' => 'deleted',
                    'width' => '',
                    'label' => 'LBL_DELETED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'bool',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'deleted',
                        'vname' => 'LBL_DELETED',
                        'type' => 'bool',
                        'len' => 1,
                        'required' => false,
                        'default' => '0',
                        'reportable' => false,
                        'readonly' => false,
                    ],
                ],
                'date_entered' => [
                    'name' => 'date_entered',
                    'width' => '',
                    'label' => 'LBL_DATE_ENTERED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'datetime',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'date_entered',
                        'vname' => 'LBL_DATE_ENTERED',
                        'type' => 'datetime',
                        'required' => true,
                        'readonly' => false,
                    ],
                ],
                'date_modified' => [
                    'name' => 'date_modified',
                    'width' => '',
                    'label' => 'LBL_DATE_MODIFIED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'datetime',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'date_modified',
                        'vname' => 'LBL_DATE_MODIFIED',
                        'type' => 'datetime',
                        'required' => true,
                        'readonly' => false,
                    ],
                ],
                'created_by' => [
                    'name' => 'created_by',
                    'width' => '',
                    'label' => 'LBL_CREATED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'assigned_user_name',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'created_by',
                        'rname' => 'user_name',
                        'id_name' => 'created_by',
                        'vname' => 'LBL_CREATED',
                        'type' => 'assigned_user_name',
                        'table' => 'created_by_users',
                        'isnull' => false,
                        'dbType' => 'id',
                        'len' => 36,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'created_by_link' => [
                    'name' => 'created_by_link',
                    'width' => '',
                    'label' => 'LBL_CREATED_BY_USER',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'created_by_link',
                        'type' => 'link',
                        'relationship' => 'schedulers_created_by_rel',
                        'vname' => 'LBL_CREATED_BY_USER',
                        'link_type' => 'one',
                        'module' => 'Users',
                        'bean_name' => 'User',
                        'source' => 'non-db',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => '',
                            'type' => 'one-to-one',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'created_by_name' => [
                    'name' => 'created_by_name',
                    'width' => '',
                    'label' => 'LBL_CREATED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'relate',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'created_by_name',
                        'vname' => 'LBL_CREATED',
                        'type' => 'relate',
                        'reportable' => false,
                        'link' => 'created_by_link',
                        'rname' => 'user_name',
                        'source' => 'non-db',
                        'table' => 'users',
                        'id_name' => 'created_by',
                        'module' => 'Users',
                        'duplicate_merge' => 'disabled',
                        'importable' => 'false',
                        'massupdate' => false,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'modified_user_id' => [
                    'name' => 'modified_user_id',
                    'width' => '',
                    'label' => 'LBL_MODIFIED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'assigned_user_name',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'modified_user_id',
                        'rname' => 'user_name',
                        'id_name' => 'modified_user_id',
                        'vname' => 'LBL_MODIFIED',
                        'type' => 'assigned_user_name',
                        'table' => 'modified_user_id_users',
                        'isnull' => false,
                        'dbType' => 'id',
                        'len' => '36',
                        'reportable' => true,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'modified_user_link' => [
                    'name' => 'modified_user_link',
                    'width' => '',
                    'label' => 'LBL_MODIFIED_BY_USER',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'modified_user_link',
                        'type' => 'link',
                        'relationship' => 'schedulers_modified_user_id_rel',
                        'vname' => 'LBL_MODIFIED_BY_USER',
                        'link_type' => 'one',
                        'module' => 'Users',
                        'bean_name' => 'User',
                        'source' => 'non-db',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'modified_by_name' => [
                    'name' => 'modified_by_name',
                    'width' => '',
                    'label' => 'LBL_MODIFIED_NAME',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'relate',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'modified_by_name',
                        'vname' => 'LBL_MODIFIED_NAME',
                        'type' => 'relate',
                        'reportable' => false,
                        'source' => 'non-db',
                        'rname' => 'user_name',
                        'table' => 'users',
                        'id_name' => 'modified_user_id',
                        'module' => 'Users',
                        'link' => 'modified_user_link',
                        'duplicate_merge' => 'disabled',
                        'massupdate' => false,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'job' => [
                    'name' => 'job',
                    'width' => '',
                    'label' => 'LBL_JOB',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'job',
                        'vname' => 'LBL_JOB',
                        'type' => 'varchar',
                        'len' => '255',
                        'required' => true,
                        'reportable' => false,
                        'readonly' => false,
                    ],
                ],
                'job_url' => [
                    'name' => 'job_url',
                    'width' => '',
                    'label' => 'LBL_JOB_URL',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'job_url',
                        'vname' => 'LBL_JOB_URL',
                        'type' => 'varchar',
                        'len' => '255',
                        'required' => false,
                        'reportable' => false,
                        'source' => 'non-db',
                        'dependency' => 'equal($job_function, "url::")',
                        'readonly' => false,
                    ],
                ],
                'job_function' => [
                    'name' => 'job_function',
                    'width' => '',
                    'label' => 'LBL_JOB',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'enum',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'job_function',
                        'vname' => 'LBL_JOB',
                        'type' => 'enum',
                        'function' => [
                            'name' => [
                                'Scheduler',
                                'getJobsList',
                            ],
                            'params' => [],
                        ],
                        'len' => '255',
                        'required' => false,
                        'reportable' => false,
                        'source' => 'non-db',
                        'readonly' => false,
                    ],
                ],
                'date_time_start' => [
                    'name' => 'date_time_start',
                    'width' => '',
                    'label' => 'LBL_DATE_TIME_START',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'datetime',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'date_time_start',
                        'vname' => 'LBL_DATE_TIME_START',
                        'type' => 'datetime',
                        'required' => true,
                        'reportable' => false,
                        'display_default' => '2005/01/01',
                        'readonly' => false,
                    ],
                ],
                'date_time_end' => [
                    'name' => 'date_time_end',
                    'width' => '',
                    'label' => 'LBL_DATE_TIME_END',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'datetime',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'date_time_end',
                        'vname' => 'LBL_DATE_TIME_END',
                        'type' => 'datetime',
                        'reportable' => false,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'job_interval' => [
                    'name' => 'job_interval',
                    'width' => '',
                    'label' => 'LBL_INTERVAL',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'job_interval',
                        'vname' => 'LBL_INTERVAL',
                        'type' => 'varchar',
                        'len' => '100',
                        'required' => true,
                        'reportable' => false,
                        'readonly' => false,
                    ],
                ],
                'adv_interval' => [
                    'name' => 'adv_interval',
                    'width' => '',
                    'label' => 'LBL_ADV_OPTIONS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'bool',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'adv_interval',
                        'vname' => 'LBL_ADV_OPTIONS',
                        'type' => 'bool',
                        'required' => false,
                        'reportable' => false,
                        'source' => 'non-db',
                        'readonly' => false,
                    ],
                ],
                'time_from' => [
                    'name' => 'time_from',
                    'width' => '',
                    'label' => 'LBL_TIME_FROM',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'time',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'time_from',
                        'vname' => 'LBL_TIME_FROM',
                        'type' => 'time',
                        'required' => false,
                        'reportable' => false,
                        'readonly' => false,
                    ],
                ],
                'time_to' => [
                    'name' => 'time_to',
                    'width' => '',
                    'label' => 'LBL_TIME_TO',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'time',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'time_to',
                        'vname' => 'LBL_TIME_TO',
                        'type' => 'time',
                        'required' => false,
                        'reportable' => false,
                        'readonly' => false,
                    ],
                ],
                'last_run' => [
                    'name' => 'last_run',
                    'width' => '',
                    'label' => 'LBL_LAST_RUN',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'datetime',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'last_run',
                        'vname' => 'LBL_LAST_RUN',
                        'type' => 'datetime',
                        'required' => false,
                        'reportable' => false,
                        'readonly' => false,
                    ],
                ],
                'status' => [
                    'name' => 'status',
                    'width' => '',
                    'label' => 'LBL_STATUS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'enum',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'status',
                        'vname' => 'LBL_STATUS',
                        'type' => 'enum',
                        'options' => 'scheduler_status_dom',
                        'len' => 100,
                        'required' => false,
                        'reportable' => false,
                        'importable' => 'required',
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'catch_up' => [
                    'name' => 'catch_up',
                    'width' => '',
                    'label' => 'LBL_CATCH_UP',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'bool',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'catch_up',
                        'vname' => 'LBL_CATCH_UP',
                        'type' => 'bool',
                        'len' => 1,
                        'required' => false,
                        'default' => '1',
                        'reportable' => false,
                        'readonly' => false,
                    ],
                ],
                'schedulers_times' => [
                    'name' => 'schedulers_times',
                    'width' => '',
                    'label' => 'LBL_SCHEDULER_TIMES',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'schedulers_times',
                        'vname' => 'LBL_SCHEDULER_TIMES',
                        'type' => 'link',
                        'relationship' => 'schedulers_jobs_rel',
                        'module' => 'SchedulersJobs',
                        'bean_name' => 'Scheduler',
                        'source' => 'non-db',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
            ],
            'advanced' => [],
        ],
    ],
    'mass_update' => [
        'fields' => [
            [
                'name' => 'job_function',
                'label' => 'LBL_JOB',
                'fieldDefinition' => [
                    'name' => 'job_function',
                    'vname' => 'LBL_JOB',
                    'type' => 'enum',
                    'function' => [
                        'name' => [
                            'Scheduler',
                            'getJobsList',
                        ],
                        'params' => [],
                    ],
                    'len' => '255',
                    'required' => false,
                    'reportable' => false,
                    'source' => 'non-db',
                ],
                'type' => 'enum',
                'metadata' => [
                    'extraOptions' => [
                        [
                            'value' => '__SugarMassUpdateClearField__',
                            'labelKey' => 'LBL_EMPTY',
                        ],
                    ],
                ],
            ],
            [
                'name' => 'date_time_start',
                'label' => 'LBL_DATE_TIME_START',
                'fieldDefinition' => [
                    'name' => 'date_time_start',
                    'vname' => 'LBL_DATE_TIME_START',
                    'type' => 'datetime',
                    'required' => true,
                    'reportable' => false,
                    'display_default' => '2005/01/01',
                ],
                'type' => 'datetime',
            ],
            [
                'name' => 'date_time_end',
                'label' => 'LBL_DATE_TIME_END',
                'fieldDefinition' => [
                    'name' => 'date_time_end',
                    'vname' => 'LBL_DATE_TIME_END',
                    'type' => 'datetime',
                    'reportable' => false,
                    'required' => false,
                ],
                'type' => 'datetime',
            ],
            [
                'name' => 'adv_interval',
                'label' => 'LBL_ADV_OPTIONS',
                'fieldDefinition' => [
                    'name' => 'adv_interval',
                    'vname' => 'LBL_ADV_OPTIONS',
                    'type' => 'enum',
                    'required' => false,
                    'reportable' => false,
                    'source' => 'non-db',
                    'options' => 'dom_int_bool',
                ],
                'type' => 'enum',
            ],
            [
                'name' => 'last_run',
                'label' => 'LBL_LAST_RUN',
                'fieldDefinition' => [
                    'name' => 'last_run',
                    'vname' => 'LBL_LAST_RUN',
                    'type' => 'datetime',
                    'required' => false,
                    'reportable' => false,
                ],
                'type' => 'datetime',
            ],
            [
                'name' => 'status',
                'label' => 'LBL_STATUS',
                'fieldDefinition' => [
                    'name' => 'status',
                    'vname' => 'LBL_STATUS',
                    'type' => 'enum',
                    'options' => 'scheduler_status_dom',
                    'len' => 100,
                    'required' => false,
                    'reportable' => false,
                    'importable' => 'required',
                ],
                'type' => 'enum',
                'metadata' => [
                    'extraOptions' => [
                        [
                            'value' => '__SugarMassUpdateClearField__',
                            'labelKey' => 'LBL_EMPTY',
                        ],
                    ],
                ],
            ],
            [
                'name' => 'catch_up',
                'label' => 'LBL_CATCH_UP',
                'fieldDefinition' => [
                    'name' => 'catch_up',
                    'vname' => 'LBL_CATCH_UP',
                    'type' => 'enum',
                    'len' => 1,
                    'required' => false,
                    'default' => '1',
                    'reportable' => false,
                    'options' => 'dom_int_bool',
                ],
                'type' => 'enum',
            ],
        ],
    ],
    'listview' => [
        'columns' => [
            [
                'name' => 'name',
                'width' => '35%',
                'label' => 'LBL_LIST_NAME',
                'link' => true,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'varchar',
                'fieldDefinition' => [
                    'name' => 'name',
                    'vname' => 'LBL_NAME',
                    'type' => 'varchar',
                    'len' => '255',
                    'required' => true,
                    'reportable' => false,
                    'importable' => 'required',
                ],
            ],
            [
                'name' => 'job_interval',
                'width' => '20%',
                'label' => 'LBL_LIST_JOB_INTERVAL',
                'link' => false,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => false,
                'type' => 'varchar',
                'fieldDefinition' => [
                    'name' => 'job_interval',
                    'vname' => 'LBL_INTERVAL',
                    'type' => 'varchar',
                    'len' => '100',
                    'required' => true,
                    'reportable' => false,
                ],
            ],
            [
                'name' => 'date_time_start',
                'width' => '25%',
                'label' => 'LBL_LIST_RANGE',
                'link' => false,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'datetime',
                'customCode' => '{$DATE_TIME_START} - {$DATE_TIME_END}',
                'related_fields' => [
                    'date_time_end',
                ],
                'fieldDefinition' => [
                    'name' => 'date_time_start',
                    'vname' => 'LBL_DATE_TIME_START',
                    'type' => 'datetime',
                    'required' => true,
                    'reportable' => false,
                    'display_default' => '2005/01/01',
                ],
            ],
            [
                'name' => 'status',
                'width' => '15%',
                'label' => 'LBL_LIST_STATUS',
                'link' => false,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'enum',
                'fieldDefinition' => [
                    'name' => 'status',
                    'vname' => 'LBL_STATUS',
                    'type' => 'enum',
                    'options' => 'scheduler_status_dom',
                    'len' => 100,
                    'required' => false,
                    'reportable' => false,
                    'importable' => 'required',
                ],
            ],
        ],
        'bulkActions' => [
            'delete' => [
                'key' => 'delete',
                'labelKey' => 'LBL_DELETE',
                'params' => [
                    'min' => 1,
                    'displayConfirmation' => true,
                    'confirmationLabel' => 'NTC_DELETE_CONFIRMATION_MULTIPLE',
                ],
                'acl' => [
                    'delete',
                ],
            ],
            'export' => [
                'key' => 'export',
                'labelKey' => 'LBL_EXPORT',
                'params' => [
                    'min' => 1,
                ],
                'acl' => [
                    'export',
                ],
            ],
            'merge' => [
                'key' => 'merge',
                'labelKey' => 'LBL_MERGE_DUPLICATES',
                'params' => [
                    'min' => 2,
                    'max' => 5,
                ],
                'acl' => [
                    'edit',
                    'delete',
                ],
            ],
            'massupdate' => [
                'key' => 'massupdate',
                'labelKey' => 'LBL_MASS_UPDATE',
                'params' => [
                    'allowAll' => false,
                    'min' => 2,
                    'max' => 200,
                    'recordPanel' => [
                        'title' => 'LBL_MASS_UPDATE',
                        'mode' => 'massupdate',
                        'actions' => [
                            [
                                'key' => 'cancel',
                                'labelKey' => 'LBL_CANCEL',
                                'modes' => [
                                    'massupdate',
                                ],
                            ],
                            [
                                'key' => 'bulk-action',
                                'labelKey' => 'LBL_SUBMIT_BUTTON_LABEL',
                                'modes' => [
                                    'massupdate',
                                ],
                                'klass' => [
                                    'btn',
                                    'btn-danger',
                                    'btn-sm',
                                ],
                                'params' => [
                                    'allowAll' => false,
                                    'min' => 2,
                                    'max' => 200,
                                    'bulkAction' => 'massupdate',
                                    'displayConfirmation' => true,
                                    'confirmationLabel' => 'LBL_BULK_ACTION_MASS_UPDATE_CONFIRMATION',
                                ],
                            ],
                        ],
                        'fields' => [
                            [
                                'name' => 'job_function',
                                'label' => 'LBL_JOB',
                                'fieldDefinition' => [
                                    'name' => 'job_function',
                                    'vname' => 'LBL_JOB',
                                    'type' => 'enum',
                                    'function' => [
                                        'name' => [
                                            'Scheduler',
                                            'getJobsList',
                                        ],
                                        'params' => [],
                                    ],
                                    'len' => '255',
                                    'required' => false,
                                    'reportable' => false,
                                    'source' => 'non-db',
                                ],
                                'type' => 'enum',
                                'metadata' => [
                                    'extraOptions' => [
                                        [
                                            'value' => '__SugarMassUpdateClearField__',
                                            'labelKey' => 'LBL_EMPTY',
                                        ],
                                    ],
                                ],
                            ],
                            [
                                'name' => 'date_time_start',
                                'label' => 'LBL_DATE_TIME_START',
                                'fieldDefinition' => [
                                    'name' => 'date_time_start',
                                    'vname' => 'LBL_DATE_TIME_START',
                                    'type' => 'datetime',
                                    'required' => true,
                                    'reportable' => false,
                                    'display_default' => '2005/01/01',
                                ],
                                'type' => 'datetime',
                            ],
                            [
                                'name' => 'date_time_end',
                                'label' => 'LBL_DATE_TIME_END',
                                'fieldDefinition' => [
                                    'name' => 'date_time_end',
                                    'vname' => 'LBL_DATE_TIME_END',
                                    'type' => 'datetime',
                                    'reportable' => false,
                                    'required' => false,
                                ],
                                'type' => 'datetime',
                            ],
                            [
                                'name' => 'adv_interval',
                                'label' => 'LBL_ADV_OPTIONS',
                                'fieldDefinition' => [
                                    'name' => 'adv_interval',
                                    'vname' => 'LBL_ADV_OPTIONS',
                                    'type' => 'enum',
                                    'required' => false,
                                    'reportable' => false,
                                    'source' => 'non-db',
                                    'options' => 'dom_int_bool',
                                ],
                                'type' => 'enum',
                            ],
                            [
                                'name' => 'last_run',
                                'label' => 'LBL_LAST_RUN',
                                'fieldDefinition' => [
                                    'name' => 'last_run',
                                    'vname' => 'LBL_LAST_RUN',
                                    'type' => 'datetime',
                                    'required' => false,
                                    'reportable' => false,
                                ],
                                'type' => 'datetime',
                            ],
                            [
                                'name' => 'status',
                                'label' => 'LBL_STATUS',
                                'fieldDefinition' => [
                                    'name' => 'status',
                                    'vname' => 'LBL_STATUS',
                                    'type' => 'enum',
                                    'options' => 'scheduler_status_dom',
                                    'len' => 100,
                                    'required' => false,
                                    'reportable' => false,
                                    'importable' => 'required',
                                ],
                                'type' => 'enum',
                                'metadata' => [
                                    'extraOptions' => [
                                        [
                                            'value' => '__SugarMassUpdateClearField__',
                                            'labelKey' => 'LBL_EMPTY',
                                        ],
                                    ],
                                ],
                            ],
                            [
                                'name' => 'catch_up',
                                'label' => 'LBL_CATCH_UP',
                                'fieldDefinition' => [
                                    'name' => 'catch_up',
                                    'vname' => 'LBL_CATCH_UP',
                                    'type' => 'enum',
                                    'len' => 1,
                                    'required' => false,
                                    'default' => '1',
                                    'reportable' => false,
                                    'options' => 'dom_int_bool',
                                ],
                                'type' => 'enum',
                            ],
                        ],
                    ],
                ],
                'acl' => [
                    'massupdate',
                ],
                'availability' => [
                    'acls',
                    'massupdate',
                ],
            ],
        ],
        'lineActions' => [],
        'tableActions' => [
            [
                'key' => 'select-columns',
                'icon' => 'column_chooser',
                'titleKey' => 'LBL_COLUMNS',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'list',
                ],
                'klass' => [
                    'column-chooser-button',
                ],
            ],
        ],
        'availableFilters' => [],
        'sidebarWidgets' => [],
        'paginationType' => null,
        'maxHeight' => null,
    ],
    'subpanel' => [
        'times' => [
            'order' => 20,
            'module' => 'schedulers-jobs',
            'sort_by' => 'execute_time',
            'sort_order' => 'desc',
            'subpanel_name' => 'default',
            'get_subpanel_data' => 'schedulers_times',
            'add_subpanel_data' => 'scheduler_id',
            'title_key' => 'LBL_JOBS_SUBPANEL_TITLE',
            'top_buttons' => [],
            'icon' => 'SchedulersJobs',
            'name' => 'times',
            'legacyModule' => 'SchedulersJobs',
            'headerModule' => 'schedulers-jobs',
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'SchedulersJobs',
                                    ],
                                    [
                                        'labelKey' => 'LBL_JOBS_SUBPANEL_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'name',
                    'label' => 'LBL_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_NAME',
                    'width' => '50%',
                    'fieldDefinition' => [
                        'name' => 'name',
                        'vname' => 'LBL_NAME',
                        'type' => 'name',
                        'link' => true,
                        'dbType' => 'varchar',
                        'len' => 255,
                        'required' => true,
                    ],
                    'type' => 'name',
                ],
                [
                    'name' => 'status',
                    'label' => 'LBL_STATUS',
                    'sortable' => true,
                    'vname' => 'LBL_STATUS',
                    'width' => '10%',
                    'fieldDefinition' => [
                        'name' => 'status',
                        'vname' => 'LBL_STATUS',
                        'type' => 'enum',
                        'options' => 'schedulers_times_dom',
                        'len' => 20,
                        'required' => false,
                        'reportable' => true,
                        'readonly' => true,
                    ],
                    'type' => 'enum',
                ],
                [
                    'name' => 'resolution',
                    'label' => 'LBL_RESOLUTION',
                    'sortable' => true,
                    'vname' => 'LBL_RESOLUTION',
                    'width' => '10%',
                    'fieldDefinition' => [
                        'name' => 'resolution',
                        'vname' => 'LBL_RESOLUTION',
                        'type' => 'enum',
                        'options' => 'schedulers_resolution_dom',
                        'len' => 20,
                        'required' => false,
                        'reportable' => true,
                        'readonly' => true,
                    ],
                    'type' => 'enum',
                ],
                [
                    'name' => 'execute_time',
                    'label' => 'LBL_EXECUTE_TIME',
                    'sortable' => true,
                    'vname' => 'LBL_EXECUTE_TIME',
                    'width' => '10%',
                    'fieldDefinition' => [
                        'name' => 'execute_time',
                        'vname' => 'LBL_EXECUTE_TIME',
                        'type' => 'datetime',
                        'required' => true,
                    ],
                    'type' => 'datetime',
                ],
                [
                    'name' => 'date_modified',
                    'label' => 'LBL_DATE_MODIFIED',
                    'sortable' => true,
                    'vname' => 'LBL_DATE_MODIFIED',
                    'width' => '10%',
                    'fieldDefinition' => [
                        'name' => 'date_modified',
                        'vname' => 'LBL_DATE_MODIFIED',
                        'type' => 'datetime',
                        'required' => true,
                    ],
                    'type' => 'datetime',
                ],
            ],
        ],
    ],
    'recordview' => [
        'templateMeta' => [
            'maxColumns' => '2',
            'useTabs' => true,
            'tabDefs' => [],
        ],
        'topWidget' => [
            'refreshOn' => 'data-update',
        ],
        'sidebarWidgets' => [],
        'bottomWidgets' => [],
        'actions' => [
            [
                'key' => 'edit',
                'labelKey' => 'LBL_EDIT',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'save',
                'labelKey' => 'LBL_SAVE_BUTTON_LABEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'edit',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'saveNew',
                'labelKey' => 'LBL_SAVE_BUTTON_LABEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'create',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'cancel',
                'labelKey' => 'LBL_CANCEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'edit',
                ],
            ],
            [
                'key' => 'cancelCreate',
                'labelKey' => 'LBL_CANCEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'create',
                ],
            ],
            [
                'key' => 'saveContinue',
                'labelKey' => 'LBL_SAVE_CONTINUE_LABEL',
                'params' => [
                    'expanded' => true,
                    'collapsedMobile' => true,
                ],
                'modes' => [
                    'edit',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'delete',
                'labelKey' => 'LBL_DELETE',
                'asyncProcess' => true,
                'params' => [
                    'displayConfirmation' => true,
                    'confirmationLabel' => 'NTC_DELETE_CONFIRMATION',
                ],
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'delete',
                ],
            ],
            [
                'key' => 'duplicate',
                'labelKey' => 'LBL_DUPLICATE_BUTTON',
                'asyncProcess' => true,
                'params' => null,
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'export',
                    'edit',
                ],
            ],
        ],
        'panels' => [
            [
                'key' => 'default',
                'rows' => [
                    [
                        'cols' => [
                            [
                                'name' => 'name',
                                'label' => 'LBL_NAME',
                                'fieldDefinition' => [
                                    'name' => 'name',
                                    'vname' => 'LBL_NAME',
                                    'type' => 'varchar',
                                    'len' => '255',
                                    'required' => true,
                                    'reportable' => false,
                                    'importable' => 'required',
                                ],
                                'type' => 'varchar',
                            ],
                            [
                                'name' => 'status',
                                'label' => 'LBL_STATUS',
                                'fieldDefinition' => [
                                    'name' => 'status',
                                    'vname' => 'LBL_STATUS',
                                    'type' => 'enum',
                                    'options' => 'scheduler_status_dom',
                                    'len' => 100,
                                    'required' => false,
                                    'reportable' => false,
                                    'importable' => 'required',
                                ],
                                'type' => 'enum',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'date_time_start',
                                'label' => 'LBL_DATE_TIME_START',
                                'fieldDefinition' => [
                                    'name' => 'date_time_start',
                                    'vname' => 'LBL_DATE_TIME_START',
                                    'type' => 'datetime',
                                    'required' => true,
                                    'reportable' => false,
                                    'display_default' => '2005/01/01',
                                ],
                                'type' => 'datetime',
                            ],
                            [
                                'name' => 'time_from',
                                'label' => 'LBL_TIME_FROM',
                                'customCode' => '{$fields.time_from.value|default:$MOD.LBL_ALWAYS}',
                                'fieldDefinition' => [
                                    'name' => 'time_from',
                                    'vname' => 'LBL_TIME_FROM',
                                    'type' => 'time',
                                    'required' => false,
                                    'reportable' => false,
                                ],
                                'type' => 'time',
                                'readonly' => true,
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'date_time_end',
                                'label' => 'LBL_DATE_TIME_END',
                                'fieldDefinition' => [
                                    'name' => 'date_time_end',
                                    'vname' => 'LBL_DATE_TIME_END',
                                    'type' => 'datetime',
                                    'reportable' => false,
                                    'required' => false,
                                ],
                                'type' => 'datetime',
                            ],
                            [
                                'name' => 'time_to',
                                'label' => 'LBL_TIME_TO',
                                'customCode' => '{$fields.time_to.value|default:$MOD.LBL_ALWAYS}',
                                'fieldDefinition' => [
                                    'name' => 'time_to',
                                    'vname' => 'LBL_TIME_TO',
                                    'type' => 'time',
                                    'required' => false,
                                    'reportable' => false,
                                ],
                                'type' => 'time',
                                'readonly' => true,
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'last_run',
                                'label' => 'LBL_LAST_RUN',
                                'customCode' => '{$fields.last_run.value|default:$MOD.LBL_NEVER}',
                                'fieldDefinition' => [
                                    'name' => 'last_run',
                                    'vname' => 'LBL_LAST_RUN',
                                    'type' => 'datetime',
                                    'required' => false,
                                    'reportable' => false,
                                ],
                                'type' => 'datetime',
                                'readonly' => true,
                            ],
                            [
                                'name' => 'job_interval',
                                'label' => 'LBL_INTERVAL',
                                'customCode' => '{$JOB_INTERVAL}',
                                'fieldDefinition' => [
                                    'name' => 'job_interval',
                                    'vname' => 'LBL_INTERVAL',
                                    'type' => 'varchar',
                                    'len' => '100',
                                    'required' => false,
                                    'reportable' => false,
                                ],
                                'type' => 'varchar',
                                'readonly' => true,
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'catch_up',
                                'label' => 'LBL_CATCH_UP',
                                'fieldDefinition' => [
                                    'name' => 'catch_up',
                                    'vname' => 'LBL_CATCH_UP',
                                    'type' => 'bool',
                                    'len' => 1,
                                    'required' => false,
                                    'default' => '1',
                                    'reportable' => false,
                                ],
                                'type' => 'bool',
                            ],
                            [
                                'name' => 'job',
                                'label' => 'LBL_JOB',
                                'fieldDefinition' => [
                                    'name' => 'job',
                                    'vname' => 'LBL_JOB',
                                    'type' => 'varchar',
                                    'len' => '255',
                                    'required' => true,
                                    'reportable' => false,
                                ],
                                'type' => 'varchar',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'date_entered',
                                'label' => 'LBL_DATE_ENTERED',
                                'customCode' => '{$fields.date_entered.value} {$APP.LBL_BY} {$fields.created_by_name.value}&nbsp;',
                                'fieldDefinition' => [
                                    'name' => 'date_entered',
                                    'vname' => 'LBL_DATE_ENTERED',
                                    'type' => 'datetime',
                                    'required' => false,
                                ],
                                'type' => 'datetime',
                                'readonly' => true,
                            ],
                            [
                                'name' => 'date_modified',
                                'label' => 'LBL_DATE_MODIFIED',
                                'customCode' => '{$fields.date_modified.value} {$APP.LBL_BY} {$fields.modified_by_name.value}&nbsp;',
                                'fieldDefinition' => [
                                    'name' => 'date_modified',
                                    'vname' => 'LBL_DATE_MODIFIED',
                                    'type' => 'datetime',
                                    'required' => false,
                                ],
                                'type' => 'datetime',
                                'readonly' => true,
                            ],
                        ],
                    ],
                ],
            ],
        ],
        'summaryTemplates' => [
            'create' => 'LBL_CREATE',
            'edit' => 'LBL_SUMMARY_DEFAULT',
            'detail' => 'LBL_SUMMARY_DEFAULT',
        ],
        'vardefs' => [
            'id' => [
                'name' => 'id',
                'vname' => 'LBL_NAME',
                'type' => 'id',
                'dbType' => 'varchar',
                'len' => 36,
                'required' => true,
                'reportable' => false,
            ],
            'deleted' => [
                'name' => 'deleted',
                'vname' => 'LBL_DELETED',
                'type' => 'bool',
                'len' => 1,
                'required' => false,
                'default' => '0',
                'reportable' => false,
            ],
            'date_entered' => [
                'name' => 'date_entered',
                'vname' => 'LBL_DATE_ENTERED',
                'type' => 'datetime',
                'required' => true,
            ],
            'date_modified' => [
                'name' => 'date_modified',
                'vname' => 'LBL_DATE_MODIFIED',
                'type' => 'datetime',
                'required' => true,
            ],
            'created_by' => [
                'name' => 'created_by',
                'rname' => 'user_name',
                'id_name' => 'created_by',
                'vname' => 'LBL_CREATED',
                'type' => 'assigned_user_name',
                'table' => 'created_by_users',
                'isnull' => false,
                'dbType' => 'id',
                'len' => 36,
                'required' => false,
            ],
            'created_by_link' => [
                'name' => 'created_by_link',
                'type' => 'link',
                'relationship' => 'schedulers_created_by_rel',
                'vname' => 'LBL_CREATED_BY_USER',
                'link_type' => 'one',
                'module' => 'Users',
                'bean_name' => 'User',
                'source' => 'non-db',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => '',
                    'type' => 'one-to-one',
                    'parent_id' => '',
                ],
            ],
            'created_by_name' => [
                'name' => 'created_by_name',
                'vname' => 'LBL_CREATED',
                'type' => 'relate',
                'reportable' => false,
                'link' => 'created_by_link',
                'rname' => 'user_name',
                'source' => 'non-db',
                'table' => 'users',
                'id_name' => 'created_by',
                'module' => 'Users',
                'duplicate_merge' => 'disabled',
                'importable' => 'false',
                'massupdate' => false,
                'required' => false,
            ],
            'modified_user_id' => [
                'name' => 'modified_user_id',
                'rname' => 'user_name',
                'id_name' => 'modified_user_id',
                'vname' => 'LBL_MODIFIED',
                'type' => 'assigned_user_name',
                'table' => 'modified_user_id_users',
                'isnull' => false,
                'dbType' => 'id',
                'len' => '36',
                'reportable' => true,
                'required' => false,
            ],
            'modified_user_link' => [
                'name' => 'modified_user_link',
                'type' => 'link',
                'relationship' => 'schedulers_modified_user_id_rel',
                'vname' => 'LBL_MODIFIED_BY_USER',
                'link_type' => 'one',
                'module' => 'Users',
                'bean_name' => 'User',
                'source' => 'non-db',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'modified_by_name' => [
                'name' => 'modified_by_name',
                'vname' => 'LBL_MODIFIED_NAME',
                'type' => 'relate',
                'reportable' => false,
                'source' => 'non-db',
                'rname' => 'user_name',
                'table' => 'users',
                'id_name' => 'modified_user_id',
                'module' => 'Users',
                'link' => 'modified_user_link',
                'duplicate_merge' => 'disabled',
                'massupdate' => false,
                'required' => false,
            ],
            'name' => [
                'name' => 'name',
                'vname' => 'LBL_NAME',
                'type' => 'varchar',
                'len' => '255',
                'required' => true,
                'reportable' => false,
                'importable' => 'required',
            ],
            'job' => [
                'name' => 'job',
                'vname' => 'LBL_JOB',
                'type' => 'varchar',
                'len' => '255',
                'required' => true,
                'reportable' => false,
            ],
            'job_url' => [
                'name' => 'job_url',
                'vname' => 'LBL_JOB_URL',
                'type' => 'varchar',
                'len' => '255',
                'required' => false,
                'reportable' => false,
                'source' => 'non-db',
                'dependency' => 'equal($job_function, "url::")',
            ],
            'job_function' => [
                'name' => 'job_function',
                'vname' => 'LBL_JOB',
                'type' => 'enum',
                'function' => [
                    'name' => [
                        'Scheduler',
                        'getJobsList',
                    ],
                    'params' => [],
                ],
                'len' => '255',
                'required' => false,
                'reportable' => false,
                'source' => 'non-db',
            ],
            'date_time_start' => [
                'name' => 'date_time_start',
                'vname' => 'LBL_DATE_TIME_START',
                'type' => 'datetime',
                'required' => true,
                'reportable' => false,
                'display_default' => '2005/01/01',
            ],
            'date_time_end' => [
                'name' => 'date_time_end',
                'vname' => 'LBL_DATE_TIME_END',
                'type' => 'datetime',
                'reportable' => false,
                'required' => false,
            ],
            'job_interval' => [
                'name' => 'job_interval',
                'vname' => 'LBL_INTERVAL',
                'type' => 'varchar',
                'len' => '100',
                'required' => true,
                'reportable' => false,
            ],
            'adv_interval' => [
                'name' => 'adv_interval',
                'vname' => 'LBL_ADV_OPTIONS',
                'type' => 'bool',
                'required' => false,
                'reportable' => false,
                'source' => 'non-db',
            ],
            'time_from' => [
                'name' => 'time_from',
                'vname' => 'LBL_TIME_FROM',
                'type' => 'time',
                'required' => false,
                'reportable' => false,
            ],
            'time_to' => [
                'name' => 'time_to',
                'vname' => 'LBL_TIME_TO',
                'type' => 'time',
                'required' => false,
                'reportable' => false,
            ],
            'last_run' => [
                'name' => 'last_run',
                'vname' => 'LBL_LAST_RUN',
                'type' => 'datetime',
                'required' => false,
                'reportable' => false,
            ],
            'status' => [
                'name' => 'status',
                'vname' => 'LBL_STATUS',
                'type' => 'enum',
                'options' => 'scheduler_status_dom',
                'len' => 100,
                'required' => false,
                'reportable' => false,
                'importable' => 'required',
            ],
            'catch_up' => [
                'name' => 'catch_up',
                'vname' => 'LBL_CATCH_UP',
                'type' => 'bool',
                'len' => 1,
                'required' => false,
                'default' => '1',
                'reportable' => false,
            ],
            'schedulers_times' => [
                'name' => 'schedulers_times',
                'vname' => 'LBL_SCHEDULER_TIMES',
                'type' => 'link',
                'relationship' => 'schedulers_jobs_rel',
                'module' => 'SchedulersJobs',
                'bean_name' => 'Scheduler',
                'source' => 'non-db',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
        ],
        'metadata' => [],
    ],
]];
