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

return [PHP_INT_MAX, [
    'search' => [
        'layout' => [
            'basic' => [
                'name',
                [
                    'name' => 'current_user_only',
                    'label' => 'LBL_CURRENT_USER_FILTER',
                    'type' => 'bool',
                ],
                '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',
                        'type' => 'id',
                        'required' => true,
                        'reportable' => true,
                        'comment' => 'Unique identifier',
                        'inline_edit' => false,
                        'readonly' => false,
                    ],
                ],
                'date_entered' => [
                    'name' => 'date_entered',
                    'width' => '',
                    'label' => 'LBL_DATE_ENTERED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'datetime',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'date_entered',
                        'vname' => 'LBL_DATE_ENTERED',
                        'type' => 'datetime',
                        'group' => 'created_by_name',
                        'comment' => 'Date record created',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'inline_edit' => false,
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'created_by_name' => [
                    'name' => 'created_by_name',
                    'width' => '',
                    'label' => 'LBL_CREATED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'relate',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'created_by_name',
                        'vname' => 'LBL_CREATED',
                        'type' => 'relate',
                        'reportable' => false,
                        'link' => 'created_by_link',
                        'rname' => 'user_name',
                        'source' => 'non-db',
                        'table' => 'users',
                        'id_name' => 'created_by',
                        'module' => 'Users',
                        'duplicate_merge' => 'disabled',
                        'importable' => 'false',
                        'massupdate' => false,
                        'inline_edit' => false,
                        'required' => false,
                        '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',
                        'group' => 'modified_by_name',
                        'comment' => 'Date record last modified',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'inline_edit' => false,
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'modified_by_name' => [
                    'name' => 'modified_by_name',
                    'width' => '',
                    'label' => 'LBL_MODIFIED_NAME',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'relate',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'modified_by_name',
                        'vname' => 'LBL_MODIFIED_NAME',
                        'type' => 'relate',
                        'reportable' => false,
                        'source' => 'non-db',
                        'rname' => 'user_name',
                        'table' => 'users',
                        'id_name' => 'modified_user_id',
                        'module' => 'Users',
                        'link' => 'modified_user_link',
                        'duplicate_merge' => 'disabled',
                        'massupdate' => false,
                        'inline_edit' => false,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'modified_user_id' => [
                    'name' => 'modified_user_id',
                    'width' => '',
                    'label' => 'LBL_MODIFIED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'assigned_user_name',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'modified_user_id',
                        'rname' => 'user_name',
                        'id_name' => 'modified_user_id',
                        'vname' => 'LBL_MODIFIED',
                        'type' => 'assigned_user_name',
                        'table' => 'users',
                        'isnull' => 'false',
                        'group' => 'modified_by_name',
                        'dbType' => 'id',
                        'reportable' => true,
                        'comment' => 'User who last modified record',
                        'massupdate' => false,
                        'inline_edit' => false,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'created_by' => [
                    'name' => 'created_by',
                    'width' => '',
                    'label' => 'LBL_CREATED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'assigned_user_name',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'created_by',
                        'rname' => 'user_name',
                        'id_name' => 'modified_user_id',
                        'vname' => 'LBL_CREATED',
                        'type' => 'assigned_user_name',
                        'table' => 'users',
                        'isnull' => 'false',
                        'dbType' => 'id',
                        'group' => 'created_by_name',
                        'comment' => 'User who created record',
                        'massupdate' => false,
                        'inline_edit' => false,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'description' => [
                    'name' => 'description',
                    'width' => '',
                    'label' => '',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'none',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'description',
                        'type' => 'none',
                        'comment' => 'inhertied but not used',
                        'source' => 'non-db',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'deleted' => [
                    'name' => 'deleted',
                    'width' => '',
                    'label' => 'LBL_DELETED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'bool',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'deleted',
                        'vname' => 'LBL_DELETED',
                        'type' => 'bool',
                        'default' => '0',
                        'reportable' => false,
                        'comment' => 'Record deletion indicator',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'created_by_link' => [
                    'name' => 'created_by_link',
                    'width' => '',
                    'label' => 'LBL_CREATED_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' => 'campaigns_created_by',
                        'vname' => 'LBL_CREATED_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_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' => 'campaigns_modified_user',
                        'vname' => 'LBL_MODIFIED_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_id' => [
                    'name' => 'assigned_user_id',
                    'width' => '',
                    'label' => 'LBL_ASSIGNED_TO_ID',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'relate',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'assigned_user_id',
                        'rname' => 'user_name',
                        'id_name' => 'assigned_user_id',
                        'vname' => 'LBL_ASSIGNED_TO_ID',
                        'group' => 'assigned_user_name',
                        'type' => 'relate',
                        'table' => 'users',
                        'module' => 'Users',
                        'reportable' => true,
                        'isnull' => 'false',
                        'dbType' => 'id',
                        'audited' => true,
                        'comment' => 'User ID assigned to record',
                        'duplicate_merge' => 'disabled',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'assigned_user_name' => [
                    'name' => 'assigned_user_name',
                    'width' => '',
                    'label' => 'LBL_ASSIGNED_TO_NAME',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'relate',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'assigned_user_name',
                        'link' => 'assigned_user_link',
                        'vname' => 'LBL_ASSIGNED_TO_NAME',
                        'rname' => 'user_name',
                        'type' => 'relate',
                        'reportable' => false,
                        'source' => 'non-db',
                        'table' => 'users',
                        'id_name' => 'assigned_user_id',
                        'module' => 'Users',
                        'duplicate_merge' => 'disabled',
                        'required' => false,
                        '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' => 'campaigns_assigned_user',
                        'vname' => 'LBL_ASSIGNED_TO_USER',
                        'link_type' => 'one',
                        'module' => 'Users',
                        'bean_name' => 'User',
                        'source' => 'non-db',
                        'duplicate_merge' => 'enabled',
                        'rname' => 'user_name',
                        'id_name' => 'assigned_user_id',
                        'table' => 'users',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        '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_campaigns',
                        '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,
                    ],
                ],
                'tracker_key' => [
                    'name' => 'tracker_key',
                    'width' => '',
                    'label' => 'LBL_TRACKER_KEY',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'int',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'tracker_key',
                        'vname' => 'LBL_TRACKER_KEY',
                        'type' => 'int',
                        'required' => true,
                        'studio' => [
                            'editview' => false,
                        ],
                        'len' => '11',
                        'auto_increment' => true,
                        'comment' => 'The internal ID of the tracker used in a campaign; no longer used as of 4.2 (see campaign_trkrs)',
                        'readonly' => false,
                    ],
                ],
                'tracker_count' => [
                    'name' => 'tracker_count',
                    'width' => '',
                    'label' => 'LBL_TRACKER_COUNT',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'int',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'tracker_count',
                        'vname' => 'LBL_TRACKER_COUNT',
                        'type' => 'int',
                        'len' => '11',
                        'default' => '0',
                        'comment' => 'The number of accesses made to the tracker URL; no longer used as of 4.2 (see campaign_trkrs)',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'refer_url' => [
                    'name' => 'refer_url',
                    'width' => '',
                    'label' => 'LBL_REFER_URL',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'refer_url',
                        'vname' => 'LBL_REFER_URL',
                        'type' => 'varchar',
                        'len' => '255',
                        'default' => 'http://',
                        'comment' => 'The URL referenced in the tracker URL; no longer used as of 4.2 (see campaign_trkrs)',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'tracker_text' => [
                    'name' => 'tracker_text',
                    'width' => '',
                    'label' => 'LBL_TRACKER_TEXT',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'tracker_text',
                        'vname' => 'LBL_TRACKER_TEXT',
                        'type' => 'varchar',
                        'len' => '255',
                        'comment' => 'The text that appears in the tracker URL; no longer used as of 4.2 (see campaign_trkrs)',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'start_date' => [
                    'name' => 'start_date',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_START_DATE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'date',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'start_date',
                        'vname' => 'LBL_CAMPAIGN_START_DATE',
                        'type' => 'date',
                        'audited' => true,
                        'comment' => 'Starting date of the campaign',
                        'validation' => [
                            'type' => 'isbefore',
                            'compareto' => 'end_date',
                        ],
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'end_date' => [
                    'name' => 'end_date',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_END_DATE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'date',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'end_date',
                        'vname' => 'LBL_CAMPAIGN_END_DATE',
                        'type' => 'date',
                        'audited' => true,
                        'comment' => 'Ending date of the campaign',
                        'importable' => 'required',
                        'required' => true,
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'status' => [
                    'name' => 'status',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_STATUS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'enum',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'status',
                        'vname' => 'LBL_CAMPAIGN_STATUS',
                        'type' => 'enum',
                        'options' => 'campaign_status_dom',
                        'len' => 100,
                        'audited' => true,
                        'comment' => 'Status of the campaign',
                        'importable' => 'required',
                        'required' => true,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'impressions' => [
                    'name' => 'impressions',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_IMPRESSIONS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'int',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'impressions',
                        'vname' => 'LBL_CAMPAIGN_IMPRESSIONS',
                        'type' => 'int',
                        'default' => 0,
                        'reportable' => true,
                        'comment' => 'Expected Click throughs manually entered by Campaign Manager',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'currency_id' => [
                    'name' => 'currency_id',
                    'width' => '',
                    'label' => 'LBL_CURRENCY',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'id',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'currency_id',
                        'vname' => 'LBL_CURRENCY',
                        'type' => 'id',
                        'group' => 'currency_id',
                        'function' => [
                            'name' => 'getCurrencyDropDown',
                            'returns' => 'html',
                            'onListView' => true,
                        ],
                        'required' => false,
                        'do_report' => false,
                        'reportable' => false,
                        'comment' => 'Currency in use for the campaign',
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '-99',
                                    'label' => 'USD',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'budget' => [
                    'name' => 'budget',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_BUDGET',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'currency',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'budget',
                        'vname' => 'LBL_CAMPAIGN_BUDGET',
                        'type' => 'currency',
                        'dbType' => 'double',
                        'comment' => 'Budgeted amount for the campaign',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'expected_cost' => [
                    'name' => 'expected_cost',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_EXPECTED_COST',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'currency',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'expected_cost',
                        'vname' => 'LBL_CAMPAIGN_EXPECTED_COST',
                        'type' => 'currency',
                        'dbType' => 'double',
                        'comment' => 'Expected cost of the campaign',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'actual_cost' => [
                    'name' => 'actual_cost',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_ACTUAL_COST',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'currency',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'actual_cost',
                        'vname' => 'LBL_CAMPAIGN_ACTUAL_COST',
                        'type' => 'currency',
                        'dbType' => 'double',
                        'comment' => 'Actual cost of the campaign',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'expected_revenue' => [
                    'name' => 'expected_revenue',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_EXPECTED_REVENUE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'currency',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'expected_revenue',
                        'vname' => 'LBL_CAMPAIGN_EXPECTED_REVENUE',
                        'type' => 'currency',
                        'dbType' => 'double',
                        'comment' => 'Expected revenue stemming from the campaign',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'campaign_type' => [
                    'name' => 'campaign_type',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_TYPE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'enum',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'campaign_type',
                        'vname' => 'LBL_CAMPAIGN_TYPE',
                        'type' => 'enum',
                        'options' => 'campaign_type_dom',
                        'len' => 100,
                        'audited' => true,
                        'comment' => 'The type of campaign',
                        'importable' => 'required',
                        'required' => true,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'objective' => [
                    'name' => 'objective',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_OBJECTIVE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'text',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'objective',
                        'vname' => 'LBL_CAMPAIGN_OBJECTIVE',
                        'type' => 'text',
                        'comment' => 'The objective of the campaign',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'content' => [
                    'name' => 'content',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_CONTENT',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'text',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'content',
                        'vname' => 'LBL_CAMPAIGN_CONTENT',
                        'type' => 'text',
                        'comment' => 'The campaign description',
                        'inline_edit' => false,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'prospectlists' => [
                    'name' => 'prospectlists',
                    'width' => '',
                    'label' => 'LBL_PROSPECT_LISTS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'prospectlists',
                        'vname' => 'LBL_PROSPECT_LISTS',
                        'type' => 'link',
                        'relationship' => 'prospect_list_campaigns',
                        'source' => 'non-db',
                        'required' => false,
                        'module' => 'ProspectLists',
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => 'prospect_list_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'campaign_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'emailmarketing' => [
                    'name' => 'emailmarketing',
                    'width' => '',
                    'label' => 'LBL_EMAIL_MARKETING',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'emailmarketing',
                        'vname' => 'LBL_EMAIL_MARKETING',
                        'type' => 'link',
                        'relationship' => 'campaign_email_marketing',
                        'source' => 'non-db',
                        'required' => false,
                        'module' => 'EmailMarketing',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'queueitems' => [
                    'name' => 'queueitems',
                    'width' => '',
                    'label' => 'LBL_QUEUE_ITEMS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'queueitems',
                        'vname' => 'LBL_QUEUE_ITEMS',
                        'type' => 'link',
                        'relationship' => 'campaign_emailman',
                        'source' => 'non-db',
                        'required' => false,
                        'module' => 'EmailMan',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'log_entries' => [
                    'name' => 'log_entries',
                    'width' => '',
                    'label' => 'LBL_LOG_ENTRIES',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'log_entries',
                        'type' => 'link',
                        'relationship' => 'campaign_campaignlog',
                        'source' => 'non-db',
                        'vname' => 'LBL_LOG_ENTRIES',
                        'required' => false,
                        'module' => 'CampaignLog',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'tracked_urls' => [
                    'name' => 'tracked_urls',
                    'width' => '',
                    'label' => 'LBL_TRACKED_URLS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'tracked_urls',
                        'type' => 'link',
                        'relationship' => 'campaign_campaigntrakers',
                        'source' => 'non-db',
                        'vname' => 'LBL_TRACKED_URLS',
                        'required' => false,
                        'module' => 'CampaignTrackers',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'frequency' => [
                    'name' => 'frequency',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_FREQUENCY',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'enum',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'frequency',
                        'vname' => 'LBL_CAMPAIGN_FREQUENCY',
                        'type' => 'enum',
                        'len' => 100,
                        'comment' => 'Frequency of the campaign',
                        'options' => 'newsletter_frequency_dom',
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'leads' => [
                    'name' => 'leads',
                    'width' => '',
                    'label' => 'LBL_LEADS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'leads',
                        'type' => 'link',
                        'relationship' => 'campaign_leads',
                        'source' => 'non-db',
                        'vname' => 'LBL_LEADS',
                        'link_class' => 'ProspectLink',
                        'link_file' => 'modules/Campaigns/ProspectLink.php',
                        'required' => false,
                        'module' => 'Leads',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_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' => 'campaign_opportunities',
                        'source' => 'non-db',
                        'vname' => 'LBL_OPPORTUNITIES',
                        'required' => false,
                        'module' => 'Opportunities',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        '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' => 'campaign_contacts',
                        'source' => 'non-db',
                        'vname' => 'LBL_CONTACTS',
                        'link_class' => 'ProspectLink',
                        'link_file' => 'modules/Campaigns/ProspectLink.php',
                        'required' => false,
                        'module' => 'Contacts',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        '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' => 'campaign_accounts',
                        'source' => 'non-db',
                        'vname' => 'LBL_ACCOUNTS',
                        'link_class' => 'ProspectLink',
                        'link_file' => 'modules/Campaigns/ProspectLink.php',
                        'required' => false,
                        'module' => 'Accounts',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_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' => 'campaign_notes',
                        'source' => 'non-db',
                        'vname' => 'LBL_NOTES',
                        'required' => false,
                        'module' => 'Notes',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'survey' => [
                    'name' => 'survey',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_SURVEYS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'survey',
                        'type' => 'link',
                        'relationship' => 'surveys_campaigns',
                        'source' => 'non-db',
                        'module' => 'Surveys',
                        'bean_name' => 'Surveys',
                        'vname' => 'LBL_CAMPAIGN_SURVEYS',
                        'id_name' => 'survey_id',
                        'link_type' => 'one',
                        'side' => 'left',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'survey_name' => [
                    'name' => 'survey_name',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_SURVEYS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'relate',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'survey_name',
                        'type' => 'relate',
                        'source' => 'non-db',
                        'vname' => 'LBL_CAMPAIGN_SURVEYS',
                        'save' => true,
                        'id_name' => 'survey_id',
                        'link' => 'survey',
                        'table' => 'surveys',
                        'module' => 'Surveys',
                        'rname' => 'name',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'survey_id' => [
                    'name' => 'survey_id',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_SURVEYS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'id',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'survey_id',
                        'type' => 'id',
                        'reportable' => false,
                        'vname' => 'LBL_CAMPAIGN_SURVEYS',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'surveyresponses_campaigns' => [
                    'name' => 'surveyresponses_campaigns',
                    'width' => '',
                    'label' => 'LBL_SURVEYRESPONSES_CAMPAIGNS_FROM_SURVEYRESPONSES_TITLE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'surveyresponses_campaigns',
                        'type' => 'link',
                        'relationship' => 'surveyresponses_campaigns',
                        'source' => 'non-db',
                        'module' => 'SurveyResponses',
                        'bean_name' => 'SurveyResponses',
                        'side' => 'right',
                        'vname' => 'LBL_SURVEYRESPONSES_CAMPAIGNS_FROM_SURVEYRESPONSES_TITLE',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'name' => [
                    'name' => 'name',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_NAME',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'name',
                    'fieldDefinition' => [
                        'name' => 'name',
                        'vname' => 'LBL_CAMPAIGN_NAME',
                        'dbType' => 'varchar',
                        'type' => 'name',
                        'len' => '255',
                        'comment' => 'The name of the campaign',
                        'importable' => 'required',
                        'required' => true,
                        'unified_search' => true,
                        'full_text_search' => [
                            'boost' => 3,
                        ],
                        'readonly' => false,
                    ],
                    'vardefBased' => false,
                    'readonly' => false,
                ],
            ],
            'advanced' => [
                'name' => [
                    'name' => 'name',
                    'width' => '10%',
                    'label' => 'LBL_CAMPAIGN_NAME',
                    'link' => false,
                    'default' => true,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'name',
                    'fieldDefinition' => [
                        'name' => 'name',
                        'vname' => 'LBL_CAMPAIGN_NAME',
                        'dbType' => 'varchar',
                        'type' => 'name',
                        'len' => '255',
                        'comment' => 'The name of the campaign',
                        'importable' => 'required',
                        'required' => true,
                        'unified_search' => true,
                        'full_text_search' => [
                            'boost' => 3,
                        ],
                        'readonly' => false,
                    ],
                    'vardefBased' => false,
                    'readonly' => false,
                ],
                'start_date' => [
                    'name' => 'start_date',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_START_DATE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'composite',
                    'displayParams' => [
                        'showFormats' => true,
                    ],
                    'enable_range_search' => true,
                    'fieldDefinition' => [
                        'name' => 'start_date',
                        'vname' => 'LBL_CAMPAIGN_START_DATE',
                        'type' => 'date',
                        'audited' => true,
                        'comment' => 'Starting date of the campaign',
                        'validation' => [
                            'type' => 'isbefore',
                            'compareto' => 'end_date',
                        ],
                        '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' => 'date',
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'start_date',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                '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' => 'start_date',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                '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' => 'start_date',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'start_date' => [
                                                    'operator' => [
                                                        'between',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                    'vardefBased' => false,
                    'readonly' => false,
                ],
                'end_date' => [
                    'name' => 'end_date',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_END_DATE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'composite',
                    'displayParams' => [
                        'showFormats' => true,
                    ],
                    'enable_range_search' => true,
                    'fieldDefinition' => [
                        'name' => 'end_date',
                        'vname' => 'LBL_CAMPAIGN_END_DATE',
                        'type' => 'date',
                        'audited' => true,
                        'comment' => 'Ending date of the campaign',
                        'importable' => 'required',
                        'required' => true,
                        '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' => 'end_date',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                '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' => 'end_date',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                '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' => 'end_date',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'end_date' => [
                                                    'operator' => [
                                                        'between',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                    'vardefBased' => false,
                    'readonly' => false,
                ],
                'status' => [
                    'name' => 'status',
                    'width' => '10%',
                    'label' => 'LBL_CAMPAIGN_STATUS',
                    'link' => false,
                    'default' => true,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'enum',
                    'fieldDefinition' => [
                        'name' => 'status',
                        'vname' => 'LBL_CAMPAIGN_STATUS',
                        'type' => 'enum',
                        'options' => 'campaign_status_dom',
                        'len' => 100,
                        'audited' => true,
                        'comment' => 'Status of the campaign',
                        'importable' => 'required',
                        'required' => true,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                    'vardefBased' => false,
                    'readonly' => false,
                ],
                'campaign_type' => [
                    'name' => 'campaign_type',
                    'width' => '10%',
                    'label' => 'LBL_CAMPAIGN_TYPE',
                    'link' => false,
                    'default' => true,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'enum',
                    'fieldDefinition' => [
                        'name' => 'campaign_type',
                        'vname' => 'LBL_CAMPAIGN_TYPE',
                        'type' => 'enum',
                        'options' => 'campaign_type_dom',
                        'len' => 100,
                        'audited' => true,
                        'comment' => 'The type of campaign',
                        'importable' => 'required',
                        'required' => true,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                    'vardefBased' => false,
                    'readonly' => false,
                ],
                'assigned_user_id-group' => [
                    'name' => 'assigned_user_id-group',
                    'width' => '10%',
                    'label' => 'LBL_ASSIGNED_TO',
                    'link' => false,
                    'default' => true,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'grouped-field',
                    'function' => [
                        'name' => 'get_user_array',
                        'params' => [
                            false,
                        ],
                    ],
                    'fieldDefinition' => [
                        'name' => 'assigned_user_id',
                        'rname' => 'user_name',
                        'id_name' => 'assigned_user_id',
                        'vname' => 'LBL_ASSIGNED_TO_ID',
                        'group' => 'assigned_user_name',
                        'type' => 'grouped-field',
                        'table' => 'users',
                        'module' => 'Users',
                        'reportable' => true,
                        'isnull' => 'false',
                        'dbType' => 'id',
                        'audited' => true,
                        'comment' => 'User ID assigned to record',
                        'duplicate_merge' => 'disabled',
                        'required' => false,
                        'layout' => [
                            'assigned_user_name',
                        ],
                        'display' => 'inline',
                        'groupKey' => 'assigned_user',
                        'groupFields' => [
                            'assigned_user_id' => [
                                'name' => 'assigned_user_id',
                                'rname' => 'user_name',
                                'id_name' => 'assigned_user_id',
                                'vname' => 'LBL_ASSIGNED_TO_ID',
                                'group' => 'assigned_user',
                                'type' => 'id',
                                'table' => 'users',
                                'module' => 'Users',
                                'reportable' => true,
                                'isnull' => 'false',
                                'dbType' => 'id',
                                'audited' => true,
                                'comment' => 'User ID assigned to record',
                                'duplicate_merge' => 'disabled',
                                'required' => false,
                                'showLabel' => [],
                                'display' => 'none',
                            ],
                            'assigned_user_name' => [
                                'name' => 'assigned_user_name',
                                'link' => 'assigned_user_link',
                                'vname' => 'LBL_ASSIGNED_TO_NAME',
                                'rname' => 'user_name',
                                'type' => 'relate',
                                'reportable' => false,
                                'source' => 'non-db',
                                'table' => 'users',
                                'id_name' => 'assigned_user_id',
                                'module' => 'Users',
                                'duplicate_merge' => 'disabled',
                                'required' => false,
                                'showLabel' => [
                                    '*',
                                ],
                                'display' => 'inline',
                                'group' => 'assigned_user',
                            ],
                        ],
                        'readonly' => false,
                    ],
                    'vardefBased' => false,
                    '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',
                        'type' => 'id',
                        'required' => true,
                        'reportable' => true,
                        'comment' => 'Unique identifier',
                        'inline_edit' => false,
                        'readonly' => false,
                    ],
                ],
                'date_entered' => [
                    'name' => 'date_entered',
                    'width' => '',
                    'label' => 'LBL_DATE_ENTERED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'datetime',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'date_entered',
                        'vname' => 'LBL_DATE_ENTERED',
                        'type' => 'datetime',
                        'group' => 'created_by_name',
                        'comment' => 'Date record created',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'inline_edit' => false,
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'created_by_name' => [
                    'name' => 'created_by_name',
                    'width' => '',
                    'label' => 'LBL_CREATED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'relate',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'created_by_name',
                        'vname' => 'LBL_CREATED',
                        'type' => 'relate',
                        'reportable' => false,
                        'link' => 'created_by_link',
                        'rname' => 'user_name',
                        'source' => 'non-db',
                        'table' => 'users',
                        'id_name' => 'created_by',
                        'module' => 'Users',
                        'duplicate_merge' => 'disabled',
                        'importable' => 'false',
                        'massupdate' => false,
                        'inline_edit' => false,
                        'required' => false,
                        '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',
                        'group' => 'modified_by_name',
                        'comment' => 'Date record last modified',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'inline_edit' => false,
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'modified_by_name' => [
                    'name' => 'modified_by_name',
                    'width' => '',
                    'label' => 'LBL_MODIFIED_NAME',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'relate',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'modified_by_name',
                        'vname' => 'LBL_MODIFIED_NAME',
                        'type' => 'relate',
                        'reportable' => false,
                        'source' => 'non-db',
                        'rname' => 'user_name',
                        'table' => 'users',
                        'id_name' => 'modified_user_id',
                        'module' => 'Users',
                        'link' => 'modified_user_link',
                        'duplicate_merge' => 'disabled',
                        'massupdate' => false,
                        'inline_edit' => false,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'modified_user_id' => [
                    'name' => 'modified_user_id',
                    'width' => '',
                    'label' => 'LBL_MODIFIED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'assigned_user_name',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'modified_user_id',
                        'rname' => 'user_name',
                        'id_name' => 'modified_user_id',
                        'vname' => 'LBL_MODIFIED',
                        'type' => 'assigned_user_name',
                        'table' => 'users',
                        'isnull' => 'false',
                        'group' => 'modified_by_name',
                        'dbType' => 'id',
                        'reportable' => true,
                        'comment' => 'User who last modified record',
                        'massupdate' => false,
                        'inline_edit' => false,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'created_by' => [
                    'name' => 'created_by',
                    'width' => '',
                    'label' => 'LBL_CREATED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'assigned_user_name',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'created_by',
                        'rname' => 'user_name',
                        'id_name' => 'modified_user_id',
                        'vname' => 'LBL_CREATED',
                        'type' => 'assigned_user_name',
                        'table' => 'users',
                        'isnull' => 'false',
                        'dbType' => 'id',
                        'group' => 'created_by_name',
                        'comment' => 'User who created record',
                        'massupdate' => false,
                        'inline_edit' => false,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'description' => [
                    'name' => 'description',
                    'width' => '',
                    'label' => '',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'none',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'description',
                        'type' => 'none',
                        'comment' => 'inhertied but not used',
                        'source' => 'non-db',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'deleted' => [
                    'name' => 'deleted',
                    'width' => '',
                    'label' => 'LBL_DELETED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'bool',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'deleted',
                        'vname' => 'LBL_DELETED',
                        'type' => 'bool',
                        'default' => '0',
                        'reportable' => false,
                        'comment' => 'Record deletion indicator',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'created_by_link' => [
                    'name' => 'created_by_link',
                    'width' => '',
                    'label' => 'LBL_CREATED_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' => 'campaigns_created_by',
                        'vname' => 'LBL_CREATED_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_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' => 'campaigns_modified_user',
                        'vname' => 'LBL_MODIFIED_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_TO_NAME',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'relate',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'assigned_user_name',
                        'link' => 'assigned_user_link',
                        'vname' => 'LBL_ASSIGNED_TO_NAME',
                        'rname' => 'user_name',
                        'type' => 'relate',
                        'reportable' => false,
                        'source' => 'non-db',
                        'table' => 'users',
                        'id_name' => 'assigned_user_id',
                        'module' => 'Users',
                        'duplicate_merge' => 'disabled',
                        'required' => false,
                        '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' => 'campaigns_assigned_user',
                        'vname' => 'LBL_ASSIGNED_TO_USER',
                        'link_type' => 'one',
                        'module' => 'Users',
                        'bean_name' => 'User',
                        'source' => 'non-db',
                        'duplicate_merge' => 'enabled',
                        'rname' => 'user_name',
                        'id_name' => 'assigned_user_id',
                        'table' => 'users',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        '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_campaigns',
                        '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,
                    ],
                ],
                'tracker_key' => [
                    'name' => 'tracker_key',
                    'width' => '',
                    'label' => 'LBL_TRACKER_KEY',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'int',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'tracker_key',
                        'vname' => 'LBL_TRACKER_KEY',
                        'type' => 'int',
                        'required' => true,
                        'studio' => [
                            'editview' => false,
                        ],
                        'len' => '11',
                        'auto_increment' => true,
                        'comment' => 'The internal ID of the tracker used in a campaign; no longer used as of 4.2 (see campaign_trkrs)',
                        'readonly' => false,
                    ],
                ],
                'tracker_count' => [
                    'name' => 'tracker_count',
                    'width' => '',
                    'label' => 'LBL_TRACKER_COUNT',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'int',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'tracker_count',
                        'vname' => 'LBL_TRACKER_COUNT',
                        'type' => 'int',
                        'len' => '11',
                        'default' => '0',
                        'comment' => 'The number of accesses made to the tracker URL; no longer used as of 4.2 (see campaign_trkrs)',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'refer_url' => [
                    'name' => 'refer_url',
                    'width' => '',
                    'label' => 'LBL_REFER_URL',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'refer_url',
                        'vname' => 'LBL_REFER_URL',
                        'type' => 'varchar',
                        'len' => '255',
                        'default' => 'http://',
                        'comment' => 'The URL referenced in the tracker URL; no longer used as of 4.2 (see campaign_trkrs)',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'tracker_text' => [
                    'name' => 'tracker_text',
                    'width' => '',
                    'label' => 'LBL_TRACKER_TEXT',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'tracker_text',
                        'vname' => 'LBL_TRACKER_TEXT',
                        'type' => 'varchar',
                        'len' => '255',
                        'comment' => 'The text that appears in the tracker URL; no longer used as of 4.2 (see campaign_trkrs)',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'impressions' => [
                    'name' => 'impressions',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_IMPRESSIONS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'int',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'impressions',
                        'vname' => 'LBL_CAMPAIGN_IMPRESSIONS',
                        'type' => 'int',
                        'default' => 0,
                        'reportable' => true,
                        'comment' => 'Expected Click throughs manually entered by Campaign Manager',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'currency_id' => [
                    'name' => 'currency_id',
                    'width' => '',
                    'label' => 'LBL_CURRENCY',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'id',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'currency_id',
                        'vname' => 'LBL_CURRENCY',
                        'type' => 'id',
                        'group' => 'currency_id',
                        'function' => [
                            'name' => 'getCurrencyDropDown',
                            'returns' => 'html',
                            'onListView' => true,
                        ],
                        'required' => false,
                        'do_report' => false,
                        'reportable' => false,
                        'comment' => 'Currency in use for the campaign',
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '-99',
                                    'label' => 'USD',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'budget' => [
                    'name' => 'budget',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_BUDGET',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'currency',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'budget',
                        'vname' => 'LBL_CAMPAIGN_BUDGET',
                        'type' => 'currency',
                        'dbType' => 'double',
                        'comment' => 'Budgeted amount for the campaign',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'expected_cost' => [
                    'name' => 'expected_cost',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_EXPECTED_COST',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'currency',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'expected_cost',
                        'vname' => 'LBL_CAMPAIGN_EXPECTED_COST',
                        'type' => 'currency',
                        'dbType' => 'double',
                        'comment' => 'Expected cost of the campaign',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'actual_cost' => [
                    'name' => 'actual_cost',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_ACTUAL_COST',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'currency',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'actual_cost',
                        'vname' => 'LBL_CAMPAIGN_ACTUAL_COST',
                        'type' => 'currency',
                        'dbType' => 'double',
                        'comment' => 'Actual cost of the campaign',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'expected_revenue' => [
                    'name' => 'expected_revenue',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_EXPECTED_REVENUE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'currency',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'expected_revenue',
                        'vname' => 'LBL_CAMPAIGN_EXPECTED_REVENUE',
                        'type' => 'currency',
                        'dbType' => 'double',
                        'comment' => 'Expected revenue stemming from the campaign',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'objective' => [
                    'name' => 'objective',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_OBJECTIVE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'text',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'objective',
                        'vname' => 'LBL_CAMPAIGN_OBJECTIVE',
                        'type' => 'text',
                        'comment' => 'The objective of the campaign',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'content' => [
                    'name' => 'content',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_CONTENT',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'text',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'content',
                        'vname' => 'LBL_CAMPAIGN_CONTENT',
                        'type' => 'text',
                        'comment' => 'The campaign description',
                        'inline_edit' => false,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'prospectlists' => [
                    'name' => 'prospectlists',
                    'width' => '',
                    'label' => 'LBL_PROSPECT_LISTS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'prospectlists',
                        'vname' => 'LBL_PROSPECT_LISTS',
                        'type' => 'link',
                        'relationship' => 'prospect_list_campaigns',
                        'source' => 'non-db',
                        'required' => false,
                        'module' => 'ProspectLists',
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => 'prospect_list_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'campaign_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'emailmarketing' => [
                    'name' => 'emailmarketing',
                    'width' => '',
                    'label' => 'LBL_EMAIL_MARKETING',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'emailmarketing',
                        'vname' => 'LBL_EMAIL_MARKETING',
                        'type' => 'link',
                        'relationship' => 'campaign_email_marketing',
                        'source' => 'non-db',
                        'required' => false,
                        'module' => 'EmailMarketing',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'queueitems' => [
                    'name' => 'queueitems',
                    'width' => '',
                    'label' => 'LBL_QUEUE_ITEMS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'queueitems',
                        'vname' => 'LBL_QUEUE_ITEMS',
                        'type' => 'link',
                        'relationship' => 'campaign_emailman',
                        'source' => 'non-db',
                        'required' => false,
                        'module' => 'EmailMan',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'log_entries' => [
                    'name' => 'log_entries',
                    'width' => '',
                    'label' => 'LBL_LOG_ENTRIES',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'log_entries',
                        'type' => 'link',
                        'relationship' => 'campaign_campaignlog',
                        'source' => 'non-db',
                        'vname' => 'LBL_LOG_ENTRIES',
                        'required' => false,
                        'module' => 'CampaignLog',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'tracked_urls' => [
                    'name' => 'tracked_urls',
                    'width' => '',
                    'label' => 'LBL_TRACKED_URLS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'tracked_urls',
                        'type' => 'link',
                        'relationship' => 'campaign_campaigntrakers',
                        'source' => 'non-db',
                        'vname' => 'LBL_TRACKED_URLS',
                        'required' => false,
                        'module' => 'CampaignTrackers',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'frequency' => [
                    'name' => 'frequency',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_FREQUENCY',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'enum',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'frequency',
                        'vname' => 'LBL_CAMPAIGN_FREQUENCY',
                        'type' => 'enum',
                        'len' => 100,
                        'comment' => 'Frequency of the campaign',
                        'options' => 'newsletter_frequency_dom',
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'leads' => [
                    'name' => 'leads',
                    'width' => '',
                    'label' => 'LBL_LEADS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'leads',
                        'type' => 'link',
                        'relationship' => 'campaign_leads',
                        'source' => 'non-db',
                        'vname' => 'LBL_LEADS',
                        'link_class' => 'ProspectLink',
                        'link_file' => 'modules/Campaigns/ProspectLink.php',
                        'required' => false,
                        'module' => 'Leads',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_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' => 'campaign_opportunities',
                        'source' => 'non-db',
                        'vname' => 'LBL_OPPORTUNITIES',
                        'required' => false,
                        'module' => 'Opportunities',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        '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' => 'campaign_contacts',
                        'source' => 'non-db',
                        'vname' => 'LBL_CONTACTS',
                        'link_class' => 'ProspectLink',
                        'link_file' => 'modules/Campaigns/ProspectLink.php',
                        'required' => false,
                        'module' => 'Contacts',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        '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' => 'campaign_accounts',
                        'source' => 'non-db',
                        'vname' => 'LBL_ACCOUNTS',
                        'link_class' => 'ProspectLink',
                        'link_file' => 'modules/Campaigns/ProspectLink.php',
                        'required' => false,
                        'module' => 'Accounts',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_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' => 'campaign_notes',
                        'source' => 'non-db',
                        'vname' => 'LBL_NOTES',
                        'required' => false,
                        'module' => 'Notes',
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'survey' => [
                    'name' => 'survey',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_SURVEYS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'survey',
                        'type' => 'link',
                        'relationship' => 'surveys_campaigns',
                        'source' => 'non-db',
                        'module' => 'Surveys',
                        'bean_name' => 'Surveys',
                        'vname' => 'LBL_CAMPAIGN_SURVEYS',
                        'id_name' => 'survey_id',
                        'link_type' => 'one',
                        'side' => 'left',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'survey_name' => [
                    'name' => 'survey_name',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_SURVEYS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'relate',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'survey_name',
                        'type' => 'relate',
                        'source' => 'non-db',
                        'vname' => 'LBL_CAMPAIGN_SURVEYS',
                        'save' => true,
                        'id_name' => 'survey_id',
                        'link' => 'survey',
                        'table' => 'surveys',
                        'module' => 'Surveys',
                        'rname' => 'name',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'survey_id' => [
                    'name' => 'survey_id',
                    'width' => '',
                    'label' => 'LBL_CAMPAIGN_SURVEYS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'id',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'survey_id',
                        'type' => 'id',
                        'reportable' => false,
                        'vname' => 'LBL_CAMPAIGN_SURVEYS',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'surveyresponses_campaigns' => [
                    'name' => 'surveyresponses_campaigns',
                    'width' => '',
                    'label' => 'LBL_SURVEYRESPONSES_CAMPAIGNS_FROM_SURVEYRESPONSES_TITLE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'surveyresponses_campaigns',
                        'type' => 'link',
                        'relationship' => 'surveyresponses_campaigns',
                        'source' => 'non-db',
                        'module' => 'SurveyResponses',
                        'bean_name' => 'SurveyResponses',
                        'side' => 'right',
                        'vname' => 'LBL_SURVEYRESPONSES_CAMPAIGNS_FROM_SURVEYRESPONSES_TITLE',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'rhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'current_user_only' => [
                    'name' => 'current_user_only',
                    'label' => 'LBL_CURRENT_USER_FILTER',
                    'type' => 'bool',
                    'fieldDefinition' => [
                        'displayType' => 'checkbox',
                        'readonly' => false,
                    ],
                ],
            ],
        ],
    ],
    'mass_update' => [
        'fields' => [
            [
                'name' => 'assigned_user_name',
                'label' => 'LBL_ASSIGNED_TO_NAME',
                'fieldDefinition' => [
                    'name' => 'assigned_user_name',
                    'link' => 'assigned_user_link',
                    'vname' => 'LBL_ASSIGNED_TO_NAME',
                    'rname' => 'user_name',
                    'type' => 'relate',
                    'reportable' => false,
                    'source' => 'non-db',
                    'table' => 'users',
                    'id_name' => 'assigned_user_id',
                    'module' => 'Users',
                    'duplicate_merge' => 'disabled',
                    'required' => false,
                ],
                'type' => 'relate',
            ],
            [
                'name' => 'start_date',
                'label' => 'LBL_CAMPAIGN_START_DATE',
                'fieldDefinition' => [
                    'name' => 'start_date',
                    'vname' => 'LBL_CAMPAIGN_START_DATE',
                    'type' => 'date',
                    'audited' => true,
                    'comment' => 'Starting date of the campaign',
                    'validation' => [
                        'type' => 'isbefore',
                        'compareto' => 'end_date',
                    ],
                    'enable_range_search' => true,
                    'options' => 'date_range_search_dom',
                    'required' => false,
                ],
                'type' => 'date',
            ],
            [
                'name' => 'end_date',
                'label' => 'LBL_CAMPAIGN_END_DATE',
                'fieldDefinition' => [
                    'name' => 'end_date',
                    'vname' => 'LBL_CAMPAIGN_END_DATE',
                    'type' => 'date',
                    'audited' => true,
                    'comment' => 'Ending date of the campaign',
                    'importable' => 'required',
                    'required' => true,
                    'enable_range_search' => true,
                    'options' => 'date_range_search_dom',
                ],
                'type' => 'date',
            ],
            [
                'name' => 'status',
                'label' => 'LBL_CAMPAIGN_STATUS',
                'fieldDefinition' => [
                    'name' => 'status',
                    'vname' => 'LBL_CAMPAIGN_STATUS',
                    'type' => 'enum',
                    'options' => 'campaign_status_dom',
                    'len' => 100,
                    'audited' => true,
                    'comment' => 'Status of the campaign',
                    'importable' => 'required',
                    'required' => true,
                ],
                'type' => 'enum',
                'metadata' => [
                    'extraOptions' => [
                        [
                            'value' => '__SugarMassUpdateClearField__',
                            'labelKey' => 'LBL_EMPTY',
                        ],
                    ],
                ],
            ],
            [
                'name' => 'campaign_type',
                'label' => 'LBL_CAMPAIGN_TYPE',
                'fieldDefinition' => [
                    'name' => 'campaign_type',
                    'vname' => 'LBL_CAMPAIGN_TYPE',
                    'type' => 'enum',
                    'options' => 'campaign_type_dom',
                    'len' => 100,
                    'audited' => true,
                    'comment' => 'The type of campaign',
                    'importable' => 'required',
                    'required' => true,
                ],
                'type' => 'enum',
                'metadata' => [
                    'extraOptions' => [
                        [
                            'value' => '__SugarMassUpdateClearField__',
                            'labelKey' => 'LBL_EMPTY',
                        ],
                    ],
                ],
            ],
            [
                'name' => 'frequency',
                'label' => 'LBL_CAMPAIGN_FREQUENCY',
                'fieldDefinition' => [
                    'name' => 'frequency',
                    'vname' => 'LBL_CAMPAIGN_FREQUENCY',
                    'type' => 'enum',
                    'len' => 100,
                    'comment' => 'Frequency of the campaign',
                    'options' => 'newsletter_frequency_dom',
                    'required' => false,
                ],
                'type' => 'enum',
                'metadata' => [
                    'extraOptions' => [
                        [
                            'value' => '__SugarMassUpdateClearField__',
                            'labelKey' => 'LBL_EMPTY',
                        ],
                    ],
                ],
            ],
        ],
    ],
    'listview' => [
        'columns' => [
            [
                'name' => 'name',
                'width' => '20',
                'label' => 'LBL_LIST_CAMPAIGN_NAME',
                'link' => true,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'name',
                'fieldDefinition' => [
                    'name' => 'name',
                    'vname' => 'LBL_CAMPAIGN_NAME',
                    'dbType' => 'varchar',
                    'type' => 'name',
                    'len' => '255',
                    'comment' => 'The name of the campaign',
                    'importable' => 'required',
                    'required' => true,
                    'unified_search' => true,
                    'full_text_search' => [
                        'boost' => 3,
                    ],
                ],
            ],
            [
                'name' => 'status',
                'width' => '10',
                'label' => 'LBL_LIST_STATUS',
                'link' => false,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'enum',
                'fieldDefinition' => [
                    'name' => 'status',
                    'vname' => 'LBL_CAMPAIGN_STATUS',
                    'type' => 'enum',
                    'options' => 'campaign_status_dom',
                    'len' => 100,
                    'audited' => true,
                    'comment' => 'Status of the campaign',
                    'importable' => 'required',
                    'required' => true,
                ],
            ],
            [
                'name' => 'campaign_type',
                'width' => '10',
                'label' => 'LBL_LIST_TYPE',
                'link' => false,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'enum',
                'fieldDefinition' => [
                    'name' => 'campaign_type',
                    'vname' => 'LBL_CAMPAIGN_TYPE',
                    'type' => 'enum',
                    'options' => 'campaign_type_dom',
                    'len' => 100,
                    'audited' => true,
                    'comment' => 'The type of campaign',
                    'importable' => 'required',
                    'required' => true,
                ],
            ],
            [
                'name' => 'end_date',
                'width' => '10',
                'label' => 'LBL_LIST_END_DATE',
                'link' => false,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'date',
                'fieldDefinition' => [
                    'name' => 'end_date',
                    'vname' => 'LBL_CAMPAIGN_END_DATE',
                    'type' => 'date',
                    'audited' => true,
                    'comment' => 'Ending date of the campaign',
                    'importable' => 'required',
                    'required' => true,
                    'enable_range_search' => true,
                    'options' => 'date_range_search_dom',
                ],
            ],
            [
                'name' => 'date_entered',
                'width' => '10',
                'label' => 'LBL_DATE_ENTERED',
                'link' => false,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'datetime',
                '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,
                ],
            ],
            [
                'name' => 'assigned_user_name',
                'width' => '8',
                'label' => 'LBL_LIST_ASSIGNED_USER',
                'link' => false,
                'default' => true,
                'module' => 'Employees',
                'id' => 'ASSIGNED_USER_ID',
                'sortable' => true,
                'type' => 'relate',
                'fieldDefinition' => [
                    'name' => 'assigned_user_name',
                    'link' => 'assigned_user_link',
                    'vname' => 'LBL_ASSIGNED_TO_NAME',
                    'rname' => 'user_name',
                    'type' => 'relate',
                    'reportable' => false,
                    'source' => 'non-db',
                    'table' => 'users',
                    'id_name' => 'assigned_user_id',
                    'module' => 'Users',
                    'duplicate_merge' => 'disabled',
                    'required' => false,
                ],
            ],
        ],
        'bulkActions' => [
            'delete' => [
                'key' => 'delete',
                'labelKey' => 'LBL_DELETE',
                'params' => [
                    'min' => 1,
                    'displayConfirmation' => true,
                    'confirmationLabel' => 'NTC_DELETE_CONFIRMATION_MULTIPLE',
                ],
                'acl' => [
                    'delete',
                ],
            ],
            'export' => [
                'key' => 'export',
                'labelKey' => 'LBL_EXPORT',
                'params' => [
                    'min' => 1,
                ],
                'acl' => [
                    'export',
                ],
            ],
            'merge' => [
                'key' => 'merge',
                'labelKey' => 'LBL_MERGE_DUPLICATES',
                'params' => [
                    'min' => 2,
                    'max' => 5,
                ],
                'acl' => [
                    'edit',
                    'delete',
                ],
            ],
            'massupdate' => [
                'key' => 'massupdate',
                'labelKey' => 'LBL_MASS_UPDATE',
                'params' => [
                    'allowAll' => false,
                    'min' => 2,
                    'max' => 200,
                    'recordPanel' => [
                        'title' => 'LBL_MASS_UPDATE',
                        'mode' => 'massupdate',
                        'actions' => [
                            [
                                'key' => 'cancel',
                                'labelKey' => 'LBL_CANCEL',
                                'modes' => [
                                    'massupdate',
                                ],
                            ],
                            [
                                'key' => 'bulk-action',
                                'labelKey' => 'LBL_SUBMIT_BUTTON_LABEL',
                                'modes' => [
                                    'massupdate',
                                ],
                                'klass' => [
                                    'btn',
                                    'btn-danger',
                                    'btn-sm',
                                ],
                                'params' => [
                                    'allowAll' => false,
                                    'min' => 2,
                                    'max' => 200,
                                    'bulkAction' => 'massupdate',
                                    'displayConfirmation' => true,
                                    'confirmationLabel' => 'LBL_BULK_ACTION_MASS_UPDATE_CONFIRMATION',
                                ],
                            ],
                        ],
                        'fields' => [
                            [
                                'name' => 'assigned_user_name',
                                'label' => 'LBL_ASSIGNED_TO_NAME',
                                'fieldDefinition' => [
                                    'name' => 'assigned_user_name',
                                    'link' => 'assigned_user_link',
                                    'vname' => 'LBL_ASSIGNED_TO_NAME',
                                    'rname' => 'user_name',
                                    'type' => 'relate',
                                    'reportable' => false,
                                    'source' => 'non-db',
                                    'table' => 'users',
                                    'id_name' => 'assigned_user_id',
                                    'module' => 'Users',
                                    'duplicate_merge' => 'disabled',
                                    'required' => false,
                                ],
                                'type' => 'relate',
                            ],
                            [
                                'name' => 'start_date',
                                'label' => 'LBL_CAMPAIGN_START_DATE',
                                'fieldDefinition' => [
                                    'name' => 'start_date',
                                    'vname' => 'LBL_CAMPAIGN_START_DATE',
                                    'type' => 'date',
                                    'audited' => true,
                                    'comment' => 'Starting date of the campaign',
                                    'validation' => [
                                        'type' => 'isbefore',
                                        'compareto' => 'end_date',
                                    ],
                                    'enable_range_search' => true,
                                    'options' => 'date_range_search_dom',
                                    'required' => false,
                                ],
                                'type' => 'date',
                            ],
                            [
                                'name' => 'end_date',
                                'label' => 'LBL_CAMPAIGN_END_DATE',
                                'fieldDefinition' => [
                                    'name' => 'end_date',
                                    'vname' => 'LBL_CAMPAIGN_END_DATE',
                                    'type' => 'date',
                                    'audited' => true,
                                    'comment' => 'Ending date of the campaign',
                                    'importable' => 'required',
                                    'required' => true,
                                    'enable_range_search' => true,
                                    'options' => 'date_range_search_dom',
                                ],
                                'type' => 'date',
                            ],
                            [
                                'name' => 'status',
                                'label' => 'LBL_CAMPAIGN_STATUS',
                                'fieldDefinition' => [
                                    'name' => 'status',
                                    'vname' => 'LBL_CAMPAIGN_STATUS',
                                    'type' => 'enum',
                                    'options' => 'campaign_status_dom',
                                    'len' => 100,
                                    'audited' => true,
                                    'comment' => 'Status of the campaign',
                                    'importable' => 'required',
                                    'required' => true,
                                ],
                                'type' => 'enum',
                                'metadata' => [
                                    'extraOptions' => [
                                        [
                                            'value' => '__SugarMassUpdateClearField__',
                                            'labelKey' => 'LBL_EMPTY',
                                        ],
                                    ],
                                ],
                            ],
                            [
                                'name' => 'campaign_type',
                                'label' => 'LBL_CAMPAIGN_TYPE',
                                'fieldDefinition' => [
                                    'name' => 'campaign_type',
                                    'vname' => 'LBL_CAMPAIGN_TYPE',
                                    'type' => 'enum',
                                    'options' => 'campaign_type_dom',
                                    'len' => 100,
                                    'audited' => true,
                                    'comment' => 'The type of campaign',
                                    'importable' => 'required',
                                    'required' => true,
                                ],
                                'type' => 'enum',
                                'metadata' => [
                                    'extraOptions' => [
                                        [
                                            'value' => '__SugarMassUpdateClearField__',
                                            'labelKey' => 'LBL_EMPTY',
                                        ],
                                    ],
                                ],
                            ],
                            [
                                'name' => 'frequency',
                                'label' => 'LBL_CAMPAIGN_FREQUENCY',
                                'fieldDefinition' => [
                                    'name' => 'frequency',
                                    'vname' => 'LBL_CAMPAIGN_FREQUENCY',
                                    'type' => 'enum',
                                    'len' => 100,
                                    'comment' => 'Frequency of the campaign',
                                    'options' => 'newsletter_frequency_dom',
                                    'required' => false,
                                ],
                                'type' => 'enum',
                                'metadata' => [
                                    'extraOptions' => [
                                        [
                                            'value' => '__SugarMassUpdateClearField__',
                                            'labelKey' => 'LBL_EMPTY',
                                        ],
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
                'acl' => [
                    'massupdate',
                ],
                'availability' => [
                    'acls',
                    'massupdate',
                ],
            ],
        ],
        'lineActions' => [],
        'tableActions' => [
            [
                'key' => 'select-columns',
                'icon' => 'column_chooser',
                'titleKey' => 'LBL_COLUMNS',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'list',
                ],
                'klass' => [
                    'column-chooser-button',
                ],
            ],
        ],
        'availableFilters' => [],
        'sidebarWidgets' => [],
        'paginationType' => null,
        'maxHeight' => null,
    ],
    'subpanel' => [
        'history' => [
            'order' => 5,
            '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' => [
                        'campaign_id' => 'id',
                        'campaign_name' => 'name',
                        'return_name' => 'name',
                        'history_name' => 'name',
                        'return_id' => 'id',
                        'parent_name' => 'name',
                        'parent_id' => 'id',
                    ],
                    'extraParams' => [
                        'target_module' => 'history',
                        'return_module' => 'Campaigns',
                        'return_relationship' => 'history',
                        'parent_type' => 'Campaigns',
                    ],
                    'widget_class' => 'SubPanelTopCreateNoteButton',
                    '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',
                ],
                'tasks' => [
                    'module' => 'Tasks',
                    'subpanel_name' => 'ForHistory',
                    'get_subpanel_data' => 'tasks',
                ],
                'calls' => [
                    'module' => 'Calls',
                    'subpanel_name' => 'ForHistory',
                    'get_subpanel_data' => 'calls',
                ],
                'notes' => [
                    'module' => 'Notes',
                    'subpanel_name' => 'ForHistory',
                    'get_subpanel_data' => 'notes',
                ],
            ],
            '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',
                        ],
                        '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',
                        ],
                        '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',
                        ],
                    ],
                ],
                [
                    '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',
                        ],
                        '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',
                        ],
                        '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',
                        ],
                        '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',
                        ],
                        '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',
                        ],
                    ],
                ],
                [
                    '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',
                        ],
                        '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',
                        ],
                        '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',
                        ],
                        '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',
                        ],
                    ],
                ],
                [
                    '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',
                        ],
                        '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',
                        ],
                        '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' => 'user_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' => 'user_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' => 'user_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' => 'user_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' => 'user_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',
                        ],
                    ],
                ],
            ],
        ],
        'prospectlists' => [
            'order' => 10,
            'sort_order' => 'asc',
            'sort_by' => 'name',
            'module' => 'prospect-lists',
            'get_subpanel_data' => 'prospectlists',
            'set_subpanel_data' => 'prospectlists',
            'subpanel_name' => 'default',
            'title_key' => 'LBL_PROSPECT_LIST_SUBPANEL_TITLE',
            'icon' => 'ProspectLists',
            'name' => 'prospectlists',
            'legacyModule' => 'ProspectLists',
            'headerModule' => 'prospect-lists',
            'top_buttons' => [
                [
                    'key' => 'create',
                    'labelKey' => 'LBL_QUICK_CREATE',
                    'action' => 'create',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'additionalFields' => [
                        'campaign_id' => 'id',
                        'campaign_name' => 'name',
                        'return_name' => 'name',
                        'prospect_list_campaigns_name' => 'name',
                        'return_id' => 'id',
                        'parent_name' => 'name',
                        'parent_id' => 'id',
                    ],
                    'extraParams' => [
                        'target_module' => 'prospect-lists',
                        'return_module' => 'Campaigns',
                        'return_relationship' => 'prospect_list_campaigns',
                        'parent_type' => 'Campaigns',
                    ],
                    'widget_class' => 'SubPanelTopCreateButton',
                    'relateFields' => [],
                ],
                [
                    'key' => 'select',
                    'labelKey' => 'LBL_LINK',
                    'action' => 'select',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'additionalFields' => [],
                    'extraParams' => [],
                    'widget_class' => 'SubPanelTopSelectButton',
                ],
            ],
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'ProspectLists',
                                    ],
                                    [
                                        'labelKey' => 'LBL_PROSPECT_LIST_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' => 'prospect-lists',
                ],
                [
                    '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' => 'prospect-lists',
                ],
            ],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'name',
                    'label' => 'LBL_LIST_PROSPECT_LIST_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_PROSPECT_LIST_NAME',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'width' => '37%',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'name',
                        'vname' => 'LBL_NAME',
                        'type' => 'varchar',
                        'len' => '255',
                        'importable' => 'required',
                        'unified_search' => true,
                        'full_text_search' => [
                            'boost' => 3,
                        ],
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'description',
                    'label' => 'LBL_LIST_DESCRIPTION',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_DESCRIPTION',
                    'width' => '35%',
                    'fieldDefinition' => [
                        'name' => 'description',
                        'vname' => 'LBL_DESCRIPTION',
                        'type' => 'text',
                        'required' => false,
                    ],
                    'type' => 'text',
                ],
                [
                    'name' => 'list_type',
                    'label' => 'LBL_LIST_TYPE_NO',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_TYPE_NO',
                    'width' => '10%',
                    'fieldDefinition' => [
                        'name' => 'list_type',
                        'vname' => 'LBL_TYPE',
                        'type' => 'enum',
                        'options' => 'prospect_list_type_dom',
                        'len' => 100,
                        'importable' => 'required',
                        'required' => false,
                    ],
                    'type' => 'enum',
                ],
                [
                    'name' => 'entry_count',
                    'label' => 'LBL_LIST_ENTRIES',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_ENTRIES',
                    'width' => '8%',
                    'fieldDefinition' => [
                        'name' => 'entry_count',
                        'type' => 'int',
                        'source' => 'non-db',
                        'vname' => 'LBL_LIST_ENTRIES',
                        'required' => false,
                    ],
                    'type' => 'int',
                ],
            ],
        ],
        'tracked_urls' => [
            'order' => 15,
            'sort_order' => 'asc',
            'sort_by' => 'tracker_name',
            'module' => 'campaign-trackers',
            'get_subpanel_data' => 'tracked_urls',
            'subpanel_name' => 'default',
            'title_key' => 'LBL_TRACKED_URLS_SUBPANEL_TITLE',
            'icon' => 'CampaignTrackers',
            'name' => 'tracked_urls',
            'legacyModule' => 'CampaignTrackers',
            'headerModule' => 'campaign-trackers',
            'top_buttons' => [
                [
                    'key' => 'create',
                    'labelKey' => 'LBL_QUICK_CREATE',
                    'action' => 'create',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'additionalFields' => [
                        'campaign_id' => 'id',
                        'campaign_name' => 'name',
                        'return_name' => 'name',
                        'campaign_campaigntrakers_name' => 'name',
                        'return_id' => 'id',
                        'parent_name' => 'name',
                        'parent_id' => 'id',
                    ],
                    'extraParams' => [
                        'target_module' => 'campaign-trackers',
                        'return_module' => 'Campaigns',
                        'return_relationship' => 'campaign_campaigntrakers',
                        'parent_type' => 'Campaigns',
                    ],
                    'widget_class' => 'SubPanelTopCreateButton',
                    'relateFields' => [],
                ],
            ],
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'CampaignTrackers',
                                    ],
                                    [
                                        'labelKey' => 'LBL_TRACKED_URLS_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' => 'campaign-trackers',
                ],
                [
                    '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' => 'campaign-trackers',
                ],
            ],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'tracker_name',
                    'label' => 'LBL_SUBPANEL_TRACKER_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_SUBPANEL_TRACKER_NAME',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'width' => '20%',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'tracker_name',
                        'vname' => 'LBL_TRACKER_NAME',
                        'type' => 'varchar',
                        'len' => '255',
                        'comment' => 'The name of the campaign tracker',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'tracker_url',
                    'label' => 'LBL_SUBPANEL_TRACKER_URL',
                    'sortable' => true,
                    'vname' => 'LBL_SUBPANEL_TRACKER_URL',
                    'width' => '60%',
                    'fieldDefinition' => [
                        'name' => 'tracker_url',
                        'vname' => 'LBL_TRACKER_URL',
                        'type' => 'varchar',
                        'len' => '255',
                        'default' => 'http://',
                        'comment' => 'The URL that represents the landing page when the tracker URL in the campaign email is clicked',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'tracker_key',
                    'label' => 'LBL_SUBPANEL_TRACKER_KEY',
                    'sortable' => true,
                    'vname' => 'LBL_SUBPANEL_TRACKER_KEY',
                    'width' => '10%',
                    'fieldDefinition' => [
                        'name' => 'tracker_key',
                        'vname' => 'LBL_TRACKER_KEY',
                        'type' => 'int',
                        'len' => '11',
                        'auto_increment' => true,
                        'required' => true,
                        'studio' => [
                            'editview' => false,
                        ],
                        'comment' => 'Internal key to uniquely identifier the tracker URL',
                    ],
                    'type' => 'int',
                ],
            ],
        ],
        'emailmarketing' => [
            'top_buttons' => [
                [
                    'key' => 'create',
                    'labelKey' => 'LBL_QUICK_CREATE',
                    'action' => 'create',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'additionalFields' => [
                        'modified_user_id' => 'id',
                        'created_by' => 'user_name',
                        'campaign_id' => 'id',
                        'campaign_name' => 'name',
                        'return_name' => 'name',
                        'campaign_email_marketing_name' => 'name',
                        'return_id' => 'id',
                        'parent_name' => 'name',
                        'parent_id' => 'id',
                    ],
                    'extraParams' => [
                        'target_module' => 'email-marketing',
                        'return_module' => 'Campaigns',
                        'return_relationship' => 'campaign_email_marketing',
                        'parent_type' => 'Campaigns',
                    ],
                    'widget_class' => 'SubPanelTopCreateCampaignMarketingEmailButton',
                    'relateFields' => [
                        'modified_user_id' => 'id',
                        'created_by' => 'user_name',
                    ],
                ],
            ],
            'order' => 20,
            'sort_order' => 'desc',
            'sort_by' => 'date_start',
            'module' => 'email-marketing',
            'get_subpanel_data' => 'emailmarketing',
            'subpanel_name' => 'default',
            'title_key' => 'LBL_EMAIL_MARKETING_SUBPANEL_TITLE',
            'icon' => 'EmailMarketing',
            'name' => 'emailmarketing',
            'legacyModule' => 'EmailMarketing',
            'headerModule' => 'email-marketing',
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'EmailMarketing',
                                    ],
                                    [
                                        'labelKey' => 'LBL_EMAIL_MARKETING_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' => 'email-marketing',
                ],
                [
                    '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' => 'email-marketing',
                ],
            ],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'name',
                    'label' => 'LBL_LIST_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_NAME',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'width' => '40%',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'name',
                        'vname' => 'LBL_NAME',
                        'type' => 'varchar',
                        'len' => '255',
                        'importable' => 'required',
                        'required' => true,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'date_start',
                    'label' => 'LBL_LIST_DATE_START',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_DATE_START',
                    'width' => '20%',
                    'fieldDefinition' => [
                        'name' => 'date_start',
                        'vname' => 'LBL_DATE_START',
                        'type' => 'datetime',
                        'importable' => 'required',
                        'required' => true,
                    ],
                    'type' => 'datetime',
                ],
                [
                    'name' => 'status',
                    'label' => 'LBL_LIST_STATUS',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_STATUS',
                    'width' => '15%',
                    'fieldDefinition' => [
                        'name' => 'status',
                        'vname' => 'LBL_STATUS',
                        'type' => 'enum',
                        'len' => 100,
                        'required' => true,
                        'options' => 'email_marketing_status_dom',
                        'importable' => 'required',
                    ],
                    'type' => 'enum',
                ],
                [
                    'name' => 'template_name',
                    'label' => 'LBL_LIST_TEMPLATE_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_TEMPLATE_NAME',
                    'width' => '15%',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'target_record_key' => 'template_id',
                    'target_module' => 'EmailTemplates',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'template_name',
                        'rname' => 'name',
                        'id_name' => 'template_id',
                        'vname' => 'LBL_TEMPLATE_NAME',
                        'type' => 'relate',
                        'table' => 'email_templates',
                        'isnull' => 'true',
                        'module' => 'EmailTemplates',
                        'dbType' => 'varchar',
                        'link' => 'emailtemplate',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'relate',
                ],
            ],
        ],
        'track_queue' => [
            'order' => 100,
            'module' => 'emailman',
            'get_subpanel_data' => 'function:get_queue_items',
            'function_parameters' => [
                'EMAIL_MARKETING_ID_VALUE' => '',
                'distinct' => 'emailman.id',
                'group_by' => 'emailman.related_id,emailman.marketing_id',
            ],
            'subpanel_name' => 'default',
            'title_key' => 'LBL_MESSAGE_QUEUE_TITLE',
            'sort_order' => 'desc',
            'icon' => 'EmailMan',
            'name' => 'track_queue',
            'legacyModule' => 'EmailMan',
            'headerModule' => 'emailman',
            'top_buttons' => [],
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'EmailMan',
                                    ],
                                    [
                                        'labelKey' => 'LBL_MESSAGE_QUEUE_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'recipient_name',
                    'label' => 'LBL_LIST_RECIPIENT_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_NAME',
                    'width' => '10%',
                    'fieldDefinition' => [
                        'name' => 'recipient_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'recipient_email',
                    'label' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'width' => '10%',
                    'fieldDefinition' => [
                        'name' => 'recipient_email',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'message_name',
                    'label' => 'LBL_MARKETING_ID',
                    'sortable' => false,
                    'vname' => 'LBL_MARKETING_ID',
                    'width' => '10%',
                    'fieldDefinition' => [
                        'name' => 'message_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'send_date_time',
                    'label' => 'LBL_LIST_SEND_DATE_TIME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_SEND_DATE_TIME',
                    'width' => '10%',
                    'fieldDefinition' => [
                        'name' => 'send_date_time',
                        'vname' => 'LBL_SEND_DATE_TIME',
                        'type' => 'datetime',
                        'required' => false,
                    ],
                    'type' => 'datetime',
                ],
            ],
        ],
        'targeted' => [
            'order' => 110,
            'module' => 'campaign-log',
            'get_subpanel_data' => 'function:track_log_entries',
            'function_parameters' => [
                'targeted',
                'EMAIL_MARKETING_ID_VALUE' => '',
            ],
            'subpanel_name' => 'default',
            'title_key' => 'LBL_LOG_ENTRIES_TARGETED_TITLE',
            'sort_order' => 'desc',
            'sort_by' => 'campaign_log.id',
            'icon' => 'CampaignLog',
            'name' => 'targeted',
            'legacyModule' => 'CampaignLog',
            'headerModule' => 'campaign-log',
            'top_buttons' => [],
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'CampaignLog',
                                    ],
                                    [
                                        'labelKey' => 'LBL_LOG_ENTRIES_TARGETED_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'recipient_name',
                    'label' => 'LBL_LIST_RECIPIENT_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_NAME',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'recipient_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'recipient_email',
                    'label' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'recipient_email',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'marketing_name',
                    'label' => 'LBL_LIST_MARKETING_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_MARKETING_NAME',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'marketing_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'activity_type',
                    'label' => 'LBL_ACTIVITY_TYPE',
                    'sortable' => true,
                    'vname' => 'LBL_ACTIVITY_TYPE',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'activity_type',
                        'vname' => 'LBL_ACTIVITY_TYPE',
                        'type' => 'enum',
                        'options' => 'campainglog_activity_type_dom',
                        'len' => 100,
                        'comment' => 'The activity that occurred (e.g., Viewed Message, Bounced, Opted out)',
                        'required' => false,
                    ],
                    'type' => 'enum',
                ],
                [
                    'name' => 'activity_date',
                    'label' => 'LBL_ACTIVITY_DATE',
                    'sortable' => true,
                    'vname' => 'LBL_ACTIVITY_DATE',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'activity_date',
                        'vname' => 'LBL_ACTIVITY_DATE',
                        'type' => 'datetime',
                        'comment' => 'The date the activity occurred',
                        'required' => false,
                    ],
                    'type' => 'datetime',
                ],
                [
                    'name' => 'related_name',
                    'label' => 'LBL_RELATED',
                    'sortable' => false,
                    'widget_class' => 'SubPanelDetailViewLink',
                    'target_record_key' => 'related_id',
                    'target_module_key' => 'related_type',
                    'parent_id' => 'target_id',
                    'parent_module' => 'target_type',
                    'vname' => 'LBL_RELATED',
                    'width' => '20%',
                    'link' => true,
                    'fieldDefinition' => [
                        'source' => 'function',
                        'function_name' => 'get_related_name',
                        'function_class' => 'CampaignLog',
                        'function_params' => [
                            'related_id',
                            'related_type',
                        ],
                        'function_params_source' => 'this',
                        'type' => 'function',
                        'vname' => 'LBL_RELATED_NAME',
                        'name' => 'related_name',
                        'reportable' => false,
                        'required' => false,
                    ],
                    'type' => 'function',
                ],
                [
                    'name' => 'hits',
                    'label' => 'LBL_HITS',
                    'sortable' => true,
                    'vname' => 'LBL_HITS',
                    'width' => '5%',
                    'fieldDefinition' => [
                        'name' => 'hits',
                        'vname' => 'LBL_HITS',
                        'type' => 'int',
                        'default' => '0',
                        'reportable' => true,
                        'comment' => 'Number of times the item has been invoked (e.g., multiple click-thrus)',
                        'required' => false,
                    ],
                    'type' => 'int',
                ],
            ],
        ],
        'viewed' => [
            'order' => 120,
            'module' => 'campaign-log',
            'get_subpanel_data' => 'function:track_log_entries',
            'subpanel_name' => 'default',
            'function_parameters' => [
                'viewed',
                'EMAIL_MARKETING_ID_VALUE' => '',
            ],
            'title_key' => 'LBL_LOG_ENTRIES_VIEWED_TITLE',
            'sort_order' => 'desc',
            'sort_by' => 'campaign_log.id',
            'icon' => 'CampaignLog',
            'name' => 'viewed',
            'legacyModule' => 'CampaignLog',
            'headerModule' => 'campaign-log',
            'top_buttons' => [],
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'CampaignLog',
                                    ],
                                    [
                                        'labelKey' => 'LBL_LOG_ENTRIES_VIEWED_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'recipient_name',
                    'label' => 'LBL_LIST_RECIPIENT_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_NAME',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'recipient_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'recipient_email',
                    'label' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'recipient_email',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'marketing_name',
                    'label' => 'LBL_LIST_MARKETING_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_MARKETING_NAME',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'marketing_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'activity_type',
                    'label' => 'LBL_ACTIVITY_TYPE',
                    'sortable' => true,
                    'vname' => 'LBL_ACTIVITY_TYPE',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'activity_type',
                        'vname' => 'LBL_ACTIVITY_TYPE',
                        'type' => 'enum',
                        'options' => 'campainglog_activity_type_dom',
                        'len' => 100,
                        'comment' => 'The activity that occurred (e.g., Viewed Message, Bounced, Opted out)',
                        'required' => false,
                    ],
                    'type' => 'enum',
                ],
                [
                    'name' => 'activity_date',
                    'label' => 'LBL_ACTIVITY_DATE',
                    'sortable' => true,
                    'vname' => 'LBL_ACTIVITY_DATE',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'activity_date',
                        'vname' => 'LBL_ACTIVITY_DATE',
                        'type' => 'datetime',
                        'comment' => 'The date the activity occurred',
                        'required' => false,
                    ],
                    'type' => 'datetime',
                ],
                [
                    'name' => 'related_name',
                    'label' => 'LBL_RELATED',
                    'sortable' => false,
                    'widget_class' => 'SubPanelDetailViewLink',
                    'target_record_key' => 'related_id',
                    'target_module_key' => 'related_type',
                    'parent_id' => 'target_id',
                    'parent_module' => 'target_type',
                    'vname' => 'LBL_RELATED',
                    'width' => '20%',
                    'link' => true,
                    'fieldDefinition' => [
                        'source' => 'function',
                        'function_name' => 'get_related_name',
                        'function_class' => 'CampaignLog',
                        'function_params' => [
                            'related_id',
                            'related_type',
                        ],
                        'function_params_source' => 'this',
                        'type' => 'function',
                        'vname' => 'LBL_RELATED_NAME',
                        'name' => 'related_name',
                        'reportable' => false,
                        'required' => false,
                    ],
                    'type' => 'function',
                ],
                [
                    'name' => 'hits',
                    'label' => 'LBL_HITS',
                    'sortable' => true,
                    'vname' => 'LBL_HITS',
                    'width' => '5%',
                    'fieldDefinition' => [
                        'name' => 'hits',
                        'vname' => 'LBL_HITS',
                        'type' => 'int',
                        'default' => '0',
                        'reportable' => true,
                        'comment' => 'Number of times the item has been invoked (e.g., multiple click-thrus)',
                        'required' => false,
                    ],
                    'type' => 'int',
                ],
            ],
        ],
        'link' => [
            'order' => 130,
            'module' => 'campaign-log',
            'get_subpanel_data' => 'function:track_log_entries',
            'function_parameters' => [
                'link',
                'EMAIL_MARKETING_ID_VALUE' => '',
            ],
            'subpanel_name' => 'default',
            'title_key' => 'LBL_LOG_ENTRIES_LINK_TITLE',
            'sort_order' => 'desc',
            'sort_by' => 'campaign_log.id',
            'icon' => 'CampaignLog',
            'name' => 'link',
            'legacyModule' => 'CampaignLog',
            'headerModule' => 'campaign-log',
            'top_buttons' => [],
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'CampaignLog',
                                    ],
                                    [
                                        'labelKey' => 'LBL_LOG_ENTRIES_LINK_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'recipient_name',
                    'label' => 'LBL_LIST_RECIPIENT_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_NAME',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'recipient_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'recipient_email',
                    'label' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'recipient_email',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'marketing_name',
                    'label' => 'LBL_LIST_MARKETING_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_MARKETING_NAME',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'marketing_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'activity_type',
                    'label' => 'LBL_ACTIVITY_TYPE',
                    'sortable' => true,
                    'vname' => 'LBL_ACTIVITY_TYPE',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'activity_type',
                        'vname' => 'LBL_ACTIVITY_TYPE',
                        'type' => 'enum',
                        'options' => 'campainglog_activity_type_dom',
                        'len' => 100,
                        'comment' => 'The activity that occurred (e.g., Viewed Message, Bounced, Opted out)',
                        'required' => false,
                    ],
                    'type' => 'enum',
                ],
                [
                    'name' => 'activity_date',
                    'label' => 'LBL_ACTIVITY_DATE',
                    'sortable' => true,
                    'vname' => 'LBL_ACTIVITY_DATE',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'activity_date',
                        'vname' => 'LBL_ACTIVITY_DATE',
                        'type' => 'datetime',
                        'comment' => 'The date the activity occurred',
                        'required' => false,
                    ],
                    'type' => 'datetime',
                ],
                [
                    'name' => 'related_name',
                    'label' => 'LBL_RELATED',
                    'sortable' => false,
                    'widget_class' => 'SubPanelDetailViewLink',
                    'target_record_key' => 'related_id',
                    'target_module_key' => 'related_type',
                    'parent_id' => 'target_id',
                    'parent_module' => 'target_type',
                    'vname' => 'LBL_RELATED',
                    'width' => '20%',
                    'link' => true,
                    'fieldDefinition' => [
                        'source' => 'function',
                        'function_name' => 'get_related_name',
                        'function_class' => 'CampaignLog',
                        'function_params' => [
                            'related_id',
                            'related_type',
                        ],
                        'function_params_source' => 'this',
                        'type' => 'function',
                        'vname' => 'LBL_RELATED_NAME',
                        'name' => 'related_name',
                        'reportable' => false,
                        'required' => false,
                    ],
                    'type' => 'function',
                ],
                [
                    'name' => 'hits',
                    'label' => 'LBL_HITS',
                    'sortable' => true,
                    'vname' => 'LBL_HITS',
                    'width' => '5%',
                    'fieldDefinition' => [
                        'name' => 'hits',
                        'vname' => 'LBL_HITS',
                        'type' => 'int',
                        'default' => '0',
                        'reportable' => true,
                        'comment' => 'Number of times the item has been invoked (e.g., multiple click-thrus)',
                        'required' => false,
                    ],
                    'type' => 'int',
                ],
            ],
        ],
        'lead' => [
            'order' => 140,
            'module' => 'campaign-log',
            'get_subpanel_data' => 'function:track_log_leads',
            'subpanel_name' => 'default',
            'title_key' => 'LBL_LOG_ENTRIES_LEAD_TITLE',
            'sort_order' => 'desc',
            'sort_by' => 'campaign_log.id',
            'top_buttons' => [],
            'icon' => 'CampaignLog',
            'name' => 'lead',
            'legacyModule' => 'CampaignLog',
            'headerModule' => 'campaign-log',
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'CampaignLog',
                                    ],
                                    [
                                        'labelKey' => 'LBL_LOG_ENTRIES_LEAD_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'recipient_name',
                    'label' => 'LBL_LIST_RECIPIENT_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_NAME',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'recipient_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'recipient_email',
                    'label' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'recipient_email',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'marketing_name',
                    'label' => 'LBL_LIST_MARKETING_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_MARKETING_NAME',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'marketing_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'activity_type',
                    'label' => 'LBL_ACTIVITY_TYPE',
                    'sortable' => true,
                    'vname' => 'LBL_ACTIVITY_TYPE',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'activity_type',
                        'vname' => 'LBL_ACTIVITY_TYPE',
                        'type' => 'enum',
                        'options' => 'campainglog_activity_type_dom',
                        'len' => 100,
                        'comment' => 'The activity that occurred (e.g., Viewed Message, Bounced, Opted out)',
                        'required' => false,
                    ],
                    'type' => 'enum',
                ],
                [
                    'name' => 'activity_date',
                    'label' => 'LBL_ACTIVITY_DATE',
                    'sortable' => true,
                    'vname' => 'LBL_ACTIVITY_DATE',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'activity_date',
                        'vname' => 'LBL_ACTIVITY_DATE',
                        'type' => 'datetime',
                        'comment' => 'The date the activity occurred',
                        'required' => false,
                    ],
                    'type' => 'datetime',
                ],
                [
                    'name' => 'related_name',
                    'label' => 'LBL_RELATED',
                    'sortable' => false,
                    'widget_class' => 'SubPanelDetailViewLink',
                    'target_record_key' => 'related_id',
                    'target_module_key' => 'related_type',
                    'parent_id' => 'target_id',
                    'parent_module' => 'target_type',
                    'vname' => 'LBL_RELATED',
                    'width' => '20%',
                    'link' => true,
                    'fieldDefinition' => [
                        'source' => 'function',
                        'function_name' => 'get_related_name',
                        'function_class' => 'CampaignLog',
                        'function_params' => [
                            'related_id',
                            'related_type',
                        ],
                        'function_params_source' => 'this',
                        'type' => 'function',
                        'vname' => 'LBL_RELATED_NAME',
                        'name' => 'related_name',
                        'reportable' => false,
                        'required' => false,
                    ],
                    'type' => 'function',
                ],
                [
                    'name' => 'hits',
                    'label' => 'LBL_HITS',
                    'sortable' => true,
                    'vname' => 'LBL_HITS',
                    'width' => '5%',
                    'fieldDefinition' => [
                        'name' => 'hits',
                        'vname' => 'LBL_HITS',
                        'type' => 'int',
                        'default' => '0',
                        'reportable' => true,
                        'comment' => 'Number of times the item has been invoked (e.g., multiple click-thrus)',
                        'required' => false,
                    ],
                    'type' => 'int',
                ],
            ],
        ],
        'contact' => [
            'order' => 150,
            'module' => 'campaign-log',
            'get_subpanel_data' => 'function:track_log_entries',
            'function_parameters' => [
                'contact',
                'EMAIL_MARKETING_ID_VALUE' => '',
            ],
            'subpanel_name' => 'default',
            'title_key' => 'LBL_LOG_ENTRIES_CONTACT_TITLE',
            'sort_order' => 'desc',
            'sort_by' => 'campaign_log.id',
            'icon' => 'CampaignLog',
            'name' => 'contact',
            'legacyModule' => 'CampaignLog',
            'headerModule' => 'campaign-log',
            'top_buttons' => [],
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'CampaignLog',
                                    ],
                                    [
                                        'labelKey' => 'LBL_LOG_ENTRIES_CONTACT_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'recipient_name',
                    'label' => 'LBL_LIST_RECIPIENT_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_NAME',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'recipient_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'recipient_email',
                    'label' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'recipient_email',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'marketing_name',
                    'label' => 'LBL_LIST_MARKETING_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_MARKETING_NAME',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'marketing_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'activity_type',
                    'label' => 'LBL_ACTIVITY_TYPE',
                    'sortable' => true,
                    'vname' => 'LBL_ACTIVITY_TYPE',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'activity_type',
                        'vname' => 'LBL_ACTIVITY_TYPE',
                        'type' => 'enum',
                        'options' => 'campainglog_activity_type_dom',
                        'len' => 100,
                        'comment' => 'The activity that occurred (e.g., Viewed Message, Bounced, Opted out)',
                        'required' => false,
                    ],
                    'type' => 'enum',
                ],
                [
                    'name' => 'activity_date',
                    'label' => 'LBL_ACTIVITY_DATE',
                    'sortable' => true,
                    'vname' => 'LBL_ACTIVITY_DATE',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'activity_date',
                        'vname' => 'LBL_ACTIVITY_DATE',
                        'type' => 'datetime',
                        'comment' => 'The date the activity occurred',
                        'required' => false,
                    ],
                    'type' => 'datetime',
                ],
                [
                    'name' => 'related_name',
                    'label' => 'LBL_RELATED',
                    'sortable' => false,
                    'widget_class' => 'SubPanelDetailViewLink',
                    'target_record_key' => 'related_id',
                    'target_module_key' => 'related_type',
                    'parent_id' => 'target_id',
                    'parent_module' => 'target_type',
                    'vname' => 'LBL_RELATED',
                    'width' => '20%',
                    'link' => true,
                    'fieldDefinition' => [
                        'source' => 'function',
                        'function_name' => 'get_related_name',
                        'function_class' => 'CampaignLog',
                        'function_params' => [
                            'related_id',
                            'related_type',
                        ],
                        'function_params_source' => 'this',
                        'type' => 'function',
                        'vname' => 'LBL_RELATED_NAME',
                        'name' => 'related_name',
                        'reportable' => false,
                        'required' => false,
                    ],
                    'type' => 'function',
                ],
                [
                    'name' => 'hits',
                    'label' => 'LBL_HITS',
                    'sortable' => true,
                    'vname' => 'LBL_HITS',
                    'width' => '5%',
                    'fieldDefinition' => [
                        'name' => 'hits',
                        'vname' => 'LBL_HITS',
                        'type' => 'int',
                        'default' => '0',
                        'reportable' => true,
                        'comment' => 'Number of times the item has been invoked (e.g., multiple click-thrus)',
                        'required' => false,
                    ],
                    'type' => 'int',
                ],
            ],
        ],
        'invalid_email' => [
            'order' => 160,
            'module' => 'campaign-log',
            'get_subpanel_data' => 'function:track_log_entries',
            'function_parameters' => [
                'invalid email',
                'EMAIL_MARKETING_ID_VALUE' => '',
            ],
            'subpanel_name' => 'default',
            'title_key' => 'LBL_LOG_ENTRIES_INVALID_EMAIL_TITLE',
            'sort_order' => 'desc',
            'sort_by' => 'campaign_log.id',
            'icon' => 'CampaignLog',
            'name' => 'invalid_email',
            'legacyModule' => 'CampaignLog',
            'headerModule' => 'campaign-log',
            'top_buttons' => [],
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'CampaignLog',
                                    ],
                                    [
                                        'labelKey' => 'LBL_LOG_ENTRIES_INVALID_EMAIL_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'recipient_name',
                    'label' => 'LBL_LIST_RECIPIENT_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_NAME',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'recipient_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'recipient_email',
                    'label' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'recipient_email',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'marketing_name',
                    'label' => 'LBL_LIST_MARKETING_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_MARKETING_NAME',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'marketing_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'activity_type',
                    'label' => 'LBL_ACTIVITY_TYPE',
                    'sortable' => true,
                    'vname' => 'LBL_ACTIVITY_TYPE',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'activity_type',
                        'vname' => 'LBL_ACTIVITY_TYPE',
                        'type' => 'enum',
                        'options' => 'campainglog_activity_type_dom',
                        'len' => 100,
                        'comment' => 'The activity that occurred (e.g., Viewed Message, Bounced, Opted out)',
                        'required' => false,
                    ],
                    'type' => 'enum',
                ],
                [
                    'name' => 'activity_date',
                    'label' => 'LBL_ACTIVITY_DATE',
                    'sortable' => true,
                    'vname' => 'LBL_ACTIVITY_DATE',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'activity_date',
                        'vname' => 'LBL_ACTIVITY_DATE',
                        'type' => 'datetime',
                        'comment' => 'The date the activity occurred',
                        'required' => false,
                    ],
                    'type' => 'datetime',
                ],
                [
                    'name' => 'related_name',
                    'label' => 'LBL_RELATED',
                    'sortable' => false,
                    'widget_class' => 'SubPanelDetailViewLink',
                    'target_record_key' => 'related_id',
                    'target_module_key' => 'related_type',
                    'parent_id' => 'target_id',
                    'parent_module' => 'target_type',
                    'vname' => 'LBL_RELATED',
                    'width' => '20%',
                    'link' => true,
                    'fieldDefinition' => [
                        'source' => 'function',
                        'function_name' => 'get_related_name',
                        'function_class' => 'CampaignLog',
                        'function_params' => [
                            'related_id',
                            'related_type',
                        ],
                        'function_params_source' => 'this',
                        'type' => 'function',
                        'vname' => 'LBL_RELATED_NAME',
                        'name' => 'related_name',
                        'reportable' => false,
                        'required' => false,
                    ],
                    'type' => 'function',
                ],
                [
                    'name' => 'hits',
                    'label' => 'LBL_HITS',
                    'sortable' => true,
                    'vname' => 'LBL_HITS',
                    'width' => '5%',
                    'fieldDefinition' => [
                        'name' => 'hits',
                        'vname' => 'LBL_HITS',
                        'type' => 'int',
                        'default' => '0',
                        'reportable' => true,
                        'comment' => 'Number of times the item has been invoked (e.g., multiple click-thrus)',
                        'required' => false,
                    ],
                    'type' => 'int',
                ],
            ],
        ],
        'send_error' => [
            'order' => 170,
            'module' => 'campaign-log',
            'get_subpanel_data' => 'function:track_log_entries',
            'function_parameters' => [
                'send error',
                'EMAIL_MARKETING_ID_VALUE' => '',
            ],
            'subpanel_name' => 'default',
            'title_key' => 'LBL_LOG_ENTRIES_SEND_ERROR_TITLE',
            'sort_order' => 'desc',
            'sort_by' => 'campaign_log.id',
            'icon' => 'CampaignLog',
            'name' => 'send_error',
            'legacyModule' => 'CampaignLog',
            'headerModule' => 'campaign-log',
            'top_buttons' => [],
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'CampaignLog',
                                    ],
                                    [
                                        'labelKey' => 'LBL_LOG_ENTRIES_SEND_ERROR_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'recipient_name',
                    'label' => 'LBL_LIST_RECIPIENT_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_NAME',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'recipient_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'recipient_email',
                    'label' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'recipient_email',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'marketing_name',
                    'label' => 'LBL_LIST_MARKETING_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_MARKETING_NAME',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'marketing_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'activity_type',
                    'label' => 'LBL_ACTIVITY_TYPE',
                    'sortable' => true,
                    'vname' => 'LBL_ACTIVITY_TYPE',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'activity_type',
                        'vname' => 'LBL_ACTIVITY_TYPE',
                        'type' => 'enum',
                        'options' => 'campainglog_activity_type_dom',
                        'len' => 100,
                        'comment' => 'The activity that occurred (e.g., Viewed Message, Bounced, Opted out)',
                        'required' => false,
                    ],
                    'type' => 'enum',
                ],
                [
                    'name' => 'activity_date',
                    'label' => 'LBL_ACTIVITY_DATE',
                    'sortable' => true,
                    'vname' => 'LBL_ACTIVITY_DATE',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'activity_date',
                        'vname' => 'LBL_ACTIVITY_DATE',
                        'type' => 'datetime',
                        'comment' => 'The date the activity occurred',
                        'required' => false,
                    ],
                    'type' => 'datetime',
                ],
                [
                    'name' => 'related_name',
                    'label' => 'LBL_RELATED',
                    'sortable' => false,
                    'widget_class' => 'SubPanelDetailViewLink',
                    'target_record_key' => 'related_id',
                    'target_module_key' => 'related_type',
                    'parent_id' => 'target_id',
                    'parent_module' => 'target_type',
                    'vname' => 'LBL_RELATED',
                    'width' => '20%',
                    'link' => true,
                    'fieldDefinition' => [
                        'source' => 'function',
                        'function_name' => 'get_related_name',
                        'function_class' => 'CampaignLog',
                        'function_params' => [
                            'related_id',
                            'related_type',
                        ],
                        'function_params_source' => 'this',
                        'type' => 'function',
                        'vname' => 'LBL_RELATED_NAME',
                        'name' => 'related_name',
                        'reportable' => false,
                        'required' => false,
                    ],
                    'type' => 'function',
                ],
                [
                    'name' => 'hits',
                    'label' => 'LBL_HITS',
                    'sortable' => true,
                    'vname' => 'LBL_HITS',
                    'width' => '5%',
                    'fieldDefinition' => [
                        'name' => 'hits',
                        'vname' => 'LBL_HITS',
                        'type' => 'int',
                        'default' => '0',
                        'reportable' => true,
                        'comment' => 'Number of times the item has been invoked (e.g., multiple click-thrus)',
                        'required' => false,
                    ],
                    'type' => 'int',
                ],
            ],
        ],
        'removed' => [
            'order' => 180,
            'module' => 'campaign-log',
            'get_subpanel_data' => 'function:track_log_entries',
            'function_parameters' => [
                'removed',
                'EMAIL_MARKETING_ID_VALUE' => '',
            ],
            'subpanel_name' => 'default',
            'title_key' => 'LBL_LOG_ENTRIES_REMOVED_TITLE',
            'sort_order' => 'desc',
            'sort_by' => 'campaign_log.id',
            'icon' => 'CampaignLog',
            'name' => 'removed',
            'legacyModule' => 'CampaignLog',
            'headerModule' => 'campaign-log',
            'top_buttons' => [],
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'CampaignLog',
                                    ],
                                    [
                                        'labelKey' => 'LBL_LOG_ENTRIES_REMOVED_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'recipient_name',
                    'label' => 'LBL_LIST_RECIPIENT_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_NAME',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'recipient_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'recipient_email',
                    'label' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'recipient_email',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'marketing_name',
                    'label' => 'LBL_LIST_MARKETING_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_MARKETING_NAME',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'marketing_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'activity_type',
                    'label' => 'LBL_ACTIVITY_TYPE',
                    'sortable' => true,
                    'vname' => 'LBL_ACTIVITY_TYPE',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'activity_type',
                        'vname' => 'LBL_ACTIVITY_TYPE',
                        'type' => 'enum',
                        'options' => 'campainglog_activity_type_dom',
                        'len' => 100,
                        'comment' => 'The activity that occurred (e.g., Viewed Message, Bounced, Opted out)',
                        'required' => false,
                    ],
                    'type' => 'enum',
                ],
                [
                    'name' => 'activity_date',
                    'label' => 'LBL_ACTIVITY_DATE',
                    'sortable' => true,
                    'vname' => 'LBL_ACTIVITY_DATE',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'activity_date',
                        'vname' => 'LBL_ACTIVITY_DATE',
                        'type' => 'datetime',
                        'comment' => 'The date the activity occurred',
                        'required' => false,
                    ],
                    'type' => 'datetime',
                ],
                [
                    'name' => 'related_name',
                    'label' => 'LBL_RELATED',
                    'sortable' => false,
                    'widget_class' => 'SubPanelDetailViewLink',
                    'target_record_key' => 'related_id',
                    'target_module_key' => 'related_type',
                    'parent_id' => 'target_id',
                    'parent_module' => 'target_type',
                    'vname' => 'LBL_RELATED',
                    'width' => '20%',
                    'link' => true,
                    'fieldDefinition' => [
                        'source' => 'function',
                        'function_name' => 'get_related_name',
                        'function_class' => 'CampaignLog',
                        'function_params' => [
                            'related_id',
                            'related_type',
                        ],
                        'function_params_source' => 'this',
                        'type' => 'function',
                        'vname' => 'LBL_RELATED_NAME',
                        'name' => 'related_name',
                        'reportable' => false,
                        'required' => false,
                    ],
                    'type' => 'function',
                ],
                [
                    'name' => 'hits',
                    'label' => 'LBL_HITS',
                    'sortable' => true,
                    'vname' => 'LBL_HITS',
                    'width' => '5%',
                    'fieldDefinition' => [
                        'name' => 'hits',
                        'vname' => 'LBL_HITS',
                        'type' => 'int',
                        'default' => '0',
                        'reportable' => true,
                        'comment' => 'Number of times the item has been invoked (e.g., multiple click-thrus)',
                        'required' => false,
                    ],
                    'type' => 'int',
                ],
            ],
        ],
        'blocked' => [
            'order' => 185,
            'module' => 'campaign-log',
            'get_subpanel_data' => 'function:track_log_entries',
            'function_parameters' => [
                'blocked',
                'EMAIL_MARKETING_ID_VALUE' => '',
            ],
            'subpanel_name' => 'default',
            'title_key' => 'LBL_LOG_ENTRIES_BLOCKEDD_TITLE',
            'sort_order' => 'desc',
            'sort_by' => 'campaign_log.id',
            'icon' => 'CampaignLog',
            'name' => 'blocked',
            'legacyModule' => 'CampaignLog',
            'headerModule' => 'campaign-log',
            'top_buttons' => [],
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'CampaignLog',
                                    ],
                                    [
                                        'labelKey' => 'LBL_LOG_ENTRIES_BLOCKEDD_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'recipient_name',
                    'label' => 'LBL_LIST_RECIPIENT_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_NAME',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'recipient_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'recipient_email',
                    'label' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_RECIPIENT_EMAIL',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'recipient_email',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'marketing_name',
                    'label' => 'LBL_LIST_MARKETING_NAME',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_MARKETING_NAME',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'marketing_name',
                        'type' => 'varchar',
                        'len' => '255',
                        'source' => 'non-db',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'activity_type',
                    'label' => 'LBL_ACTIVITY_TYPE',
                    'sortable' => true,
                    'vname' => 'LBL_ACTIVITY_TYPE',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'activity_type',
                        'vname' => 'LBL_ACTIVITY_TYPE',
                        'type' => 'enum',
                        'options' => 'campainglog_activity_type_dom',
                        'len' => 100,
                        'comment' => 'The activity that occurred (e.g., Viewed Message, Bounced, Opted out)',
                        'required' => false,
                    ],
                    'type' => 'enum',
                ],
                [
                    'name' => 'activity_date',
                    'label' => 'LBL_ACTIVITY_DATE',
                    'sortable' => true,
                    'vname' => 'LBL_ACTIVITY_DATE',
                    'width' => '14%',
                    'fieldDefinition' => [
                        'name' => 'activity_date',
                        'vname' => 'LBL_ACTIVITY_DATE',
                        'type' => 'datetime',
                        'comment' => 'The date the activity occurred',
                        'required' => false,
                    ],
                    'type' => 'datetime',
                ],
                [
                    'name' => 'related_name',
                    'label' => 'LBL_RELATED',
                    'sortable' => false,
                    'widget_class' => 'SubPanelDetailViewLink',
                    'target_record_key' => 'related_id',
                    'target_module_key' => 'related_type',
                    'parent_id' => 'target_id',
                    'parent_module' => 'target_type',
                    'vname' => 'LBL_RELATED',
                    'width' => '20%',
                    'link' => true,
                    'fieldDefinition' => [
                        'source' => 'function',
                        'function_name' => 'get_related_name',
                        'function_class' => 'CampaignLog',
                        'function_params' => [
                            'related_id',
                            'related_type',
                        ],
                        'function_params_source' => 'this',
                        'type' => 'function',
                        'vname' => 'LBL_RELATED_NAME',
                        'name' => 'related_name',
                        'reportable' => false,
                        'required' => false,
                    ],
                    'type' => 'function',
                ],
                [
                    'name' => 'hits',
                    'label' => 'LBL_HITS',
                    'sortable' => true,
                    'vname' => 'LBL_HITS',
                    'width' => '5%',
                    'fieldDefinition' => [
                        'name' => 'hits',
                        'vname' => 'LBL_HITS',
                        'type' => 'int',
                        'default' => '0',
                        'reportable' => true,
                        'comment' => 'Number of times the item has been invoked (e.g., multiple click-thrus)',
                        'required' => false,
                    ],
                    'type' => 'int',
                ],
            ],
        ],
        'accounts' => [
            'order' => 190,
            'sort_order' => 'desc',
            'sort_by' => 'name',
            'module' => 'accounts',
            'get_subpanel_data' => 'accounts',
            'subpanel_name' => 'default',
            'title_key' => 'LBL_CAMPAIGN_ACCOUNTS_SUBPANEL_TITLE',
            'top_buttons' => [],
            'icon' => 'Accounts',
            'name' => 'accounts',
            'legacyModule' => 'Accounts',
            'headerModule' => 'accounts',
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'Accounts',
                                    ],
                                    [
                                        'labelKey' => 'LBL_CAMPAIGN_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' => 'enabled',
                        'required' => false,
                        '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',
                ],
            ],
        ],
        'leads' => [
            'order' => 195,
            'sort_order' => 'desc',
            'sort_by' => 'name',
            'module' => 'leads',
            'get_subpanel_data' => 'leads',
            'subpanel_name' => 'default',
            'title_key' => 'LBL_CAMPAIGN_LEAD_SUBPANEL_TITLE',
            'top_buttons' => [],
            'icon' => 'Leads',
            'name' => 'leads',
            'legacyModule' => 'Leads',
            'headerModule' => 'leads',
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'Leads',
                                    ],
                                    [
                                        'labelKey' => 'LBL_CAMPAIGN_LEAD_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' => 'leads',
                ],
                [
                    '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' => 'leads',
                ],
            ],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'name',
                    'label' => 'LBL_LIST_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_NAME',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'sort_order' => 'asc',
                    'sort_by' => 'last_name',
                    'module' => 'Leads',
                    'width' => '20%',
                    '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' => 'refered_by',
                    'label' => 'LBL_LIST_REFERED_BY',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_REFERED_BY',
                    'width' => '13%',
                    'fieldDefinition' => [
                        'name' => 'refered_by',
                        'vname' => 'LBL_REFERED_BY',
                        'type' => 'varchar',
                        'len' => '100',
                        'comment' => 'Identifies who refered the lead',
                        'merge_filter' => 'enabled',
                        'required' => false,
                    ],
                    'type' => 'varchar',
                ],
                [
                    'name' => 'lead_source',
                    'label' => 'LBL_LIST_LEAD_SOURCE',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_LEAD_SOURCE',
                    'width' => '13%',
                    'fieldDefinition' => [
                        'name' => 'lead_source',
                        'vname' => 'LBL_LEAD_SOURCE',
                        'type' => 'enum',
                        'options' => 'lead_source_dom',
                        'len' => '100',
                        'audited' => true,
                        'comment' => 'Lead source (ex: Web, print)',
                        'merge_filter' => 'enabled',
                        'required' => false,
                        'legacyGroup' => true,
                        'groupFields' => [
                            'lead_source_description' => [
                                'name' => 'lead_source_description',
                                'vname' => 'LBL_LEAD_SOURCE_DESCRIPTION',
                                'type' => 'text',
                                'group' => 'lead_source',
                                'comment' => 'Description of the lead source',
                                'required' => false,
                            ],
                        ],
                    ],
                    'type' => 'enum',
                ],
                [
                    'name' => 'phone_work',
                    'label' => 'LBL_LIST_PHONE',
                    'sortable' => true,
                    'vname' => 'LBL_LIST_PHONE',
                    'width' => '10%',
                    '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' => 'enabled',
                        'required' => false,
                    ],
                    'type' => 'phone',
                ],
                [
                    'name' => 'email1',
                    'label' => 'LBL_LIST_EMAIL_ADDRESS',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_EMAIL_ADDRESS',
                    'width' => '10%',
                    'widget_class' => 'SubPanelEmailLink',
                    'fieldDefinition' => [
                        'name' => 'email1',
                        'vname' => 'LBL_EMAIL_ADDRESS',
                        'type' => 'varchar',
                        'function' => [
                            'name' => 'getEmailAddressWidget',
                            'returns' => 'html',
                        ],
                        'source' => 'non-db',
                        'group' => 'email1',
                        'merge_filter' => 'enabled',
                        'studio' => [
                            'editview' => true,
                            'editField' => true,
                            'searchview' => false,
                            'popupsearch' => false,
                        ],
                        'full_text_search' => [
                            'boost' => 3,
                            'analyzer' => 'whitespace',
                        ],
                        'required' => false,
                    ],
                    'type' => 'email',
                ],
                [
                    'name' => 'lead_source_description',
                    'label' => 'LBL_LIST_LEAD_SOURCE_DESCRIPTION',
                    'sortable' => false,
                    'vname' => 'LBL_LIST_LEAD_SOURCE_DESCRIPTION',
                    'width' => '26%',
                    'fieldDefinition' => [
                        'name' => 'lead_source_description',
                        'vname' => 'LBL_LEAD_SOURCE_DESCRIPTION',
                        'type' => 'text',
                        'group' => 'lead_source',
                        'comment' => 'Description of the lead source',
                        'required' => false,
                    ],
                    'type' => 'text',
                ],
                [
                    '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' => 'user_name',
                        'type' => 'relate',
                        'reportable' => false,
                        'source' => 'non-db',
                        'table' => 'users',
                        'id_name' => 'assigned_user_id',
                        'module' => 'Users',
                        'duplicate_merge' => 'disabled',
                        'required' => false,
                    ],
                    'type' => 'relate',
                ],
            ],
        ],
        'opportunities' => [
            'order' => 200,
            'sort_order' => 'desc',
            'sort_by' => 'name',
            'module' => 'opportunities',
            'get_subpanel_data' => 'opportunities',
            'subpanel_name' => 'default',
            'title_key' => 'LBL_OPPORTUNITY_SUBPANEL_TITLE',
            'top_buttons' => [],
            'icon' => 'Opportunities',
            'name' => 'opportunities',
            'legacyModule' => 'Opportunities',
            'headerModule' => 'opportunities',
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'Opportunities',
                                    ],
                                    [
                                        'labelKey' => 'LBL_OPPORTUNITY_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' => 'user_name',
                        'type' => 'relate',
                        'reportable' => false,
                        'source' => 'non-db',
                        'table' => 'users',
                        'id_name' => 'assigned_user_id',
                        'module' => 'Users',
                        'duplicate_merge' => 'disabled',
                        'required' => false,
                    ],
                    'type' => 'relate',
                ],
            ],
        ],
        'surveyresponses_campaigns' => [
            'order' => 100,
            'module' => 'survey-responses',
            'subpanel_name' => 'default',
            'sort_order' => 'asc',
            'sort_by' => 'id',
            'title_key' => 'LBL_SURVEYRESPONSES_CAMPAIGNS_FROM_SURVEYRESPONSES_TITLE',
            'get_subpanel_data' => 'surveyresponses_campaigns',
            'top_buttons' => [
                [
                    'key' => 'create',
                    'labelKey' => 'LBL_QUICK_CREATE',
                    'action' => 'create',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'additionalFields' => [
                        'campaign_name' => 'name',
                        'campaign_id' => 'id',
                        'return_name' => 'name',
                        'surveyresponses_campaigns_name' => 'name',
                        'return_id' => 'id',
                        'parent_name' => 'name',
                        'parent_id' => 'id',
                    ],
                    'extraParams' => [
                        'target_module' => 'survey-responses',
                        'return_module' => 'Campaigns',
                        'return_relationship' => 'surveyresponses_campaigns',
                        'parent_type' => 'Campaigns',
                    ],
                    'widget_class' => 'SubPanelTopButtonQuickCreate',
                    'relateFields' => [
                        'campaign_name' => 'name',
                        'campaign_id' => 'id',
                    ],
                ],
                [
                    'key' => 'select',
                    'labelKey' => 'LBL_LINK',
                    'action' => 'select',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'additionalFields' => [],
                    'extraParams' => [],
                    'widget_class' => 'SubPanelTopSelectButton',
                ],
            ],
            'icon' => 'SurveyResponses',
            'name' => 'surveyresponses_campaigns',
            'legacyModule' => 'SurveyResponses',
            'headerModule' => 'survey-responses',
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'SurveyResponses',
                                    ],
                                    [
                                        'labelKey' => 'LBL_SURVEYRESPONSES_CAMPAIGNS_FROM_SURVEYRESPONSES_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' => 'survey-responses',
                ],
                [
                    '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' => 'survey-responses',
                ],
            ],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'name',
                    'label' => 'LBL_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_NAME',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'width' => '45%',
                    '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' => 'date_modified',
                    'label' => 'LBL_DATE_MODIFIED',
                    'sortable' => true,
                    'vname' => 'LBL_DATE_MODIFIED',
                    'width' => '45%',
                    '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',
                ],
            ],
        ],
        'securitygroups' => [
            'top_buttons' => [
                [
                    'key' => 'select',
                    'labelKey' => 'LBL_LINK',
                    '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' => [
        'templateMeta' => [
            'maxColumns' => '2',
            'useTabs' => true,
            'tabDefs' => [
                'LBL_CAMPAIGN_INFORMATION' => [
                    'newTab' => true,
                    'panelDefault' => 'expanded',
                ],
                'LBL_NAVIGATION_MENU_GEN2' => [
                    'newTab' => true,
                    'panelDefault' => 'expanded',
                ],
                'LBL_PANEL_ASSIGNMENT' => [
                    'newTab' => true,
                    'panelDefault' => 'expanded',
                ],
            ],
        ],
        'topWidget' => [
            'refreshOn' => 'data-update',
        ],
        'sidebarWidgets' => [],
        'bottomWidgets' => [],
        'actions' => [
            [
                'key' => 'edit',
                'labelKey' => 'LBL_EDIT',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'save',
                'labelKey' => 'LBL_SAVE_BUTTON_LABEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'edit',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'saveNew',
                'labelKey' => 'LBL_SAVE_BUTTON_LABEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'create',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'cancel',
                'labelKey' => 'LBL_CANCEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'edit',
                ],
            ],
            [
                'key' => 'cancelCreate',
                'labelKey' => 'LBL_CANCEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'create',
                ],
            ],
            [
                'key' => 'saveContinue',
                'labelKey' => 'LBL_SAVE_CONTINUE_LABEL',
                'params' => [
                    'expanded' => true,
                    'collapsedMobile' => true,
                ],
                'modes' => [
                    'edit',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'delete',
                'labelKey' => 'LBL_DELETE',
                'asyncProcess' => true,
                'params' => [
                    'displayConfirmation' => true,
                    'confirmationLabel' => 'NTC_DELETE_CONFIRMATION',
                ],
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'delete',
                ],
            ],
            [
                'key' => 'duplicate',
                'labelKey' => 'LBL_DUPLICATE_BUTTON',
                'asyncProcess' => true,
                'params' => null,
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'export',
                    'edit',
                ],
            ],
            [
                'key' => 'audit',
                'labelKey' => 'LNK_VIEW_CHANGE_LOG',
                'asyncProcess' => true,
                'params' => null,
                'modes' => [
                    'detail',
                    'edit',
                ],
                'availability' => [
                    'audited',
                    'acls',
                ],
            ],
        ],
        'panels' => [
            [
                'key' => 'lbl_campaign_information',
                'rows' => [
                    [
                        'cols' => [
                            [
                                'name' => 'name',
                                'label' => 'LBL_CAMPAIGN_NAME',
                                'fieldDefinition' => [
                                    'name' => 'name',
                                    'vname' => 'LBL_CAMPAIGN_NAME',
                                    'dbType' => 'varchar',
                                    'type' => 'name',
                                    'len' => '255',
                                    'comment' => 'The name of the campaign',
                                    'importable' => 'required',
                                    'required' => true,
                                    'unified_search' => true,
                                    'full_text_search' => [
                                        'boost' => 3,
                                    ],
                                ],
                                'type' => 'name',
                            ],
                            [
                                'name' => 'status',
                                'label' => 'LBL_CAMPAIGN_STATUS',
                                'fieldDefinition' => [
                                    'name' => 'status',
                                    'vname' => 'LBL_CAMPAIGN_STATUS',
                                    'type' => 'enum',
                                    'options' => 'campaign_status_dom',
                                    'len' => 100,
                                    'audited' => true,
                                    'comment' => 'Status of the campaign',
                                    'importable' => 'required',
                                    'required' => true,
                                ],
                                'type' => 'enum',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'start_date',
                                'label' => 'LBL_CAMPAIGN_START_DATE',
                                'fieldDefinition' => [
                                    'name' => 'start_date',
                                    'vname' => 'LBL_CAMPAIGN_START_DATE',
                                    'type' => 'date',
                                    'audited' => true,
                                    'comment' => 'Starting date of the campaign',
                                    'validation' => [
                                        'type' => 'isbefore',
                                        'compareto' => 'end_date',
                                    ],
                                    'enable_range_search' => true,
                                    'options' => 'date_range_search_dom',
                                    'required' => false,
                                ],
                                'type' => 'date',
                            ],
                            [
                                'name' => 'campaign_type',
                                'label' => 'LBL_CAMPAIGN_TYPE',
                                'fieldDefinition' => [
                                    'name' => 'campaign_type',
                                    'vname' => 'LBL_CAMPAIGN_TYPE',
                                    'type' => 'enum',
                                    'options' => 'campaign_type_dom',
                                    'len' => 100,
                                    'audited' => true,
                                    'comment' => 'The type of campaign',
                                    'importable' => 'required',
                                    'required' => true,
                                ],
                                'type' => 'enum',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'end_date',
                                'label' => 'LBL_CAMPAIGN_END_DATE',
                                'fieldDefinition' => [
                                    'name' => 'end_date',
                                    'vname' => 'LBL_CAMPAIGN_END_DATE',
                                    'type' => 'date',
                                    'audited' => true,
                                    'comment' => 'Ending date of the campaign',
                                    'importable' => 'required',
                                    'required' => true,
                                    'enable_range_search' => true,
                                    'options' => 'date_range_search_dom',
                                ],
                                'type' => 'date',
                            ],
                            [
                                'name' => 'frequency',
                                'label' => 'LBL_CAMPAIGN_FREQUENCY',
                                'customCode' => '{if $fields.campaign_type.value == "NewsLetter"}<div style=\'none\' id=\'freq_field\'>{$APP_LIST.newsletter_frequency_dom[$fields.frequency.value]}</div>{/if}&nbsp;',
                                'customLabel' => '{if $fields.campaign_type.value == "NewsLetter"}<div style=\'none\' id=\'freq_label\'>{$MOD.LBL_CAMPAIGN_FREQUENCY}</div>{/if}&nbsp;',
                                'fieldDefinition' => [
                                    'name' => 'frequency',
                                    'vname' => 'LBL_CAMPAIGN_FREQUENCY',
                                    'type' => 'enum',
                                    'len' => 100,
                                    'comment' => 'Frequency of the campaign',
                                    'options' => 'newsletter_frequency_dom',
                                    'required' => false,
                                ],
                                'type' => 'enum',
                                'readonly' => true,
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'content',
                                'label' => 'LBL_CAMPAIGN_CONTENT',
                                'fieldDefinition' => [
                                    'name' => 'content',
                                    'vname' => 'LBL_CAMPAIGN_CONTENT',
                                    'type' => 'text',
                                    'comment' => 'The campaign description',
                                    'inline_edit' => false,
                                    'required' => false,
                                ],
                                'type' => 'text',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'assigned_user_name',
                                'label' => 'LBL_ASSIGNED_TO',
                                'fieldDefinition' => [
                                    'name' => 'assigned_user_name',
                                    'link' => 'assigned_user_link',
                                    'vname' => 'LBL_ASSIGNED_TO_NAME',
                                    'rname' => 'user_name',
                                    'type' => 'relate',
                                    'reportable' => false,
                                    'source' => 'non-db',
                                    'table' => 'users',
                                    'id_name' => 'assigned_user_id',
                                    'module' => 'Users',
                                    'duplicate_merge' => 'disabled',
                                    'required' => false,
                                ],
                                'type' => 'relate',
                            ],
                        ],
                    ],
                ],
            ],
            [
                'key' => 'LBL_NAVIGATION_MENU_GEN2',
                'rows' => [
                    [
                        'cols' => [
                            [
                                'name' => 'currency_id',
                                'label' => 'LBL_CURRENCY',
                                'comment' => 'Currency in use for the campaign',
                                'fieldDefinition' => [
                                    'name' => 'currency_id',
                                    'vname' => 'LBL_CURRENCY',
                                    'type' => 'id',
                                    'group' => 'currency_id',
                                    'function' => [
                                        'name' => 'getCurrencyDropDown',
                                        'returns' => 'html',
                                        'onListView' => true,
                                    ],
                                    'required' => false,
                                    'do_report' => false,
                                    'reportable' => false,
                                    'comment' => 'Currency in use for the campaign',
                                    'metadata' => [
                                        'extraOptions' => [
                                            [
                                                'value' => '-99',
                                                'label' => 'USD',
                                            ],
                                        ],
                                    ],
                                ],
                                'type' => 'id',
                            ],
                            [
                                'name' => 'impressions',
                                'label' => 'LBL_CAMPAIGN_IMPRESSIONS',
                                'fieldDefinition' => [
                                    'name' => 'impressions',
                                    'vname' => 'LBL_CAMPAIGN_IMPRESSIONS',
                                    'type' => 'int',
                                    'default' => 0,
                                    'reportable' => true,
                                    'comment' => 'Expected Click throughs manually entered by Campaign Manager',
                                    'required' => false,
                                ],
                                'type' => 'int',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'budget-group',
                                'type' => 'grouped-field',
                                'label' => 'LBL_CAMPAIGN_BUDGET',
                                'vname' => '',
                                'fieldDefinition' => [
                                    'type' => 'grouped-field',
                                    'layout' => [
                                        'currency_id',
                                        'budget',
                                    ],
                                    'display' => 'inline',
                                    'showLabel' => [
                                        'edit' => [
                                            'budget',
                                            'currency_id',
                                        ],
                                        'filter' => [
                                            '*',
                                        ],
                                    ],
                                    'groupFields' => [
                                        'currency_id' => [
                                            'name' => 'currency_id',
                                            'vname' => 'LBL_CURRENCY',
                                            'type' => 'enum',
                                            'group' => 'currency_id',
                                            'function' => [
                                                'name' => 'getCurrencyDropDown',
                                                'returns' => 'html',
                                                'onListView' => true,
                                            ],
                                            'required' => false,
                                            'do_report' => false,
                                            'reportable' => false,
                                            'comment' => 'Currency in use for the campaign',
                                            'metadata' => [
                                                'extraOptions' => [
                                                    [
                                                        'value' => '-99',
                                                        'label' => 'USD',
                                                    ],
                                                ],
                                            ],
                                            'modes' => [
                                                'edit',
                                                'create',
                                                'massupdate',
                                                'filter',
                                            ],
                                            'options' => '__no_options__',
                                            'logic' => null,
                                        ],
                                        'budget' => [
                                            'name' => 'budget',
                                            'vname' => 'LBL_CAMPAIGN_BUDGET',
                                            'type' => 'currency',
                                            'dbType' => 'double',
                                            'comment' => 'Budgeted amount for the campaign',
                                            'required' => false,
                                            'logic' => [
                                                'currency' => [
                                                    'key' => 'update-currency',
                                                    'modes' => [
                                                        'edit',
                                                        'create',
                                                        'massupdate',
                                                        'filter',
                                                    ],
                                                    'params' => [
                                                        'fieldDependencies' => [
                                                            'currency_id',
                                                        ],
                                                    ],
                                                    'triggeringStatus' => [
                                                        'onAnyLogic',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                            [
                                'name' => 'expected_cost-group',
                                'type' => 'grouped-field',
                                'label' => 'LBL_CAMPAIGN_EXPECTED_COST',
                                'vname' => '',
                                'fieldDefinition' => [
                                    'type' => 'grouped-field',
                                    'layout' => [
                                        'currency_id',
                                        'expected_cost',
                                    ],
                                    'display' => 'inline',
                                    'showLabel' => [
                                        'edit' => [
                                            'expected_cost',
                                            'currency_id',
                                        ],
                                        'filter' => [
                                            '*',
                                        ],
                                    ],
                                    'groupFields' => [
                                        'currency_id' => [
                                            'name' => 'currency_id',
                                            'vname' => 'LBL_CURRENCY',
                                            'type' => 'enum',
                                            'group' => 'currency_id',
                                            'function' => [
                                                'name' => 'getCurrencyDropDown',
                                                'returns' => 'html',
                                                'onListView' => true,
                                            ],
                                            'required' => false,
                                            'do_report' => false,
                                            'reportable' => false,
                                            'comment' => 'Currency in use for the campaign',
                                            'metadata' => [
                                                'extraOptions' => [
                                                    [
                                                        'value' => '-99',
                                                        'label' => 'USD',
                                                    ],
                                                ],
                                            ],
                                            'modes' => [
                                                'edit',
                                                'create',
                                                'massupdate',
                                                'filter',
                                            ],
                                            'options' => '__no_options__',
                                            'logic' => null,
                                        ],
                                        'expected_cost' => [
                                            'name' => 'expected_cost',
                                            'vname' => 'LBL_CAMPAIGN_EXPECTED_COST',
                                            'type' => 'currency',
                                            'dbType' => 'double',
                                            'comment' => 'Expected cost of the campaign',
                                            'required' => false,
                                            'logic' => [
                                                'currency' => [
                                                    'key' => 'update-currency',
                                                    'modes' => [
                                                        'edit',
                                                        'create',
                                                        'massupdate',
                                                        'filter',
                                                    ],
                                                    'params' => [
                                                        'fieldDependencies' => [
                                                            'currency_id',
                                                        ],
                                                    ],
                                                    'triggeringStatus' => [
                                                        'onAnyLogic',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'actual_cost-group',
                                'type' => 'grouped-field',
                                'label' => 'LBL_CAMPAIGN_ACTUAL_COST',
                                'vname' => '',
                                'fieldDefinition' => [
                                    'type' => 'grouped-field',
                                    'layout' => [
                                        'currency_id',
                                        'actual_cost',
                                    ],
                                    'display' => 'inline',
                                    'showLabel' => [
                                        'edit' => [
                                            'actual_cost',
                                            'currency_id',
                                        ],
                                        'filter' => [
                                            '*',
                                        ],
                                    ],
                                    'groupFields' => [
                                        'currency_id' => [
                                            'name' => 'currency_id',
                                            'vname' => 'LBL_CURRENCY',
                                            'type' => 'enum',
                                            'group' => 'currency_id',
                                            'function' => [
                                                'name' => 'getCurrencyDropDown',
                                                'returns' => 'html',
                                                'onListView' => true,
                                            ],
                                            'required' => false,
                                            'do_report' => false,
                                            'reportable' => false,
                                            'comment' => 'Currency in use for the campaign',
                                            'metadata' => [
                                                'extraOptions' => [
                                                    [
                                                        'value' => '-99',
                                                        'label' => 'USD',
                                                    ],
                                                ],
                                            ],
                                            'modes' => [
                                                'edit',
                                                'create',
                                                'massupdate',
                                                'filter',
                                            ],
                                            'options' => '__no_options__',
                                            'logic' => null,
                                        ],
                                        'actual_cost' => [
                                            'name' => 'actual_cost',
                                            'vname' => 'LBL_CAMPAIGN_ACTUAL_COST',
                                            'type' => 'currency',
                                            'dbType' => 'double',
                                            'comment' => 'Actual cost of the campaign',
                                            'required' => false,
                                            'logic' => [
                                                'currency' => [
                                                    'key' => 'update-currency',
                                                    'modes' => [
                                                        'edit',
                                                        'create',
                                                        'massupdate',
                                                        'filter',
                                                    ],
                                                    'params' => [
                                                        'fieldDependencies' => [
                                                            'currency_id',
                                                        ],
                                                    ],
                                                    'triggeringStatus' => [
                                                        'onAnyLogic',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                            [
                                'name' => 'expected_revenue-group',
                                'type' => 'grouped-field',
                                'label' => 'LBL_CAMPAIGN_EXPECTED_REVENUE',
                                'vname' => '',
                                'fieldDefinition' => [
                                    'type' => 'grouped-field',
                                    'layout' => [
                                        'currency_id',
                                        'expected_revenue',
                                    ],
                                    'display' => 'inline',
                                    'showLabel' => [
                                        'edit' => [
                                            'expected_revenue',
                                            'currency_id',
                                        ],
                                        'filter' => [
                                            '*',
                                        ],
                                    ],
                                    'groupFields' => [
                                        'currency_id' => [
                                            'name' => 'currency_id',
                                            'vname' => 'LBL_CURRENCY',
                                            'type' => 'enum',
                                            'group' => 'currency_id',
                                            'function' => [
                                                'name' => 'getCurrencyDropDown',
                                                'returns' => 'html',
                                                'onListView' => true,
                                            ],
                                            'required' => false,
                                            'do_report' => false,
                                            'reportable' => false,
                                            'comment' => 'Currency in use for the campaign',
                                            'metadata' => [
                                                'extraOptions' => [
                                                    [
                                                        'value' => '-99',
                                                        'label' => 'USD',
                                                    ],
                                                ],
                                            ],
                                            'modes' => [
                                                'edit',
                                                'create',
                                                'massupdate',
                                                'filter',
                                            ],
                                            'options' => '__no_options__',
                                            'logic' => null,
                                        ],
                                        'expected_revenue' => [
                                            'name' => 'expected_revenue',
                                            'vname' => 'LBL_CAMPAIGN_EXPECTED_REVENUE',
                                            'type' => 'currency',
                                            'dbType' => 'double',
                                            'comment' => 'Expected revenue stemming from the campaign',
                                            'required' => false,
                                            'logic' => [
                                                'currency' => [
                                                    'key' => 'update-currency',
                                                    'modes' => [
                                                        'edit',
                                                        'create',
                                                        'massupdate',
                                                        'filter',
                                                    ],
                                                    'params' => [
                                                        'fieldDependencies' => [
                                                            'currency_id',
                                                        ],
                                                    ],
                                                    'triggeringStatus' => [
                                                        'onAnyLogic',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'objective',
                                'label' => 'LBL_CAMPAIGN_OBJECTIVE',
                                'fieldDefinition' => [
                                    'name' => 'objective',
                                    'vname' => 'LBL_CAMPAIGN_OBJECTIVE',
                                    'type' => 'text',
                                    'comment' => 'The objective of the campaign',
                                    'required' => false,
                                ],
                                'type' => 'text',
                            ],
                        ],
                    ],
                ],
            ],
            [
                'key' => 'LBL_PANEL_ASSIGNMENT',
                'rows' => [
                    [
                        'cols' => [
                            [
                                'name' => 'date_entered',
                                'label' => 'LBL_DATE_ENTERED',
                                'customCode' => '{$fields.date_entered.value} {$APP.LBL_BY} {$fields.created_by_name.value}',
                                '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',
                                'readonly' => true,
                            ],
                            [
                                'name' => 'date_modified',
                                'label' => 'LBL_DATE_MODIFIED',
                                'customCode' => '{$fields.date_modified.value} {$APP.LBL_BY} {$fields.modified_by_name.value}',
                                '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',
                                'readonly' => true,
                            ],
                        ],
                    ],
                ],
            ],
        ],
        'summaryTemplates' => [
            'create' => 'LBL_CREATE',
            'edit' => 'LBL_SUMMARY_DEFAULT',
            'detail' => 'LBL_SUMMARY_DEFAULT',
        ],
        'vardefs' => [
            'id' => [
                'name' => 'id',
                'vname' => 'LBL_ID',
                'type' => 'id',
                'required' => true,
                'reportable' => true,
                'comment' => 'Unique identifier',
                'inline_edit' => false,
            ],
            'name' => [
                'name' => 'name',
                'vname' => 'LBL_CAMPAIGN_NAME',
                'dbType' => 'varchar',
                'type' => 'name',
                'len' => '255',
                'comment' => 'The name of the campaign',
                'importable' => 'required',
                'required' => true,
                'unified_search' => true,
                'full_text_search' => [
                    'boost' => 3,
                ],
            ],
            'date_entered' => [
                '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,
            ],
            'created_by_name' => [
                'name' => 'created_by_name',
                'vname' => 'LBL_CREATED',
                'type' => 'relate',
                'reportable' => false,
                'link' => 'created_by_link',
                'rname' => 'user_name',
                'source' => 'non-db',
                'table' => 'users',
                'id_name' => 'created_by',
                'module' => 'Users',
                'duplicate_merge' => 'disabled',
                'importable' => 'false',
                'massupdate' => false,
                'inline_edit' => false,
                'required' => false,
            ],
            'date_modified' => [
                '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,
            ],
            'modified_by_name' => [
                'name' => 'modified_by_name',
                'vname' => 'LBL_MODIFIED_NAME',
                'type' => 'relate',
                'reportable' => false,
                'source' => 'non-db',
                'rname' => 'user_name',
                'table' => 'users',
                'id_name' => 'modified_user_id',
                'module' => 'Users',
                'link' => 'modified_user_link',
                'duplicate_merge' => 'disabled',
                'massupdate' => false,
                'inline_edit' => false,
                'required' => false,
            ],
            'modified_user_id' => [
                'name' => 'modified_user_id',
                'rname' => 'user_name',
                'id_name' => 'modified_user_id',
                'vname' => 'LBL_MODIFIED',
                'type' => 'assigned_user_name',
                'table' => 'users',
                'isnull' => 'false',
                'group' => 'modified_by_name',
                'dbType' => 'id',
                'reportable' => true,
                'comment' => 'User who last modified record',
                'massupdate' => false,
                'inline_edit' => false,
                'required' => false,
            ],
            'created_by' => [
                'name' => 'created_by',
                'rname' => 'user_name',
                'id_name' => 'modified_user_id',
                'vname' => 'LBL_CREATED',
                'type' => 'assigned_user_name',
                'table' => 'users',
                'isnull' => 'false',
                'dbType' => 'id',
                'group' => 'created_by_name',
                'comment' => 'User who created record',
                'massupdate' => false,
                'inline_edit' => false,
                'required' => false,
            ],
            'description' => [
                'name' => 'description',
                'type' => 'none',
                'comment' => 'inhertied but not used',
                'source' => 'non-db',
                'required' => false,
            ],
            'deleted' => [
                'name' => 'deleted',
                'vname' => 'LBL_DELETED',
                'type' => 'bool',
                'default' => '0',
                'reportable' => false,
                'comment' => 'Record deletion indicator',
                'required' => false,
            ],
            'created_by_link' => [
                'name' => 'created_by_link',
                'type' => 'link',
                'relationship' => 'campaigns_created_by',
                'vname' => 'LBL_CREATED_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' => 'campaigns_modified_user',
                'vname' => 'LBL_MODIFIED_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_id' => [
                'name' => 'assigned_user_id',
                'rname' => 'user_name',
                'id_name' => 'assigned_user_id',
                'vname' => 'LBL_ASSIGNED_TO_ID',
                'group' => 'assigned_user_name',
                'type' => 'relate',
                'table' => 'users',
                'module' => 'Users',
                'reportable' => true,
                'isnull' => 'false',
                'dbType' => 'id',
                'audited' => true,
                'comment' => 'User ID assigned to record',
                'duplicate_merge' => 'disabled',
                'required' => false,
            ],
            'assigned_user_name' => [
                'name' => 'assigned_user_name',
                'link' => 'assigned_user_link',
                'vname' => 'LBL_ASSIGNED_TO_NAME',
                'rname' => 'user_name',
                'type' => 'relate',
                'reportable' => false,
                'source' => 'non-db',
                'table' => 'users',
                'id_name' => 'assigned_user_id',
                'module' => 'Users',
                'duplicate_merge' => 'disabled',
                'required' => false,
            ],
            'assigned_user_link' => [
                'name' => 'assigned_user_link',
                'type' => 'link',
                'relationship' => 'campaigns_assigned_user',
                'vname' => 'LBL_ASSIGNED_TO_USER',
                'link_type' => 'one',
                'module' => 'Users',
                'bean_name' => 'User',
                'source' => 'non-db',
                'duplicate_merge' => 'enabled',
                'rname' => 'user_name',
                'id_name' => 'assigned_user_id',
                'table' => 'users',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'SecurityGroups' => [
                'name' => 'SecurityGroups',
                'type' => 'link',
                'relationship' => 'securitygroups_campaigns',
                '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',
                ],
            ],
            'tracker_key' => [
                'name' => 'tracker_key',
                'vname' => 'LBL_TRACKER_KEY',
                'type' => 'int',
                'required' => true,
                'studio' => [
                    'editview' => false,
                ],
                'len' => '11',
                'auto_increment' => true,
                'comment' => 'The internal ID of the tracker used in a campaign; no longer used as of 4.2 (see campaign_trkrs)',
            ],
            'tracker_count' => [
                'name' => 'tracker_count',
                'vname' => 'LBL_TRACKER_COUNT',
                'type' => 'int',
                'len' => '11',
                'default' => '0',
                'comment' => 'The number of accesses made to the tracker URL; no longer used as of 4.2 (see campaign_trkrs)',
                'required' => false,
            ],
            'refer_url' => [
                'name' => 'refer_url',
                'vname' => 'LBL_REFER_URL',
                'type' => 'varchar',
                'len' => '255',
                'default' => 'http://',
                'comment' => 'The URL referenced in the tracker URL; no longer used as of 4.2 (see campaign_trkrs)',
                'required' => false,
            ],
            'tracker_text' => [
                'name' => 'tracker_text',
                'vname' => 'LBL_TRACKER_TEXT',
                'type' => 'varchar',
                'len' => '255',
                'comment' => 'The text that appears in the tracker URL; no longer used as of 4.2 (see campaign_trkrs)',
                'required' => false,
            ],
            'start_date' => [
                'name' => 'start_date',
                'vname' => 'LBL_CAMPAIGN_START_DATE',
                'type' => 'date',
                'audited' => true,
                'comment' => 'Starting date of the campaign',
                'validation' => [
                    'type' => 'isbefore',
                    'compareto' => 'end_date',
                ],
                'enable_range_search' => true,
                'options' => 'date_range_search_dom',
                'required' => false,
            ],
            'end_date' => [
                'name' => 'end_date',
                'vname' => 'LBL_CAMPAIGN_END_DATE',
                'type' => 'date',
                'audited' => true,
                'comment' => 'Ending date of the campaign',
                'importable' => 'required',
                'required' => true,
                'enable_range_search' => true,
                'options' => 'date_range_search_dom',
            ],
            'status' => [
                'name' => 'status',
                'vname' => 'LBL_CAMPAIGN_STATUS',
                'type' => 'enum',
                'options' => 'campaign_status_dom',
                'len' => 100,
                'audited' => true,
                'comment' => 'Status of the campaign',
                'importable' => 'required',
                'required' => true,
            ],
            'impressions' => [
                'name' => 'impressions',
                'vname' => 'LBL_CAMPAIGN_IMPRESSIONS',
                'type' => 'int',
                'default' => 0,
                'reportable' => true,
                'comment' => 'Expected Click throughs manually entered by Campaign Manager',
                'required' => false,
            ],
            'currency_id' => [
                'name' => 'currency_id',
                'vname' => 'LBL_CURRENCY',
                'type' => 'id',
                'group' => 'currency_id',
                'function' => [
                    'name' => 'getCurrencyDropDown',
                    'returns' => 'html',
                    'onListView' => true,
                ],
                'required' => false,
                'do_report' => false,
                'reportable' => false,
                'comment' => 'Currency in use for the campaign',
                'metadata' => [
                    'extraOptions' => [
                        [
                            'value' => '-99',
                            'label' => 'USD',
                        ],
                    ],
                ],
            ],
            'budget' => [
                'name' => 'budget',
                'vname' => 'LBL_CAMPAIGN_BUDGET',
                'type' => 'currency',
                'dbType' => 'double',
                'comment' => 'Budgeted amount for the campaign',
                'required' => false,
            ],
            'expected_cost' => [
                'name' => 'expected_cost',
                'vname' => 'LBL_CAMPAIGN_EXPECTED_COST',
                'type' => 'currency',
                'dbType' => 'double',
                'comment' => 'Expected cost of the campaign',
                'required' => false,
            ],
            'actual_cost' => [
                'name' => 'actual_cost',
                'vname' => 'LBL_CAMPAIGN_ACTUAL_COST',
                'type' => 'currency',
                'dbType' => 'double',
                'comment' => 'Actual cost of the campaign',
                'required' => false,
            ],
            'expected_revenue' => [
                'name' => 'expected_revenue',
                'vname' => 'LBL_CAMPAIGN_EXPECTED_REVENUE',
                'type' => 'currency',
                'dbType' => 'double',
                'comment' => 'Expected revenue stemming from the campaign',
                'required' => false,
            ],
            'campaign_type' => [
                'name' => 'campaign_type',
                'vname' => 'LBL_CAMPAIGN_TYPE',
                'type' => 'enum',
                'options' => 'campaign_type_dom',
                'len' => 100,
                'audited' => true,
                'comment' => 'The type of campaign',
                'importable' => 'required',
                'required' => true,
            ],
            'objective' => [
                'name' => 'objective',
                'vname' => 'LBL_CAMPAIGN_OBJECTIVE',
                'type' => 'text',
                'comment' => 'The objective of the campaign',
                'required' => false,
            ],
            'content' => [
                'name' => 'content',
                'vname' => 'LBL_CAMPAIGN_CONTENT',
                'type' => 'text',
                'comment' => 'The campaign description',
                'inline_edit' => false,
                'required' => false,
            ],
            'prospectlists' => [
                'name' => 'prospectlists',
                'vname' => 'LBL_PROSPECT_LISTS',
                'type' => 'link',
                'relationship' => 'prospect_list_campaigns',
                'source' => 'non-db',
                'required' => false,
                'module' => 'ProspectLists',
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => 'prospect_list_id',
                    'type' => 'many-to-many',
                    'parent_id' => 'campaign_id',
                ],
            ],
            'emailmarketing' => [
                'name' => 'emailmarketing',
                'vname' => 'LBL_EMAIL_MARKETING',
                'type' => 'link',
                'relationship' => 'campaign_email_marketing',
                'source' => 'non-db',
                'required' => false,
                'module' => 'EmailMarketing',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'queueitems' => [
                'name' => 'queueitems',
                'vname' => 'LBL_QUEUE_ITEMS',
                'type' => 'link',
                'relationship' => 'campaign_emailman',
                'source' => 'non-db',
                'required' => false,
                'module' => 'EmailMan',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'log_entries' => [
                'name' => 'log_entries',
                'type' => 'link',
                'relationship' => 'campaign_campaignlog',
                'source' => 'non-db',
                'vname' => 'LBL_LOG_ENTRIES',
                'required' => false,
                'module' => 'CampaignLog',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'tracked_urls' => [
                'name' => 'tracked_urls',
                'type' => 'link',
                'relationship' => 'campaign_campaigntrakers',
                'source' => 'non-db',
                'vname' => 'LBL_TRACKED_URLS',
                'required' => false,
                'module' => 'CampaignTrackers',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'frequency' => [
                'name' => 'frequency',
                'vname' => 'LBL_CAMPAIGN_FREQUENCY',
                'type' => 'enum',
                'len' => 100,
                'comment' => 'Frequency of the campaign',
                'options' => 'newsletter_frequency_dom',
                'required' => false,
            ],
            'leads' => [
                'name' => 'leads',
                'type' => 'link',
                'relationship' => 'campaign_leads',
                'source' => 'non-db',
                'vname' => 'LBL_LEADS',
                'link_class' => 'ProspectLink',
                'link_file' => 'modules/Campaigns/ProspectLink.php',
                'required' => false,
                'module' => 'Leads',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'opportunities' => [
                'name' => 'opportunities',
                'type' => 'link',
                'relationship' => 'campaign_opportunities',
                'source' => 'non-db',
                'vname' => 'LBL_OPPORTUNITIES',
                'required' => false,
                'module' => 'Opportunities',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'contacts' => [
                'name' => 'contacts',
                'type' => 'link',
                'relationship' => 'campaign_contacts',
                'source' => 'non-db',
                'vname' => 'LBL_CONTACTS',
                'link_class' => 'ProspectLink',
                'link_file' => 'modules/Campaigns/ProspectLink.php',
                'required' => false,
                'module' => 'Contacts',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'accounts' => [
                'name' => 'accounts',
                'type' => 'link',
                'relationship' => 'campaign_accounts',
                'source' => 'non-db',
                'vname' => 'LBL_ACCOUNTS',
                'link_class' => 'ProspectLink',
                'link_file' => 'modules/Campaigns/ProspectLink.php',
                'required' => false,
                'module' => 'Accounts',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'notes' => [
                'name' => 'notes',
                'type' => 'link',
                'relationship' => 'campaign_notes',
                'source' => 'non-db',
                'vname' => 'LBL_NOTES',
                'required' => false,
                'module' => 'Notes',
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'survey' => [
                'name' => 'survey',
                'type' => 'link',
                'relationship' => 'surveys_campaigns',
                'source' => 'non-db',
                'module' => 'Surveys',
                'bean_name' => 'Surveys',
                'vname' => 'LBL_CAMPAIGN_SURVEYS',
                'id_name' => 'survey_id',
                'link_type' => 'one',
                'side' => 'left',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'survey_name' => [
                'name' => 'survey_name',
                'type' => 'relate',
                'source' => 'non-db',
                'vname' => 'LBL_CAMPAIGN_SURVEYS',
                'save' => true,
                'id_name' => 'survey_id',
                'link' => 'survey',
                'table' => 'surveys',
                'module' => 'Surveys',
                'rname' => 'name',
                'required' => false,
            ],
            'survey_id' => [
                'name' => 'survey_id',
                'type' => 'id',
                'reportable' => false,
                'vname' => 'LBL_CAMPAIGN_SURVEYS',
                'required' => false,
            ],
            'surveyresponses_campaigns' => [
                'name' => 'surveyresponses_campaigns',
                'type' => 'link',
                'relationship' => 'surveyresponses_campaigns',
                'source' => 'non-db',
                'module' => 'SurveyResponses',
                'bean_name' => 'SurveyResponses',
                'side' => 'right',
                'vname' => 'LBL_SURVEYRESPONSES_CAMPAIGNS_FROM_SURVEYRESPONSES_TITLE',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'rhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
        ],
        'metadata' => [],
    ],
]];
