<?php //app-metadata-module-metadata-project-1

return [PHP_INT_MAX, [
    'search' => [
        'layout' => [
            'basic' => [
                'name' => [
                    'name' => 'name',
                    'width' => '',
                    'label' => 'LBL_NAME',
                    'link' => false,
                    'default' => true,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'name',
                    'fieldDefinition' => [
                        'name' => 'name',
                        'vname' => 'LBL_NAME',
                        'required' => true,
                        'dbType' => 'varchar',
                        'type' => 'name',
                        'len' => 50,
                        'unified_search' => true,
                        'full_text_search' => [
                            'boost' => 3,
                        ],
                        'comment' => 'Project name',
                        'importable' => 'required',
                        'readonly' => false,
                    ],
                    'vardefBased' => false,
                    'readonly' => false,
                ],
                'current_user_only' => [
                    'name' => 'current_user_only',
                    'label' => 'LBL_CURRENT_USER_FILTER',
                    'type' => 'bool',
                    'default' => true,
                ],
                'favorites_only' => [
                    'name' => 'favorites_only',
                    'label' => 'LBL_FAVORITES_FILTER',
                    'type' => 'bool',
                    'default' => true,
                ],
                'SecurityGroups' => [
                    'name' => 'SecurityGroups',
                    'width' => '',
                    'label' => 'LBL_SECURITYGROUPS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'SecurityGroups',
                        'type' => 'link',
                        'relationship' => 'securitygroups_project',
                        'module' => 'SecurityGroups',
                        'bean_name' => 'SecurityGroup',
                        'source' => 'non-db',
                        'vname' => 'LBL_SECURITYGROUPS',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => 'securitygroup_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'record_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'id' => [
                    'name' => 'id',
                    'width' => '',
                    'label' => 'LBL_ID',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'id',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'id',
                        'vname' => 'LBL_ID',
                        'required' => true,
                        'type' => 'id',
                        'reportable' => true,
                        'comment' => 'Unique identifier',
                        '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',
                        'comment' => 'Date record created',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        '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',
                        'comment' => 'Date record last modified',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'assigned_user_id' => [
                    'name' => 'assigned_user_id',
                    'width' => '',
                    'label' => 'LBL_ASSIGNED_USER_ID',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'assigned_user_name',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'assigned_user_id',
                        'rname' => 'user_name',
                        'id_name' => 'assigned_user_id',
                        'type' => 'assigned_user_name',
                        'vname' => 'LBL_ASSIGNED_USER_ID',
                        'required' => false,
                        'len' => 36,
                        'dbType' => 'id',
                        'table' => 'users',
                        'isnull' => false,
                        'reportable' => true,
                        'comment' => 'User assigned to this record',
                        'readonly' => false,
                    ],
                ],
                'modified_user_id' => [
                    'name' => 'modified_user_id',
                    'width' => '',
                    'label' => 'LBL_MODIFIED_USER_ID',
                    '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_USER_ID',
                        'type' => 'assigned_user_name',
                        'table' => 'users',
                        'isnull' => 'false',
                        'dbType' => 'id',
                        'reportable' => true,
                        'comment' => 'User who last modified record',
                        'required' => false,
                        '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',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'created_by' => [
                    'name' => 'created_by',
                    'width' => '',
                    'label' => 'LBL_CREATED_BY',
                    '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' => 'modified_user_id',
                        'vname' => 'LBL_CREATED_BY',
                        'type' => 'assigned_user_name',
                        'table' => 'users',
                        'isnull' => 'false',
                        'dbType' => 'id',
                        'comment' => 'User who created record',
                        'required' => false,
                        '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',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'description' => [
                    'name' => 'description',
                    'width' => '',
                    'label' => 'LBL_DESCRIPTION',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'text',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'description',
                        'vname' => 'LBL_DESCRIPTION',
                        'required' => false,
                        'type' => 'text',
                        'comment' => 'Project description',
                        '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',
                        'required' => false,
                        'reportable' => false,
                        'default' => '0',
                        'comment' => 'Record deletion indicator',
                        'readonly' => false,
                    ],
                ],
                'estimated_start_date' => [
                    'name' => 'estimated_start_date',
                    'width' => '',
                    'label' => 'LBL_DATE_START',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'date',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'estimated_start_date',
                        'vname' => 'LBL_DATE_START',
                        'required' => true,
                        'validation' => [
                            'type' => 'isbefore',
                            'compareto' => 'estimated_end_date',
                            'blank' => true,
                        ],
                        'type' => 'date',
                        'importable' => 'required',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'estimated_end_date' => [
                    'name' => 'estimated_end_date',
                    'width' => '',
                    'label' => 'LBL_DATE_END',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'date',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'estimated_end_date',
                        'vname' => 'LBL_DATE_END',
                        'required' => true,
                        'type' => 'date',
                        'importable' => 'required',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        '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' => 'project_status_dom',
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'priority' => [
                    'name' => 'priority',
                    'width' => '',
                    'label' => 'LBL_PRIORITY',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'enum',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'priority',
                        'vname' => 'LBL_PRIORITY',
                        'type' => 'enum',
                        'options' => 'projects_priority_options',
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'total_estimated_effort' => [
                    'name' => 'total_estimated_effort',
                    'width' => '',
                    'label' => 'LBL_LIST_TOTAL_ESTIMATED_EFFORT',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'int',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'total_estimated_effort',
                        'type' => 'int',
                        'source' => 'non-db',
                        'vname' => 'LBL_LIST_TOTAL_ESTIMATED_EFFORT',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'total_actual_effort' => [
                    'name' => 'total_actual_effort',
                    'width' => '',
                    'label' => 'LBL_LIST_TOTAL_ACTUAL_EFFORT',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'int',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'total_actual_effort',
                        'type' => 'int',
                        'source' => 'non-db',
                        'vname' => 'LBL_LIST_TOTAL_ACTUAL_EFFORT',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'accounts' => [
                    'name' => 'accounts',
                    'width' => '',
                    'label' => 'LBL_ACCOUNTS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'accounts',
                        'type' => 'link',
                        'relationship' => 'projects_accounts',
                        'source' => 'non-db',
                        'ignore_role' => true,
                        'vname' => 'LBL_ACCOUNTS',
                        'required' => false,
                        'module' => 'Accounts',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => 'account_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'project_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'quotes' => [
                    'name' => 'quotes',
                    'width' => '',
                    'label' => 'LBL_QUOTES',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'quotes',
                        'type' => 'link',
                        'relationship' => 'projects_quotes',
                        'source' => 'non-db',
                        'ignore_role' => true,
                        'vname' => 'LBL_QUOTES',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'contacts' => [
                    'name' => 'contacts',
                    'width' => '',
                    'label' => 'LBL_CONTACTS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'contacts',
                        'type' => 'link',
                        'relationship' => 'projects_contacts',
                        'source' => 'non-db',
                        'ignore_role' => true,
                        'vname' => 'LBL_CONTACTS',
                        'required' => false,
                        'module' => 'Contacts',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => 'contact_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'project_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'opportunities' => [
                    'name' => 'opportunities',
                    'width' => '',
                    'label' => 'LBL_OPPORTUNITIES',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'opportunities',
                        'type' => 'link',
                        'relationship' => 'projects_opportunities',
                        'source' => 'non-db',
                        'ignore_role' => true,
                        'vname' => 'LBL_OPPORTUNITIES',
                        'required' => false,
                        'module' => 'Opportunities',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => 'opportunity_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'project_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'notes' => [
                    'name' => 'notes',
                    'width' => '',
                    'label' => 'LBL_NOTES',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'notes',
                        'type' => 'link',
                        'relationship' => 'projects_notes',
                        'source' => 'non-db',
                        'vname' => 'LBL_NOTES',
                        'required' => false,
                        'module' => 'Notes',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'tasks' => [
                    'name' => 'tasks',
                    'width' => '',
                    'label' => 'LBL_TASKS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'tasks',
                        'type' => 'link',
                        'relationship' => 'projects_tasks',
                        'source' => 'non-db',
                        'vname' => 'LBL_TASKS',
                        'required' => false,
                        'module' => 'Tasks',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'meetings' => [
                    'name' => 'meetings',
                    'width' => '',
                    'label' => 'LBL_MEETINGS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'meetings',
                        'type' => 'link',
                        'relationship' => 'projects_meetings',
                        'source' => 'non-db',
                        'vname' => 'LBL_MEETINGS',
                        'required' => false,
                        'module' => 'Meetings',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'calls' => [
                    'name' => 'calls',
                    'width' => '',
                    'label' => 'LBL_CALLS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'calls',
                        'type' => 'link',
                        'relationship' => 'projects_calls',
                        'source' => 'non-db',
                        'vname' => 'LBL_CALLS',
                        'required' => false,
                        'module' => 'Calls',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'emails' => [
                    'name' => 'emails',
                    'width' => '',
                    'label' => 'LBL_EMAILS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'emails',
                        'type' => 'link',
                        'relationship' => 'emails_projects_rel',
                        'source' => 'non-db',
                        'vname' => 'LBL_EMAILS',
                        'required' => false,
                        'module' => 'Emails',
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => 'email_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'bean_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'projecttask' => [
                    'name' => 'projecttask',
                    'width' => '',
                    'label' => 'LBL_PROJECT_TASKS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'projecttask',
                        'type' => 'link',
                        'relationship' => 'projects_project_tasks',
                        'source' => 'non-db',
                        'vname' => 'LBL_PROJECT_TASKS',
                        'required' => false,
                        'module' => 'ProjectTask',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        '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' => 'projects_created_by',
                        '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-many',
                            'parent_id' => '',
                        ],
                        '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' => 'projects_modified_user',
                        '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,
                    ],
                ],
                'assigned_user_link' => [
                    'name' => 'assigned_user_link',
                    'width' => '',
                    'label' => 'LBL_ASSIGNED_TO_USER',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'assigned_user_link',
                        'type' => 'link',
                        'relationship' => 'projects_assigned_user',
                        'vname' => 'LBL_ASSIGNED_TO_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,
                    ],
                ],
                'assigned_user_name' => [
                    'name' => 'assigned_user_name',
                    'width' => '',
                    'label' => 'LBL_ASSIGNED_USER_NAME',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'relate',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'assigned_user_name',
                        'rname' => 'full_name',
                        'id_name' => 'assigned_user_id',
                        'vname' => 'LBL_ASSIGNED_USER_NAME',
                        'type' => 'relate',
                        'table' => 'users',
                        'module' => 'Users',
                        'dbType' => 'varchar',
                        'link' => 'users',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'cases' => [
                    'name' => 'cases',
                    'width' => '',
                    'label' => 'LBL_CASES',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'cases',
                        'type' => 'link',
                        'relationship' => 'projects_cases',
                        'side' => 'right',
                        'source' => 'non-db',
                        'vname' => 'LBL_CASES',
                        'required' => false,
                        'module' => 'Cases',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => 'case_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'project_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'bugs' => [
                    'name' => 'bugs',
                    'width' => '',
                    'label' => 'LBL_BUGS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'bugs',
                        'type' => 'link',
                        'relationship' => 'projects_bugs',
                        'side' => 'right',
                        'source' => 'non-db',
                        'vname' => 'LBL_BUGS',
                        'required' => false,
                        'module' => 'Bugs',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => 'bug_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'project_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'products' => [
                    'name' => 'products',
                    'width' => '',
                    'label' => 'LBL_PRODUCTS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'products',
                        'type' => 'link',
                        'relationship' => 'projects_products',
                        'side' => 'right',
                        'source' => 'non-db',
                        'vname' => 'LBL_PRODUCTS',
                        'required' => false,
                        'module' => 'Products',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => 'product_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'project_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'project_users_1' => [
                    'name' => 'project_users_1',
                    'width' => '',
                    'label' => 'LBL_PROJECT_USERS_1_FROM_USERS_TITLE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'project_users_1',
                        'type' => 'link',
                        'relationship' => 'project_users_1',
                        'source' => 'non-db',
                        'module' => 'Users',
                        'bean_name' => 'User',
                        'vname' => 'LBL_PROJECT_USERS_1_FROM_USERS_TITLE',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => 'project_users_1users_idb',
                            'type' => 'many-to-many',
                            'parent_id' => 'project_users_1project_ida',
                        ],
                        'readonly' => false,
                    ],
                ],
                'am_projecttemplates_project_1' => [
                    'name' => 'am_projecttemplates_project_1',
                    'width' => '',
                    'label' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_AM_PROJECTTEMPLATES_TITLE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'am_projecttemplates_project_1',
                        'type' => 'link',
                        'relationship' => 'am_projecttemplates_project_1',
                        'source' => 'non-db',
                        'module' => 'AM_ProjectTemplates',
                        'bean_name' => 'AM_ProjectTemplates',
                        'vname' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_AM_PROJECTTEMPLATES_TITLE',
                        'id_name' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                            'type' => 'many-to-many',
                            'parent_id' => 'am_projecttemplates_project_1project_idb',
                        ],
                        'readonly' => false,
                    ],
                ],
                'am_projecttemplates_project_1_name' => [
                    'name' => 'am_projecttemplates_project_1_name',
                    'width' => '',
                    'label' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_AM_PROJECTTEMPLATES_TITLE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'relate',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'am_projecttemplates_project_1_name',
                        'type' => 'relate',
                        'source' => 'non-db',
                        'vname' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_AM_PROJECTTEMPLATES_TITLE',
                        'save' => true,
                        'id_name' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                        'link' => 'am_projecttemplates_project_1',
                        'table' => 'am_projecttemplates',
                        'module' => 'AM_ProjectTemplates',
                        'rname' => 'name',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'am_projecttemplates_project_1am_projecttemplates_ida' => [
                    'name' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                    'width' => '',
                    'label' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_PROJECT_TITLE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                        'type' => 'link',
                        'relationship' => 'am_projecttemplates_project_1',
                        'source' => 'non-db',
                        'reportable' => false,
                        'side' => 'right',
                        'vname' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_PROJECT_TITLE',
                        'required' => false,
                        'module' => 'AM_ProjectTemplates',
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                            'type' => 'many-to-many',
                            'parent_id' => 'am_projecttemplates_project_1project_idb',
                        ],
                        'readonly' => false,
                    ],
                ],
                'project_contacts_1' => [
                    'name' => 'project_contacts_1',
                    'width' => '',
                    'label' => 'LBL_PROJECT_CONTACTS_1_FROM_CONTACTS_TITLE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'project_contacts_1',
                        'type' => 'link',
                        'relationship' => 'project_contacts_1',
                        'source' => 'non-db',
                        'module' => 'Contacts',
                        'bean_name' => 'Contact',
                        'vname' => 'LBL_PROJECT_CONTACTS_1_FROM_CONTACTS_TITLE',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => 'project_contacts_1contacts_idb',
                            'type' => 'many-to-many',
                            'parent_id' => 'project_contacts_1project_ida',
                        ],
                        'readonly' => false,
                    ],
                ],
                'aos_quotes_project' => [
                    'name' => 'aos_quotes_project',
                    'width' => '',
                    'label' => 'LBL_AOS_QUOTES_PROJECT',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'aos_quotes_project',
                        'vname' => 'LBL_AOS_QUOTES_PROJECT',
                        'type' => 'link',
                        'relationship' => 'aos_quotes_project',
                        'source' => 'non-db',
                        'required' => false,
                        'module' => 'AOS_Quotes',
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => 'aos_quotes1112_quotes_ida',
                            'type' => 'many-to-many',
                            'parent_id' => 'aos_quotes7207project_idb',
                        ],
                        'readonly' => false,
                    ],
                ],
                'override_business_hours' => [
                    'name' => 'override_business_hours',
                    'width' => '',
                    'label' => 'LBL_OVERRIDE_BUSINESS_HOURS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'bool',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'override_business_hours',
                        'vname' => 'LBL_OVERRIDE_BUSINESS_HOURS',
                        'type' => 'bool',
                        'required' => false,
                        'reportable' => false,
                        'default' => '0',
                        'comment' => '',
                        'readonly' => false,
                    ],
                ],
                'jjwg_maps_address_c' => [
                    'name' => 'jjwg_maps_address_c',
                    'width' => '',
                    'label' => 'LBL_JJWG_MAPS_ADDRESS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'inline_edit' => 1,
                        'required' => false,
                        'source' => 'custom_fields',
                        'name' => 'jjwg_maps_address_c',
                        'vname' => 'LBL_JJWG_MAPS_ADDRESS',
                        'type' => 'varchar',
                        'massupdate' => '0',
                        'default' => null,
                        'no_default' => false,
                        'comments' => 'Address',
                        'help' => 'Address',
                        'importable' => 'true',
                        'duplicate_merge' => 'disabled',
                        'duplicate_merge_dom_value' => '0',
                        'audited' => false,
                        'reportable' => true,
                        'unified_search' => false,
                        'merge_filter' => 'disabled',
                        'len' => '255',
                        'size' => '20',
                        'id' => 'Projectjjwg_maps_address_c',
                        'custom_module' => 'Project',
                        'readonly' => false,
                    ],
                ],
                'jjwg_maps_geocode_status_c' => [
                    'name' => 'jjwg_maps_geocode_status_c',
                    'width' => '',
                    'label' => 'LBL_JJWG_MAPS_GEOCODE_STATUS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'inline_edit' => 1,
                        'required' => false,
                        'source' => 'custom_fields',
                        'name' => 'jjwg_maps_geocode_status_c',
                        'vname' => 'LBL_JJWG_MAPS_GEOCODE_STATUS',
                        'type' => 'varchar',
                        'massupdate' => '0',
                        'default' => null,
                        'no_default' => false,
                        'comments' => 'Geocode Status',
                        'help' => 'Geocode Status',
                        'importable' => 'true',
                        'duplicate_merge' => 'disabled',
                        'duplicate_merge_dom_value' => '0',
                        'audited' => false,
                        'reportable' => true,
                        'unified_search' => false,
                        'merge_filter' => 'disabled',
                        'len' => '255',
                        'size' => '20',
                        'id' => 'Projectjjwg_maps_geocode_status_c',
                        'custom_module' => 'Project',
                        'readonly' => false,
                    ],
                ],
                'jjwg_maps_lat_c' => [
                    'name' => 'jjwg_maps_lat_c',
                    'width' => '',
                    'label' => 'LBL_JJWG_MAPS_LAT',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'float',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'inline_edit' => 1,
                        'required' => false,
                        'source' => 'custom_fields',
                        'name' => 'jjwg_maps_lat_c',
                        'vname' => 'LBL_JJWG_MAPS_LAT',
                        'type' => 'float',
                        'massupdate' => '0',
                        'default' => '0.00000000',
                        'no_default' => false,
                        'comments' => '',
                        'help' => 'Latitude',
                        'importable' => 'true',
                        'duplicate_merge' => 'disabled',
                        'duplicate_merge_dom_value' => '0',
                        'audited' => false,
                        'reportable' => true,
                        'unified_search' => false,
                        'merge_filter' => 'disabled',
                        'len' => '10',
                        'size' => '20',
                        'enable_range_search' => false,
                        'precision' => '8',
                        'id' => 'Projectjjwg_maps_lat_c',
                        'custom_module' => 'Project',
                        'readonly' => false,
                    ],
                ],
                'jjwg_maps_lng_c' => [
                    'name' => 'jjwg_maps_lng_c',
                    'width' => '',
                    'label' => 'LBL_JJWG_MAPS_LNG',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'float',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'inline_edit' => 1,
                        'required' => false,
                        'source' => 'custom_fields',
                        'name' => 'jjwg_maps_lng_c',
                        'vname' => 'LBL_JJWG_MAPS_LNG',
                        'type' => 'float',
                        'massupdate' => '0',
                        'default' => '0.00000000',
                        'no_default' => false,
                        'comments' => '',
                        'help' => 'Longitude',
                        'importable' => 'true',
                        'duplicate_merge' => 'disabled',
                        'duplicate_merge_dom_value' => '0',
                        'audited' => false,
                        'reportable' => true,
                        'unified_search' => false,
                        'merge_filter' => 'disabled',
                        'len' => '11',
                        'size' => '20',
                        'enable_range_search' => false,
                        'precision' => '8',
                        'id' => 'Projectjjwg_maps_lng_c',
                        'custom_module' => 'Project',
                        'readonly' => false,
                    ],
                ],
            ],
            'advanced' => [
                'name' => [
                    'name' => 'name',
                    'width' => '',
                    'label' => 'LBL_NAME',
                    'link' => false,
                    'default' => true,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'name',
                    'fieldDefinition' => [
                        'name' => 'name',
                        'vname' => 'LBL_NAME',
                        'required' => true,
                        'dbType' => 'varchar',
                        'type' => 'name',
                        'len' => 50,
                        'unified_search' => true,
                        'full_text_search' => [
                            'boost' => 3,
                        ],
                        'comment' => 'Project name',
                        'importable' => 'required',
                        'readonly' => false,
                    ],
                    'vardefBased' => false,
                    'readonly' => false,
                ],
                'estimated_start_date' => [
                    'name' => 'estimated_start_date',
                    'width' => '',
                    'label' => 'LBL_DATE_START',
                    'link' => false,
                    'default' => true,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'composite',
                    'enable_range_search' => true,
                    'fieldDefinition' => [
                        'name' => 'estimated_start_date',
                        'vname' => 'LBL_DATE_START',
                        'required' => true,
                        'validation' => [
                            'type' => 'isbefore',
                            'compareto' => 'estimated_end_date',
                            'blank' => true,
                        ],
                        'type' => 'date',
                        'importable' => 'required',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'layout' => [
                            'operator',
                            'target',
                            'start',
                            'end',
                        ],
                        'display' => 'inline',
                        'attributeFields' => [
                            'operator' => [
                                'name' => 'operator',
                                'type' => 'enum',
                                'vname' => 'LBL_OPERATOR',
                                'options' => 'date_range_search_dom',
                                'default' => '=',
                                'defaultValueModes' => [
                                    'filter',
                                    'edit',
                                ],
                            ],
                            'target' => [
                                'name' => 'target',
                                'type' => 'date',
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'estimated_start_date',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'estimated_start_date' => [
                                                    'operator' => [
                                                        '=',
                                                        'not_equal',
                                                        'greater_than',
                                                        'less_than',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                            'start' => [
                                'name' => 'start',
                                'type' => 'date',
                                'vname' => 'LBL_START',
                                'showLabel' => [
                                    '*',
                                ],
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'estimated_start_date',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'estimated_start_date' => [
                                                    'operator' => [
                                                        'between',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                            'end' => [
                                'name' => 'end',
                                'type' => 'date',
                                'vname' => 'LBL_END',
                                'labelKey' => 'LBL_END',
                                'showLabel' => [
                                    '*',
                                ],
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'estimated_start_date',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'estimated_start_date' => [
                                                    'operator' => [
                                                        'between',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                    'vardefBased' => false,
                    'readonly' => false,
                ],
                'estimated_end_date' => [
                    'name' => 'estimated_end_date',
                    'width' => '',
                    'label' => 'LBL_DATE_END',
                    'link' => false,
                    'default' => true,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'composite',
                    'enable_range_search' => true,
                    'fieldDefinition' => [
                        'name' => 'estimated_end_date',
                        'vname' => 'LBL_DATE_END',
                        'required' => true,
                        'type' => 'date',
                        'importable' => 'required',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'layout' => [
                            'operator',
                            'target',
                            'start',
                            'end',
                        ],
                        'display' => 'inline',
                        'attributeFields' => [
                            'operator' => [
                                'name' => 'operator',
                                'type' => 'enum',
                                'vname' => 'LBL_OPERATOR',
                                'options' => 'date_range_search_dom',
                                'default' => '=',
                                'defaultValueModes' => [
                                    'filter',
                                    'edit',
                                ],
                            ],
                            'target' => [
                                'name' => 'target',
                                'type' => 'date',
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'estimated_end_date',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'estimated_end_date' => [
                                                    'operator' => [
                                                        '=',
                                                        'not_equal',
                                                        'greater_than',
                                                        'less_than',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                            'start' => [
                                'name' => 'start',
                                'type' => 'date',
                                'vname' => 'LBL_START',
                                'showLabel' => [
                                    '*',
                                ],
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'estimated_end_date',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'estimated_end_date' => [
                                                    'operator' => [
                                                        'between',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                            'end' => [
                                'name' => 'end',
                                'type' => 'date',
                                'vname' => 'LBL_END',
                                'labelKey' => 'LBL_END',
                                'showLabel' => [
                                    '*',
                                ],
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'estimated_end_date',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'estimated_end_date' => [
                                                    'operator' => [
                                                        'between',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                    'vardefBased' => false,
                    'readonly' => false,
                ],
                'status' => [
                    'name' => 'status',
                    'width' => '',
                    'label' => 'LBL_STATUS',
                    'link' => false,
                    'default' => true,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'enum',
                    'fieldDefinition' => [
                        'name' => 'status',
                        'vname' => 'LBL_STATUS',
                        'type' => 'enum',
                        'options' => 'project_status_dom',
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                    'vardefBased' => false,
                    'readonly' => false,
                ],
                'priority' => [
                    'name' => 'priority',
                    'width' => '',
                    'label' => 'LBL_PRIORITY',
                    'link' => false,
                    'default' => true,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'enum',
                    'fieldDefinition' => [
                        'name' => 'priority',
                        'vname' => 'LBL_PRIORITY',
                        'type' => 'enum',
                        'options' => 'projects_priority_options',
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                    'vardefBased' => false,
                    'readonly' => false,
                ],
                'SecurityGroups' => [
                    'name' => 'SecurityGroups',
                    'width' => '',
                    'label' => 'LBL_SECURITYGROUPS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'SecurityGroups',
                        'type' => 'link',
                        'relationship' => 'securitygroups_project',
                        'module' => 'SecurityGroups',
                        'bean_name' => 'SecurityGroup',
                        'source' => 'non-db',
                        'vname' => 'LBL_SECURITYGROUPS',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => 'securitygroup_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'record_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'id' => [
                    'name' => 'id',
                    'width' => '',
                    'label' => 'LBL_ID',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'id',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'id',
                        'vname' => 'LBL_ID',
                        'required' => true,
                        'type' => 'id',
                        'reportable' => true,
                        'comment' => 'Unique identifier',
                        'readonly' => false,
                    ],
                ],
                'date_entered' => [
                    'name' => 'date_entered',
                    'width' => '',
                    'label' => 'LBL_DATE_ENTERED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'composite',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'date_entered',
                        'vname' => 'LBL_DATE_ENTERED',
                        'type' => 'datetime',
                        'comment' => 'Date record created',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'layout' => [
                            'operator',
                            'target',
                            'start',
                            'end',
                        ],
                        'display' => 'inline',
                        'attributeFields' => [
                            'operator' => [
                                'name' => 'operator',
                                'type' => 'enum',
                                'vname' => 'LBL_OPERATOR',
                                'options' => 'date_range_search_dom',
                                'default' => '=',
                                'defaultValueModes' => [
                                    'filter',
                                    'edit',
                                ],
                            ],
                            'target' => [
                                'name' => 'target',
                                'type' => 'datetime',
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'date_entered',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'date_entered' => [
                                                    'operator' => [
                                                        '=',
                                                        'not_equal',
                                                        'greater_than',
                                                        'less_than',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                            'start' => [
                                'name' => 'start',
                                'type' => 'datetime',
                                'vname' => 'LBL_START',
                                'showLabel' => [
                                    '*',
                                ],
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'date_entered',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'date_entered' => [
                                                    'operator' => [
                                                        'between',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                            'end' => [
                                'name' => 'end',
                                'type' => 'datetime',
                                'vname' => 'LBL_END',
                                'labelKey' => 'LBL_END',
                                'showLabel' => [
                                    '*',
                                ],
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'date_entered',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'date_entered' => [
                                                    'operator' => [
                                                        'between',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'date_modified' => [
                    'name' => 'date_modified',
                    'width' => '',
                    'label' => 'LBL_DATE_MODIFIED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'composite',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'date_modified',
                        'vname' => 'LBL_DATE_MODIFIED',
                        'type' => 'datetime',
                        'comment' => 'Date record last modified',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'layout' => [
                            'operator',
                            'target',
                            'start',
                            'end',
                        ],
                        'display' => 'inline',
                        'attributeFields' => [
                            'operator' => [
                                'name' => 'operator',
                                'type' => 'enum',
                                'vname' => 'LBL_OPERATOR',
                                'options' => 'date_range_search_dom',
                                'default' => '=',
                                'defaultValueModes' => [
                                    'filter',
                                    'edit',
                                ],
                            ],
                            'target' => [
                                'name' => 'target',
                                'type' => 'datetime',
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'date_modified',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'date_modified' => [
                                                    'operator' => [
                                                        '=',
                                                        'not_equal',
                                                        'greater_than',
                                                        'less_than',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                            'start' => [
                                'name' => 'start',
                                'type' => 'datetime',
                                'vname' => 'LBL_START',
                                'showLabel' => [
                                    '*',
                                ],
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'date_modified',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'date_modified' => [
                                                    'operator' => [
                                                        'between',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                            'end' => [
                                'name' => 'end',
                                'type' => 'datetime',
                                'vname' => 'LBL_END',
                                'labelKey' => 'LBL_END',
                                'showLabel' => [
                                    '*',
                                ],
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'date_modified',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'date_modified' => [
                                                    'operator' => [
                                                        'between',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'assigned_user_id' => [
                    'name' => 'assigned_user_id',
                    'width' => '',
                    'label' => 'LBL_ASSIGNED_USER_ID',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'assigned_user_name',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'assigned_user_id',
                        'rname' => 'user_name',
                        'id_name' => 'assigned_user_id',
                        'type' => 'assigned_user_name',
                        'vname' => 'LBL_ASSIGNED_USER_ID',
                        'required' => false,
                        'len' => 36,
                        'dbType' => 'id',
                        'table' => 'users',
                        'isnull' => false,
                        'reportable' => true,
                        'comment' => 'User assigned to this record',
                        'readonly' => false,
                    ],
                ],
                'modified_user_id' => [
                    'name' => 'modified_user_id',
                    'width' => '',
                    'label' => 'LBL_MODIFIED_USER_ID',
                    '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_USER_ID',
                        'type' => 'assigned_user_name',
                        'table' => 'users',
                        'isnull' => 'false',
                        'dbType' => 'id',
                        'reportable' => true,
                        'comment' => 'User who last modified record',
                        'required' => false,
                        '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',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'created_by' => [
                    'name' => 'created_by',
                    'width' => '',
                    'label' => 'LBL_CREATED_BY',
                    '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' => 'modified_user_id',
                        'vname' => 'LBL_CREATED_BY',
                        'type' => 'assigned_user_name',
                        'table' => 'users',
                        'isnull' => 'false',
                        'dbType' => 'id',
                        'comment' => 'User who created record',
                        'required' => false,
                        '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',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'description' => [
                    'name' => 'description',
                    'width' => '',
                    'label' => 'LBL_DESCRIPTION',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'text',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'description',
                        'vname' => 'LBL_DESCRIPTION',
                        'required' => false,
                        'type' => 'text',
                        'comment' => 'Project description',
                        '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',
                        'required' => false,
                        'reportable' => false,
                        'default' => '0',
                        'comment' => 'Record deletion indicator',
                        'readonly' => false,
                    ],
                ],
                'total_estimated_effort' => [
                    'name' => 'total_estimated_effort',
                    'width' => '',
                    'label' => 'LBL_LIST_TOTAL_ESTIMATED_EFFORT',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'int',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'total_estimated_effort',
                        'type' => 'int',
                        'source' => 'non-db',
                        'vname' => 'LBL_LIST_TOTAL_ESTIMATED_EFFORT',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'total_actual_effort' => [
                    'name' => 'total_actual_effort',
                    'width' => '',
                    'label' => 'LBL_LIST_TOTAL_ACTUAL_EFFORT',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'int',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'total_actual_effort',
                        'type' => 'int',
                        'source' => 'non-db',
                        'vname' => 'LBL_LIST_TOTAL_ACTUAL_EFFORT',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'accounts' => [
                    'name' => 'accounts',
                    'width' => '',
                    'label' => 'LBL_ACCOUNTS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'accounts',
                        'type' => 'link',
                        'relationship' => 'projects_accounts',
                        'source' => 'non-db',
                        'ignore_role' => true,
                        'vname' => 'LBL_ACCOUNTS',
                        'required' => false,
                        'module' => 'Accounts',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => 'account_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'project_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'quotes' => [
                    'name' => 'quotes',
                    'width' => '',
                    'label' => 'LBL_QUOTES',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'quotes',
                        'type' => 'link',
                        'relationship' => 'projects_quotes',
                        'source' => 'non-db',
                        'ignore_role' => true,
                        'vname' => 'LBL_QUOTES',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'contacts' => [
                    'name' => 'contacts',
                    'width' => '',
                    'label' => 'LBL_CONTACTS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'contacts',
                        'type' => 'link',
                        'relationship' => 'projects_contacts',
                        'source' => 'non-db',
                        'ignore_role' => true,
                        'vname' => 'LBL_CONTACTS',
                        'required' => false,
                        'module' => 'Contacts',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => 'contact_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'project_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'opportunities' => [
                    'name' => 'opportunities',
                    'width' => '',
                    'label' => 'LBL_OPPORTUNITIES',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'opportunities',
                        'type' => 'link',
                        'relationship' => 'projects_opportunities',
                        'source' => 'non-db',
                        'ignore_role' => true,
                        'vname' => 'LBL_OPPORTUNITIES',
                        'required' => false,
                        'module' => 'Opportunities',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => 'opportunity_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'project_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'notes' => [
                    'name' => 'notes',
                    'width' => '',
                    'label' => 'LBL_NOTES',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'notes',
                        'type' => 'link',
                        'relationship' => 'projects_notes',
                        'source' => 'non-db',
                        'vname' => 'LBL_NOTES',
                        'required' => false,
                        'module' => 'Notes',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'tasks' => [
                    'name' => 'tasks',
                    'width' => '',
                    'label' => 'LBL_TASKS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'tasks',
                        'type' => 'link',
                        'relationship' => 'projects_tasks',
                        'source' => 'non-db',
                        'vname' => 'LBL_TASKS',
                        'required' => false,
                        'module' => 'Tasks',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'meetings' => [
                    'name' => 'meetings',
                    'width' => '',
                    'label' => 'LBL_MEETINGS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'meetings',
                        'type' => 'link',
                        'relationship' => 'projects_meetings',
                        'source' => 'non-db',
                        'vname' => 'LBL_MEETINGS',
                        'required' => false,
                        'module' => 'Meetings',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'calls' => [
                    'name' => 'calls',
                    'width' => '',
                    'label' => 'LBL_CALLS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'calls',
                        'type' => 'link',
                        'relationship' => 'projects_calls',
                        'source' => 'non-db',
                        'vname' => 'LBL_CALLS',
                        'required' => false,
                        'module' => 'Calls',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'emails' => [
                    'name' => 'emails',
                    'width' => '',
                    'label' => 'LBL_EMAILS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'emails',
                        'type' => 'link',
                        'relationship' => 'emails_projects_rel',
                        'source' => 'non-db',
                        'vname' => 'LBL_EMAILS',
                        'required' => false,
                        'module' => 'Emails',
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => 'email_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'bean_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'projecttask' => [
                    'name' => 'projecttask',
                    'width' => '',
                    'label' => 'LBL_PROJECT_TASKS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'projecttask',
                        'type' => 'link',
                        'relationship' => 'projects_project_tasks',
                        'source' => 'non-db',
                        'vname' => 'LBL_PROJECT_TASKS',
                        'required' => false,
                        'module' => 'ProjectTask',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        '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' => 'projects_created_by',
                        '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-many',
                            'parent_id' => '',
                        ],
                        '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' => 'projects_modified_user',
                        '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,
                    ],
                ],
                'assigned_user_link' => [
                    'name' => 'assigned_user_link',
                    'width' => '',
                    'label' => 'LBL_ASSIGNED_TO_USER',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'assigned_user_link',
                        'type' => 'link',
                        'relationship' => 'projects_assigned_user',
                        'vname' => 'LBL_ASSIGNED_TO_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,
                    ],
                ],
                'assigned_user_name' => [
                    'name' => 'assigned_user_name',
                    'width' => '',
                    'label' => 'LBL_ASSIGNED_USER_NAME',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'relate',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'assigned_user_name',
                        'rname' => 'full_name',
                        'id_name' => 'assigned_user_id',
                        'vname' => 'LBL_ASSIGNED_USER_NAME',
                        'type' => 'relate',
                        'table' => 'users',
                        'module' => 'Users',
                        'dbType' => 'varchar',
                        'link' => 'users',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'cases' => [
                    'name' => 'cases',
                    'width' => '',
                    'label' => 'LBL_CASES',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'cases',
                        'type' => 'link',
                        'relationship' => 'projects_cases',
                        'side' => 'right',
                        'source' => 'non-db',
                        'vname' => 'LBL_CASES',
                        'required' => false,
                        'module' => 'Cases',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => 'case_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'project_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'bugs' => [
                    'name' => 'bugs',
                    'width' => '',
                    'label' => 'LBL_BUGS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'bugs',
                        'type' => 'link',
                        'relationship' => 'projects_bugs',
                        'side' => 'right',
                        'source' => 'non-db',
                        'vname' => 'LBL_BUGS',
                        'required' => false,
                        'module' => 'Bugs',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => 'bug_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'project_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'products' => [
                    'name' => 'products',
                    'width' => '',
                    'label' => 'LBL_PRODUCTS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'products',
                        'type' => 'link',
                        'relationship' => 'projects_products',
                        'side' => 'right',
                        'source' => 'non-db',
                        'vname' => 'LBL_PRODUCTS',
                        'required' => false,
                        'module' => 'Products',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => 'product_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'project_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'project_users_1' => [
                    'name' => 'project_users_1',
                    'width' => '',
                    'label' => 'LBL_PROJECT_USERS_1_FROM_USERS_TITLE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'project_users_1',
                        'type' => 'link',
                        'relationship' => 'project_users_1',
                        'source' => 'non-db',
                        'module' => 'Users',
                        'bean_name' => 'User',
                        'vname' => 'LBL_PROJECT_USERS_1_FROM_USERS_TITLE',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => 'project_users_1users_idb',
                            'type' => 'many-to-many',
                            'parent_id' => 'project_users_1project_ida',
                        ],
                        'readonly' => false,
                    ],
                ],
                'am_projecttemplates_project_1' => [
                    'name' => 'am_projecttemplates_project_1',
                    'width' => '',
                    'label' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_AM_PROJECTTEMPLATES_TITLE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'am_projecttemplates_project_1',
                        'type' => 'link',
                        'relationship' => 'am_projecttemplates_project_1',
                        'source' => 'non-db',
                        'module' => 'AM_ProjectTemplates',
                        'bean_name' => 'AM_ProjectTemplates',
                        'vname' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_AM_PROJECTTEMPLATES_TITLE',
                        'id_name' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                            'type' => 'many-to-many',
                            'parent_id' => 'am_projecttemplates_project_1project_idb',
                        ],
                        'readonly' => false,
                    ],
                ],
                'am_projecttemplates_project_1_name' => [
                    'name' => 'am_projecttemplates_project_1_name',
                    'width' => '',
                    'label' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_AM_PROJECTTEMPLATES_TITLE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'relate',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'am_projecttemplates_project_1_name',
                        'type' => 'relate',
                        'source' => 'non-db',
                        'vname' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_AM_PROJECTTEMPLATES_TITLE',
                        'save' => true,
                        'id_name' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                        'link' => 'am_projecttemplates_project_1',
                        'table' => 'am_projecttemplates',
                        'module' => 'AM_ProjectTemplates',
                        'rname' => 'name',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'am_projecttemplates_project_1am_projecttemplates_ida' => [
                    'name' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                    'width' => '',
                    'label' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_PROJECT_TITLE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                        'type' => 'link',
                        'relationship' => 'am_projecttemplates_project_1',
                        'source' => 'non-db',
                        'reportable' => false,
                        'side' => 'right',
                        'vname' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_PROJECT_TITLE',
                        'required' => false,
                        'module' => 'AM_ProjectTemplates',
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                            'type' => 'many-to-many',
                            'parent_id' => 'am_projecttemplates_project_1project_idb',
                        ],
                        'readonly' => false,
                    ],
                ],
                'project_contacts_1' => [
                    'name' => 'project_contacts_1',
                    'width' => '',
                    'label' => 'LBL_PROJECT_CONTACTS_1_FROM_CONTACTS_TITLE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'project_contacts_1',
                        'type' => 'link',
                        'relationship' => 'project_contacts_1',
                        'source' => 'non-db',
                        'module' => 'Contacts',
                        'bean_name' => 'Contact',
                        'vname' => 'LBL_PROJECT_CONTACTS_1_FROM_CONTACTS_TITLE',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => 'project_contacts_1contacts_idb',
                            'type' => 'many-to-many',
                            'parent_id' => 'project_contacts_1project_ida',
                        ],
                        'readonly' => false,
                    ],
                ],
                'aos_quotes_project' => [
                    'name' => 'aos_quotes_project',
                    'width' => '',
                    'label' => 'LBL_AOS_QUOTES_PROJECT',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'aos_quotes_project',
                        'vname' => 'LBL_AOS_QUOTES_PROJECT',
                        'type' => 'link',
                        'relationship' => 'aos_quotes_project',
                        'source' => 'non-db',
                        'required' => false,
                        'module' => 'AOS_Quotes',
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => 'aos_quotes1112_quotes_ida',
                            'type' => 'many-to-many',
                            'parent_id' => 'aos_quotes7207project_idb',
                        ],
                        'readonly' => false,
                    ],
                ],
                'override_business_hours' => [
                    'name' => 'override_business_hours',
                    'width' => '',
                    'label' => 'LBL_OVERRIDE_BUSINESS_HOURS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'bool',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'override_business_hours',
                        'vname' => 'LBL_OVERRIDE_BUSINESS_HOURS',
                        'type' => 'bool',
                        'required' => false,
                        'reportable' => false,
                        'default' => '0',
                        'comment' => '',
                        'readonly' => false,
                    ],
                ],
                'jjwg_maps_address_c' => [
                    'name' => 'jjwg_maps_address_c',
                    'width' => '',
                    'label' => 'LBL_JJWG_MAPS_ADDRESS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'inline_edit' => 1,
                        'required' => false,
                        'source' => 'custom_fields',
                        'name' => 'jjwg_maps_address_c',
                        'vname' => 'LBL_JJWG_MAPS_ADDRESS',
                        'type' => 'varchar',
                        'massupdate' => '0',
                        'default' => null,
                        'no_default' => false,
                        'comments' => 'Address',
                        'help' => 'Address',
                        'importable' => 'true',
                        'duplicate_merge' => 'disabled',
                        'duplicate_merge_dom_value' => '0',
                        'audited' => false,
                        'reportable' => true,
                        'unified_search' => false,
                        'merge_filter' => 'disabled',
                        'len' => '255',
                        'size' => '20',
                        'id' => 'Projectjjwg_maps_address_c',
                        'custom_module' => 'Project',
                        'readonly' => false,
                    ],
                ],
                'jjwg_maps_geocode_status_c' => [
                    'name' => 'jjwg_maps_geocode_status_c',
                    'width' => '',
                    'label' => 'LBL_JJWG_MAPS_GEOCODE_STATUS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'inline_edit' => 1,
                        'required' => false,
                        'source' => 'custom_fields',
                        'name' => 'jjwg_maps_geocode_status_c',
                        'vname' => 'LBL_JJWG_MAPS_GEOCODE_STATUS',
                        'type' => 'varchar',
                        'massupdate' => '0',
                        'default' => null,
                        'no_default' => false,
                        'comments' => 'Geocode Status',
                        'help' => 'Geocode Status',
                        'importable' => 'true',
                        'duplicate_merge' => 'disabled',
                        'duplicate_merge_dom_value' => '0',
                        'audited' => false,
                        'reportable' => true,
                        'unified_search' => false,
                        'merge_filter' => 'disabled',
                        'len' => '255',
                        'size' => '20',
                        'id' => 'Projectjjwg_maps_geocode_status_c',
                        'custom_module' => 'Project',
                        'readonly' => false,
                    ],
                ],
                'jjwg_maps_lat_c' => [
                    'name' => 'jjwg_maps_lat_c',
                    'width' => '',
                    'label' => 'LBL_JJWG_MAPS_LAT',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'float',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'inline_edit' => 1,
                        'required' => false,
                        'source' => 'custom_fields',
                        'name' => 'jjwg_maps_lat_c',
                        'vname' => 'LBL_JJWG_MAPS_LAT',
                        'type' => 'float',
                        'massupdate' => '0',
                        'default' => '0.00000000',
                        'no_default' => false,
                        'comments' => '',
                        'help' => 'Latitude',
                        'importable' => 'true',
                        'duplicate_merge' => 'disabled',
                        'duplicate_merge_dom_value' => '0',
                        'audited' => false,
                        'reportable' => true,
                        'unified_search' => false,
                        'merge_filter' => 'disabled',
                        'len' => '10',
                        'size' => '20',
                        'enable_range_search' => false,
                        'precision' => '8',
                        'id' => 'Projectjjwg_maps_lat_c',
                        'custom_module' => 'Project',
                        'readonly' => false,
                    ],
                ],
                'jjwg_maps_lng_c' => [
                    'name' => 'jjwg_maps_lng_c',
                    'width' => '',
                    'label' => 'LBL_JJWG_MAPS_LNG',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'float',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'inline_edit' => 1,
                        'required' => false,
                        'source' => 'custom_fields',
                        'name' => 'jjwg_maps_lng_c',
                        'vname' => 'LBL_JJWG_MAPS_LNG',
                        'type' => 'float',
                        'massupdate' => '0',
                        'default' => '0.00000000',
                        'no_default' => false,
                        'comments' => '',
                        'help' => 'Longitude',
                        'importable' => 'true',
                        'duplicate_merge' => 'disabled',
                        'duplicate_merge_dom_value' => '0',
                        'audited' => false,
                        'reportable' => true,
                        'unified_search' => false,
                        'merge_filter' => 'disabled',
                        'len' => '11',
                        'size' => '20',
                        'enable_range_search' => false,
                        'precision' => '8',
                        'id' => 'Projectjjwg_maps_lng_c',
                        'custom_module' => 'Project',
                        'readonly' => false,
                    ],
                ],
                'current_user_only' => [
                    'name' => 'current_user_only',
                    'label' => 'LBL_CURRENT_USER_FILTER',
                    'type' => 'bool',
                    'default' => true,
                    'fieldDefinition' => [
                        'displayType' => 'checkbox',
                        'readonly' => false,
                    ],
                ],
                'favorites_only' => [
                    'name' => 'favorites_only',
                    'label' => 'LBL_FAVORITES_FILTER',
                    'type' => 'bool',
                    'default' => true,
                    'fieldDefinition' => [
                        'displayType' => 'checkbox',
                        'readonly' => false,
                    ],
                ],
            ],
        ],
    ],
    'mass_update' => [
        'fields' => [
            [
                'name' => 'created_by_name',
                'label' => 'LBL_CREATED',
                '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',
                    'required' => false,
                ],
                'type' => 'relate',
            ],
            [
                'name' => 'estimated_start_date',
                'label' => 'LBL_DATE_START',
                'fieldDefinition' => [
                    'name' => 'estimated_start_date',
                    'vname' => 'LBL_DATE_START',
                    'required' => true,
                    'validation' => [
                        'type' => 'isbefore',
                        'compareto' => 'estimated_end_date',
                        'blank' => true,
                    ],
                    'type' => 'date',
                    'importable' => 'required',
                    'enable_range_search' => true,
                    'options' => 'date_range_search_dom',
                ],
                'type' => 'date',
            ],
            [
                'name' => 'estimated_end_date',
                'label' => 'LBL_DATE_END',
                'fieldDefinition' => [
                    'name' => 'estimated_end_date',
                    'vname' => 'LBL_DATE_END',
                    'required' => true,
                    'type' => 'date',
                    'importable' => 'required',
                    'enable_range_search' => true,
                    'options' => 'date_range_search_dom',
                ],
                'type' => 'date',
            ],
            [
                'name' => 'status',
                'label' => 'LBL_STATUS',
                'fieldDefinition' => [
                    'name' => 'status',
                    'vname' => 'LBL_STATUS',
                    'type' => 'enum',
                    'options' => 'project_status_dom',
                    'required' => false,
                ],
                'type' => 'enum',
                'metadata' => [
                    'extraOptions' => [
                        [
                            'value' => '__SugarMassUpdateClearField__',
                            'labelKey' => 'LBL_EMPTY',
                        ],
                    ],
                ],
            ],
            [
                'name' => 'priority',
                'label' => 'LBL_PRIORITY',
                'fieldDefinition' => [
                    'name' => 'priority',
                    'vname' => 'LBL_PRIORITY',
                    'type' => 'enum',
                    'options' => 'projects_priority_options',
                    'required' => false,
                ],
                'type' => 'enum',
                'metadata' => [
                    'extraOptions' => [
                        [
                            'value' => '__SugarMassUpdateClearField__',
                            'labelKey' => 'LBL_EMPTY',
                        ],
                    ],
                ],
            ],
            [
                'name' => 'assigned_user_name',
                'label' => 'LBL_ASSIGNED_USER_NAME',
                'fieldDefinition' => [
                    'name' => 'assigned_user_name',
                    'rname' => 'full_name',
                    'id_name' => 'assigned_user_id',
                    'vname' => 'LBL_ASSIGNED_USER_NAME',
                    'type' => 'relate',
                    'table' => 'users',
                    'module' => 'Users',
                    'dbType' => 'varchar',
                    'link' => 'users',
                    'len' => '255',
                    'source' => 'non-db',
                    'required' => false,
                ],
                'type' => 'relate',
            ],
            [
                'name' => 'override_business_hours',
                'label' => 'LBL_OVERRIDE_BUSINESS_HOURS',
                'fieldDefinition' => [
                    'name' => 'override_business_hours',
                    'vname' => 'LBL_OVERRIDE_BUSINESS_HOURS',
                    'type' => 'enum',
                    'required' => false,
                    'reportable' => false,
                    'default' => '0',
                    'comment' => '',
                    'options' => 'dom_int_bool',
                ],
                'type' => 'enum',
            ],
        ],
    ],
    'listview' => [
        'columns' => [
            [
                'name' => 'name',
                'width' => '25%',
                'label' => 'LBL_LIST_NAME',
                'link' => true,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'name',
                'fieldDefinition' => [
                    'name' => 'name',
                    'vname' => 'LBL_NAME',
                    'required' => true,
                    'dbType' => 'varchar',
                    'type' => 'name',
                    'len' => 50,
                    'unified_search' => true,
                    'full_text_search' => [
                        'boost' => 3,
                    ],
                    'comment' => 'Project name',
                    'importable' => 'required',
                ],
            ],
            [
                'name' => 'priority',
                'width' => '10%',
                'label' => 'LBL_PRIORITY',
                'link' => false,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'enum',
                'fieldDefinition' => [
                    'name' => 'priority',
                    'vname' => 'LBL_PRIORITY',
                    'type' => 'enum',
                    'options' => 'projects_priority_options',
                    'required' => false,
                ],
            ],
            [
                'name' => 'status',
                'width' => '10%',
                'label' => 'LBL_STATUS',
                'link' => false,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'enum',
                'fieldDefinition' => [
                    'name' => 'status',
                    'vname' => 'LBL_STATUS',
                    'type' => 'enum',
                    'options' => 'project_status_dom',
                    'required' => false,
                ],
            ],
            [
                'name' => 'estimated_start_date',
                'width' => '10%',
                'label' => 'LBL_DATE_START',
                'link' => false,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'date',
                'fieldDefinition' => [
                    'name' => 'estimated_start_date',
                    'vname' => 'LBL_DATE_START',
                    'required' => true,
                    'validation' => [
                        'type' => 'isbefore',
                        'compareto' => 'estimated_end_date',
                        'blank' => true,
                    ],
                    'type' => 'date',
                    'importable' => 'required',
                    'enable_range_search' => true,
                    'options' => 'date_range_search_dom',
                ],
            ],
            [
                'name' => 'assigned_user_name',
                'width' => '10%',
                'label' => 'LBL_LIST_ASSIGNED_USER_ID',
                'link' => false,
                'default' => true,
                'module' => 'Employees',
                'id' => 'ASSIGNED_USER_ID',
                'sortable' => true,
                'type' => 'relate',
                'fieldDefinition' => [
                    'name' => 'assigned_user_name',
                    'rname' => 'full_name',
                    'id_name' => 'assigned_user_id',
                    'vname' => 'LBL_ASSIGNED_USER_NAME',
                    'type' => 'relate',
                    'table' => 'users',
                    'module' => 'Users',
                    'dbType' => 'varchar',
                    'link' => 'users',
                    'len' => '255',
                    'source' => 'non-db',
                    'required' => false,
                ],
            ],
            [
                'name' => 'estimated_end_date',
                'width' => '10%',
                'label' => 'LBL_DATE_END',
                'link' => false,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'date',
                'fieldDefinition' => [
                    'name' => 'estimated_end_date',
                    'vname' => 'LBL_DATE_END',
                    'required' => true,
                    'type' => 'date',
                    'importable' => 'required',
                    'enable_range_search' => true,
                    'options' => 'date_range_search_dom',
                ],
            ],
        ],
        '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,
                                    'confirmationMessages' => [
                                        'LBL_BULK_ACTION_MASS_UPDATE_CONFIRMATION',
                                    ],
                                ],
                            ],
                        ],
                        'fields' => [
                            [
                                'name' => 'created_by_name',
                                'label' => 'LBL_CREATED',
                                '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',
                                    'required' => false,
                                ],
                                'type' => 'relate',
                            ],
                            [
                                'name' => 'estimated_start_date',
                                'label' => 'LBL_DATE_START',
                                'fieldDefinition' => [
                                    'name' => 'estimated_start_date',
                                    'vname' => 'LBL_DATE_START',
                                    'required' => true,
                                    'validation' => [
                                        'type' => 'isbefore',
                                        'compareto' => 'estimated_end_date',
                                        'blank' => true,
                                    ],
                                    'type' => 'date',
                                    'importable' => 'required',
                                    'enable_range_search' => true,
                                    'options' => 'date_range_search_dom',
                                ],
                                'type' => 'date',
                            ],
                            [
                                'name' => 'estimated_end_date',
                                'label' => 'LBL_DATE_END',
                                'fieldDefinition' => [
                                    'name' => 'estimated_end_date',
                                    'vname' => 'LBL_DATE_END',
                                    'required' => true,
                                    'type' => 'date',
                                    'importable' => 'required',
                                    'enable_range_search' => true,
                                    'options' => 'date_range_search_dom',
                                ],
                                'type' => 'date',
                            ],
                            [
                                'name' => 'status',
                                'label' => 'LBL_STATUS',
                                'fieldDefinition' => [
                                    'name' => 'status',
                                    'vname' => 'LBL_STATUS',
                                    'type' => 'enum',
                                    'options' => 'project_status_dom',
                                    'required' => false,
                                ],
                                'type' => 'enum',
                                'metadata' => [
                                    'extraOptions' => [
                                        [
                                            'value' => '__SugarMassUpdateClearField__',
                                            'labelKey' => 'LBL_EMPTY',
                                        ],
                                    ],
                                ],
                            ],
                            [
                                'name' => 'priority',
                                'label' => 'LBL_PRIORITY',
                                'fieldDefinition' => [
                                    'name' => 'priority',
                                    'vname' => 'LBL_PRIORITY',
                                    'type' => 'enum',
                                    'options' => 'projects_priority_options',
                                    'required' => false,
                                ],
                                'type' => 'enum',
                                'metadata' => [
                                    'extraOptions' => [
                                        [
                                            'value' => '__SugarMassUpdateClearField__',
                                            'labelKey' => 'LBL_EMPTY',
                                        ],
                                    ],
                                ],
                            ],
                            [
                                'name' => 'assigned_user_name',
                                'label' => 'LBL_ASSIGNED_USER_NAME',
                                'fieldDefinition' => [
                                    'name' => 'assigned_user_name',
                                    'rname' => 'full_name',
                                    'id_name' => 'assigned_user_id',
                                    'vname' => 'LBL_ASSIGNED_USER_NAME',
                                    'type' => 'relate',
                                    'table' => 'users',
                                    'module' => 'Users',
                                    'dbType' => 'varchar',
                                    'link' => 'users',
                                    'len' => '255',
                                    'source' => 'non-db',
                                    'required' => false,
                                ],
                                'type' => 'relate',
                            ],
                            [
                                'name' => 'override_business_hours',
                                'label' => 'LBL_OVERRIDE_BUSINESS_HOURS',
                                'fieldDefinition' => [
                                    'name' => 'override_business_hours',
                                    'vname' => 'LBL_OVERRIDE_BUSINESS_HOURS',
                                    'type' => 'enum',
                                    'required' => false,
                                    'reportable' => false,
                                    'default' => '0',
                                    'comment' => '',
                                    'options' => 'dom_int_bool',
                                ],
                                'type' => 'enum',
                            ],
                        ],
                    ],
                ],
                'acl' => [
                    'massupdate',
                ],
                'availability' => [
                    'acls',
                    'massupdate',
                ],
            ],
        ],
        'lineActions' => [
            [
                'key' => 'create',
                'acl' => [
                    'edit',
                ],
                'name' => 'create-calls',
                'module' => 'calls',
                'icon' => 'phone',
                'labelKey' => 'LBL_SCHEDULE_CALL',
                'params' => [
                    'create' => [
                        'module' => 'calls',
                        'returnAction' => 'DetailView',
                        'mapping' => [
                            'moduleName' => 'parent_type',
                            'name' => 'parent_name',
                            'id' => 'parent_id',
                        ],
                        'legacyModuleName' => 'Project',
                        'action' => 'edit',
                    ],
                ],
                'mapping' => [
                    'moduleName' => 'parent_type',
                    'name' => 'parent_name',
                    'id' => 'parent_id',
                ],
                'legacyModuleName' => 'Project',
                'action' => 'edit',
                'modes' => [
                    'list',
                ],
            ],
            [
                'key' => 'create',
                'acl' => [
                    'edit',
                ],
                'name' => 'create-meetings',
                'module' => 'meetings',
                'icon' => 'calendar',
                'labelKey' => 'LBL_SCHEDULE_MEETING',
                'params' => [
                    'create' => [
                        'module' => 'meetings',
                        'returnAction' => 'DetailView',
                        'mapping' => [
                            'moduleName' => 'parent_type',
                            'name' => 'parent_name',
                            'id' => 'parent_id',
                        ],
                        'legacyModuleName' => 'Project',
                        'action' => 'edit',
                    ],
                ],
                'mapping' => [
                    'moduleName' => 'parent_type',
                    'name' => 'parent_name',
                    'id' => 'parent_id',
                ],
                'legacyModuleName' => 'Project',
                'action' => 'edit',
                'modes' => [
                    'list',
                ],
            ],
            [
                'key' => 'create',
                'acl' => [
                    'edit',
                ],
                'name' => 'create-tasks',
                'module' => 'tasks',
                'icon' => 'list',
                'labelKey' => 'LBL_CREATE_TASK',
                'params' => [
                    'create' => [
                        'module' => 'tasks',
                        'returnAction' => 'DetailView',
                        'mapping' => [
                            'moduleName' => 'parent_type',
                            'name' => 'parent_name',
                            'id' => 'parent_id',
                        ],
                        'legacyModuleName' => 'Project',
                        'action' => 'edit',
                    ],
                ],
                'mapping' => [
                    'moduleName' => 'parent_type',
                    'name' => 'parent_name',
                    'id' => 'parent_id',
                ],
                'legacyModuleName' => 'Project',
                'action' => 'edit',
                'modes' => [
                    'list',
                ],
            ],
            [
                'key' => 'modal-create',
                'acl' => [
                    'edit',
                ],
                'name' => 'create-emails',
                'module' => 'emails',
                'icon' => 'email',
                'labelKey' => 'LBL_COMPOSE_EMAIL_BUTTON_LABEL',
                'modes' => [
                    'list',
                ],
                'metadataView' => 'modalComposeView',
                'params' => [
                    'closeConfirmationModal' => true,
                    'closeConfirmationLabel' => 'LBL_CLOSE_EMAIL_MODAL',
                    'detached' => true,
                    'headerClass' => 'left-aligned-title',
                    'dynamicTitleKey' => 'LBL_EMAIL_MODAL_DYNAMIC_TITLE',
                    'modalOptions' => [
                        'size' => 'lg',
                        'scrollable' => false,
                    ],
                    'mapFields' => [
                        'default' => [
                            'parent_id' => 'id',
                            'parent_name' => 'fields.name',
                            'parent_type' => 'attributes.module_name',
                            'to_addrs_names' => [
                                [
                                    'id' => 'id',
                                    'name' => 'fields.name',
                                    'email1' => 'attributes.email1',
                                    'module_name' => 'attributes.module_name',
                                ],
                            ],
                        ],
                    ],
                ],
                'mapping' => [],
                'legacyModuleName' => 'Project',
                'action' => 'modal-create',
            ],
        ],
        'tableActions' => [
            'select-columns' => [
                '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' => [
        'projecttask' => [
            'order' => 20,
            'sort_order' => 'asc',
            'sort_by' => 'project_task_id',
            'module' => 'project-task',
            'top_buttons' => [
                [
                    'key' => 'create',
                    'labelKey' => 'LBL_QUICK_CREATE',
                    'action' => 'create',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'additionalFields' => [
                        'project_id' => 'id',
                        'project_name' => 'name',
                        'return_name' => 'name',
                        'projects_project_tasks_name' => 'name',
                        'return_id' => 'id',
                        'parent_name' => 'name',
                        'parent_id' => 'id',
                    ],
                    'extraParams' => [
                        'target_module' => 'project-task',
                        'return_module' => 'Project',
                        'return_relationship' => 'projects_project_tasks',
                        'parent_type' => 'Project',
                    ],
                    'widget_class' => 'SubPanelTopCreateButton',
                    'relateFields' => [],
                ],
            ],
            'subpanel_name' => 'default',
            'title_key' => 'LBL_PROJECT_TASKS_SUBPANEL_TITLE',
            'get_subpanel_data' => 'projecttask',
            'icon' => 'ProjectTask',
            'name' => 'projecttask',
            'legacyModule' => 'ProjectTask',
            'headerModule' => 'project-task',
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'ProjectTask',
                                    ],
                                    [
                                        'labelKey' => 'LBL_PROJECT_TASKS_SUBPANEL_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [
                [
                    'key' => 'unlink',
                    'labelKey' => 'LBL_UNLINK_RECORD',
                    'action' => 'unlink',
                    'icon' => 'unlink',
                    'asyncProcess' => true,
                    'routing' => false,
                    'params' => [
                        'displayConfirmation' => true,
                        'confirmationLabel' => 'LBL_UNLINK_RELATIONSHIP_CONFIRM',
                    ],
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'project-task',
                ],
                [
                    'key' => 'edit',
                    'labelKey' => 'LBL_EDIT_RECORD',
                    'action' => 'edit',
                    'icon' => 'edit',
                    'asyncProcess' => true,
                    'routing' => true,
                    'params' => null,
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'project-task',
                ],
            ],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'name',
                    'label' => 'LBL_LIST_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_NAME',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'width' => '70%',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'name',
                        'vname' => 'LBL_NAME',
                        'required' => true,
                        'dbType' => 'varchar',
                        'type' => 'name',
                        'len' => 50,
                        'unified_search' => true,
                        'full_text_search' => [
                            'boost' => 3,
                        ],
                        'importable' => 'required',
                    ],
                    'type' => 'name',
                ],
                [
                    'name' => 'date_start',
                    'label' => 'LBL_DATE_START',
                    'sortable' => true,
                    'vname' => 'LBL_DATE_START',
                    'width' => '15%',
                    'fieldDefinition' => [
                        'name' => 'date_start',
                        'vname' => 'LBL_DATE_START',
                        'type' => 'date',
                        'validation' => [
                            'type' => 'isbefore',
                            'compareto' => 'date_finish',
                            'blank' => true,
                        ],
                        'audited' => true,
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'required' => false,
                    ],
                    'type' => 'date',
                ],
                [
                    'name' => 'date_finish',
                    'label' => 'LBL_DATE_FINISH',
                    'sortable' => true,
                    'vname' => 'LBL_DATE_FINISH',
                    'width' => '15%',
                    'fieldDefinition' => [
                        'name' => 'date_finish',
                        'vname' => 'LBL_DATE_FINISH',
                        'type' => 'date',
                        'validation' => [
                            'type' => 'isafter',
                            'compareto' => 'date_start',
                            'blank' => true,
                        ],
                        'audited' => true,
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'required' => false,
                    ],
                    'type' => 'date',
                ],
            ],
        ],
        'activities' => [
            'order' => 40,
            'sort_order' => 'desc',
            'sort_by' => 'date_due',
            'title_key' => 'LBL_ACTIVITIES_SUBPANEL_TITLE',
            'type' => 'collection',
            'subpanel_name' => 'activities',
            'module' => 'activities',
            'top_buttons' => [
                [
                    'key' => 'create',
                    'labelKey' => 'LNK_NEW_TASK',
                    'action' => 'create',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'tasks',
                    'additionalFields' => [
                        'project_id' => 'id',
                        'project_name' => 'name',
                        'return_name' => 'name',
                        'activities_name' => 'name',
                        'return_id' => 'id',
                        'parent_name' => 'name',
                        'parent_id' => 'id',
                    ],
                    'extraParams' => [
                        'target_module' => 'activities',
                        'return_module' => 'Project',
                        'return_relationship' => 'activities',
                        'parent_type' => 'Project',
                    ],
                    'widget_class' => 'SubPanelTopCreateTaskButton',
                    'relateFields' => [],
                ],
                [
                    'key' => 'create',
                    'labelKey' => 'LNK_NEW_MEETING',
                    'action' => 'create',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'meetings',
                    'additionalFields' => [
                        'project_id' => 'id',
                        'project_name' => 'name',
                        'return_name' => 'name',
                        'activities_name' => 'name',
                        'return_id' => 'id',
                        'parent_name' => 'name',
                        'parent_id' => 'id',
                    ],
                    'extraParams' => [
                        'target_module' => 'activities',
                        'return_module' => 'Project',
                        'return_relationship' => 'activities',
                        'parent_type' => 'Project',
                    ],
                    'widget_class' => 'SubPanelTopScheduleMeetingButton',
                    'relateFields' => [],
                ],
                [
                    'key' => 'create',
                    'labelKey' => 'LNK_NEW_CALL',
                    'action' => 'create',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'calls',
                    'additionalFields' => [
                        'project_id' => 'id',
                        'project_name' => 'name',
                        'return_name' => 'name',
                        'activities_name' => 'name',
                        'return_id' => 'id',
                        'parent_name' => 'name',
                        'parent_id' => 'id',
                    ],
                    'extraParams' => [
                        'target_module' => 'activities',
                        'return_module' => 'Project',
                        'return_relationship' => 'activities',
                        'parent_type' => 'Project',
                    ],
                    'widget_class' => 'SubPanelTopScheduleCallButton',
                    'relateFields' => [],
                ],
                [
                    'key' => 'modal-create',
                    'labelKey' => 'LNK_NEW_EMAIL',
                    'action' => 'modal-create',
                    'modes' => [
                        'list',
                    ],
                    'params' => [
                        'detached' => true,
                        'headerClass' => 'left-aligned-title',
                        'dynamicTitleKey' => 'LBL_EMAIL_MODAL_DYNAMIC_TITLE',
                        'closeConfirmationModal' => true,
                        'closeConfirmationLabel' => 'LBL_CLOSE_EMAIL_MODAL',
                        'modalOptions' => [
                            'size' => 'lg',
                            'scrollable' => false,
                        ],
                        'mapFields' => [
                            'default' => [
                                'parent_id' => 'id',
                                'parent_name' => 'fields.name',
                                'parent_type' => 'attributes.module_name',
                                'to_addrs_names' => [
                                    [
                                        'id' => 'id',
                                        'name' => 'fields.name',
                                        'email1' => 'attributes.email1',
                                        'module_name' => 'attributes.module_name',
                                    ],
                                ],
                            ],
                        ],
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'emails',
                    'metadataView' => 'modalComposeView',
                    'additionalFields' => [],
                    'extraParams' => [],
                    'widget_class' => 'SubPanelTopComposeEmailButton',
                ],
            ],
            'collection_list' => [
                'meetings' => [
                    'module' => 'Meetings',
                    'subpanel_name' => 'ForActivities',
                    'get_subpanel_data' => 'meetings',
                ],
                'tasks' => [
                    'module' => 'Tasks',
                    'subpanel_name' => 'ForActivities',
                    'get_subpanel_data' => 'tasks',
                ],
                'calls' => [
                    'module' => 'Calls',
                    'subpanel_name' => 'ForActivities',
                    'get_subpanel_data' => 'calls',
                ],
            ],
            'icon' => 'Activities',
            'name' => 'activities',
            'legacyModule' => 'Activities',
            'headerModule' => 'meetings',
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'Activities',
                                    ],
                                    [
                                        'labelKey' => 'LBL_ACTIVITIES_SUBPANEL_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [
                [
                    'key' => 'edit',
                    'labelKey' => 'LBL_EDIT_RECORD',
                    'action' => 'edit',
                    'icon' => 'edit',
                    'asyncProcess' => true,
                    'routing' => true,
                    'params' => null,
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'activities',
                ],
                [],
                [
                    'key' => 'unlink',
                    'labelKey' => 'LBL_UNLINK_RECORD',
                    'action' => 'unlink',
                    'icon' => 'unlink',
                    'asyncProcess' => true,
                    'routing' => false,
                    'params' => [
                        'displayConfirmation' => true,
                        'confirmationLabel' => 'LBL_UNLINK_RELATIONSHIP_CONFIRM',
                    ],
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'activities',
                ],
            ],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'module_name',
                    'label' => '',
                    'sortable' => false,
                    'vname' => '',
                    'fieldDefinition' => [
                        'name' => 'module_name',
                        'vname' => '',
                        'type' => 'icon',
                        'default' => 'Activities',
                        'required' => false,
                    ],
                    'type' => 'icon',
                ],
                [
                    'name' => 'name',
                    'label' => 'LBL_LIST_SUBJECT',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_SUBJECT',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'width' => '42%',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'name',
                        'vname' => 'LBL_SUBJECT',
                        'required' => true,
                        'type' => 'name',
                        'dbType' => 'varchar',
                        'unified_search' => true,
                        'full_text_search' => [
                            'boost' => 3,
                        ],
                        'len' => '50',
                        'comment' => 'Meeting name',
                        'importable' => 'required',
                    ],
                    'type' => 'name',
                    'multiModuleDefinitions' => [
                        'meetings' => [
                            'name' => 'name',
                            'vname' => 'LBL_SUBJECT',
                            'required' => true,
                            'type' => 'name',
                            'dbType' => 'varchar',
                            'unified_search' => true,
                            'full_text_search' => [
                                'boost' => 3,
                            ],
                            'len' => '50',
                            'comment' => 'Meeting name',
                            'importable' => 'required',
                            'alias' => 'name',
                        ],
                        'tasks' => [
                            'name' => 'name',
                            'vname' => 'LBL_SUBJECT',
                            'dbType' => 'varchar',
                            'type' => 'name',
                            'len' => '50',
                            'unified_search' => true,
                            'full_text_search' => [
                                'boost' => 3,
                            ],
                            'importable' => 'required',
                            'required' => 'true',
                            'alias' => 'name',
                        ],
                        'calls' => [
                            'name' => 'name',
                            'vname' => 'LBL_SUBJECT',
                            'dbType' => 'varchar',
                            'type' => 'name',
                            'len' => '50',
                            'comment' => 'Brief description of the call',
                            'unified_search' => true,
                            'full_text_search' => [
                                'boost' => 3,
                            ],
                            'required' => true,
                            'importable' => 'required',
                            'alias' => 'name',
                        ],
                    ],
                ],
                [
                    'name' => 'status',
                    'label' => 'LBL_LIST_STATUS',
                    'sortable' => true,
                    'widget_class' => 'SubPanelActivitiesStatusField',
                    'vname' => 'LBL_LIST_STATUS',
                    'width' => '15%',
                    'fieldDefinition' => [
                        'name' => 'status',
                        'vname' => 'LBL_STATUS',
                        'type' => 'enum',
                        'len' => 100,
                        'options' => 'meeting_status_dom',
                        'comment' => 'Meeting status (ex: Planned, Held, Not held)',
                        'default' => 'Planned',
                        'required' => false,
                    ],
                    'type' => 'enum',
                    'multiModuleDefinitions' => [
                        'meetings' => [
                            'name' => 'status',
                            'vname' => 'LBL_STATUS',
                            'type' => 'enum',
                            'len' => 100,
                            'options' => 'meeting_status_dom',
                            'comment' => 'Meeting status (ex: Planned, Held, Not held)',
                            'default' => 'Planned',
                            'required' => false,
                            'alias' => 'status',
                        ],
                        'tasks' => [
                            'name' => 'status',
                            'vname' => 'LBL_STATUS',
                            'type' => 'enum',
                            'options' => 'task_status_dom',
                            'len' => 100,
                            'required' => 'true',
                            'default' => 'Not Started',
                            'alias' => 'status',
                        ],
                        'calls' => [
                            'name' => 'status',
                            'vname' => 'LBL_STATUS',
                            'type' => 'enum',
                            'len' => 100,
                            'options' => 'call_status_dom',
                            'comment' => 'The status of the call (Held, Not Held, etc.)',
                            'required' => true,
                            'importable' => 'required',
                            'default' => 'Planned',
                            'studio' => [
                                'detailview' => false,
                            ],
                            'alias' => 'status',
                        ],
                    ],
                ],
                [
                    'name' => 'contact_name',
                    'label' => 'LBL_LIST_CONTACT',
                    'sortable' => false,
                    'widget_class' => 'SubPanelDetailViewLink',
                    'target_record_key' => 'contact_id',
                    'target_module' => 'Contacts',
                    'module' => 'Contacts',
                    'vname' => 'LBL_LIST_CONTACT',
                    'width' => '11%',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'contact_name',
                        'rname' => 'last_name',
                        'db_concat_fields' => [
                            'first_name',
                            'last_name',
                        ],
                        'id_name' => 'contact_id',
                        'massupdate' => false,
                        'vname' => 'LBL_CONTACT_NAME',
                        'type' => 'relate',
                        'link' => 'contacts',
                        'table' => 'contacts',
                        'isnull' => 'true',
                        'module' => 'Contacts',
                        'join_name' => 'contacts',
                        'dbType' => 'varchar',
                        'source' => 'non-db',
                        'len' => 36,
                        'studio' => 'false',
                        'required' => false,
                        'metadata' => [
                            'relateSearchField' => 'name',
                        ],
                    ],
                    'type' => 'relate',
                    'multiModuleDefinitions' => [
                        'meetings' => [
                            'name' => 'contact_name',
                            'rname' => 'last_name',
                            'db_concat_fields' => [
                                'first_name',
                                'last_name',
                            ],
                            'id_name' => 'contact_id',
                            'massupdate' => false,
                            'vname' => 'LBL_CONTACT_NAME',
                            'type' => 'relate',
                            'link' => 'contacts',
                            'table' => 'contacts',
                            'isnull' => 'true',
                            'module' => 'Contacts',
                            'join_name' => 'contacts',
                            'dbType' => 'varchar',
                            'source' => 'non-db',
                            'len' => 36,
                            'studio' => 'false',
                            'required' => false,
                            'metadata' => [
                                'relateSearchField' => 'name',
                            ],
                            'alias' => 'contact_name',
                        ],
                        'tasks' => [
                            'name' => 'contact_name',
                            'rname' => 'last_name',
                            'db_concat_fields' => [
                                'first_name',
                                'last_name',
                            ],
                            'source' => 'non-db',
                            'len' => '510',
                            'group' => 'contact_name',
                            'vname' => 'LBL_CONTACT_NAME',
                            'reportable' => false,
                            'id_name' => 'contact_id',
                            'join_name' => 'contacts',
                            'type' => 'relate',
                            'module' => 'Contacts',
                            'link' => 'contacts',
                            'table' => 'contacts',
                            'required' => false,
                            'legacyGroup' => true,
                            'groupFields' => [
                                'contact_id' => [
                                    'name' => 'contact_id',
                                    'type' => 'id',
                                    'group' => 'contact_name',
                                    'reportable' => false,
                                    'vname' => 'LBL_CONTACT_ID',
                                    'required' => false,
                                ],
                                'contact_name' => [
                                    'name' => 'contact_name',
                                    'rname' => 'last_name',
                                    'db_concat_fields' => [
                                        'first_name',
                                        'last_name',
                                    ],
                                    'source' => 'non-db',
                                    'len' => '510',
                                    'group' => 'contact_name',
                                    'vname' => 'LBL_CONTACT_NAME',
                                    'reportable' => false,
                                    'id_name' => 'contact_id',
                                    'join_name' => 'contacts',
                                    'type' => 'relate',
                                    'module' => 'Contacts',
                                    'link' => 'contacts',
                                    'table' => 'contacts',
                                    'required' => false,
                                ],
                            ],
                            'metadata' => [
                                'relateSearchField' => 'name',
                            ],
                            'alias' => 'contact_name',
                        ],
                        'calls' => [
                            'name' => 'contact_name',
                            'rname' => 'last_name',
                            'db_concat_fields' => [
                                'first_name',
                                'last_name',
                            ],
                            'id_name' => 'contact_id',
                            'massupdate' => false,
                            'vname' => 'LBL_CONTACT_NAME',
                            'type' => 'relate',
                            'link' => 'contacts',
                            'table' => 'contacts',
                            'isnull' => 'true',
                            'module' => 'Contacts',
                            'join_name' => 'contacts',
                            'dbType' => 'varchar',
                            'source' => 'non-db',
                            'len' => 36,
                            'importable' => 'false',
                            'studio' => [
                                'required' => false,
                                'listview' => true,
                                'visible' => false,
                            ],
                            'required' => false,
                            'metadata' => [
                                'relateSearchField' => 'name',
                            ],
                            'alias' => 'contact_name',
                        ],
                    ],
                ],
                [
                    'name' => 'date_end',
                    'label' => 'LBL_LIST_DUE_DATE',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_DUE_DATE',
                    'width' => '10%',
                    'sort_by' => 'date_end',
                    'fieldDefinition' => [
                        'name' => 'date_end',
                        'vname' => 'LBL_DATE_END',
                        'type' => 'datetime',
                        'dbType' => 'datetime',
                        'massupdate' => false,
                        'comment' => 'Date meeting ends',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'required' => false,
                    ],
                    'type' => 'datetime',
                    'multiModuleDefinitions' => [
                        'meetings' => [
                            'name' => 'date_end',
                            'vname' => 'LBL_DATE_END',
                            'type' => 'datetime',
                            'dbType' => 'datetime',
                            'massupdate' => false,
                            'comment' => 'Date meeting ends',
                            'enable_range_search' => true,
                            'options' => 'date_range_search_dom',
                            'required' => false,
                            'alias' => 'date_end',
                        ],
                        'calls' => [
                            'name' => 'date_end',
                            'vname' => 'LBL_DATE_END',
                            'type' => 'datetime',
                            'dbType' => 'datetime',
                            'massupdate' => false,
                            'comment' => 'Date is which call is scheduled to (or did) end',
                            'enable_range_search' => true,
                            'options' => 'date_range_search_dom',
                            'required' => false,
                            'alias' => 'date_end',
                        ],
                    ],
                ],
                [
                    'name' => 'assigned_user_name',
                    'label' => 'LBL_LIST_ASSIGNED_TO_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_ASSIGNED_TO_NAME',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'target_record_key' => 'assigned_user_id',
                    'target_module' => 'Employees',
                    'width' => '10%',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'assigned_user_name',
                        'link' => 'assigned_user_link',
                        'vname' => 'LBL_ASSIGNED_TO_NAME',
                        'rname' => 'full_name',
                        'type' => 'relate',
                        'reportable' => false,
                        'source' => 'non-db',
                        'table' => 'users',
                        'id_name' => 'assigned_user_id',
                        'module' => 'Users',
                        'duplicate_merge' => 'disabled',
                        'required' => false,
                    ],
                    'type' => 'relate',
                    'multiModuleDefinitions' => [
                        'meetings' => [
                            'name' => 'assigned_user_name',
                            'link' => 'assigned_user_link',
                            'vname' => 'LBL_ASSIGNED_TO_NAME',
                            'rname' => 'full_name',
                            'type' => 'relate',
                            'reportable' => false,
                            'source' => 'non-db',
                            'table' => 'users',
                            'id_name' => 'assigned_user_id',
                            'module' => 'Users',
                            'duplicate_merge' => 'disabled',
                            'required' => false,
                            'alias' => 'assigned_user_name',
                        ],
                        'tasks' => [
                            'name' => 'assigned_user_name',
                            'link' => 'assigned_user_link',
                            'vname' => 'LBL_ASSIGNED_TO_NAME',
                            'rname' => 'full_name',
                            'type' => 'relate',
                            'reportable' => false,
                            'source' => 'non-db',
                            'table' => 'users',
                            'id_name' => 'assigned_user_id',
                            'module' => 'Users',
                            'duplicate_merge' => 'disabled',
                            'required' => false,
                            'alias' => 'assigned_user_name',
                        ],
                        'calls' => [
                            'name' => 'assigned_user_name',
                            'link' => 'assigned_user_link',
                            'vname' => 'LBL_ASSIGNED_TO_NAME',
                            'rname' => 'full_name',
                            'type' => 'relate',
                            'reportable' => false,
                            'source' => 'non-db',
                            'table' => 'users',
                            'id_name' => 'assigned_user_id',
                            'module' => 'Users',
                            'duplicate_merge' => 'disabled',
                            'required' => false,
                            'alias' => 'assigned_user_name',
                        ],
                    ],
                ],
            ],
        ],
        'history' => [
            'order' => 50,
            'sort_order' => 'desc',
            'sort_by' => 'date_entered',
            'title_key' => 'LBL_HISTORY_SUBPANEL_TITLE',
            'type' => 'collection',
            'subpanel_name' => 'history',
            'module' => 'history',
            'top_buttons' => [
                [
                    'key' => 'create',
                    'labelKey' => 'LNK_NEW_NOTE',
                    'action' => 'create',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'notes',
                    'additionalFields' => [
                        'project_id' => 'id',
                        'project_name' => 'name',
                        'return_name' => 'name',
                        'history_name' => 'name',
                        'return_id' => 'id',
                        'parent_name' => 'name',
                        'parent_id' => 'id',
                    ],
                    'extraParams' => [
                        'target_module' => 'history',
                        'return_module' => 'Project',
                        'return_relationship' => 'history',
                        'parent_type' => 'Project',
                    ],
                    'widget_class' => 'SubPanelTopCreateNoteButton',
                    'relateFields' => [],
                ],
                [
                    'key' => 'create',
                    'labelKey' => 'LBL_TRACK_EMAIL_BUTTON_LABEL',
                    'action' => 'create',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'emails',
                    'additionalFields' => [
                        'project_id' => 'id',
                        'project_name' => 'name',
                        'return_name' => 'name',
                        'history_name' => 'name',
                        'return_id' => 'id',
                        'parent_name' => 'name',
                        'parent_id' => 'id',
                    ],
                    'extraParams' => [
                        'target_module' => 'history',
                        'return_module' => 'Project',
                        'return_relationship' => 'history',
                        'parent_type' => 'Project',
                    ],
                    'widget_class' => 'SubPanelTopArchiveEmailButton',
                    'relateFields' => [],
                ],
                [
                    'key' => 'show-filter',
                    'icon' => 'filter',
                    'labelKey' => 'LBL_FILTER',
                    'action' => 'show-filter',
                    'params' => [
                        'expanded' => true,
                    ],
                    'modes' => [
                        'list',
                    ],
                    'acl' => null,
                    'additionalFields' => [],
                    'extraParams' => [],
                    'widget_class' => 'SubPanelTopFilterButton',
                ],
                [
                    'key' => 'clear-filter',
                    'labelKey' => 'LBL_CLEAR_FILTER',
                    'action' => 'clear-filter',
                    'params' => [
                        'collapsedMobile' => true,
                        'expanded' => true,
                    ],
                    'modes' => [
                        'list',
                    ],
                    'acl' => null,
                    'additionalFields' => [],
                    'extraParams' => [],
                    'widget_class' => 'SubPanelFilterClearButton',
                ],
            ],
            'collection_list' => [
                'meetings' => [
                    'module' => 'Meetings',
                    'subpanel_name' => 'ForHistory',
                    'get_subpanel_data' => 'meetings',
                ],
                'calls' => [
                    'module' => 'Calls',
                    'subpanel_name' => 'ForHistory',
                    'get_subpanel_data' => 'calls',
                ],
                'tasks' => [
                    'module' => 'Tasks',
                    'subpanel_name' => 'ForHistory',
                    'get_subpanel_data' => 'tasks',
                ],
                'notes' => [
                    'module' => 'Notes',
                    'subpanel_name' => 'ForHistory',
                    'get_subpanel_data' => 'notes',
                ],
                'emails' => [
                    'module' => 'Emails',
                    'subpanel_name' => 'ForHistory',
                    'get_subpanel_data' => 'emails',
                ],
            ],
            'searchdefs' => [
                'collection' => [
                    'name' => 'collection',
                    'label' => 'LBL_COLLECTION_TYPE',
                    'type' => 'enum',
                    'options' => [
                        'Tasks' => 'Tasks',
                        'Meetings' => 'Meetings',
                        'Calls' => 'Calls',
                        'Notes' => 'Notes',
                        'Emails' => 'Emails',
                    ],
                    'default' => true,
                    'width' => '10%',
                    'fieldDefinition' => [
                        'name' => 'collection',
                        'type' => 'enum',
                        'vname' => 'LBL_COLLECTION_TYPE',
                        'options' => [
                            'Tasks' => 'Tasks',
                            'Meetings' => 'Meetings',
                            'Calls' => 'Calls',
                            'Notes' => 'Notes',
                            'Emails' => 'Emails',
                        ],
                        'default' => true,
                        'width' => '10%',
                        'enable_range_search' => '',
                    ],
                ],
                'name' => [
                    'name' => 'name',
                    'label' => 'LBL_SUBJECT',
                    'default' => true,
                    'width' => '10%',
                    'fieldDefinition' => [
                        'name' => 'name',
                        'type' => 'varchar',
                        'vname' => 'LBL_SUBJECT',
                        'options' => [],
                        'default' => true,
                        'width' => '10%',
                        'enable_range_search' => '',
                    ],
                ],
                'current_user_only' => [
                    'name' => 'current_user_only',
                    'label' => 'LBL_CURRENT_USER_FILTER',
                    'type' => 'bool',
                    'default' => true,
                    'width' => '10%',
                    'fieldDefinition' => [
                        'name' => 'current_user_only',
                        'type' => 'bool',
                        'vname' => 'LBL_CURRENT_USER_FILTER',
                        'options' => [],
                        'default' => true,
                        'width' => '10%',
                        'enable_range_search' => '',
                        'displayType' => 'checkbox',
                    ],
                ],
                'date_modified' => [
                    'name' => 'date_modified',
                    'label' => 'LBL_DATE_MODIFIED',
                    'type' => 'composite',
                    'width' => '10%',
                    'fieldDefinition' => [
                        'name' => 'date_modified',
                        'type' => 'date',
                        'vname' => 'LBL_DATE_MODIFIED',
                        'options' => [],
                        'default' => null,
                        'width' => '10%',
                        'enable_range_search' => '',
                        'layout' => [
                            'operator',
                            'target',
                            'start',
                            'end',
                        ],
                        'display' => 'inline',
                        'attributeFields' => [
                            'operator' => [
                                'name' => 'operator',
                                'type' => 'enum',
                                'vname' => 'LBL_OPERATOR',
                                'options' => 'date_range_search_dom',
                                'default' => '=',
                                'defaultValueModes' => [
                                    'filter',
                                    'edit',
                                ],
                            ],
                            'target' => [
                                'name' => 'target',
                                'type' => 'date',
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'date_modified',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'date_modified' => [
                                                    'operator' => [
                                                        '=',
                                                        'not_equal',
                                                        'greater_than',
                                                        'less_than',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                            'start' => [
                                'name' => 'start',
                                'type' => 'date',
                                'vname' => 'LBL_START',
                                'showLabel' => [
                                    '*',
                                ],
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'date_modified',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'date_modified' => [
                                                    'operator' => [
                                                        'between',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                            'end' => [
                                'name' => 'end',
                                'type' => 'date',
                                'vname' => 'LBL_END',
                                'labelKey' => 'LBL_END',
                                'showLabel' => [
                                    '*',
                                ],
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'date_modified',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'date_modified' => [
                                                    'operator' => [
                                                        'between',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'icon' => 'History',
            'name' => 'history',
            'legacyModule' => 'History',
            'headerModule' => 'meetings',
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'History',
                                    ],
                                    [
                                        'labelKey' => 'LBL_HISTORY_SUBPANEL_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [
                [
                    'key' => 'edit',
                    'labelKey' => 'LBL_EDIT_RECORD',
                    'action' => 'edit',
                    'icon' => 'edit',
                    'asyncProcess' => true,
                    'routing' => true,
                    'params' => null,
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'history',
                ],
                [
                    'key' => 'unlink',
                    'labelKey' => 'LBL_UNLINK_RECORD',
                    'action' => 'unlink',
                    'icon' => 'unlink',
                    'asyncProcess' => true,
                    'routing' => false,
                    'params' => [
                        'displayConfirmation' => true,
                        'confirmationLabel' => 'LBL_UNLINK_RELATIONSHIP_CONFIRM',
                    ],
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'history',
                ],
            ],
            'columns' => [
                [
                    'name' => 'module_name',
                    'label' => '',
                    'sortable' => false,
                    'vname' => '',
                    'fieldDefinition' => [
                        'name' => 'module_name',
                        'vname' => '',
                        'type' => 'icon',
                        'default' => 'History',
                        'required' => false,
                    ],
                    'type' => 'icon',
                ],
                [
                    'name' => 'name',
                    'label' => 'LBL_LIST_SUBJECT',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_SUBJECT',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'width' => '30%',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'name',
                        'vname' => 'LBL_SUBJECT',
                        'required' => true,
                        'type' => 'name',
                        'dbType' => 'varchar',
                        'unified_search' => true,
                        'full_text_search' => [
                            'boost' => 3,
                        ],
                        'len' => '50',
                        'comment' => 'Meeting name',
                        'importable' => 'required',
                    ],
                    'type' => 'name',
                    'multiModuleDefinitions' => [
                        'meetings' => [
                            'name' => 'name',
                            'vname' => 'LBL_SUBJECT',
                            'required' => true,
                            'type' => 'name',
                            'dbType' => 'varchar',
                            'unified_search' => true,
                            'full_text_search' => [
                                'boost' => 3,
                            ],
                            'len' => '50',
                            'comment' => 'Meeting name',
                            'importable' => 'required',
                            'alias' => 'name',
                        ],
                        'calls' => [
                            'name' => 'name',
                            'vname' => 'LBL_SUBJECT',
                            'dbType' => 'varchar',
                            'type' => 'name',
                            'len' => '50',
                            'comment' => 'Brief description of the call',
                            'unified_search' => true,
                            'full_text_search' => [
                                'boost' => 3,
                            ],
                            'required' => true,
                            'importable' => 'required',
                            'alias' => 'name',
                        ],
                        'tasks' => [
                            'name' => 'name',
                            'vname' => 'LBL_SUBJECT',
                            'dbType' => 'varchar',
                            'type' => 'name',
                            'len' => '50',
                            'unified_search' => true,
                            'full_text_search' => [
                                'boost' => 3,
                            ],
                            'importable' => 'required',
                            'required' => 'true',
                            'alias' => 'name',
                        ],
                        'notes' => [
                            'name' => 'name',
                            'vname' => 'LBL_NOTE_SUBJECT',
                            'dbType' => 'varchar',
                            'type' => 'name',
                            'len' => '255',
                            'unified_search' => true,
                            'full_text_search' => [
                                'boost' => 3,
                            ],
                            'comment' => 'Name of the note',
                            'importable' => 'required',
                            'required' => true,
                            'alias' => 'name',
                        ],
                        'emails' => [
                            'name' => 'name',
                            'vname' => 'LBL_SUBJECT',
                            'type' => 'name',
                            'dbType' => 'varchar',
                            'required' => false,
                            'len' => '255',
                            'comment' => 'The subject of the email',
                            'inline_edit' => false,
                            'alias' => 'name',
                        ],
                    ],
                ],
                [
                    'name' => 'status',
                    'label' => 'LBL_LIST_STATUS',
                    'sortable' => true,
                    'widget_class' => 'SubPanelActivitiesStatusField',
                    'vname' => 'LBL_LIST_STATUS',
                    'width' => '15%',
                    'fieldDefinition' => [
                        'name' => 'status',
                        'vname' => 'LBL_STATUS',
                        'type' => 'enum',
                        'len' => 100,
                        'options' => 'meeting_status_dom',
                        'comment' => 'Meeting status (ex: Planned, Held, Not held)',
                        'default' => 'Planned',
                        'required' => false,
                    ],
                    'type' => 'enum',
                    'multiModuleDefinitions' => [
                        'meetings' => [
                            'name' => 'status',
                            'vname' => 'LBL_STATUS',
                            'type' => 'enum',
                            'len' => 100,
                            'options' => 'meeting_status_dom',
                            'comment' => 'Meeting status (ex: Planned, Held, Not held)',
                            'default' => 'Planned',
                            'required' => false,
                            'alias' => 'status',
                        ],
                        'calls' => [
                            'name' => 'status',
                            'vname' => 'LBL_STATUS',
                            'type' => 'enum',
                            'len' => 100,
                            'options' => 'call_status_dom',
                            'comment' => 'The status of the call (Held, Not Held, etc.)',
                            'required' => true,
                            'importable' => 'required',
                            'default' => 'Planned',
                            'studio' => [
                                'detailview' => false,
                            ],
                            'alias' => 'status',
                        ],
                        'tasks' => [
                            'name' => 'status',
                            'vname' => 'LBL_STATUS',
                            'type' => 'enum',
                            'options' => 'task_status_dom',
                            'len' => 100,
                            'required' => 'true',
                            'default' => 'Not Started',
                            'alias' => 'status',
                        ],
                        'emails' => [
                            'name' => 'status',
                            'vname' => 'LBL_STATUS',
                            'type' => 'enum',
                            'len' => 100,
                            'options' => 'dom_email_status',
                            'inline_edit' => false,
                            'required' => false,
                            'alias' => 'status',
                        ],
                    ],
                ],
                [
                    'name' => 'contact_name',
                    'label' => 'LBL_LIST_CONTACT',
                    'sortable' => false,
                    'widget_class' => 'SubPanelDetailViewLink',
                    'target_record_key' => 'contact_id',
                    'target_module' => 'Contacts',
                    'module' => 'Contacts',
                    'vname' => 'LBL_LIST_CONTACT',
                    'width' => '11%',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'contact_name',
                        'rname' => 'last_name',
                        'db_concat_fields' => [
                            'first_name',
                            'last_name',
                        ],
                        'id_name' => 'contact_id',
                        'massupdate' => false,
                        'vname' => 'LBL_CONTACT_NAME',
                        'type' => 'relate',
                        'link' => 'contacts',
                        'table' => 'contacts',
                        'isnull' => 'true',
                        'module' => 'Contacts',
                        'join_name' => 'contacts',
                        'dbType' => 'varchar',
                        'source' => 'non-db',
                        'len' => 36,
                        'studio' => 'false',
                        'required' => false,
                        'metadata' => [
                            'relateSearchField' => 'name',
                        ],
                    ],
                    'type' => 'relate',
                    'multiModuleDefinitions' => [
                        'meetings' => [
                            'name' => 'contact_name',
                            'rname' => 'last_name',
                            'db_concat_fields' => [
                                'first_name',
                                'last_name',
                            ],
                            'id_name' => 'contact_id',
                            'massupdate' => false,
                            'vname' => 'LBL_CONTACT_NAME',
                            'type' => 'relate',
                            'link' => 'contacts',
                            'table' => 'contacts',
                            'isnull' => 'true',
                            'module' => 'Contacts',
                            'join_name' => 'contacts',
                            'dbType' => 'varchar',
                            'source' => 'non-db',
                            'len' => 36,
                            'studio' => 'false',
                            'required' => false,
                            'metadata' => [
                                'relateSearchField' => 'name',
                            ],
                            'alias' => 'contact_name',
                        ],
                        'calls' => [
                            'name' => 'contact_name',
                            'rname' => 'last_name',
                            'db_concat_fields' => [
                                'first_name',
                                'last_name',
                            ],
                            'id_name' => 'contact_id',
                            'massupdate' => false,
                            'vname' => 'LBL_CONTACT_NAME',
                            'type' => 'relate',
                            'link' => 'contacts',
                            'table' => 'contacts',
                            'isnull' => 'true',
                            'module' => 'Contacts',
                            'join_name' => 'contacts',
                            'dbType' => 'varchar',
                            'source' => 'non-db',
                            'len' => 36,
                            'importable' => 'false',
                            'studio' => [
                                'required' => false,
                                'listview' => true,
                                'visible' => false,
                            ],
                            'required' => false,
                            'metadata' => [
                                'relateSearchField' => 'name',
                            ],
                            'alias' => 'contact_name',
                        ],
                        'tasks' => [
                            'name' => 'contact_name',
                            'rname' => 'last_name',
                            'db_concat_fields' => [
                                'first_name',
                                'last_name',
                            ],
                            'source' => 'non-db',
                            'len' => '510',
                            'group' => 'contact_name',
                            'vname' => 'LBL_CONTACT_NAME',
                            'reportable' => false,
                            'id_name' => 'contact_id',
                            'join_name' => 'contacts',
                            'type' => 'relate',
                            'module' => 'Contacts',
                            'link' => 'contacts',
                            'table' => 'contacts',
                            'required' => false,
                            'legacyGroup' => true,
                            'groupFields' => [
                                'contact_id' => [
                                    'name' => 'contact_id',
                                    'type' => 'id',
                                    'group' => 'contact_name',
                                    'reportable' => false,
                                    'vname' => 'LBL_CONTACT_ID',
                                    'required' => false,
                                ],
                                'contact_name' => [
                                    'name' => 'contact_name',
                                    'rname' => 'last_name',
                                    'db_concat_fields' => [
                                        'first_name',
                                        'last_name',
                                    ],
                                    'source' => 'non-db',
                                    'len' => '510',
                                    'group' => 'contact_name',
                                    'vname' => 'LBL_CONTACT_NAME',
                                    'reportable' => false,
                                    'id_name' => 'contact_id',
                                    'join_name' => 'contacts',
                                    'type' => 'relate',
                                    'module' => 'Contacts',
                                    'link' => 'contacts',
                                    'table' => 'contacts',
                                    'required' => false,
                                ],
                            ],
                            'metadata' => [
                                'relateSearchField' => 'name',
                            ],
                            'alias' => 'contact_name',
                        ],
                        'notes' => [
                            'name' => 'contact_name',
                            'rname' => 'last_name',
                            'id_name' => 'contact_id',
                            'vname' => 'LBL_CONTACT_NAME',
                            'table' => 'contacts',
                            'type' => 'relate',
                            'link' => 'contact',
                            'join_name' => 'contacts',
                            'db_concat_fields' => [
                                'first_name',
                                'last_name',
                            ],
                            'isnull' => 'true',
                            'module' => 'Contacts',
                            'source' => 'non-db',
                            'required' => false,
                            'metadata' => [
                                'relateSearchField' => 'name',
                            ],
                            'alias' => 'contact_name',
                        ],
                    ],
                ],
                [
                    'name' => 'date_modified',
                    'label' => 'LBL_LIST_DATE_MODIFIED',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_DATE_MODIFIED',
                    'width' => '10%',
                    'fieldDefinition' => [
                        'name' => 'date_modified',
                        'vname' => 'LBL_DATE_MODIFIED',
                        'type' => 'datetime',
                        'group' => 'modified_by_name',
                        'comment' => 'Date record last modified',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'inline_edit' => false,
                        'required' => false,
                    ],
                    'type' => 'datetime',
                    'multiModuleDefinitions' => [
                        'meetings' => [
                            'name' => 'date_modified',
                            'vname' => 'LBL_DATE_MODIFIED',
                            'type' => 'datetime',
                            'group' => 'modified_by_name',
                            'comment' => 'Date record last modified',
                            'enable_range_search' => true,
                            'options' => 'date_range_search_dom',
                            'inline_edit' => false,
                            'required' => false,
                            'alias' => 'date_modified',
                        ],
                        'calls' => [
                            'name' => 'date_modified',
                            'vname' => 'LBL_DATE_MODIFIED',
                            'type' => 'datetime',
                            'group' => 'modified_by_name',
                            'comment' => 'Date record last modified',
                            'enable_range_search' => true,
                            'options' => 'date_range_search_dom',
                            'inline_edit' => false,
                            'required' => false,
                            'alias' => 'date_modified',
                        ],
                        'tasks' => [
                            'name' => 'date_modified',
                            'vname' => 'LBL_DATE_MODIFIED',
                            'type' => 'datetime',
                            'group' => 'modified_by_name',
                            'comment' => 'Date record last modified',
                            'enable_range_search' => true,
                            'options' => 'date_range_search_dom',
                            'inline_edit' => false,
                            'required' => false,
                            'alias' => 'date_modified',
                        ],
                        'notes' => [
                            'name' => 'date_modified',
                            'vname' => 'LBL_DATE_MODIFIED',
                            'type' => 'datetime',
                            'comment' => 'Date record last modified',
                            'enable_range_search' => true,
                            'options' => 'date_range_search_dom',
                            'required' => false,
                            'alias' => 'date_modified',
                        ],
                        'emails' => [
                            'name' => 'date_modified',
                            'vname' => 'LBL_DATE_MODIFIED',
                            'type' => 'datetime',
                            'group' => 'modified_by_name',
                            'comment' => 'Date record last modified',
                            'enable_range_search' => true,
                            'options' => 'date_range_search_dom',
                            'inline_edit' => false,
                            'required' => false,
                            'alias' => 'date_modified',
                        ],
                    ],
                ],
                [
                    'name' => 'date_entered',
                    'label' => 'LBL_LIST_DATE_ENTERED',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_DATE_ENTERED',
                    'width' => '10%',
                    'fieldDefinition' => [
                        'name' => 'date_entered',
                        'vname' => 'LBL_DATE_ENTERED',
                        'type' => 'datetime',
                        'group' => 'created_by_name',
                        'comment' => 'Date record created',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'inline_edit' => false,
                        'required' => false,
                    ],
                    'type' => 'datetime',
                    'multiModuleDefinitions' => [
                        'meetings' => [
                            'name' => 'date_entered',
                            'vname' => 'LBL_DATE_ENTERED',
                            'type' => 'datetime',
                            'group' => 'created_by_name',
                            'comment' => 'Date record created',
                            'enable_range_search' => true,
                            'options' => 'date_range_search_dom',
                            'inline_edit' => false,
                            'required' => false,
                            'alias' => 'date_entered',
                        ],
                        'calls' => [
                            'name' => 'date_entered',
                            'vname' => 'LBL_DATE_ENTERED',
                            'type' => 'datetime',
                            'group' => 'created_by_name',
                            'comment' => 'Date record created',
                            'enable_range_search' => true,
                            'options' => 'date_range_search_dom',
                            'inline_edit' => false,
                            'required' => false,
                            'alias' => 'date_entered',
                        ],
                        'tasks' => [
                            'name' => 'date_entered',
                            'vname' => 'LBL_DATE_ENTERED',
                            'type' => 'datetime',
                            'group' => 'created_by_name',
                            'comment' => 'Date record created',
                            'enable_range_search' => true,
                            'options' => 'date_range_search_dom',
                            'inline_edit' => false,
                            'required' => false,
                            'alias' => 'date_entered',
                        ],
                        'notes' => [
                            'name' => 'date_entered',
                            'vname' => 'LBL_DATE_ENTERED',
                            'type' => 'datetime',
                            'comment' => 'Date record created',
                            'enable_range_search' => true,
                            'options' => 'date_range_search_dom',
                            'required' => false,
                            'alias' => 'date_entered',
                        ],
                        'emails' => [
                            'name' => 'date_entered',
                            'vname' => 'LBL_DATE_ENTERED',
                            'type' => 'datetime',
                            'group' => 'created_by_name',
                            'comment' => 'Date record created',
                            'enable_range_search' => true,
                            'options' => 'date_range_search_dom',
                            'inline_edit' => false,
                            'required' => false,
                            'alias' => 'date_entered',
                        ],
                    ],
                ],
                [
                    'name' => 'date_end',
                    'label' => 'LBL_LIST_DUE_DATE',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_DUE_DATE',
                    'width' => '10%',
                    'alias' => 'date_due',
                    'sort_by' => 'date_due',
                    'fieldDefinition' => [
                        'name' => 'date_end',
                        'vname' => 'LBL_DATE_END',
                        'type' => 'datetime',
                        'dbType' => 'datetime',
                        'massupdate' => false,
                        'comment' => 'Date meeting ends',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'required' => false,
                    ],
                    'type' => 'datetime',
                    'multiModuleDefinitions' => [
                        'meetings' => [
                            'name' => 'date_end',
                            'vname' => 'LBL_DATE_END',
                            'type' => 'datetime',
                            'dbType' => 'datetime',
                            'massupdate' => false,
                            'comment' => 'Date meeting ends',
                            'enable_range_search' => true,
                            'options' => 'date_range_search_dom',
                            'required' => false,
                            'alias' => 'date_end',
                        ],
                        'calls' => [
                            'name' => 'date_end',
                            'vname' => 'LBL_DATE_END',
                            'type' => 'datetime',
                            'dbType' => 'datetime',
                            'massupdate' => false,
                            'comment' => 'Date is which call is scheduled to (or did) end',
                            'enable_range_search' => true,
                            'options' => 'date_range_search_dom',
                            'required' => false,
                            'alias' => 'date_end',
                        ],
                        'tasks' => [
                            'name' => 'date_end',
                            'vname' => 'LBL_DUE_DATE',
                            'type' => 'datetime',
                            'dbType' => 'datetime',
                            'group' => 'date_due',
                            'studio' => [
                                'required' => true,
                                'no_duplicate' => true,
                            ],
                            'enable_range_search' => true,
                            'options' => 'date_range_search_dom',
                            'required' => false,
                            'legacyGroup' => true,
                            'groupFields' => [
                                'date_due_flag' => [
                                    'name' => 'date_due_flag',
                                    'vname' => 'LBL_DATE_DUE_FLAG',
                                    'type' => 'bool',
                                    'default' => 0,
                                    'group' => 'date_due',
                                    'studio' => false,
                                    'required' => false,
                                ],
                                'date_due' => [
                                    'name' => 'date_due',
                                    'vname' => 'LBL_DUE_DATE',
                                    'type' => 'datetimecombo',
                                    'dbType' => 'datetime',
                                    'group' => 'date_due',
                                    'studio' => [
                                        'required' => true,
                                        'no_duplicate' => true,
                                    ],
                                    'enable_range_search' => true,
                                    'options' => 'date_range_search_dom',
                                    'required' => false,
                                ],
                            ],
                            'alias' => 'date_due',
                        ],
                    ],
                ],
                [
                    'name' => 'assigned_user_name',
                    'label' => 'LBL_LIST_ASSIGNED_TO_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_ASSIGNED_TO_NAME',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'target_record_key' => 'assigned_user_id',
                    'target_module' => 'Employees',
                    'width' => '10%',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'assigned_user_name',
                        'link' => 'assigned_user_link',
                        'vname' => 'LBL_ASSIGNED_TO_NAME',
                        'rname' => 'full_name',
                        'type' => 'relate',
                        'reportable' => false,
                        'source' => 'non-db',
                        'table' => 'users',
                        'id_name' => 'assigned_user_id',
                        'module' => 'Users',
                        'duplicate_merge' => 'disabled',
                        'required' => false,
                    ],
                    'type' => 'relate',
                    'multiModuleDefinitions' => [
                        'meetings' => [
                            'name' => 'assigned_user_name',
                            'link' => 'assigned_user_link',
                            'vname' => 'LBL_ASSIGNED_TO_NAME',
                            'rname' => 'full_name',
                            'type' => 'relate',
                            'reportable' => false,
                            'source' => 'non-db',
                            'table' => 'users',
                            'id_name' => 'assigned_user_id',
                            'module' => 'Users',
                            'duplicate_merge' => 'disabled',
                            'required' => false,
                            'alias' => 'assigned_user_name',
                        ],
                        'calls' => [
                            'name' => 'assigned_user_name',
                            'link' => 'assigned_user_link',
                            'vname' => 'LBL_ASSIGNED_TO_NAME',
                            'rname' => 'full_name',
                            'type' => 'relate',
                            'reportable' => false,
                            'source' => 'non-db',
                            'table' => 'users',
                            'id_name' => 'assigned_user_id',
                            'module' => 'Users',
                            'duplicate_merge' => 'disabled',
                            'required' => false,
                            'alias' => 'assigned_user_name',
                        ],
                        'tasks' => [
                            'name' => 'assigned_user_name',
                            'link' => 'assigned_user_link',
                            'vname' => 'LBL_ASSIGNED_TO_NAME',
                            'rname' => 'full_name',
                            'type' => 'relate',
                            'reportable' => false,
                            'source' => 'non-db',
                            'table' => 'users',
                            'id_name' => 'assigned_user_id',
                            'module' => 'Users',
                            'duplicate_merge' => 'disabled',
                            'required' => false,
                            'alias' => 'assigned_user_name',
                        ],
                        'notes' => [
                            'name' => 'assigned_user_name',
                            'link' => 'assigned_user_link',
                            'vname' => 'LBL_ASSIGNED_TO_NAME',
                            'rname' => 'full_name',
                            'type' => 'relate',
                            'reportable' => false,
                            'source' => 'non-db',
                            'table' => 'users',
                            'id_name' => 'assigned_user_id',
                            'module' => 'Users',
                            'duplicate_merge' => 'disabled',
                            'required' => false,
                            'alias' => 'assigned_user_name',
                        ],
                        'emails' => [
                            'name' => 'assigned_user_name',
                            'link' => 'assigned_user_link',
                            'vname' => 'LBL_ASSIGNED_TO_NAME',
                            'rname' => 'full_name',
                            'type' => 'relate',
                            'reportable' => false,
                            'source' => 'non-db',
                            'table' => 'users',
                            'id_name' => 'assigned_user_id',
                            'module' => 'Users',
                            'duplicate_merge' => 'disabled',
                            'required' => false,
                            'alias' => 'assigned_user_name',
                        ],
                    ],
                ],
            ],
        ],
        'contacts' => [
            'top_buttons' => [
                [
                    'key' => 'select',
                    'labelKey' => 'LBL_LINK_UNLINK',
                    'action' => 'select',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'additionalFields' => [],
                    'extraParams' => [],
                    'widget_class' => 'SubPanelTopSelectButton',
                ],
            ],
            'order' => 60,
            'module' => 'contacts',
            'sort_order' => 'asc',
            'sort_by' => 'last_name, first_name',
            'subpanel_name' => 'default',
            'get_subpanel_data' => 'contacts',
            'add_subpanel_data' => 'contact_id',
            'title_key' => 'LBL_CONTACTS_SUBPANEL_TITLE',
            'icon' => 'Contacts',
            'name' => 'contacts',
            'legacyModule' => 'Contacts',
            'headerModule' => 'contacts',
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'Contacts',
                                    ],
                                    [
                                        'labelKey' => 'LBL_CONTACTS_SUBPANEL_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [
                [
                    'key' => 'edit',
                    'labelKey' => 'LBL_EDIT_RECORD',
                    'action' => 'edit',
                    'icon' => 'edit',
                    'asyncProcess' => true,
                    'routing' => true,
                    'params' => null,
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'contacts',
                ],
                [
                    'key' => 'unlink',
                    'labelKey' => 'LBL_UNLINK_RECORD',
                    'action' => 'unlink',
                    'icon' => 'unlink',
                    'asyncProcess' => true,
                    'routing' => false,
                    'params' => [
                        'displayConfirmation' => true,
                        'confirmationLabel' => 'LBL_UNLINK_RELATIONSHIP_CONFIRM',
                    ],
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'contacts',
                ],
            ],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'name',
                    'label' => 'LBL_LIST_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_NAME',
                    'sort_by' => 'last_name',
                    'sort_order' => 'asc',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'module' => 'Contacts',
                    'width' => '23%',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'name',
                        'rname' => 'name',
                        'vname' => 'LBL_NAME',
                        'type' => 'name',
                        'link' => true,
                        'fields' => [
                            'first_name',
                            'last_name',
                        ],
                        'sort_on' => 'last_name',
                        'source' => 'non-db',
                        'group' => 'last_name',
                        'len' => '255',
                        'db_concat_fields' => [
                            'first_name',
                            'last_name',
                        ],
                        'importable' => 'false',
                        'required' => false,
                    ],
                    'type' => 'name',
                ],
                [
                    'name' => 'account_name',
                    'label' => 'LBL_LIST_ACCOUNT_NAME',
                    'sortable' => true,
                    'module' => 'Accounts',
                    'target_record_key' => 'account_id',
                    'target_module' => 'Accounts',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'vname' => 'LBL_LIST_ACCOUNT_NAME',
                    'width' => '22%',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'account_name',
                        'rname' => 'name',
                        'id_name' => 'account_id',
                        'vname' => 'LBL_ACCOUNT_NAME',
                        'join_name' => 'accounts',
                        'type' => 'relate',
                        'link' => 'accounts',
                        'table' => 'accounts',
                        'isnull' => 'true',
                        'module' => 'Accounts',
                        'dbType' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'unified_search' => true,
                        'required' => false,
                    ],
                    'type' => 'relate',
                ],
                [
                    'name' => 'email1',
                    'label' => 'LBL_LIST_EMAIL',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_EMAIL',
                    'widget_class' => 'SubPanelEmailLink',
                    'width' => '30%',
                    'fieldDefinition' => [
                        'name' => 'email1',
                        'vname' => 'LBL_EMAIL_ADDRESS',
                        'type' => 'varchar',
                        'function' => [
                            'name' => 'getEmailAddressWidget',
                            'returns' => 'html',
                        ],
                        'source' => 'non-db',
                        'group' => 'email1',
                        'merge_filter' => 'disabled',
                        'studio' => [
                            'editview' => true,
                            'editField' => true,
                            'searchview' => false,
                            'popupsearch' => false,
                        ],
                        'full_text_search' => [
                            'boost' => 3,
                            'analyzer' => 'whitespace',
                        ],
                        'required' => true,
                        'inline_edit' => true,
                    ],
                    'type' => 'email',
                ],
                [
                    'name' => 'phone_work',
                    'label' => 'LBL_LIST_PHONE',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_PHONE',
                    'width' => '15%',
                    'fieldDefinition' => [
                        'name' => 'phone_work',
                        'vname' => 'LBL_OFFICE_PHONE',
                        'type' => 'phone',
                        'dbType' => 'varchar',
                        'len' => 100,
                        'audited' => true,
                        'unified_search' => true,
                        'full_text_search' => [
                            'boost' => 1,
                        ],
                        'comment' => 'Work phone number of the contact',
                        'merge_filter' => 'disabled',
                        'required' => true,
                        'inline_edit' => true,
                        'comments' => 'Work phone number of the contact',
                    ],
                    'type' => 'phone',
                ],
            ],
        ],
        'accounts' => [
            'top_buttons' => [
                [
                    'key' => 'select',
                    'labelKey' => 'LBL_LINK_UNLINK',
                    'action' => 'select',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'additionalFields' => [],
                    'extraParams' => [],
                    'widget_class' => 'SubPanelTopSelectButton',
                ],
            ],
            'order' => 70,
            'module' => 'accounts',
            'sort_order' => 'asc',
            'sort_by' => 'name',
            'subpanel_name' => 'default',
            'get_subpanel_data' => 'accounts',
            'add_subpanel_data' => 'account_id',
            'title_key' => 'LBL_ACCOUNTS_SUBPANEL_TITLE',
            'icon' => 'Accounts',
            'name' => 'accounts',
            'legacyModule' => 'Accounts',
            'headerModule' => 'accounts',
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'Accounts',
                                    ],
                                    [
                                        'labelKey' => 'LBL_ACCOUNTS_SUBPANEL_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [
                [
                    'key' => 'edit',
                    'labelKey' => 'LBL_EDIT_RECORD',
                    'action' => 'edit',
                    'icon' => 'edit',
                    'asyncProcess' => true,
                    'routing' => true,
                    'params' => null,
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'accounts',
                ],
                [
                    'key' => 'unlink',
                    'labelKey' => 'LBL_UNLINK_RECORD',
                    'action' => 'unlink',
                    'icon' => 'unlink',
                    'asyncProcess' => true,
                    'routing' => false,
                    'params' => [
                        'displayConfirmation' => true,
                        'confirmationLabel' => 'LBL_UNLINK_RELATIONSHIP_CONFIRM',
                    ],
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'accounts',
                ],
            ],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'name',
                    'label' => 'LBL_LIST_ACCOUNT_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_ACCOUNT_NAME',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'width' => '45%',
                    'default' => true,
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'name',
                        'type' => 'name',
                        'dbType' => 'varchar',
                        'vname' => 'LBL_NAME',
                        'len' => 150,
                        'comment' => 'Name of the Company',
                        'unified_search' => true,
                        'full_text_search' => [
                            'boost' => 3,
                        ],
                        'audited' => true,
                        'required' => true,
                        'importable' => 'required',
                        'merge_filter' => 'selected',
                    ],
                    'type' => 'name',
                ],
                [
                    'name' => 'billing_address_city',
                    'label' => 'LBL_LIST_CITY',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_CITY',
                    'width' => '20%',
                    'default' => true,
                    'fieldDefinition' => [
                        'name' => 'billing_address_city',
                        'vname' => 'LBL_BILLING_ADDRESS_CITY',
                        'type' => 'varchar',
                        'len' => '100',
                        'comment' => 'The city used for billing address',
                        'group' => 'billing_address',
                        'merge_filter' => 'enabled',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'billing_address_country',
                    'label' => 'LBL_BILLING_ADDRESS_COUNTRY',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vname' => 'LBL_BILLING_ADDRESS_COUNTRY',
                    'width' => '7%',
                    'default' => true,
                    'fieldDefinition' => [
                        'name' => 'billing_address_country',
                        'vname' => 'LBL_BILLING_ADDRESS_COUNTRY',
                        'type' => 'varchar',
                        'group' => 'billing_address',
                        'comment' => 'The country used for the billing address',
                        'merge_filter' => 'enabled',
                        'required' => false,
                    ],
                ],
                [
                    'name' => 'phone_office',
                    'label' => 'LBL_LIST_PHONE',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_PHONE',
                    'width' => '20%',
                    'default' => true,
                    'fieldDefinition' => [
                        'name' => 'phone_office',
                        'vname' => 'LBL_PHONE_OFFICE',
                        'type' => 'phone',
                        'dbType' => 'varchar',
                        'len' => '100',
                        'audited' => true,
                        'unified_search' => true,
                        'full_text_search' => [
                            'boost' => 1,
                        ],
                        'comment' => 'The office phone number',
                        'merge_filter' => 'disabled',
                        'required' => true,
                        'inline_edit' => true,
                        'comments' => 'The office phone number',
                        'legacyGroup' => true,
                        'groupFields' => [
                            'phone_alternate' => [
                                'name' => 'phone_alternate',
                                'vname' => 'LBL_PHONE_ALT',
                                'type' => 'phone',
                                'group' => 'phone_office',
                                'dbType' => 'varchar',
                                'len' => 100,
                                'unified_search' => true,
                                'full_text_search' => [
                                    'boost' => 1,
                                ],
                                'comment' => 'An alternate phone number',
                                'merge_filter' => 'enabled',
                                'required' => false,
                            ],
                        ],
                    ],
                    'type' => 'phone',
                ],
            ],
        ],
        'opportunities' => [
            'top_buttons' => [
                [
                    'key' => 'select',
                    'labelKey' => 'LBL_LINK_UNLINK',
                    'action' => 'select',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'additionalFields' => [],
                    'extraParams' => [],
                    'widget_class' => 'SubPanelTopSelectButton',
                ],
            ],
            'order' => 80,
            'module' => 'opportunities',
            'sort_order' => 'desc',
            'sort_by' => 'date_closed',
            'subpanel_name' => 'default',
            'get_subpanel_data' => 'opportunities',
            'add_subpanel_data' => 'opportunity_id',
            'title_key' => 'LBL_OPPORTUNITIES_SUBPANEL_TITLE',
            'icon' => 'Opportunities',
            'name' => 'opportunities',
            'legacyModule' => 'Opportunities',
            'headerModule' => 'opportunities',
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'Opportunities',
                                    ],
                                    [
                                        'labelKey' => 'LBL_OPPORTUNITIES_SUBPANEL_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [
                [
                    'key' => 'edit',
                    'labelKey' => 'LBL_EDIT_RECORD',
                    'action' => 'edit',
                    'icon' => 'edit',
                    'asyncProcess' => true,
                    'routing' => true,
                    'params' => null,
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'opportunities',
                ],
                [
                    'key' => 'unlink',
                    'labelKey' => 'LBL_UNLINK_RECORD',
                    'action' => 'unlink',
                    'icon' => 'unlink',
                    'asyncProcess' => true,
                    'routing' => false,
                    'params' => [
                        'displayConfirmation' => true,
                        'confirmationLabel' => 'LBL_UNLINK_RELATIONSHIP_CONFIRM',
                    ],
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'opportunities',
                ],
            ],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'name',
                    'label' => 'LBL_LIST_OPPORTUNITY_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_OPPORTUNITY_NAME',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'width' => '40%',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'name',
                        'vname' => 'LBL_OPPORTUNITY_NAME',
                        'type' => 'name',
                        'dbType' => 'varchar',
                        'len' => '50',
                        'unified_search' => true,
                        'full_text_search' => [
                            'boost' => 3,
                        ],
                        'comment' => 'Name of the opportunity',
                        'merge_filter' => 'selected',
                        'importable' => 'required',
                        'required' => true,
                    ],
                    'type' => 'name',
                ],
                [
                    'name' => 'account_name',
                    'label' => 'LBL_LIST_ACCOUNT_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_ACCOUNT_NAME',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'module' => 'Accounts',
                    'width' => '31%',
                    'target_record_key' => 'account_id',
                    'target_module' => 'Accounts',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'account_name',
                        'rname' => 'name',
                        'id_name' => 'account_id',
                        'vname' => 'LBL_ACCOUNT_NAME',
                        'type' => 'relate',
                        'table' => 'accounts',
                        'join_name' => 'accounts',
                        'isnull' => 'true',
                        'module' => 'Accounts',
                        'dbType' => 'varchar',
                        'link' => 'accounts',
                        'len' => '255',
                        'source' => 'non-db',
                        'unified_search' => true,
                        'required' => true,
                        'importable' => 'required',
                    ],
                    'type' => 'relate',
                ],
                [
                    'name' => 'sales_stage',
                    'label' => 'LBL_LIST_SALES_STAGE',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_SALES_STAGE',
                    'width' => '15%',
                    'fieldDefinition' => [
                        'name' => 'sales_stage',
                        'vname' => 'LBL_SALES_STAGE',
                        'type' => 'enum',
                        'options' => 'sales_stage_dom',
                        'len' => '255',
                        'audited' => true,
                        'comment' => 'Indication of progression towards closure',
                        'merge_filter' => 'enabled',
                        'importable' => 'required',
                        'required' => true,
                    ],
                    'type' => 'enum',
                ],
                [
                    'name' => 'date_closed',
                    'label' => 'LBL_LIST_DATE_CLOSED',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_DATE_CLOSED',
                    'width' => '15%',
                    'fieldDefinition' => [
                        'name' => 'date_closed',
                        'vname' => 'LBL_DATE_CLOSED',
                        'type' => 'date',
                        'audited' => true,
                        'comment' => 'Expected or actual date the oppportunity will close',
                        'importable' => 'required',
                        'required' => true,
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                    ],
                    'type' => 'date',
                ],
                [
                    'name' => 'amount_usdollar',
                    'label' => 'LBL_LIST_AMOUNT_USDOLLAR',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_AMOUNT_USDOLLAR',
                    'width' => '15%',
                    'fieldDefinition' => [
                        'name' => 'amount_usdollar',
                        'vname' => 'LBL_AMOUNT_USDOLLAR',
                        'type' => 'currency',
                        'group' => 'amount',
                        'dbType' => 'double',
                        'disable_num_format' => true,
                        'duplicate_merge' => '0',
                        'audited' => true,
                        'comment' => 'Formatted amount of the opportunity',
                        'studio' => [
                            'editview' => false,
                            'detailview' => false,
                            'quickcreate' => false,
                        ],
                        'required' => false,
                        'metadata' => [
                            'isBaseCurrency' => true,
                            'format' => false,
                        ],
                    ],
                    'type' => 'currency',
                ],
                [
                    'name' => 'assigned_user_name',
                    'label' => 'LBL_LIST_ASSIGNED_TO_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_ASSIGNED_TO_NAME',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'target_record_key' => 'assigned_user_id',
                    'target_module' => 'Employees',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'assigned_user_name',
                        'link' => 'assigned_user_link',
                        'vname' => 'LBL_ASSIGNED_TO_NAME',
                        'rname' => 'full_name',
                        'type' => 'relate',
                        'reportable' => false,
                        'source' => 'non-db',
                        'table' => 'users',
                        'id_name' => 'assigned_user_id',
                        'module' => 'Users',
                        'duplicate_merge' => 'disabled',
                        'required' => false,
                    ],
                    'type' => 'relate',
                ],
            ],
        ],
        'cases' => [
            'top_buttons' => [
                [
                    'key' => 'select',
                    'labelKey' => 'LBL_LINK_UNLINK',
                    'action' => 'select',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'additionalFields' => [],
                    'extraParams' => [],
                    'widget_class' => 'SubPanelTopSelectButton',
                ],
            ],
            'order' => 110,
            'module' => 'cases',
            'sort_order' => 'desc',
            'sort_by' => 'case_number',
            'subpanel_name' => 'default',
            'get_subpanel_data' => 'cases',
            'add_subpanel_data' => 'case_id',
            'title_key' => 'LBL_CASES_SUBPANEL_TITLE',
            'icon' => 'Cases',
            'name' => 'cases',
            'legacyModule' => 'Cases',
            'headerModule' => 'cases',
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'Cases',
                                    ],
                                    [
                                        'labelKey' => 'LBL_CASES_SUBPANEL_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [
                [
                    'key' => 'edit',
                    'labelKey' => 'LBL_EDIT_RECORD',
                    'action' => 'edit',
                    'icon' => 'edit',
                    'asyncProcess' => true,
                    'routing' => true,
                    'params' => null,
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'cases',
                ],
                [
                    'key' => 'unlink',
                    'labelKey' => 'LBL_UNLINK_RECORD',
                    'action' => 'unlink',
                    'icon' => 'unlink',
                    'asyncProcess' => true,
                    'routing' => false,
                    'params' => [
                        'displayConfirmation' => true,
                        'confirmationLabel' => 'LBL_UNLINK_RELATIONSHIP_CONFIRM',
                    ],
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'cases',
                ],
            ],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'case_number',
                    'label' => 'LBL_LIST_NUMBER',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_NUMBER',
                    'width' => '6%',
                    'fieldDefinition' => [
                        'name' => 'case_number',
                        'vname' => 'LBL_NUMBER',
                        'type' => 'int',
                        'len' => 11,
                        'required' => false,
                        'auto_increment' => true,
                        'unified_search' => true,
                        'full_text_search' => [
                            'boost' => 3,
                        ],
                        'comment' => 'Visual unique identifier',
                        'duplicate_merge' => 'disabled',
                        'disable_num_format' => true,
                        'studio' => [
                            'quickcreate' => false,
                        ],
                        'inline_edit' => false,
                        'metadata' => [
                            'format' => false,
                        ],
                        'readonly' => true,
                    ],
                    'type' => 'int',
                ],
                [
                    'name' => 'name',
                    'label' => 'LBL_LIST_SUBJECT',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_SUBJECT',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'width' => '40%',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'name',
                        'vname' => 'LBL_SUBJECT',
                        'type' => 'name',
                        'link' => true,
                        'dbType' => 'varchar',
                        'len' => 255,
                        'audited' => true,
                        'unified_search' => true,
                        'full_text_search' => [
                            'boost' => 3,
                        ],
                        'comment' => 'The short description of the bug',
                        'merge_filter' => 'selected',
                        'required' => true,
                        'importable' => 'required',
                    ],
                    'type' => 'name',
                ],
                [
                    'name' => 'account_name',
                    'label' => 'LBL_LIST_ACCOUNT_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_ACCOUNT_NAME',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'module' => 'Accounts',
                    'width' => '31%',
                    'target_record_key' => 'account_id',
                    'target_module' => 'Accounts',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'account_name',
                        'rname' => 'name',
                        'id_name' => 'account_id',
                        'vname' => 'LBL_ACCOUNT_NAME',
                        'type' => 'relate',
                        'link' => 'accounts',
                        'table' => 'accounts',
                        'join_name' => 'accounts',
                        'isnull' => 'true',
                        'module' => 'Accounts',
                        'dbType' => 'varchar',
                        'len' => 100,
                        'source' => 'non-db',
                        'unified_search' => true,
                        'comment' => 'The name of the account represented by the account_id field',
                        'required' => true,
                        'importable' => 'required',
                    ],
                    'type' => 'relate',
                ],
                [
                    'name' => 'status',
                    'label' => 'LBL_LIST_STATUS',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_STATUS',
                    'width' => '10%',
                    'fieldDefinition' => [
                        'name' => 'status',
                        'vname' => 'LBL_STATUS',
                        'type' => 'enum',
                        'options' => 'case_status_dom',
                        'len' => 100,
                        'audited' => true,
                        'comment' => 'The status of the case',
                        'dbtype' => 'enum',
                        'parentenum' => 'state',
                        'required' => false,
                        'dynamic' => true,
                    ],
                    'type' => 'enum',
                ],
                [
                    'name' => 'date_entered',
                    'label' => 'LBL_LIST_DATE_CREATED',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_DATE_CREATED',
                    'width' => '15%',
                    'fieldDefinition' => [
                        'name' => 'date_entered',
                        'vname' => 'LBL_DATE_ENTERED',
                        'type' => 'datetime',
                        'group' => 'created_by_name',
                        'comment' => 'Date record created',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'inline_edit' => false,
                        'required' => false,
                    ],
                    'type' => 'datetime',
                ],
                [
                    'name' => 'assigned_user_name',
                    'label' => 'LBL_LIST_ASSIGNED_TO_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_ASSIGNED_TO_NAME',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'target_record_key' => 'assigned_user_id',
                    'target_module' => 'Employees',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'assigned_user_name',
                        'link' => 'assigned_user_link',
                        'vname' => 'LBL_ASSIGNED_TO_NAME',
                        'rname' => 'full_name',
                        'type' => 'relate',
                        'reportable' => false,
                        'source' => 'non-db',
                        'table' => 'users',
                        'id_name' => 'assigned_user_id',
                        'module' => 'Users',
                        'duplicate_merge' => 'disabled',
                        'required' => false,
                    ],
                    'type' => 'relate',
                ],
            ],
        ],
        'bugs' => [
            'top_buttons' => [
                [
                    'key' => 'select',
                    'labelKey' => 'LBL_LINK_UNLINK',
                    'action' => 'select',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'additionalFields' => [],
                    'extraParams' => [],
                    'widget_class' => 'SubPanelTopSelectButton',
                ],
            ],
            'order' => 120,
            'module' => 'bugs',
            'sort_order' => 'desc',
            'sort_by' => 'bug_number',
            'subpanel_name' => 'default',
            'get_subpanel_data' => 'bugs',
            'add_subpanel_data' => 'bug_id',
            'title_key' => 'LBL_BUGS_SUBPANEL_TITLE',
            'icon' => 'Bugs',
            'name' => 'bugs',
            'legacyModule' => 'Bugs',
            'headerModule' => 'bugs',
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'Bugs',
                                    ],
                                    [
                                        'labelKey' => 'LBL_BUGS_SUBPANEL_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [
                [
                    'key' => 'edit',
                    'labelKey' => 'LBL_EDIT_RECORD',
                    'action' => 'edit',
                    'icon' => 'edit',
                    'asyncProcess' => true,
                    'routing' => true,
                    'params' => null,
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'bugs',
                ],
                [
                    'key' => 'unlink',
                    'labelKey' => 'LBL_UNLINK_RECORD',
                    'action' => 'unlink',
                    'icon' => 'unlink',
                    'asyncProcess' => true,
                    'routing' => false,
                    'params' => [
                        'displayConfirmation' => true,
                        'confirmationLabel' => 'LBL_UNLINK_RELATIONSHIP_CONFIRM',
                    ],
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'bugs',
                ],
            ],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'bug_number',
                    'label' => 'LBL_LIST_NUMBER',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_NUMBER',
                    'width' => '5%',
                    'fieldDefinition' => [
                        'name' => 'bug_number',
                        'vname' => 'LBL_NUMBER',
                        'type' => 'int',
                        'len' => 11,
                        'required' => false,
                        'auto_increment' => true,
                        'unified_search' => true,
                        'full_text_search' => [
                            'boost' => 3,
                        ],
                        'comment' => 'Visual unique identifier',
                        'duplicate_merge' => 'disabled',
                        'disable_num_format' => true,
                        'studio' => [
                            'quickcreate' => false,
                        ],
                        'inline_edit' => false,
                        'metadata' => [
                            'format' => false,
                        ],
                        'readonly' => true,
                    ],
                    'type' => 'int',
                ],
                [
                    'name' => 'name',
                    'label' => 'LBL_LIST_SUBJECT',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_SUBJECT',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'width' => '50%',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'name',
                        'vname' => 'LBL_SUBJECT',
                        'type' => 'name',
                        'link' => true,
                        'dbType' => 'varchar',
                        'len' => 255,
                        'audited' => true,
                        'unified_search' => true,
                        'full_text_search' => [
                            'boost' => 3,
                        ],
                        'comment' => 'The short description of the bug',
                        'merge_filter' => 'selected',
                        'required' => true,
                        'importable' => 'required',
                    ],
                    'type' => 'name',
                ],
                [
                    'name' => 'status',
                    'label' => 'LBL_LIST_STATUS',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_STATUS',
                    'width' => '15%',
                    'fieldDefinition' => [
                        'name' => 'status',
                        'vname' => 'LBL_STATUS',
                        'type' => 'enum',
                        'options' => 'bug_status_dom',
                        'len' => 100,
                        'audited' => true,
                        'comment' => 'The status of the issue',
                        'merge_filter' => 'enabled',
                        'required' => false,
                    ],
                    'type' => 'enum',
                ],
                [
                    'name' => 'type',
                    'label' => 'LBL_LIST_TYPE',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_TYPE',
                    'width' => '15%',
                    'fieldDefinition' => [
                        'name' => 'type',
                        'vname' => 'LBL_TYPE',
                        'type' => 'enum',
                        'options' => 'bug_type_dom',
                        'len' => 255,
                        'comment' => 'The type of issue (ex: issue, feature)',
                        'merge_filter' => 'enabled',
                        'required' => false,
                    ],
                    'type' => 'enum',
                ],
                [
                    'name' => 'priority',
                    'label' => 'LBL_LIST_PRIORITY',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_PRIORITY',
                    'width' => '11%',
                    'fieldDefinition' => [
                        'name' => 'priority',
                        'vname' => 'LBL_PRIORITY',
                        'type' => 'enum',
                        'options' => 'bug_priority_dom',
                        'len' => 100,
                        'audited' => true,
                        'comment' => 'An indication of the priorty of the issue',
                        'merge_filter' => 'enabled',
                        'required' => false,
                    ],
                    'type' => 'enum',
                ],
                [
                    'name' => 'assigned_user_name',
                    'label' => 'LBL_LIST_ASSIGNED_TO_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_ASSIGNED_TO_NAME',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'target_record_key' => 'assigned_user_id',
                    'target_module' => 'Employees',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'assigned_user_name',
                        'link' => 'assigned_user_link',
                        'vname' => 'LBL_ASSIGNED_TO_NAME',
                        'rname' => 'full_name',
                        'type' => 'relate',
                        'reportable' => false,
                        'source' => 'non-db',
                        'table' => 'users',
                        'id_name' => 'assigned_user_id',
                        'module' => 'Users',
                        'duplicate_merge' => 'disabled',
                        'required' => false,
                    ],
                    'type' => 'relate',
                ],
            ],
        ],
        'aos_quotes_project' => [
            'order' => 100,
            'module' => 'quotes',
            'subpanel_name' => 'default',
            'sort_order' => 'asc',
            'sort_by' => 'id',
            'title_key' => 'AOS_Quotes',
            'get_subpanel_data' => 'aos_quotes_project',
            'top_buttons' => [
                [
                    'key' => 'create',
                    'labelKey' => 'LBL_QUICK_CREATE',
                    'action' => 'create',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'additionalFields' => [
                        'project_id' => 'id',
                        'project_name' => 'name',
                        'return_name' => 'name',
                        'aos_quotes_project_name' => 'name',
                        'return_id' => 'id',
                        'parent_name' => 'name',
                        'parent_id' => 'id',
                    ],
                    'extraParams' => [
                        'target_module' => 'quotes',
                        'return_module' => 'Project',
                        'return_relationship' => 'aos_quotes_project',
                        'parent_type' => 'Project',
                    ],
                    'widget_class' => 'SubPanelTopCreateButton',
                    'relateFields' => [],
                ],
                [
                    'key' => 'select',
                    'labelKey' => 'LBL_LINK_UNLINK',
                    'action' => 'select',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'additionalFields' => [],
                    'extraParams' => [],
                    'widget_class' => 'SubPanelTopSelectButton',
                ],
            ],
            'icon' => 'AOS_Quotes',
            'name' => 'aos_quotes_project',
            'legacyModule' => 'AOS_Quotes',
            'headerModule' => 'quotes',
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'AOS_Quotes',
                                    ],
                                    [
                                        'labelKey' => 'AOS_Quotes',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [
                [
                    'key' => 'edit',
                    'labelKey' => 'LBL_EDIT_RECORD',
                    'action' => 'edit',
                    'icon' => 'edit',
                    'asyncProcess' => true,
                    'routing' => true,
                    'params' => null,
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'quotes',
                ],
                [
                    'key' => 'unlink',
                    'labelKey' => 'LBL_UNLINK_RECORD',
                    'action' => 'unlink',
                    'icon' => 'unlink',
                    'asyncProcess' => true,
                    'routing' => false,
                    'params' => [
                        'displayConfirmation' => true,
                        'confirmationLabel' => 'LBL_UNLINK_RELATIONSHIP_CONFIRM',
                    ],
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'quotes',
                ],
            ],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'number',
                    'label' => 'LBL_LIST_NUM',
                    'sortable' => true,
                    'width' => '5%',
                    'vname' => 'LBL_LIST_NUM',
                    'default' => true,
                    'fieldDefinition' => [
                        'name' => 'number',
                        'vname' => 'LBL_QUOTE_NUMBER',
                        'type' => 'int',
                        'len' => 11,
                        'isnull' => 'false',
                        'unified_search' => true,
                        'comments' => '',
                        'importable' => 'true',
                        'duplicate_merge' => 'disabled',
                        'reportable' => true,
                        'disable_num_format' => true,
                        'required' => false,
                        'metadata' => [
                            'format' => false,
                        ],
                    ],
                    'type' => 'int',
                ],
                [
                    'name' => 'name',
                    'label' => 'LBL_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_NAME',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'width' => '25%',
                    'default' => true,
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'name',
                        'vname' => 'LBL_NAME',
                        'type' => 'name',
                        'link' => true,
                        'dbType' => 'varchar',
                        'len' => 255,
                        'unified_search' => true,
                        'full_text_search' => [
                            'boost' => 3,
                        ],
                        'required' => true,
                        'importable' => 'required',
                        'duplicate_merge' => 'enabled',
                        'merge_filter' => 'selected',
                    ],
                    'type' => 'name',
                ],
                [
                    'name' => 'billing_account',
                    'label' => 'LBL_BILLING_ACCOUNT',
                    'sortable' => true,
                    'width' => '20%',
                    'vname' => 'LBL_BILLING_ACCOUNT',
                    'default' => true,
                    'fieldDefinition' => [
                        'required' => false,
                        'source' => 'non-db',
                        'name' => 'billing_account',
                        'vname' => 'LBL_BILLING_ACCOUNT',
                        'type' => 'relate',
                        'massupdate' => 0,
                        'comments' => '',
                        'help' => '',
                        'importable' => 'true',
                        'duplicate_merge' => 'disabled',
                        'duplicate_merge_dom_value' => '0',
                        'audited' => 1,
                        'reportable' => true,
                        'len' => '255',
                        'id_name' => 'billing_account_id',
                        'ext2' => 'Accounts',
                        'module' => 'Accounts',
                        'quicksearch' => 'enabled',
                        'studio' => 'visible',
                    ],
                    'type' => 'relate',
                ],
                [
                    'name' => 'total_amount',
                    'label' => 'LBL_GRAND_TOTAL',
                    'sortable' => true,
                    'type' => 'currency',
                    'width' => '15%',
                    'currency_format' => true,
                    'vname' => 'LBL_GRAND_TOTAL',
                    'default' => true,
                    'fieldDefinition' => [
                        'required' => false,
                        'name' => 'total_amount',
                        'vname' => 'LBL_GRAND_TOTAL',
                        'type' => 'currency',
                        'massupdate' => 0,
                        'comments' => '',
                        'help' => '',
                        'importable' => 'true',
                        'duplicate_merge' => 'disabled',
                        'duplicate_merge_dom_value' => '0',
                        'audited' => false,
                        'reportable' => true,
                        'len' => '26,6',
                        'enable_range_search' => true,
                        'options' => 'numeric_range_search_dom',
                        'legacyGroup' => true,
                        'groupFields' => [
                            'total_amount_usdollar' => [
                                'name' => 'total_amount_usdollar',
                                'vname' => 'LBL_GRAND_TOTAL_USDOLLAR',
                                'type' => 'currency',
                                'group' => 'total_amount',
                                'disable_num_format' => true,
                                'duplicate_merge' => '0',
                                'audited' => true,
                                'comment' => '',
                                'studio' => [
                                    'editview' => false,
                                    'detailview' => false,
                                    'quickcreate' => false,
                                ],
                                'len' => '26,6',
                                'required' => false,
                                'metadata' => [
                                    'isBaseCurrency' => true,
                                    'format' => false,
                                ],
                            ],
                        ],
                    ],
                ],
                [
                    'name' => 'expiration',
                    'label' => 'LBL_EXPIRATION',
                    'sortable' => true,
                    'width' => '15%',
                    'vname' => 'LBL_EXPIRATION',
                    'default' => true,
                    'fieldDefinition' => [
                        'required' => '1',
                        'name' => 'expiration',
                        'vname' => 'LBL_EXPIRATION',
                        'type' => 'date',
                        'massupdate' => 0,
                        'comments' => '',
                        'help' => '',
                        'importable' => 'true',
                        'duplicate_merge' => 'disabled',
                        'duplicate_merge_dom_value' => '0',
                        'audited' => 1,
                        'reportable' => true,
                        'display_default' => '+ 1 month',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                    ],
                    'type' => 'date',
                ],
                [
                    'name' => 'assigned_user_name',
                    'label' => 'LBL_ASSIGNED_USER',
                    'sortable' => true,
                    'link' => 'assigned_user_link',
                    'type' => 'relate',
                    'vname' => 'LBL_ASSIGNED_USER',
                    'width' => '15%',
                    'default' => true,
                    'fieldDefinition' => [
                        'name' => 'assigned_user_name',
                        'link' => 'assigned_user_link',
                        'vname' => 'LBL_ASSIGNED_TO_NAME',
                        'rname' => 'full_name',
                        'type' => 'relate',
                        'reportable' => false,
                        'source' => 'non-db',
                        'table' => 'users',
                        'id_name' => 'assigned_user_id',
                        'module' => 'Users',
                        'duplicate_merge' => 'disabled',
                        'required' => false,
                    ],
                ],
            ],
        ],
        'project_resources' => [
            'order' => 101,
            'module' => 'project',
            'subpanel_name' => 'Project',
            'type' => 'collection',
            'sort_order' => 'asc',
            'sort_by' => 'id',
            'title_key' => 'LBL_PROJECT_USERS_1_FROM_USERS_TITLE',
            'top_buttons' => [
                [
                    'key' => 'select',
                    'labelKey' => 'LBL_LINK_UNLINK',
                    'action' => 'select',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'additionalFields' => [],
                    'extraParams' => [],
                    'widget_class' => 'SubPanelTopSelectUsersButton',
                ],
                [
                    'key' => 'select',
                    'labelKey' => 'LBL_LINK_UNLINK',
                    'action' => 'select',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'additionalFields' => [],
                    'extraParams' => [],
                    'widget_class' => 'SubPanelTopSelectContactsButton',
                ],
            ],
            'collection_list' => [
                'users' => [
                    'module' => 'Users',
                    'subpanel_name' => 'ForProject',
                    'get_subpanel_data' => 'project_users_1',
                ],
                'contacts' => [
                    'module' => 'Contacts',
                    'subpanel_name' => 'ForProject',
                    'get_subpanel_data' => 'project_contacts_1',
                ],
            ],
            'icon' => 'Project',
            'name' => 'project_resources',
            'legacyModule' => 'Project',
            'headerModule' => 'users',
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'Project',
                                    ],
                                    [
                                        'labelKey' => 'LBL_PROJECT_USERS_1_FROM_USERS_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [
                [
                    'key' => 'unlink',
                    'labelKey' => 'LBL_UNLINK_RECORD',
                    'action' => 'unlink',
                    'icon' => 'unlink',
                    'asyncProcess' => true,
                    'routing' => false,
                    'params' => [
                        'displayConfirmation' => true,
                        'confirmationLabel' => 'LBL_UNLINK_RELATIONSHIP_CONFIRM',
                    ],
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'project',
                ],
            ],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'module_name',
                    'label' => '',
                    'sortable' => false,
                    'vname' => '',
                    'fieldDefinition' => [
                        'name' => 'module_name',
                        'vname' => '',
                        'type' => 'icon',
                        'default' => 'Project',
                        'required' => false,
                    ],
                    'type' => 'icon',
                ],
                [
                    'name' => 'name',
                    'label' => 'LBL_RESOURCE_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_RESOURCE_NAME',
                    'width' => '93%',
                    'fieldDefinition' => [
                        'name' => 'name',
                        'rname' => 'name',
                        'vname' => 'LBL_NAME',
                        'type' => 'varchar',
                        'source' => 'non-db',
                        'len' => '510',
                        'db_concat_fields' => [
                            'first_name',
                            'last_name',
                        ],
                        'importable' => 'false',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                    'multiModuleDefinitions' => [
                        'users' => [
                            'name' => 'name',
                            'rname' => 'name',
                            'vname' => 'LBL_NAME',
                            'type' => 'varchar',
                            'source' => 'non-db',
                            'len' => '510',
                            'db_concat_fields' => [
                                'first_name',
                                'last_name',
                            ],
                            'importable' => 'false',
                            'required' => false,
                            'alias' => 'name',
                        ],
                        'contacts' => [
                            'name' => 'name',
                            'rname' => 'name',
                            'vname' => 'LBL_NAME',
                            'type' => 'name',
                            'link' => true,
                            'fields' => [
                                'first_name',
                                'last_name',
                            ],
                            'sort_on' => 'last_name',
                            'source' => 'non-db',
                            'group' => 'last_name',
                            'len' => '255',
                            'db_concat_fields' => [
                                'first_name',
                                'last_name',
                            ],
                            'importable' => 'false',
                            'required' => false,
                            'alias' => 'name',
                        ],
                    ],
                ],
            ],
        ],
        'securitygroups' => [
            'top_buttons' => [
                [
                    'key' => 'select',
                    'labelKey' => 'LBL_LINK_UNLINK',
                    'action' => 'select',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'additionalFields' => [],
                    'extraParams' => [],
                    'widget_class' => 'SubPanelTopSelectButton',
                ],
            ],
            'order' => 900,
            'sort_by' => 'name',
            'sort_order' => 'asc',
            'module' => 'security-groups',
            'refresh_page' => 1,
            'subpanel_name' => 'default',
            'get_subpanel_data' => 'SecurityGroups',
            'add_subpanel_data' => 'securitygroup_id',
            'title_key' => 'LBL_SECURITYGROUPS_SUBPANEL_TITLE',
            'icon' => 'SecurityGroups',
            'name' => 'securitygroups',
            'legacyModule' => 'SecurityGroups',
            'headerModule' => 'security-groups',
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'SecurityGroups',
                                    ],
                                    [
                                        'labelKey' => 'LBL_SECURITYGROUPS_SUBPANEL_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [
                [
                    'key' => 'unlink',
                    'labelKey' => 'LBL_UNLINK_RECORD',
                    'action' => 'unlink',
                    'icon' => 'unlink',
                    'asyncProcess' => true,
                    'routing' => false,
                    'params' => [
                        'displayConfirmation' => true,
                        'confirmationLabel' => 'LBL_UNLINK_RELATIONSHIP_CONFIRM',
                    ],
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'security-groups',
                ],
            ],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'name',
                    'label' => 'LBL_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_NAME',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'width' => '9999%',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'name',
                        'vname' => 'LBL_NAME',
                        'type' => 'name',
                        'link' => true,
                        'dbType' => 'varchar',
                        'len' => 255,
                        'unified_search' => true,
                        'full_text_search' => [
                            'boost' => 3,
                        ],
                        'required' => true,
                        'importable' => 'required',
                        'duplicate_merge' => 'enabled',
                        'merge_filter' => 'selected',
                    ],
                    'type' => 'name',
                ],
                [
                    'name' => 'description',
                    'label' => 'LBL_DESCRIPTION',
                    'sortable' => false,
                    'vname' => 'LBL_DESCRIPTION',
                    'width' => '9999%',
                    'fieldDefinition' => [
                        'name' => 'description',
                        'vname' => 'LBL_DESCRIPTION',
                        'type' => 'text',
                        'comment' => 'Full text of the note',
                        'rows' => 6,
                        'cols' => 80,
                        'required' => false,
                    ],
                    'type' => 'text',
                ],
            ],
        ],
    ],
    'recordview' => [
        'header' => [
            'backButton' => [
                'display' => true,
            ],
        ],
        'templateMeta' => [
            'maxColumns' => '2',
            'useTabs' => false,
            'tabDefs' => [
                'LBL_PROJECT_INFORMATION' => [
                    'newTab' => false,
                    'panelDefault' => 'expanded',
                ],
            ],
            'colClasses' => [],
        ],
        'topWidget' => [
            'refreshOn' => 'data-update',
        ],
        'sidebarWidgets' => [],
        'bottomWidgets' => [],
        'headerWidgets' => [],
        'actions' => [
            [
                'key' => 'edit',
                'labelKey' => 'LBL_EDIT',
                'priority' => 100,
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'save',
                'labelKey' => 'LBL_SAVE_BUTTON_LABEL',
                'priority' => 100,
                'params' => [
                    'expanded' => true,
                    'disableOnRun' => true,
                ],
                'modes' => [
                    'edit',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'saveNew',
                'labelKey' => 'LBL_SAVE_BUTTON_LABEL',
                'priority' => 100,
                'params' => [
                    'expanded' => true,
                    'disableOnRun' => true,
                ],
                'modes' => [
                    'create',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'saveContinue',
                'labelKey' => 'LBL_SAVE_CONTINUE_LABEL',
                'priority' => 150,
                'params' => [
                    'expanded' => true,
                    'collapsedMobile' => true,
                ],
                'modes' => [
                    'edit',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'cancel',
                'priority' => 200,
                'labelKey' => 'LBL_CANCEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'edit',
                ],
            ],
            [
                'key' => 'cancelCreate',
                'labelKey' => 'LBL_CANCEL',
                'priority' => 200,
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'create',
                ],
            ],
            [
                'key' => 'duplicate',
                'labelKey' => 'LBL_DUPLICATE_BUTTON',
                'priority' => 1900,
                'asyncProcess' => true,
                'params' => null,
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'export',
                    'edit',
                ],
            ],
            [
                'key' => 'delete',
                'labelKey' => 'LBL_DELETE',
                'priority' => 2000,
                'asyncProcess' => true,
                'params' => [
                    'displayConfirmation' => true,
                    'confirmationLabel' => 'NTC_DELETE_CONFIRMATION',
                ],
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'delete',
                ],
            ],
            [
                'key' => 'toggle-widgets',
                'labelKey' => 'LBL_INSIGHTS',
                'priority' => 5000,
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'detail',
                    'edit',
                ],
                'acl' => [],
            ],
        ],
        'panels' => [
            [
                'key' => 'lbl_project_information',
                'rows' => [
                    [
                        'cols' => [
                            [
                                'name' => 'name',
                                'label' => 'LBL_NAME',
                                'fieldDefinition' => [
                                    'name' => 'name',
                                    'vname' => 'LBL_NAME',
                                    'required' => true,
                                    'dbType' => 'varchar',
                                    'type' => 'name',
                                    'len' => 50,
                                    'unified_search' => true,
                                    'full_text_search' => [
                                        'boost' => 3,
                                    ],
                                    'comment' => 'Project name',
                                    'importable' => 'required',
                                ],
                                'type' => 'name',
                            ],
                            [
                                'name' => 'status',
                                'label' => 'LBL_STATUS',
                                'fieldDefinition' => [
                                    'name' => 'status',
                                    'vname' => 'LBL_STATUS',
                                    'type' => 'enum',
                                    'options' => 'project_status_dom',
                                    'required' => false,
                                ],
                                'type' => 'enum',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'estimated_start_date',
                                'label' => 'LBL_DATE_START',
                                'fieldDefinition' => [
                                    'name' => 'estimated_start_date',
                                    'vname' => 'LBL_DATE_START',
                                    'required' => true,
                                    'validation' => [
                                        'type' => 'isbefore',
                                        'compareto' => 'estimated_end_date',
                                        'blank' => true,
                                    ],
                                    'type' => 'date',
                                    'importable' => 'required',
                                    'enable_range_search' => true,
                                    'options' => 'date_range_search_dom',
                                ],
                                'type' => 'date',
                            ],
                            [
                                'name' => 'priority',
                                'label' => 'LBL_PRIORITY',
                                'fieldDefinition' => [
                                    'name' => 'priority',
                                    'vname' => 'LBL_PRIORITY',
                                    'type' => 'enum',
                                    'options' => 'projects_priority_options',
                                    'required' => false,
                                ],
                                'type' => 'enum',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'estimated_end_date',
                                'label' => 'LBL_DATE_END',
                                'fieldDefinition' => [
                                    'name' => 'estimated_end_date',
                                    'vname' => 'LBL_DATE_END',
                                    'required' => true,
                                    'type' => 'date',
                                    'importable' => 'required',
                                    'enable_range_search' => true,
                                    'options' => 'date_range_search_dom',
                                ],
                                'type' => 'date',
                            ],
                            [
                                'name' => 'override_business_hours',
                                'label' => 'LBL_OVERRIDE_BUSINESS_HOURS',
                                'fieldDefinition' => [
                                    'name' => 'override_business_hours',
                                    'vname' => 'LBL_OVERRIDE_BUSINESS_HOURS',
                                    'type' => 'bool',
                                    'required' => false,
                                    'reportable' => false,
                                    'default' => '0',
                                    'comment' => '',
                                ],
                                'type' => 'bool',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'assigned_user_name',
                                'label' => 'LBL_ASSIGNED_TO',
                                'fieldDefinition' => [
                                    'name' => 'assigned_user_name',
                                    'rname' => 'full_name',
                                    'id_name' => 'assigned_user_id',
                                    'vname' => 'LBL_ASSIGNED_USER_NAME',
                                    'type' => 'relate',
                                    'table' => 'users',
                                    'module' => 'Users',
                                    'dbType' => 'varchar',
                                    'link' => 'users',
                                    'len' => '255',
                                    'source' => 'non-db',
                                    'required' => false,
                                ],
                                'type' => 'relate',
                            ],
                            [
                                'name' => 'am_projecttemplates_project_1_name',
                                'label' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_AM_PROJECTTEMPLATES_TITLE',
                                'fieldDefinition' => [
                                    'name' => 'am_projecttemplates_project_1_name',
                                    'type' => 'relate',
                                    'source' => 'non-db',
                                    'vname' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_AM_PROJECTTEMPLATES_TITLE',
                                    'save' => true,
                                    'id_name' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                                    'link' => 'am_projecttemplates_project_1',
                                    'table' => 'am_projecttemplates',
                                    'module' => 'AM_ProjectTemplates',
                                    'rname' => 'name',
                                    'required' => false,
                                ],
                                'type' => 'relate',
                            ],
                        ],
                    ],
                ],
            ],
        ],
        'summaryTemplates' => [
            'create' => 'LBL_CREATE',
            'edit' => 'LBL_SUMMARY_DEFAULT',
            'detail' => 'LBL_SUMMARY_DEFAULT',
        ],
        'vardefs' => [
            'SecurityGroups' => [
                'name' => 'SecurityGroups',
                'type' => 'link',
                'relationship' => 'securitygroups_project',
                'module' => 'SecurityGroups',
                'bean_name' => 'SecurityGroup',
                'source' => 'non-db',
                'vname' => 'LBL_SECURITYGROUPS',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => 'securitygroup_id',
                    'type' => 'many-to-many',
                    'parent_id' => 'record_id',
                ],
            ],
            'id' => [
                'name' => 'id',
                'vname' => 'LBL_ID',
                'required' => true,
                'type' => 'id',
                'reportable' => true,
                'comment' => 'Unique identifier',
            ],
            'date_entered' => [
                'name' => 'date_entered',
                'vname' => 'LBL_DATE_ENTERED',
                'type' => 'datetime',
                'comment' => 'Date record created',
                'enable_range_search' => true,
                'options' => 'date_range_search_dom',
                'required' => false,
            ],
            'date_modified' => [
                'name' => 'date_modified',
                'vname' => 'LBL_DATE_MODIFIED',
                'type' => 'datetime',
                'comment' => 'Date record last modified',
                'enable_range_search' => true,
                'options' => 'date_range_search_dom',
                'required' => false,
            ],
            'assigned_user_id' => [
                'name' => 'assigned_user_id',
                'rname' => 'user_name',
                'id_name' => 'assigned_user_id',
                'type' => 'assigned_user_name',
                'vname' => 'LBL_ASSIGNED_USER_ID',
                'required' => false,
                'len' => 36,
                'dbType' => 'id',
                'table' => 'users',
                'isnull' => false,
                'reportable' => true,
                'comment' => 'User assigned to this record',
            ],
            'modified_user_id' => [
                'name' => 'modified_user_id',
                'rname' => 'user_name',
                'id_name' => 'modified_user_id',
                'vname' => 'LBL_MODIFIED_USER_ID',
                'type' => 'assigned_user_name',
                'table' => 'users',
                'isnull' => 'false',
                'dbType' => 'id',
                'reportable' => true,
                'comment' => 'User who last modified record',
                'required' => false,
            ],
            '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',
                'required' => false,
            ],
            'created_by' => [
                'name' => 'created_by',
                'rname' => 'user_name',
                'id_name' => 'modified_user_id',
                'vname' => 'LBL_CREATED_BY',
                'type' => 'assigned_user_name',
                'table' => 'users',
                'isnull' => 'false',
                'dbType' => 'id',
                'comment' => 'User who created record',
                'required' => false,
            ],
            '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',
                'required' => false,
            ],
            'name' => [
                'name' => 'name',
                'vname' => 'LBL_NAME',
                'required' => true,
                'dbType' => 'varchar',
                'type' => 'name',
                'len' => 50,
                'unified_search' => true,
                'full_text_search' => [
                    'boost' => 3,
                ],
                'comment' => 'Project name',
                'importable' => 'required',
            ],
            'description' => [
                'name' => 'description',
                'vname' => 'LBL_DESCRIPTION',
                'required' => false,
                'type' => 'text',
                'comment' => 'Project description',
            ],
            'deleted' => [
                'name' => 'deleted',
                'vname' => 'LBL_DELETED',
                'type' => 'bool',
                'required' => false,
                'reportable' => false,
                'default' => '0',
                'comment' => 'Record deletion indicator',
            ],
            'estimated_start_date' => [
                'name' => 'estimated_start_date',
                'vname' => 'LBL_DATE_START',
                'required' => true,
                'validation' => [
                    'type' => 'isbefore',
                    'compareto' => 'estimated_end_date',
                    'blank' => true,
                ],
                'type' => 'date',
                'importable' => 'required',
                'enable_range_search' => true,
                'options' => 'date_range_search_dom',
            ],
            'estimated_end_date' => [
                'name' => 'estimated_end_date',
                'vname' => 'LBL_DATE_END',
                'required' => true,
                'type' => 'date',
                'importable' => 'required',
                'enable_range_search' => true,
                'options' => 'date_range_search_dom',
            ],
            'status' => [
                'name' => 'status',
                'vname' => 'LBL_STATUS',
                'type' => 'enum',
                'options' => 'project_status_dom',
                'required' => false,
            ],
            'priority' => [
                'name' => 'priority',
                'vname' => 'LBL_PRIORITY',
                'type' => 'enum',
                'options' => 'projects_priority_options',
                'required' => false,
            ],
            'total_estimated_effort' => [
                'name' => 'total_estimated_effort',
                'type' => 'int',
                'source' => 'non-db',
                'vname' => 'LBL_LIST_TOTAL_ESTIMATED_EFFORT',
                'required' => false,
            ],
            'total_actual_effort' => [
                'name' => 'total_actual_effort',
                'type' => 'int',
                'source' => 'non-db',
                'vname' => 'LBL_LIST_TOTAL_ACTUAL_EFFORT',
                'required' => false,
            ],
            'accounts' => [
                'name' => 'accounts',
                'type' => 'link',
                'relationship' => 'projects_accounts',
                'source' => 'non-db',
                'ignore_role' => true,
                'vname' => 'LBL_ACCOUNTS',
                'required' => false,
                'module' => 'Accounts',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => 'account_id',
                    'type' => 'many-to-many',
                    'parent_id' => 'project_id',
                ],
            ],
            'quotes' => [
                'name' => 'quotes',
                'type' => 'link',
                'relationship' => 'projects_quotes',
                'source' => 'non-db',
                'ignore_role' => true,
                'vname' => 'LBL_QUOTES',
                'required' => false,
            ],
            'contacts' => [
                'name' => 'contacts',
                'type' => 'link',
                'relationship' => 'projects_contacts',
                'source' => 'non-db',
                'ignore_role' => true,
                'vname' => 'LBL_CONTACTS',
                'required' => false,
                'module' => 'Contacts',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => 'contact_id',
                    'type' => 'many-to-many',
                    'parent_id' => 'project_id',
                ],
            ],
            'opportunities' => [
                'name' => 'opportunities',
                'type' => 'link',
                'relationship' => 'projects_opportunities',
                'source' => 'non-db',
                'ignore_role' => true,
                'vname' => 'LBL_OPPORTUNITIES',
                'required' => false,
                'module' => 'Opportunities',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => 'opportunity_id',
                    'type' => 'many-to-many',
                    'parent_id' => 'project_id',
                ],
            ],
            'notes' => [
                'name' => 'notes',
                'type' => 'link',
                'relationship' => 'projects_notes',
                'source' => 'non-db',
                'vname' => 'LBL_NOTES',
                'required' => false,
                'module' => 'Notes',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'tasks' => [
                'name' => 'tasks',
                'type' => 'link',
                'relationship' => 'projects_tasks',
                'source' => 'non-db',
                'vname' => 'LBL_TASKS',
                'required' => false,
                'module' => 'Tasks',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'meetings' => [
                'name' => 'meetings',
                'type' => 'link',
                'relationship' => 'projects_meetings',
                'source' => 'non-db',
                'vname' => 'LBL_MEETINGS',
                'required' => false,
                'module' => 'Meetings',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'calls' => [
                'name' => 'calls',
                'type' => 'link',
                'relationship' => 'projects_calls',
                'source' => 'non-db',
                'vname' => 'LBL_CALLS',
                'required' => false,
                'module' => 'Calls',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'emails' => [
                'name' => 'emails',
                'type' => 'link',
                'relationship' => 'emails_projects_rel',
                'source' => 'non-db',
                'vname' => 'LBL_EMAILS',
                'required' => false,
                'module' => 'Emails',
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => 'email_id',
                    'type' => 'many-to-many',
                    'parent_id' => 'bean_id',
                ],
            ],
            'projecttask' => [
                'name' => 'projecttask',
                'type' => 'link',
                'relationship' => 'projects_project_tasks',
                'source' => 'non-db',
                'vname' => 'LBL_PROJECT_TASKS',
                'required' => false,
                'module' => 'ProjectTask',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'created_by_link' => [
                'name' => 'created_by_link',
                'type' => 'link',
                'relationship' => 'projects_created_by',
                '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-many',
                    'parent_id' => '',
                ],
            ],
            'modified_user_link' => [
                'name' => 'modified_user_link',
                'type' => 'link',
                'relationship' => 'projects_modified_user',
                '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' => '',
                ],
            ],
            'assigned_user_link' => [
                'name' => 'assigned_user_link',
                'type' => 'link',
                'relationship' => 'projects_assigned_user',
                'vname' => 'LBL_ASSIGNED_TO_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' => '',
                ],
            ],
            'assigned_user_name' => [
                'name' => 'assigned_user_name',
                'rname' => 'full_name',
                'id_name' => 'assigned_user_id',
                'vname' => 'LBL_ASSIGNED_USER_NAME',
                'type' => 'relate',
                'table' => 'users',
                'module' => 'Users',
                'dbType' => 'varchar',
                'link' => 'users',
                'len' => '255',
                'source' => 'non-db',
                'required' => false,
            ],
            'cases' => [
                'name' => 'cases',
                'type' => 'link',
                'relationship' => 'projects_cases',
                'side' => 'right',
                'source' => 'non-db',
                'vname' => 'LBL_CASES',
                'required' => false,
                'module' => 'Cases',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => 'case_id',
                    'type' => 'many-to-many',
                    'parent_id' => 'project_id',
                ],
            ],
            'bugs' => [
                'name' => 'bugs',
                'type' => 'link',
                'relationship' => 'projects_bugs',
                'side' => 'right',
                'source' => 'non-db',
                'vname' => 'LBL_BUGS',
                'required' => false,
                'module' => 'Bugs',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => 'bug_id',
                    'type' => 'many-to-many',
                    'parent_id' => 'project_id',
                ],
            ],
            'products' => [
                'name' => 'products',
                'type' => 'link',
                'relationship' => 'projects_products',
                'side' => 'right',
                'source' => 'non-db',
                'vname' => 'LBL_PRODUCTS',
                'required' => false,
                'module' => 'Products',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => 'product_id',
                    'type' => 'many-to-many',
                    'parent_id' => 'project_id',
                ],
            ],
            'project_users_1' => [
                'name' => 'project_users_1',
                'type' => 'link',
                'relationship' => 'project_users_1',
                'source' => 'non-db',
                'module' => 'Users',
                'bean_name' => 'User',
                'vname' => 'LBL_PROJECT_USERS_1_FROM_USERS_TITLE',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => 'project_users_1users_idb',
                    'type' => 'many-to-many',
                    'parent_id' => 'project_users_1project_ida',
                ],
            ],
            'am_projecttemplates_project_1' => [
                'name' => 'am_projecttemplates_project_1',
                'type' => 'link',
                'relationship' => 'am_projecttemplates_project_1',
                'source' => 'non-db',
                'module' => 'AM_ProjectTemplates',
                'bean_name' => 'AM_ProjectTemplates',
                'vname' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_AM_PROJECTTEMPLATES_TITLE',
                'id_name' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                    'type' => 'many-to-many',
                    'parent_id' => 'am_projecttemplates_project_1project_idb',
                ],
            ],
            'am_projecttemplates_project_1_name' => [
                'name' => 'am_projecttemplates_project_1_name',
                'type' => 'relate',
                'source' => 'non-db',
                'vname' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_AM_PROJECTTEMPLATES_TITLE',
                'save' => true,
                'id_name' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                'link' => 'am_projecttemplates_project_1',
                'table' => 'am_projecttemplates',
                'module' => 'AM_ProjectTemplates',
                'rname' => 'name',
                'required' => false,
            ],
            'am_projecttemplates_project_1am_projecttemplates_ida' => [
                'name' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                'type' => 'link',
                'relationship' => 'am_projecttemplates_project_1',
                'source' => 'non-db',
                'reportable' => false,
                'side' => 'right',
                'vname' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_PROJECT_TITLE',
                'required' => false,
                'module' => 'AM_ProjectTemplates',
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                    'type' => 'many-to-many',
                    'parent_id' => 'am_projecttemplates_project_1project_idb',
                ],
            ],
            'project_contacts_1' => [
                'name' => 'project_contacts_1',
                'type' => 'link',
                'relationship' => 'project_contacts_1',
                'source' => 'non-db',
                'module' => 'Contacts',
                'bean_name' => 'Contact',
                'vname' => 'LBL_PROJECT_CONTACTS_1_FROM_CONTACTS_TITLE',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => 'project_contacts_1contacts_idb',
                    'type' => 'many-to-many',
                    'parent_id' => 'project_contacts_1project_ida',
                ],
            ],
            'aos_quotes_project' => [
                'name' => 'aos_quotes_project',
                'vname' => 'LBL_AOS_QUOTES_PROJECT',
                'type' => 'link',
                'relationship' => 'aos_quotes_project',
                'source' => 'non-db',
                'required' => false,
                'module' => 'AOS_Quotes',
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => 'aos_quotes1112_quotes_ida',
                    'type' => 'many-to-many',
                    'parent_id' => 'aos_quotes7207project_idb',
                ],
            ],
            'override_business_hours' => [
                'name' => 'override_business_hours',
                'vname' => 'LBL_OVERRIDE_BUSINESS_HOURS',
                'type' => 'bool',
                'required' => false,
                'reportable' => false,
                'default' => '0',
                'comment' => '',
            ],
            'jjwg_maps_address_c' => [
                'inline_edit' => 1,
                'required' => false,
                'source' => 'custom_fields',
                'name' => 'jjwg_maps_address_c',
                'vname' => 'LBL_JJWG_MAPS_ADDRESS',
                'type' => 'varchar',
                'massupdate' => '0',
                'default' => null,
                'no_default' => false,
                'comments' => 'Address',
                'help' => 'Address',
                'importable' => 'true',
                'duplicate_merge' => 'disabled',
                'duplicate_merge_dom_value' => '0',
                'audited' => false,
                'reportable' => true,
                'unified_search' => false,
                'merge_filter' => 'disabled',
                'len' => '255',
                'size' => '20',
                'id' => 'Projectjjwg_maps_address_c',
                'custom_module' => 'Project',
            ],
            'jjwg_maps_geocode_status_c' => [
                'inline_edit' => 1,
                'required' => false,
                'source' => 'custom_fields',
                'name' => 'jjwg_maps_geocode_status_c',
                'vname' => 'LBL_JJWG_MAPS_GEOCODE_STATUS',
                'type' => 'varchar',
                'massupdate' => '0',
                'default' => null,
                'no_default' => false,
                'comments' => 'Geocode Status',
                'help' => 'Geocode Status',
                'importable' => 'true',
                'duplicate_merge' => 'disabled',
                'duplicate_merge_dom_value' => '0',
                'audited' => false,
                'reportable' => true,
                'unified_search' => false,
                'merge_filter' => 'disabled',
                'len' => '255',
                'size' => '20',
                'id' => 'Projectjjwg_maps_geocode_status_c',
                'custom_module' => 'Project',
            ],
            'jjwg_maps_lat_c' => [
                'inline_edit' => 1,
                'required' => false,
                'source' => 'custom_fields',
                'name' => 'jjwg_maps_lat_c',
                'vname' => 'LBL_JJWG_MAPS_LAT',
                'type' => 'float',
                'massupdate' => '0',
                'default' => '0.00000000',
                'no_default' => false,
                'comments' => '',
                'help' => 'Latitude',
                'importable' => 'true',
                'duplicate_merge' => 'disabled',
                'duplicate_merge_dom_value' => '0',
                'audited' => false,
                'reportable' => true,
                'unified_search' => false,
                'merge_filter' => 'disabled',
                'len' => '10',
                'size' => '20',
                'enable_range_search' => false,
                'precision' => '8',
                'id' => 'Projectjjwg_maps_lat_c',
                'custom_module' => 'Project',
            ],
            'jjwg_maps_lng_c' => [
                'inline_edit' => 1,
                'required' => false,
                'source' => 'custom_fields',
                'name' => 'jjwg_maps_lng_c',
                'vname' => 'LBL_JJWG_MAPS_LNG',
                'type' => 'float',
                'massupdate' => '0',
                'default' => '0.00000000',
                'no_default' => false,
                'comments' => '',
                'help' => 'Longitude',
                'importable' => 'true',
                'duplicate_merge' => 'disabled',
                'duplicate_merge_dom_value' => '0',
                'audited' => false,
                'reportable' => true,
                'unified_search' => false,
                'merge_filter' => 'disabled',
                'len' => '11',
                'size' => '20',
                'enable_range_search' => false,
                'precision' => '8',
                'id' => 'Projectjjwg_maps_lng_c',
                'custom_module' => 'Project',
            ],
        ],
        'metadata' => [],
        'sections' => [],
    ],
    'recordmodal' => [
        'templateMeta' => [
            'maxColumns' => '2',
            'useTabs' => false,
            'tabDefs' => [
                'LBL_PROJECT_INFORMATION' => [
                    'newTab' => false,
                    'panelDefault' => 'expanded',
                ],
            ],
        ],
        'actions' => [
            [
                'key' => 'save',
                'labelKey' => 'LBL_SAVE_BUTTON_LABEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'edit',
                    'create',
                ],
                'acl' => [
                    'edit',
                    'create',
                ],
            ],
            [
                'key' => 'cancel',
                'labelKey' => 'LBL_CANCEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'edit',
                    'create',
                ],
                'acl' => [
                    'edit',
                    'create',
                ],
            ],
        ],
        'panels' => [
            [
                'key' => 'lbl_project_information',
                'rows' => [
                    [
                        'cols' => [
                            [
                                'name' => 'name',
                                'label' => 'LBL_NAME',
                                'fieldDefinition' => [
                                    'name' => 'name',
                                    'vname' => 'LBL_NAME',
                                    'required' => true,
                                    'dbType' => 'varchar',
                                    'type' => 'name',
                                    'len' => 50,
                                    'unified_search' => true,
                                    'full_text_search' => [
                                        'boost' => 3,
                                    ],
                                    'comment' => 'Project name',
                                    'importable' => 'required',
                                ],
                                'type' => 'name',
                            ],
                            [
                                'name' => 'status',
                                'label' => 'LBL_STATUS',
                                'fieldDefinition' => [
                                    'name' => 'status',
                                    'vname' => 'LBL_STATUS',
                                    'type' => 'enum',
                                    'options' => 'project_status_dom',
                                    'required' => false,
                                ],
                                'type' => 'enum',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'estimated_start_date',
                                'label' => 'LBL_DATE_START',
                                'fieldDefinition' => [
                                    'name' => 'estimated_start_date',
                                    'vname' => 'LBL_DATE_START',
                                    'required' => true,
                                    'validation' => [
                                        'type' => 'isbefore',
                                        'compareto' => 'estimated_end_date',
                                        'blank' => true,
                                    ],
                                    'type' => 'date',
                                    'importable' => 'required',
                                    'enable_range_search' => true,
                                    'options' => 'date_range_search_dom',
                                ],
                                'type' => 'date',
                            ],
                            [
                                'name' => 'priority',
                                'label' => 'LBL_PRIORITY',
                                'fieldDefinition' => [
                                    'name' => 'priority',
                                    'vname' => 'LBL_PRIORITY',
                                    'type' => 'enum',
                                    'options' => 'projects_priority_options',
                                    'required' => false,
                                ],
                                'type' => 'enum',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'estimated_end_date',
                                'label' => 'LBL_DATE_END',
                                'fieldDefinition' => [
                                    'name' => 'estimated_end_date',
                                    'vname' => 'LBL_DATE_END',
                                    'required' => true,
                                    'type' => 'date',
                                    'importable' => 'required',
                                    'enable_range_search' => true,
                                    'options' => 'date_range_search_dom',
                                ],
                                'type' => 'date',
                            ],
                            [
                                'name' => 'override_business_hours',
                                'label' => 'LBL_OVERRIDE_BUSINESS_HOURS',
                                'fieldDefinition' => [
                                    'name' => 'override_business_hours',
                                    'vname' => 'LBL_OVERRIDE_BUSINESS_HOURS',
                                    'type' => 'bool',
                                    'required' => false,
                                    'reportable' => false,
                                    'default' => '0',
                                    'comment' => '',
                                ],
                                'type' => 'bool',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'assigned_user_name',
                                'label' => 'LBL_ASSIGNED_TO',
                                'fieldDefinition' => [
                                    'name' => 'assigned_user_name',
                                    'rname' => 'full_name',
                                    'id_name' => 'assigned_user_id',
                                    'vname' => 'LBL_ASSIGNED_USER_NAME',
                                    'type' => 'relate',
                                    'table' => 'users',
                                    'module' => 'Users',
                                    'dbType' => 'varchar',
                                    'link' => 'users',
                                    'len' => '255',
                                    'source' => 'non-db',
                                    'required' => false,
                                ],
                                'type' => 'relate',
                            ],
                            [
                                'name' => 'am_projecttemplates_project_1_name',
                                'label' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_AM_PROJECTTEMPLATES_TITLE',
                                'fieldDefinition' => [
                                    'name' => 'am_projecttemplates_project_1_name',
                                    'type' => 'relate',
                                    'source' => 'non-db',
                                    'vname' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_AM_PROJECTTEMPLATES_TITLE',
                                    'save' => true,
                                    'id_name' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                                    'link' => 'am_projecttemplates_project_1',
                                    'table' => 'am_projecttemplates',
                                    'module' => 'AM_ProjectTemplates',
                                    'rname' => 'name',
                                    'required' => false,
                                ],
                                'type' => 'relate',
                            ],
                        ],
                    ],
                ],
            ],
        ],
        'vardefs' => [
            'SecurityGroups' => [
                'name' => 'SecurityGroups',
                'type' => 'link',
                'relationship' => 'securitygroups_project',
                'module' => 'SecurityGroups',
                'bean_name' => 'SecurityGroup',
                'source' => 'non-db',
                'vname' => 'LBL_SECURITYGROUPS',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => 'securitygroup_id',
                    'type' => 'many-to-many',
                    'parent_id' => 'record_id',
                ],
            ],
            'id' => [
                'name' => 'id',
                'vname' => 'LBL_ID',
                'required' => true,
                'type' => 'id',
                'reportable' => true,
                'comment' => 'Unique identifier',
            ],
            'date_entered' => [
                'name' => 'date_entered',
                'vname' => 'LBL_DATE_ENTERED',
                'type' => 'datetime',
                'comment' => 'Date record created',
                'enable_range_search' => true,
                'options' => 'date_range_search_dom',
                'required' => false,
            ],
            'date_modified' => [
                'name' => 'date_modified',
                'vname' => 'LBL_DATE_MODIFIED',
                'type' => 'datetime',
                'comment' => 'Date record last modified',
                'enable_range_search' => true,
                'options' => 'date_range_search_dom',
                'required' => false,
            ],
            'assigned_user_id' => [
                'name' => 'assigned_user_id',
                'rname' => 'user_name',
                'id_name' => 'assigned_user_id',
                'type' => 'assigned_user_name',
                'vname' => 'LBL_ASSIGNED_USER_ID',
                'required' => false,
                'len' => 36,
                'dbType' => 'id',
                'table' => 'users',
                'isnull' => false,
                'reportable' => true,
                'comment' => 'User assigned to this record',
            ],
            'modified_user_id' => [
                'name' => 'modified_user_id',
                'rname' => 'user_name',
                'id_name' => 'modified_user_id',
                'vname' => 'LBL_MODIFIED_USER_ID',
                'type' => 'assigned_user_name',
                'table' => 'users',
                'isnull' => 'false',
                'dbType' => 'id',
                'reportable' => true,
                'comment' => 'User who last modified record',
                'required' => false,
            ],
            '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',
                'required' => false,
            ],
            'created_by' => [
                'name' => 'created_by',
                'rname' => 'user_name',
                'id_name' => 'modified_user_id',
                'vname' => 'LBL_CREATED_BY',
                'type' => 'assigned_user_name',
                'table' => 'users',
                'isnull' => 'false',
                'dbType' => 'id',
                'comment' => 'User who created record',
                'required' => false,
            ],
            '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',
                'required' => false,
            ],
            'name' => [
                'name' => 'name',
                'vname' => 'LBL_NAME',
                'required' => true,
                'dbType' => 'varchar',
                'type' => 'name',
                'len' => 50,
                'unified_search' => true,
                'full_text_search' => [
                    'boost' => 3,
                ],
                'comment' => 'Project name',
                'importable' => 'required',
            ],
            'description' => [
                'name' => 'description',
                'vname' => 'LBL_DESCRIPTION',
                'required' => false,
                'type' => 'text',
                'comment' => 'Project description',
            ],
            'deleted' => [
                'name' => 'deleted',
                'vname' => 'LBL_DELETED',
                'type' => 'bool',
                'required' => false,
                'reportable' => false,
                'default' => '0',
                'comment' => 'Record deletion indicator',
            ],
            'estimated_start_date' => [
                'name' => 'estimated_start_date',
                'vname' => 'LBL_DATE_START',
                'required' => true,
                'validation' => [
                    'type' => 'isbefore',
                    'compareto' => 'estimated_end_date',
                    'blank' => true,
                ],
                'type' => 'date',
                'importable' => 'required',
                'enable_range_search' => true,
                'options' => 'date_range_search_dom',
            ],
            'estimated_end_date' => [
                'name' => 'estimated_end_date',
                'vname' => 'LBL_DATE_END',
                'required' => true,
                'type' => 'date',
                'importable' => 'required',
                'enable_range_search' => true,
                'options' => 'date_range_search_dom',
            ],
            'status' => [
                'name' => 'status',
                'vname' => 'LBL_STATUS',
                'type' => 'enum',
                'options' => 'project_status_dom',
                'required' => false,
            ],
            'priority' => [
                'name' => 'priority',
                'vname' => 'LBL_PRIORITY',
                'type' => 'enum',
                'options' => 'projects_priority_options',
                'required' => false,
            ],
            'total_estimated_effort' => [
                'name' => 'total_estimated_effort',
                'type' => 'int',
                'source' => 'non-db',
                'vname' => 'LBL_LIST_TOTAL_ESTIMATED_EFFORT',
                'required' => false,
            ],
            'total_actual_effort' => [
                'name' => 'total_actual_effort',
                'type' => 'int',
                'source' => 'non-db',
                'vname' => 'LBL_LIST_TOTAL_ACTUAL_EFFORT',
                'required' => false,
            ],
            'accounts' => [
                'name' => 'accounts',
                'type' => 'link',
                'relationship' => 'projects_accounts',
                'source' => 'non-db',
                'ignore_role' => true,
                'vname' => 'LBL_ACCOUNTS',
                'required' => false,
                'module' => 'Accounts',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => 'account_id',
                    'type' => 'many-to-many',
                    'parent_id' => 'project_id',
                ],
            ],
            'quotes' => [
                'name' => 'quotes',
                'type' => 'link',
                'relationship' => 'projects_quotes',
                'source' => 'non-db',
                'ignore_role' => true,
                'vname' => 'LBL_QUOTES',
                'required' => false,
            ],
            'contacts' => [
                'name' => 'contacts',
                'type' => 'link',
                'relationship' => 'projects_contacts',
                'source' => 'non-db',
                'ignore_role' => true,
                'vname' => 'LBL_CONTACTS',
                'required' => false,
                'module' => 'Contacts',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => 'contact_id',
                    'type' => 'many-to-many',
                    'parent_id' => 'project_id',
                ],
            ],
            'opportunities' => [
                'name' => 'opportunities',
                'type' => 'link',
                'relationship' => 'projects_opportunities',
                'source' => 'non-db',
                'ignore_role' => true,
                'vname' => 'LBL_OPPORTUNITIES',
                'required' => false,
                'module' => 'Opportunities',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => 'opportunity_id',
                    'type' => 'many-to-many',
                    'parent_id' => 'project_id',
                ],
            ],
            'notes' => [
                'name' => 'notes',
                'type' => 'link',
                'relationship' => 'projects_notes',
                'source' => 'non-db',
                'vname' => 'LBL_NOTES',
                'required' => false,
                'module' => 'Notes',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'tasks' => [
                'name' => 'tasks',
                'type' => 'link',
                'relationship' => 'projects_tasks',
                'source' => 'non-db',
                'vname' => 'LBL_TASKS',
                'required' => false,
                'module' => 'Tasks',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'meetings' => [
                'name' => 'meetings',
                'type' => 'link',
                'relationship' => 'projects_meetings',
                'source' => 'non-db',
                'vname' => 'LBL_MEETINGS',
                'required' => false,
                'module' => 'Meetings',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'calls' => [
                'name' => 'calls',
                'type' => 'link',
                'relationship' => 'projects_calls',
                'source' => 'non-db',
                'vname' => 'LBL_CALLS',
                'required' => false,
                'module' => 'Calls',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'emails' => [
                'name' => 'emails',
                'type' => 'link',
                'relationship' => 'emails_projects_rel',
                'source' => 'non-db',
                'vname' => 'LBL_EMAILS',
                'required' => false,
                'module' => 'Emails',
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => 'email_id',
                    'type' => 'many-to-many',
                    'parent_id' => 'bean_id',
                ],
            ],
            'projecttask' => [
                'name' => 'projecttask',
                'type' => 'link',
                'relationship' => 'projects_project_tasks',
                'source' => 'non-db',
                'vname' => 'LBL_PROJECT_TASKS',
                'required' => false,
                'module' => 'ProjectTask',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'created_by_link' => [
                'name' => 'created_by_link',
                'type' => 'link',
                'relationship' => 'projects_created_by',
                '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-many',
                    'parent_id' => '',
                ],
            ],
            'modified_user_link' => [
                'name' => 'modified_user_link',
                'type' => 'link',
                'relationship' => 'projects_modified_user',
                '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' => '',
                ],
            ],
            'assigned_user_link' => [
                'name' => 'assigned_user_link',
                'type' => 'link',
                'relationship' => 'projects_assigned_user',
                'vname' => 'LBL_ASSIGNED_TO_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' => '',
                ],
            ],
            'assigned_user_name' => [
                'name' => 'assigned_user_name',
                'rname' => 'full_name',
                'id_name' => 'assigned_user_id',
                'vname' => 'LBL_ASSIGNED_USER_NAME',
                'type' => 'relate',
                'table' => 'users',
                'module' => 'Users',
                'dbType' => 'varchar',
                'link' => 'users',
                'len' => '255',
                'source' => 'non-db',
                'required' => false,
            ],
            'cases' => [
                'name' => 'cases',
                'type' => 'link',
                'relationship' => 'projects_cases',
                'side' => 'right',
                'source' => 'non-db',
                'vname' => 'LBL_CASES',
                'required' => false,
                'module' => 'Cases',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => 'case_id',
                    'type' => 'many-to-many',
                    'parent_id' => 'project_id',
                ],
            ],
            'bugs' => [
                'name' => 'bugs',
                'type' => 'link',
                'relationship' => 'projects_bugs',
                'side' => 'right',
                'source' => 'non-db',
                'vname' => 'LBL_BUGS',
                'required' => false,
                'module' => 'Bugs',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => 'bug_id',
                    'type' => 'many-to-many',
                    'parent_id' => 'project_id',
                ],
            ],
            'products' => [
                'name' => 'products',
                'type' => 'link',
                'relationship' => 'projects_products',
                'side' => 'right',
                'source' => 'non-db',
                'vname' => 'LBL_PRODUCTS',
                'required' => false,
                'module' => 'Products',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => 'product_id',
                    'type' => 'many-to-many',
                    'parent_id' => 'project_id',
                ],
            ],
            'project_users_1' => [
                'name' => 'project_users_1',
                'type' => 'link',
                'relationship' => 'project_users_1',
                'source' => 'non-db',
                'module' => 'Users',
                'bean_name' => 'User',
                'vname' => 'LBL_PROJECT_USERS_1_FROM_USERS_TITLE',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => 'project_users_1users_idb',
                    'type' => 'many-to-many',
                    'parent_id' => 'project_users_1project_ida',
                ],
            ],
            'am_projecttemplates_project_1' => [
                'name' => 'am_projecttemplates_project_1',
                'type' => 'link',
                'relationship' => 'am_projecttemplates_project_1',
                'source' => 'non-db',
                'module' => 'AM_ProjectTemplates',
                'bean_name' => 'AM_ProjectTemplates',
                'vname' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_AM_PROJECTTEMPLATES_TITLE',
                'id_name' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                    'type' => 'many-to-many',
                    'parent_id' => 'am_projecttemplates_project_1project_idb',
                ],
            ],
            'am_projecttemplates_project_1_name' => [
                'name' => 'am_projecttemplates_project_1_name',
                'type' => 'relate',
                'source' => 'non-db',
                'vname' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_AM_PROJECTTEMPLATES_TITLE',
                'save' => true,
                'id_name' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                'link' => 'am_projecttemplates_project_1',
                'table' => 'am_projecttemplates',
                'module' => 'AM_ProjectTemplates',
                'rname' => 'name',
                'required' => false,
            ],
            'am_projecttemplates_project_1am_projecttemplates_ida' => [
                'name' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                'type' => 'link',
                'relationship' => 'am_projecttemplates_project_1',
                'source' => 'non-db',
                'reportable' => false,
                'side' => 'right',
                'vname' => 'LBL_AM_PROJECTTEMPLATES_PROJECT_1_FROM_PROJECT_TITLE',
                'required' => false,
                'module' => 'AM_ProjectTemplates',
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => 'am_projecttemplates_project_1am_projecttemplates_ida',
                    'type' => 'many-to-many',
                    'parent_id' => 'am_projecttemplates_project_1project_idb',
                ],
            ],
            'project_contacts_1' => [
                'name' => 'project_contacts_1',
                'type' => 'link',
                'relationship' => 'project_contacts_1',
                'source' => 'non-db',
                'module' => 'Contacts',
                'bean_name' => 'Contact',
                'vname' => 'LBL_PROJECT_CONTACTS_1_FROM_CONTACTS_TITLE',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => 'project_contacts_1contacts_idb',
                    'type' => 'many-to-many',
                    'parent_id' => 'project_contacts_1project_ida',
                ],
            ],
            'aos_quotes_project' => [
                'name' => 'aos_quotes_project',
                'vname' => 'LBL_AOS_QUOTES_PROJECT',
                'type' => 'link',
                'relationship' => 'aos_quotes_project',
                'source' => 'non-db',
                'required' => false,
                'module' => 'AOS_Quotes',
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => 'aos_quotes1112_quotes_ida',
                    'type' => 'many-to-many',
                    'parent_id' => 'aos_quotes7207project_idb',
                ],
            ],
            'override_business_hours' => [
                'name' => 'override_business_hours',
                'vname' => 'LBL_OVERRIDE_BUSINESS_HOURS',
                'type' => 'bool',
                'required' => false,
                'reportable' => false,
                'default' => '0',
                'comment' => '',
            ],
            'jjwg_maps_address_c' => [
                'inline_edit' => 1,
                'required' => false,
                'source' => 'custom_fields',
                'name' => 'jjwg_maps_address_c',
                'vname' => 'LBL_JJWG_MAPS_ADDRESS',
                'type' => 'varchar',
                'massupdate' => '0',
                'default' => null,
                'no_default' => false,
                'comments' => 'Address',
                'help' => 'Address',
                'importable' => 'true',
                'duplicate_merge' => 'disabled',
                'duplicate_merge_dom_value' => '0',
                'audited' => false,
                'reportable' => true,
                'unified_search' => false,
                'merge_filter' => 'disabled',
                'len' => '255',
                'size' => '20',
                'id' => 'Projectjjwg_maps_address_c',
                'custom_module' => 'Project',
            ],
            'jjwg_maps_geocode_status_c' => [
                'inline_edit' => 1,
                'required' => false,
                'source' => 'custom_fields',
                'name' => 'jjwg_maps_geocode_status_c',
                'vname' => 'LBL_JJWG_MAPS_GEOCODE_STATUS',
                'type' => 'varchar',
                'massupdate' => '0',
                'default' => null,
                'no_default' => false,
                'comments' => 'Geocode Status',
                'help' => 'Geocode Status',
                'importable' => 'true',
                'duplicate_merge' => 'disabled',
                'duplicate_merge_dom_value' => '0',
                'audited' => false,
                'reportable' => true,
                'unified_search' => false,
                'merge_filter' => 'disabled',
                'len' => '255',
                'size' => '20',
                'id' => 'Projectjjwg_maps_geocode_status_c',
                'custom_module' => 'Project',
            ],
            'jjwg_maps_lat_c' => [
                'inline_edit' => 1,
                'required' => false,
                'source' => 'custom_fields',
                'name' => 'jjwg_maps_lat_c',
                'vname' => 'LBL_JJWG_MAPS_LAT',
                'type' => 'float',
                'massupdate' => '0',
                'default' => '0.00000000',
                'no_default' => false,
                'comments' => '',
                'help' => 'Latitude',
                'importable' => 'true',
                'duplicate_merge' => 'disabled',
                'duplicate_merge_dom_value' => '0',
                'audited' => false,
                'reportable' => true,
                'unified_search' => false,
                'merge_filter' => 'disabled',
                'len' => '10',
                'size' => '20',
                'enable_range_search' => false,
                'precision' => '8',
                'id' => 'Projectjjwg_maps_lat_c',
                'custom_module' => 'Project',
            ],
            'jjwg_maps_lng_c' => [
                'inline_edit' => 1,
                'required' => false,
                'source' => 'custom_fields',
                'name' => 'jjwg_maps_lng_c',
                'vname' => 'LBL_JJWG_MAPS_LNG',
                'type' => 'float',
                'massupdate' => '0',
                'default' => '0.00000000',
                'no_default' => false,
                'comments' => '',
                'help' => 'Longitude',
                'importable' => 'true',
                'duplicate_merge' => 'disabled',
                'duplicate_merge_dom_value' => '0',
                'audited' => false,
                'reportable' => true,
                'unified_search' => false,
                'merge_filter' => 'disabled',
                'len' => '11',
                'size' => '20',
                'enable_range_search' => false,
                'precision' => '8',
                'id' => 'Projectjjwg_maps_lng_c',
                'custom_module' => 'Project',
            ],
        ],
        'metadata' => [],
    ],
    'extra' => [],
]];
