{
  "version": "0.0",
  "grid": {
    "employee_list": [
      {
        "field": "employeeCode",
        "displayName": "tables.EMP_CODE",
        "minWidth": 100,
        "headerCellFilter": "i18n"
      },
      {
        "field": "firstName",
        "displayName": "tables.FIRST_NAME",
        "minWidth": 100,
        "headerCellFilter": "i18n",
        "visible": true
      },
      {
        "field": "lastName",
        "displayName": "tables.LAST_NAME",
        "minWidth": 100,
        "headerCellFilter": "i18n",
        "visible": true
      },
      {
        "field": "primaryTelephone",
        "displayName": "tables.PHONE",
        "minWidth": 100,
        "headerCellFilter": "i18n",
        "visible": true
      },
      {
        "field": "designationName",
        "displayName": "tables.DESIGNATION",
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "enableFiltering": true
      },
      {
        "field": "createdAt",
        "displayName": "tables.CREATED_TIME",
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellFilter": "dateTimeBrowserTz",
        "enableFiltering": false
      },
      {
        "field": "modifiedAt",
        "displayName": "tables.MODIFIED_TIME",
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellFilter": "dateTimeBrowserTz",
        "enableFiltering": false
      },
      {
        "field": "admin",
        "displayName": "tables.IS_ADMIN",
        "minWidth": 80,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellTemplate": "<div class=\"{{row.entity.personRole | adminFilterColor }} padding-5 center\" title=\"{{row.entity.personRole | personRoleFilterText}}\"><i class=\"{{row.entity.personRole | adminFilter}}\"></i></div>",
        "enableFiltering": false
      },
      {
        "field": "blocked",
        "displayName": "tables.IS_ACTIVE",
        "minWidth": 80,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellTemplate": "<div class=\"{{row.entity.blocked | activeFilterColor }} padding-5 center\" title=\"{{row.entity.blocked ? \"Employee is Blocked\" : \"Employee is Active\"}}\"><i class=\"{{row.entity.blocked | activeFilter}}\"></i></div>",
        "enableFiltering": false
      }
    ],
    "visitor_list": [
      {
        "field": "employeeCode",
        "displayName": "tables.VISITOR_CODE",
        "minWidth": 100,
        "headerCellFilter": "i18n"
      },
      {
        "field": "fullName",
        "filter": {
          "term": ""
        },
        "displayName": "tables.VISITOR_NAME",
        "minWidth": 100,
        "headerCellFilter": "i18n",
        "cellTemplate": "<div class=\"cell-padding-5\"><p>{{row.entity.fullName}}</p></div>"
      },
      {
        "field": "primaryTelephone",
        "filter": {
          "term": ""
        },
        "displayName": "tables.CONTACT_NO",
        "minWidth": 100,
        "headerCellFilter": "i18n",
        "cellTemplate": "<div class=\"padding-5\"><a href=\"tel:{{row.entity.primaryTelephone}}\" title=\"{{row.entity.primaryTelephone }}\">{{row.entity.primaryTelephone }}</a></div>"
      },
      {
        "field": "createdAt",
        "displayName": "tables.CREATED_TIME",
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellFilter": "dateTimeBrowserTz",
        "enableFiltering": false
      },
      {
        "field": "modifiedAt",
        "displayName": "tables.MODIFIED_TIME",
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "cellFilter": "dateTimeBrowserTz",
        "enableFiltering": false
      },
      {
        "field": "blocked",
        "displayName": "tables.IS_ACTIVE",
        "minWidth": 80,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellTemplate": "<div class=\"{{row.entity.blocked | activeFilterColor }} padding-5 center\" title=\"{{row.entity.blocked ? 'Employee is Blocked' : 'Employee is Active'}}\"><i class=\"{{row.entity.blocked | activeFilter}}\"></i></div>",
        "enableFiltering": false
      }
    ],
    "employee_group_list": [
      {
        "field": "groupCode",
        "displayName": "tables.GROUP_CODE",
        "minWidth": 100,
        "headerCellFilter": "i18n"
      },
      {
        "field": "description",
        "displayName": "tables.DESC",
        "minWidth": 150,
        "headerCellFilter": "i18n"
      },
      {
        "field": "createdAt",
        "displayName": "tables.CREATED_TIME",
        "enableFiltering": false,
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellFilter": "dateTimeBrowserTz"
      },
      {
        "field": "modifiedAt",
        "displayName": "tables.MODIFIED_TIME",
        "enableFiltering": false,
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellFilter": "dateTimeBrowserTz"
      }
    ],
    "user_group_selection": [
      {
        "field": "groupCode",
        "displayName": "tables.GROUP_CODE",
        "minWidth": 100,
        "headerCellFilter": "i18n"
      },
      {
        "field": "description",
        "displayName": "tables.DESC",
        "minWidth": 120,
        "headerCellFilter": "i18n"
      },
      {
        "field": "manager",
        "displayName": "tables.MANAGER",
        "cellTemplate": "<div class=\"padding-5\" ng-show=\"row.entity.manager\">{{row.entity.manager.firstName}} {{row.entity.manager.lastName}}</div>",
        "minWidth": 120,
        "headerCellFilter": "i18n"
      },
      {
        "field": "groupId",
        "displayName": "tables.SELECTED",
        "cellTemplate": "<div class=\"center\"><input type=\"checkbox\" ng-checked=\"grid.appScope.checkBoxFun(row.entity[col.field])\"  ng-click=\"grid.appScope.checkBoxClick(row.entity[col.field])\"></div>",
        "minWidth": 80,
        "maxWidth": 100,
        "cellClass": "center",
        "headerCellFilter": "i18n"
      },
      {
        "field": "groupId",
        "displayName": "tables.PRIMARY_GROUP",
        "cellTemplate": "<div class=\"center\"><input type=\"checkbox\" ng-checked=\"grid.appScope.checkBoxPrimary(row.entity[col.field])\"  ng-click=\"grid.appScope.checkBoxClickPrimary(row.entity[col.field])\"></div>",
        "minWidth": 80,
        "maxWidth": 100,
        "cellFilter": "onPrimaryGroupChanged",
        "cellClass": "center",
        "headerCellFilter": "i18n"
      }
    ],
    "employee_group_users_list": [
      {
        "field": "employeeCode",
        "displayName": "tables.EMP_CODE",
        "minWidth": 100,
        "headerCellFilter": "i18n"
      },
      {
        "field": "firstName",
        "displayName": "tables.FIRST_NAME",
        "minWidth": 100,
        "headerCellFilter": "i18n",
        "visible": true
      },
      {
        "field": "lastName",
        "displayName": "tables.LAST_NAME",
        "minWidth": 100,
        "headerCellFilter": "i18n",
        "visible": true
      },
      {
        "field": "email",
        "displayName": "tables.EMAIL",
        "minWidth": 200,
        "headerCellFilter": "i18n",
        "visible": true
      },
      {
        "field": "primaryTelephone",
        "displayName": "tables.PHONE",
        "minWidth": 100,
        "visible": false,
        "headerCellFilter": "i18n"
      },
      {
        "field": "createdAt",
        "displayName": "tables.CREATED_TIME",
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellFilter": "dateTimeBrowserTz",
        "enableFiltering": false
      },
      {
        "field": "modifiedAt",
        "displayName": "tables.MODIFIED_TIME",
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellFilter": "dateTimeBrowserTz",
        "enableFiltering": false
      },
      {
        "field": "admin",
        "displayName": "tables.IS_ADMIN",
        "minWidth": 80,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellTemplate": "<div class=\"{{row.entity.personRole | adminFilterColor }} padding-5 center\" title=\"{{row.entity.personRole | personRoleFilterText}}\"><i class=\"{{row.entity.personRole | adminFilter}}\"></i></div>",
        "enableFiltering": false
      },
      {
        "field": "blocked",
        "displayName": "tables.IS_ACTIVE",
        "minWidth": 80,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellTemplate": "<div class=\"{{row.entity.blocked | activeFilterColor }} padding-5 center\" title=\"{{row.entity.blocked ? 'Employee is Blocked' : 'Employee is Active'}}\"><i class=\"{{row.entity.blocked | activeFilter}}\"></i></div>",
        "enableFiltering": false
      }
    ],
    "employee_group_admin_list": [
      {
        "field": "employeeCode",
        "displayName": "tables.EMP_CODE",
        "minWidth": 100,
        "headerCellFilter": "i18n"
      },
      {
        "field": "fullName",
        "displayName": "tables.NAME",
        "minWidth": 120,
        "headerCellFilter": "i18n"
      },
      {
        "field": "email",
        "displayName": "tables.EMAIL",
        "minWidth": 200,
        "headerCellFilter": "i18n"
      },
      {
        "field": "isSelected",
        "displayName": "tables.IS_ADMIN",
        "type": "boolean",
        "cellTemplate": "<div class=\"center\"><input type=\"checkbox\" ng-model=\"row.entity.isSelected\" ng-click=\"grid.appScope.onGroupAdminChanged(row.entity)\"></div>",
        "minWidth": 80,
        "maxWidth": 100,
        "cellClass": "center",
        "headerCellFilter": "i18n"
      },
      {
        "field": "isReadOnly",
        "displayName": "tables.READ_ONLY",
        "cellTemplate": "<div class=\"center\"><select name=\"isReadOnly{{row.entity.personId}}\" ng-disabled=\"!row.entity.isSelected\" ng-model=\"row.entity.isReadOnly\" ng-change=\"grid.appScope.onGroupAdminChanged(row.entity)\" ng-options=\"o.name for o in grid.appScope.readOnlyOptions\" class=\"form-control\"></select></div>",
        "minWidth": 130,
        "maxWidth": 150,
        "cellClass": "center",
        "headerCellFilter": "i18n"
      },
      {
        "field": "isManager",
        "displayName": "tables.MANAGER",
        "type": "boolean",
        "cellTemplate": "<div class=\"center\"><input type=\"checkbox\" ng-disabled=\"!row.entity.isSelected\" ng-model=\"row.entity.isManager\" ng-click=\"grid.appScope.onGroupManagerChanged(row.entity)\"></div>",
        "minWidth": 80,
        "maxWidth": 100,
        "cellClass": "center",
        "headerCellFilter": "i18n"
      }
    ],
    "employee_selection_list": [
      {
        "field": "employeeCode",
        "displayName": "tables.EMP_CODE",
        "minWidth": 100,
        "headerCellFilter": "i18n"
      },
      {
        "field": "firstName",
        "displayName": "tables.FIRST_NAME",
        "minWidth": 100,
        "headerCellFilter": "i18n"
      },
      {
        "field": "lastName",
        "displayName": "tables.LAST_NAME",
        "minWidth": 100,
        "headerCellFilter": "i18n"
      },
      {
        "field": "user.username",
        "displayName": "tables.USERNAME",
        "minWidth": 60,
        "visible": false,
        "headerCellFilter": "i18n"
      },
      {
        "field": "email",
        "displayName": "tables.EMAIL",
        "minWidth": 200,
        "headerCellFilter": "i18n"
      },
      {
        "field": "isSelected",
        "displayName": "tables.SELECTED",
        "type": "boolean",
        "sort": {
          "direction": "asc",
          "priority": 1
        },
        "enableFiltering": false,
        "cellTemplate": "<div class=\"ui-grid-cell-contents center\"><input type=\"checkbox\" ng-model=\"row.entity.isSelected\"></div>",
        "headerCellTemplate": "<div class=\"ui-grid-cell-contents\"><label for=\"chkhHeader\">{{ col.displayName CUSTOM_FILTERS }} <input type=\"checkbox\" id=\"chkhHeader\" ng-model=\"grid.appScope.chkHeader\"  ng-change=\"grid.appScope.selectAllUsers(grid.appScope.chkHeader);\"></label><span\n      ui-grid-one-bind-id-grid=\"col.uid + '-sortdir-text'\"\n      ui-grid-visible=\"col.sort.direction\"\n      aria-label=\"{{getSortDirectionAriaLabel()}}\">\n      <i\n       ng-class=\"{ 'ui-grid-icon-up-dir': col.sort.direction == asc, 'ui-grid-icon-down-dir': col.sort.direction == desc, 'ui-grid-icon-blank': !col.sort.direction }\"\n       title=\"{{isSortPriorityVisible() ? i18n.headerCell.priority + ' ' + ( col.sort.priority + 1 )  : null}}\"\n       aria-hidden=\"true\">\n     </i>\n     <sub\n       ui-grid-visible=\"isSortPriorityVisible()\"\n       class=\"ui-grid-sort-priority-number\">\n       {{col.sort.priority + 1}}\n     </sub>\n    </span></div>",
        "minWidth": 100,
        "maxWidth": 130,
        "cellClass": "center",
        "headerCellFilter": "i18n"
      },
      {
        "field": "address",
        "displayName": "tables.ADDRESS",
        "minWidth": 150,
        "visible": false,
        "headerCellFilter": "i18n"
      },
      {
        "field": "primaryTelephone",
        "displayName": "tables.PHONE",
        "minWidth": 100,
        "visible": false,
        "headerCellFilter": "i18n"
      },
      {
        "field": "createdAt",
        "displayName": "tables.CREATED_TIME",
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellFilter": "dateTime",
        "enableFiltering": false
      },
      {
        "field": "modifiedAt",
        "displayName": "tables.MODIFIED_TIME",
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellFilter": "dateTime",
        "enableFiltering": false
      },
      {
        "field": "admin",
        "displayName": "tables.IS_ADMIN",
        "minWidth": 80,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellTemplate": "<div class=\"{{row.entity.personRole | adminFilterColor }} padding-5 center\" title=\"{{row.entity.personRole | personRoleFilterText}}\"><i class=\"{{row.entity.personRole | adminFilter}}\"></i></div>",
        "enableFiltering": false
      },
      {
        "field": "blocked",
        "displayName": "tables.IS_ACTIVE",
        "minWidth": 80,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellTemplate": "<div class=\"{{row.entity.blocked | activeFilterColor }} padding-5 center\" title=\"{{row.entity.blocked ? 'Employee is Blocked' : 'Employee is Active'}}\"><i class=\"{{row.entity.blocked | activeFilter}}\"></i></div>",
        "enableFiltering": false
      }
    ],
    "devices_list": [
      {
        "field": "description",
        "minWidth": 150,
        "displayName": "tables.DESC",
        "headerCellFilter": "i18n"
      },
      {
        "field": "application",
        "minWidth": 150,
        "displayName": "tables.APPLICATION",
        "headerCellFilter": "i18n",
        "cellFilter": "NCheckClientName"
      },
      {
        "field": "blocked",
        "displayName": "tables.BLOCKED",
        "cellFilter": "true_false",
        "minWidth": 80,
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "lastAccess",
        "displayName": "tables.LAST_ACCESS",
        "enableFiltering": false,
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "cellFilter": "dateTimeBrowserTz"
      },
      {
        "field": "lastUpdated",
        "displayName": "tables.LAST_UPDATED",
        "enableFiltering": false,
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "cellFilter": "dateTimeBrowserTz",
        "visible": false
      },
      {
        "field": "license",
        "displayName": "tables.LICENSED",
        "cellFilter": "true_false",
        "enableFiltering": false,
        "minWidth": 100,
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "createdAt",
        "displayName": "tables.CREATED_TIME",
        "enableFiltering": false,
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellFilter": "dateTimeBrowserTz"
      }
    ],
    "eventlog_list": [
      {
        "field": "fullName",
        "displayName": "tables.NAME",
        "minWidth": 150,
        "pinnedLeft": true,
        "headerCellFilter": "i18n"
      },
      {
        "field": "employeeCode",
        "displayName": "tables.ID",
        "minWidth": 120,
        "headerCellFilter": "i18n"
      },
      {
        "field": "taskName",
        "displayName": "tables.SHIFT_NAME",
        "cellTemplate": "<div class=\"ui-grid-cell-contents\">{{row.entity.taskName | Shift }}</div>",
        "minWidth": 150,
        "headerCellFilter": "i18n"
      },
      {
        "field": "shiftStart",
        "displayName": "tables.SHIFT_START",
        "cellTemplate": "<div class=\"ui-grid-cell-contents\">{{grid.appScope.convertToDateTime(row.entity.eventDate) }}</div>",
        "enableFiltering": false,
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "eventType",
        "displayName": "tables.DIRECTION_STATUS",
        "cellTemplate": "<div class=\"ui-grid-cell-contents\" class=\"{{row.entity.eventType | labelColorFilter }}\"><i class=\"{{row.entity.eventType | icon_filter}}\" style=\"padding-right: 7px;\"></i>{{row.entity.eventType | labelFilter }} <span style=\"padding: 5px;\" class=\"{{row.entity.eventlogStatus | statusLable: row.entity.eventDate }}\">{{row.entity.eventlogStatus | statusFilter:row.entity.eventDate }}</span></div>",
        "minWidth": 200,
        "headerCellFilter": "i18n"
      },
      {
        "field": "sensorData",
        "displayName": "tables.SENSOR_DATA",
        "cellTemplate": "<div class=\"ui-grid-cell-contents\" ng-bind-html=\"row.entity.visualSensorData\"> </div>",
        "minWidth": 100,
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "eventTime",
        "displayName": "tables.TIME_GMT",
        "minWidth": 150,
        "cellFilter": "amDateFormat:'YYYY-MM-DD HH:mm:ss'",
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "calculatedColumns.eventTime",
        "displayName": "tables.TIME",
        "minWidth": 150,
        "cellFilter": "amDateFormat:'HH:mm:ss'",
        "headerCellFilter": "i18n"
      },
      {
        "field": "timeZone",
        "displayName": "tables.TIME_Z",
        "cellTemplate": "<div style=\"padding: 5px;\">{{row.entity.timeZone | timeZone }}</div>",
        "minWidth": 100,
        "headerCellFilter": "i18n"
      },
      {
        "field": "lat_lon",
        "displayName": "tables.LOCATION",
        "cellTemplate": "<div style=\"padding: 5px;\">{{row.entity.lat_lon | location_coordinates }}</div>",
        "minWidth": 150,
        "headerCellFilter": "i18n"
      },
      {
        "field": "address",
        "displayName": "tables.ADDRESS",
        "cellTemplate": "<div style=\"padding: 5px;word-wrap: normal;\" title=\"{{row.entity.address}}\">{{row.entity.address | location_address }}</div>",
        "minWidth": 200,
        "headerCellFilter": "i18n"
      },
      {
        "field": "deviceCode",
        "displayName": "tables.DEVICE_CODE",
        "cellTemplate": "<div style=\"padding: 5px;word-wrap: normal;\" title=\"{{row.entity.deviceCode | EmptyFilter}}\">{{row.entity.deviceCode | EmptyFilter }}</div>",
        "minWidth": 80,
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "deviceDescription",
        "displayName": "tables.DEVICE_DESC",
        "cellTemplate": "<div style=\"padding: 5px;word-wrap: normal;\" title=\"{{row.entity.deviceDescription | EmptyFilter}}\">{{row.entity.deviceDescription | EmptyFilter }}</div>",
        "minWidth": 100,
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "deviceOs",
        "displayName": "tables.DEVICE_OS",
        "cellTemplate": "<div style=\"padding: 5px;word-wrap: normal;\" title=\"{{row.entity.deviceOs | EmptyFilter}}\">{{row.entity.deviceOs | EmptyFilter }}</div>",
        "minWidth": 220,
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "deviceApplication",
        "displayName": "tables.DEVICE_APPLICATION",
        "cellTemplate": "<div style=\"padding: 5px;word-wrap: normal;\" title=\"{{row.entity.deviceApplication | EmptyFilter | NCheckClientName}}\">{{row.entity.deviceApplication | EmptyFilter | NCheckClientName }}</div>",
        "minWidth": 220,
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "eventCreatedAt",
        "displayName": "tables.CREATED_TIME",
        "enableFiltering": false,
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellFilter": "dateTime"
      },
      {
        "field": "eventModifiedAt",
        "displayName": "tables.MODIFIED_TIME",
        "enableFiltering": false,
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellFilter": "dateTime"
      },
      {
        "field": "modifiedBy",
        "displayName": "tables.MODIFIED_BY",
        "enableFiltering": false,
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellFilter": "EmptyFilter"
      },
      {
        "field": "description",
        "displayName": "tables.DESC",
        "visible": false,
        "minWidth": 100,
        "width": 200,
        "cellTooltip": true,
        "headerCellFilter": "i18n"
      },
      {
        "field": "restrictionGroupName",
        "displayName": "tables.RESTRICTION_GROUP_NAME",
        "visible": false,
        "cellTemplate": "<div ng-hide=\"row.groupHeader\" style=\"padding: 8px;\" ng-style=\"{'text-align': { true:'center' , false:'left'}[row.entity.restrictionGroupName ==null ]}\"><span ng-show=\"row.entity.restrictionGroupDeleted == null || row.entity.restrictionGroupName == null \">{{row.entity.restrictionGroupName | emptyStringFilter}} </span><span ng-show=\"row.entity.restrictionGroupDeleted != null && row.entity.restrictionGroupName != null \"><span ng-style=\"{'color': { true:'red' , false:'green'}[row.entity.restrictionGroupDeleted == true ]}> {{row.entity.restrictionGroupName | emptyStringFilter}} </span></span> </div>",
        "width": 150,
        "headerCellFilter": "i18n"
      },
      {
        "field": "editor",
        "displayName": "tables.EDITED_BY",
        "cellTemplate": "<div style=\"padding: 5px;\"><span ng-if=\"row.entity.editor\">{{row.entity.editor}} <label class=\"label label-primary\">({{row.entity.editorRole | role }})</label></span><span ng-if=\"!row.entity.editor\"> - </span></div>",
        "enableFiltering": false,
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellFilter": "EmptyFilter"
      }
    ],
    "visitor_eventlog_list": [
      {
        "field": "fullName",
        "displayName": "tables.NAME",
        "minWidth": 100,
        "cellFilter": "EmptyFilter",
        "headerCellFilter": "i18n"
      },
      {
        "field": "employeeCode",
        "displayName": "tables.VISITOR_CODE",
        "minWidth": 100,
        "pinnedLeft": true,
        "headerCellFilter": "i18n"
      },
      {
        "field": "scenarioName",
        "displayName": "tables.SCENARIO_NAME",
        "minWidth": 80,
        "cellFilter": "EmptyFilter",
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "scheduleName",
        "displayName": "tables.APPOINTMENT",
        "minWidth": 100,
        "cellFilter": "EmptyFilter",
        "headerCellFilter": "i18n"
      },
      {
        "field": "jobLocationName",
        "displayName": "tables.APPOINTMENT_LOCATION",
        "minWidth": 100,
        "cellFilter": "eventlogLocationName",
        "headerCellFilter": "i18n"
      },
      {
        "field": "eventTime",
        "displayName": "tables.TIME",
        "minWidth": 150,
        "cellTemplate": "<div class=\"ui-grid-cell-contents\">{{grid.appScope.timeWithTimezone(row.entity.eventTime, row.entity.timeZone / 3600) }}</div>",
        "headerCellFilter": "i18n"
      },
      {
        "field": "timeZone",
        "displayName": "tables.TIME_Z",
        "cellTemplate": "<div class=\"ui-grid-cell-contents\">{{row.entity.timeZone | timeZone }}</div>",
        "minWidth": 80,
        "headerCellFilter": "i18n"
      },
      {
        "field": "eventType",
        "displayName": "tables.DIRECTION_STATUS",
        "cellTemplate": "<div class=\"ui-grid-cell-contents {{row.entity.eventType | labelColorFilter }}\"><i class=\"{{row.entity.eventType | icon_filter}}\" style=\"padding-right: 7px;\"></i>{{row.entity.eventType | labelFilter }} <span style=\"padding: 5px;\" class=\"{{row.entity.eventlogStatus | statusLable: row.entity.eventDate }}\">{{row.entity.eventlogStatus | statusFilter:row.entity.eventDate }}</span></div>",
        "minWidth": 200,
        "headerCellFilter": "i18n"
      },
      {
        "field": "eventDate",
        "displayName": "tables.SCHEDULE_START",
        "cellTemplate": "<div class=\"ui-grid-cell-contents\">{{grid.appScope.convertToDateTime(row.entity.eventDate) }}</div>",
        "enableFiltering": false,
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "appointmentStart",
        "displayName": "tables.APPOINTMENT_START",
        "minWidth": 150,
        "cellFilter": "stringToTime",
        "headerCellFilter": "i18n"
      },
      {
        "field": "appointmentEnd",
        "displayName": "tables.APPOINTMENT_END",
        "minWidth": 150,
        "cellFilter": "stringToTime",
        "headerCellFilter": "i18n"
      },
      {
        "field": "appointmentTimezone",
        "displayName": "tables.APPOINTMENT_TIMEZONE",
        "minWidth": 80,
        "cellFilter": "timeZone",
        "headerCellFilter": "i18n"
      },
      {
        "field": "appointmentSlotIndex",
        "displayName": "tables.INDEX_NUMBER",
        "minWidth": 60,
        "cellFilter": "EmptyFilter",
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "sensorData",
        "displayName": "tables.SENSOR_DATA",
        "cellTemplate": "<div class=\"ui-grid-cell-contents\" ng-bind-html=\"row.entity.visualSensorData\"> </div>",
        "minWidth": 100,
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "lat_lon",
        "displayName": "tables.EVENT_LOCATION",
        "cellTemplate": "<div class=\"ui-grid-cell-contents\">{{row.entity.lat_lon | location_coordinates }}</div>",
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "address",
        "displayName": "tables.ADDRESS",
        "cellTemplate": "<div class=\"ui-grid-cell-contents\" title=\"{{row.entity.address}}\">{{row.entity.address | location_address }}</div>",
        "minWidth": 200,
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "deviceCode",
        "displayName": "tables.DEVICE_CODE",
        "cellTemplate": "<div class=\"ui-grid-cell-contents\" title=\"{{row.entity.deviceCode | EmptyFilter}}\">{{row.entity.deviceCode | EmptyFilter }}</div>",
        "minWidth": 80,
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "deviceDescription",
        "displayName": "tables.DEVICE_DESC",
        "cellTemplate": "<div class=\"ui-grid-cell-contents\" title=\"{{row.entity.deviceDescription | EmptyFilter}}\">{{row.entity.deviceDescription | EmptyFilter }}</div>",
        "minWidth": 100,
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "deviceOs",
        "displayName": "tables.DEVICE_OS",
        "cellTemplate": "<div class=\"ui-grid-cell-contents\" title=\"{{row.entity.deviceOs | EmptyFilter}}\">{{row.entity.deviceOs | EmptyFilter }}</div>",
        "minWidth": 220,
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "deviceApplication",
        "displayName": "tables.DEVICE_APPLICATION",
        "cellTemplate": "<div class=\"ui-grid-cell-contents\" title=\"{{row.entity.deviceApplication | EmptyFilter | NCheckClientName}}\">{{row.entity.deviceApplication | EmptyFilter | NCheckClientName }}</div>",
        "minWidth": 220,
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "createdAt",
        "displayName": "tables.CREATED_TIME",
        "enableFiltering": false,
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellFilter": "dateTime"
      },
      {
        "field": "modifiedAt",
        "displayName": "tables.MODIFIED_TIME",
        "enableFiltering": false,
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellFilter": "dateTime"
      },
      {
        "field": "modifiedBy",
        "displayName": "tables.MODIFIED_BY",
        "enableFiltering": false,
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellFilter": "EmptyFilter"
      },
      {
        "field": "description",
        "displayName": "tables.DESC",
        "visible": false,
        "minWidth": 100,
        "cellFilter": "EmptyFilter",
        "width": 200,
        "cellTooltip": true,
        "headerCellFilter": "i18n"
      },
      {
        "field": "editor",
        "displayName": "tables.EDITED_BY",
        "cellTemplate": "<div class=\"ui-grid-cell-contents\"><span ng-if=\"row.entity.editor\">{{row.entity.editor}} <label class=\"label label-primary\">({{row.entity.editorRole | role }})</label></span><span ng-if=\"!row.entity.editor\"> - </span></div>",
        "enableFiltering": false,
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellFilter": "EmptyFilter"
      }
    ],
    "visit_schedules_list": [
      {
        "field": "rosterName",
        "filter": {
          "term": ""
        },
        "sort": {
          "direction": "asc",
          "priority": 1
        },
        "minWidth": 150,
        "displayName": "Name",
        "enableFiltering": false
      },
      {
        "field": "job.jobName",
        "filter": {
          "term": ""
        },
        "minWidth": 100,
        "displayName": "Scenario",
        "enableFiltering": false
      },
      {
        "field": "schedule",
        "filter": {
          "term": ""
        },
        "minWidth": 100,
        "enableFiltering": false,
        "displayName": "Days of week",
        "cellFilter": "selectedWeekDays",
        "cellTemplate": "<div class=\"ui-grid-cell-contents\" title=\"{{row.entity.schedule | selectedWeekDays}}\">{{row.entity.schedule | selectedWeekDays}}</div>"
      },
      {
        "field": "startDate",
        "filter": {
          "term": ""
        },
        "minWidth": 100,
        "enableFiltering": false,
        "displayName": "Start date",
        "cellFilter": "dateFilterWithoutUTCScheduleDate"
      },
      {
        "field": "endDate",
        "filter": {
          "term": ""
        },
        "minWidth": 100,
        "enableFiltering": false,
        "displayName": "End date",
        "cellFilter": "dateFilterWithoutUTCScheduleDate"
      },
      {
        "field": "task.startTimeSeconds",
        "filter": {
          "term": ""
        },
        "minWidth": 100,
        "enableFiltering": false,
        "displayName": "Appointments start at",
        "cellFilter": "shiftTime"
      },
      {
        "field": "task.endTimeSeconds",
        "filter": {
          "term": ""
        },
        "minWidth": 100,
        "enableFiltering": false,
        "displayName": "Appointments end at",
        "cellFilter": "shiftTime"
      }
    ],
    "visit_jobs_list": [
      {
      "field": "jobName",
      "filter": {
        "term": ""
      },
      "minWidth": 150,
      "displayName": "Visit Purpose",
      "enableFiltering": false
    },
      {
        "field": "jobDescription",
        "filter": {
          "term": ""
        },
        "minWidth": 150,
        "displayName": "Description",
        "enableFiltering": false
      },
      {
        "field": "publicAccessible",
        "filter": {
          "term": ""
        },
        "minWidth": 100,
        "enableFiltering": false,
        "displayName": "Remote accessibility",
        "cellTemplate": "<div class=\"{{row.entity.publicAccessible | enable }} ui-grid-cell-contents left-align\">{{row.entity.publicAccessible ? \"Enabled\" : \"Disabled\"}}</div>"
      },
      {
        "field": "autoSchedule",
        "filter": {
          "term": ""
        },
        "minWidth": 100,
        "enableFiltering": false,
        "displayName": "Auto approval",
        "cellTemplate": "<div class=\"{{row.entity.autoSchedule | enable }} ui-grid-cell-contents left-align\">{{row.entity.autoSchedule ? \"Enabled\" : \"Disabled\"}}</div>"
      },
      {
        "field": "kioskAccessible",
        "filter": {
          "term": ""
        },
        "minWidth": 100,
        "enableFiltering": false,
        "displayName": "Kiosk accessibility",
        "cellTemplate": "<div class=\"{{row.entity.kioskAccessible | enable }} ui-grid-cell-contents left-align\">{{row.entity.kioskAccessible ? \"Enabled\" : \"Disabled\"}}</div>",
        "visible": false
      }],
    "license_devices_list": [
      {
        "field": "description",
        "minWidth": 150,
        "displayName": "tables.DESC",
        "headerCellFilter": "i18n"
      },
      {
        "field": "application",
        "minWidth": 150,
        "displayName": "tables.APPLICATION",
        "headerCellFilter": "i18n",
        "cellFilter": "NCheckClientName"
      },
      {
        "field": "blocked",
        "displayName": "tables.BLOCKED",
        "cellFilter": "true_false",
        "minWidth": 80,
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "assigned", "displayName": "tables.ASSIGNED_TO", "enableFiltering": false, "minWidth": 100, "headerCellFilter": "i18n"
      },
      {
        "field": "lastUpdated",
        "displayName": "tables.LAST_UPDATED",
        "enableFiltering": false,
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "cellFilter": "dateTimeBrowserTz"
      },
      {
        "field": "deviceId",
        "filter": {"term": ""},
        "minWidth": 150,
        "enableFiltering": false,
        "displayName": "Options",
        "cellTemplate": "<div style=\"padding: 5px;text-align: center;\"><button class=\"btn btn-xs btn-warning\" ng-click=\"grid.appScope.unregisterLicense(row.entity)\">Unregister</button> </div>"
      },
      {
        "field": "license",
        "displayName": "tables.LICENSED",
        "cellFilter": "true_false",
        "enableFiltering": false,
        "minWidth": 100,
        "headerCellFilter": "i18n",
        "visible": false
      },
      {
        "field": "createdAt",
        "displayName": "tables.CREATED_TIME",
        "enableFiltering": false,
        "minWidth": 150,
        "headerCellFilter": "i18n",
        "visible": false,
        "cellFilter": "dateTimeBrowserTz"
      }
    ],
    "designations_list": [
      { "field": "designationName", "displayName": "tables.NAME", "minWidth": 100, "headerCellFilter": "i18n" },
      { "field": "description", "displayName": "tables.DESC", "minWidth": 100, "headerCellFilter": "i18n" },
      {
        "field": "id",
        "filter": {
          "term": ""
        },
        "minWidth": 150,
        "enableFiltering": false,
        "displayName": "Options",
        "cellTemplate": "<div style=\"padding: 5px;text-align: center;\"><button class=\"btn btn-xs btn-info\" ng-click=\"grid.appScope.newDesignation('edit', row.entity)\">Edit</button> <button class=\"btn btn-xs btn-danger\" ng-click=\"grid.appScope.deleteDesignation(row.entity)\">Delete</button></div>"
      },
      { "field": "createdAt", "displayName": "tables.CREATED_TIME", "minWidth": 150, "headerCellFilter": "i18n", "visible": false, "cellFilter": "dateTime", "enableFiltering": false },
      { "field": "modifiedAt", "displayName": "tables.MODIFIED_TIME", "minWidth": 150, "headerCellFilter": "i18n", "visible": false, "cellFilter": "dateTime", "enableFiltering": false }
    ],
    "licenses_list": [
      { "field": "license.description", "displayName": "tables.DESC", "minWidth": 100, "headerCellFilter": "i18n" },
      { "field": "license.enabled", "displayName": "tables.ENABLED", "minWidth": 60, "headerCellFilter": "i18n",
        "cellTemplate": "<div class=\"{{row.entity.license.enabled | enable }} padding-5 center\" title=\"{{row.entity.license.enabled ? 'License enabled' : 'License disabled'}}\"><i class=\"fa-2x {{row.entity.license.enabled | enable_disable}}\"></i></div>"
      },
      { "field": "count", "displayName": "tables.CURRENT_ACTIVATIONS", "minWidth": 100, "headerCellFilter": "i18n", "enableFiltering": false },
      { "field": "license.maxActivations", "displayName": "tables.MAX_ACTIVATIONS", "minWidth": 100, "headerCellFilter": "i18n", "enableFiltering": false },
      { "field": "license.expireDate", "displayName": "tables.EXPIRY", "minWidth": 150, "headerCellFilter": "i18n", "cellFilter": "dateTime", "enableFiltering": false },
      {
        "field": "license.licenseId",
        "filter": {"term": ""},
        "minWidth": 250,
        "enableFiltering": false,
        "displayName": "Options",
        "cellTemplate": "<div style=\"padding: 5px;text-align: center;\"><button class=\"btn btn-xs btn-warning\" ng-click=\"grid.appScope.showDevices(row.entity)\">Show Devices</button> <button class=\"btn btn-xs btn-info\" ng-click=\"grid.appScope.createLicense('edit', row.entity)\">Edit</button> <button class=\"btn btn-xs btn-danger\" ng-click=\"grid.appScope.deleteLicense(row.entity)\">Delete</button></div>"
      },
      { "field": "license.createdAt", "displayName": "tables.CREATED_TIME", "minWidth": 150, "headerCellFilter": "i18n", "visible": false, "cellFilter": "dateTime", "enableFiltering": false },
      { "field": "license.modifiedAt", "displayName": "tables.MODIFIED_TIME", "minWidth": 150, "headerCellFilter": "i18n", "visible": false, "cellFilter": "dateTime", "enableFiltering": false }
    ]
  }
}