diff --git a/inventory_provider/routes/poller.py b/inventory_provider/routes/poller.py
index 199047fd717cc022d9989914fe6d3c7a21a47328..ef6d352890064473feed8fa5ceb80d1042cd0ca8 100644
--- a/inventory_provider/routes/poller.py
+++ b/inventory_provider/routes/poller.py
@@ -75,6 +75,13 @@ routes = Blueprint('poller-support-routes', __name__)
 Gb = 1 << 30
 
 
+class INTERFACE_TYPES(Enum):
+    UNKNOWN = auto()
+    LOGICAL = auto()
+    PHYSICAL = auto()
+    AGGREGATE = auto()
+
+
 class BRIAN_DASHBOARDS(Enum):
     CLS = auto()
     RE_PEER = auto()
@@ -106,6 +113,8 @@ class BRIAN_DASHBOARDS(Enum):
 # only used in INTERFACE_LIST_SCHEMA and sphinx docs
 _DASHBOARD_IDS = [d.name for d in list(BRIAN_DASHBOARDS)]
 
+_INTERFACE_TYPES = [i.name for i in list(INTERFACE_TYPES)]
+
 INTERFACE_LIST_SCHEMA = {
     '$schema': 'http://json-schema.org/draft-07/schema#',
 
@@ -146,6 +155,13 @@ INTERFACE_LIST_SCHEMA = {
                 'dashboards': {
                     'type': 'array',
                     'items': {'enum': _DASHBOARD_IDS}
+                },
+                'dashboard_info': {
+                    'type': 'object',
+                    'properties': {
+                        'name': {'type': 'string'},
+                        'interface_type': {'enum': _INTERFACE_TYPES}
+                    }
                 }
             },
             'required': [
@@ -374,7 +390,7 @@ def _get_dashboards(interface):
         yield BRIAN_DASHBOARDS.IAS_UPSTREAM
     if 'SRV_GLOBAL RE_INTERCONNECT' in description:
         yield BRIAN_DASHBOARDS.RE_PEER
-    if re.match('(PHY|LAG|SRV_GLOBAL) CUSTOMER', description):
+    if re.match(r'(PHY|LAG|SRV_GLOBAL) CUSTOMER', description):
         yield BRIAN_DASHBOARDS.RE_CUST
     if re.match('^SRV_GCS', description):
         yield BRIAN_DASHBOARDS.GCS
@@ -405,6 +421,43 @@ def _get_dashboards(interface):
         yield BRIAN_DASHBOARDS.NREN
 
 
+def _get_interface_type(interface):
+    description = interface.get('description', '').strip()
+    if re.match(r'^PHY', description):
+        return INTERFACE_TYPES.PHYSICAL
+    if re.match(r'^SRV_', description):
+        return INTERFACE_TYPES.LOGICAL
+    if re.match(r'^LAG', description):
+        return INTERFACE_TYPES.AGGREGATE
+
+    return INTERFACE_TYPES.UNKNOWN
+
+
+def _get_dashboard_data(ifc):
+    interface_type = _get_interface_type(ifc)
+
+    description = ifc.get('description', '').strip()
+    dashboards = ifc.get('dashboards', [])
+
+    if len(dashboards) == 0:
+        return ifc
+
+    if BRIAN_DASHBOARDS.INFRASTRUCTURE_BACKBONE.name in dashboards:
+        name = description.split('|')
+        name = name[1].strip()
+        name = name.replace('( ', '(')
+    else:
+        name = description.split(' ')[2].upper()
+
+    return {
+        **ifc,
+        'dashboard_info': {
+            'name': name,
+            'interface_type': interface_type.name
+        }
+    }
+
+
 def _add_dashboards(interfaces):
     """
     generator that dashboards to each interfaces.
@@ -416,7 +469,7 @@ def _add_dashboards(interfaces):
     for ifc in interfaces:
         dashboards = _get_dashboards(ifc)
         ifc['dashboards'] = sorted([d.name for d in dashboards])
-        yield ifc
+        yield _get_dashboard_data(ifc)
 
 
 def _load_interface_bundles(hostname=None):
diff --git a/test/test_general_poller_routes.py b/test/test_general_poller_routes.py
index 4e5e922621b916f86fd6057e2670daf551f234cc..7370c36cc0a2d1a1300e02f87f1c7a535a4d2e9d 100644
--- a/test/test_general_poller_routes.py
+++ b/test/test_general_poller_routes.py
@@ -254,3 +254,64 @@ def test_interface_dashboard_mapping(description, expected_dashboards):
     dashboards = poller._get_dashboards(interface)
     dashboards = [d.name for d in dashboards]
     assert set(list(dashboards)) == set(expected_dashboards)
+
+
+@pytest.mark.parametrize('interface,dashboard_info', [
+    ({
+        'description': 'SRV_IAS CUSTOMER JISC #JISC-AP1-IAS IASPS | ASN786',
+        'dashboards': ['IAS_CUSTOMER', 'NREN']
+    }, {'name': 'JISC', 'interface_type': 'LOGICAL'}),
+    ({
+        'description': 'SRV_L2CIRCUIT CUSTOMER JISC JISC #DUB-LON-NRENBBEXT-JANET-13015 | backup for niran ',  # noqa: E501
+        'dashboards': ['L2_CIRCUIT']
+    }, {'name': 'JISC', 'interface_type': 'LOGICAL'}),
+    ({
+        'description': 'SRV_L3VPN CUSTOMER EENET #EENET-AP2-LHCONE | ASN3221',
+        'dashboards': ['LHCONE', 'LHCONE_CUST', 'NREN']
+    }, {'name': 'EENET', 'interface_type': 'LOGICAL'}),
+    ({
+        'description': 'SRV_IAS PRIVATE OPTIMA-TELEKOM #HR-EduZone | For Eduzone',  # noqa: E501
+        'dashboards': ['IAS_PEERS', 'IAS_PRIVATE']
+    }, {'name': 'OPTIMA-TELEKOM', 'interface_type': 'LOGICAL'}),
+    ({
+        'description': 'SRV_CLS PRIVATE AWS #AT-AWS-CLS|ASN16509 | ',
+        'dashboards': ['CLS', 'CLS_PEERS']
+    }, {'name': 'AWS', 'interface_type': 'LOGICAL'}),
+    ({
+        'description': 'SRV_IAS PUBLIC MIX #IX_Peerings_in_MIX |',
+        'dashboards': ['IAS_PEERS', 'IAS_PUBLIC']
+    }, {'name': 'MIX', 'interface_type': 'LOGICAL'}),
+    ({
+        'description': 'LAG INFRASTRUCTURE BACKBONE SRF0000001 | bil-por',
+        'dashboards': ['INFRASTRUCTURE_BACKBONE']
+    }, {'name': 'bil-por', 'interface_type': 'AGGREGATE'}),
+    ({
+        'description': 'SRV_GCS CUSTOMER FCCN MICROSOFT #FCCN_NoveSBE_ExpressRoute_Vlan1945  | UNIT CONFIGURATION HAS BEEN SYSTEM GENERATED',  # noqa: E501
+        'dashboards': ['GCS']
+    }, {'name': 'FCCN', 'interface_type': 'LOGICAL'}),
+    ({
+        'description': 'PHY UPSTREAM TELIA SRF9940473 | Telia ID: IC-326863',
+        'dashboards': ['GWS_PHY_UPSTREAM']
+    }, {'name': 'TELIA', 'interface_type': 'PHYSICAL'}),
+    ({
+        'description': 'SRV_IAS UPSTREAM COGENT #COGENT_GWS_VIE | ASN174',
+        'dashboards': ['IAS_UPSTREAM']
+    }, {'name': 'COGENT', 'interface_type': 'LOGICAL'}),
+    ({
+        'description': 'SRV_L3VPN RE_INTERCONNECT CLARA #REDCLARA-LIS-LHCONE | ASN27750',  # noqa: E501
+        'dashboards': ['LHCONE', 'LHCONE_PEER']
+     }, {'name': 'CLARA', 'interface_type': 'LOGICAL'}),
+    ({
+        'description': 'SRV_MDVPN CUSTOMER REDIRIS #RedIRIS_AP1_BGP_LU_CoC_1 | MD VPN CoC-REDIRIS - ',  # noqa: E501
+        'dashboards': ['MDVPN_CUSTOMERS', 'NREN']
+     }, {'name': 'REDIRIS', 'interface_type': 'LOGICAL'}),
+    ({
+        'description': 'SRV_L2CIRCUIT CUSTOMER TENET PSNC #lon-lon-GEANTOPEN-PSNC-TENET-18067 |',  # noqa: E501
+        'dashboards': ['GEANTOPEN', 'L2_CIRCUIT']
+     }, {'name': 'TENET', 'interface_type': 'LOGICAL'}),
+])
+def test_description_dashboard_parsing(interface, dashboard_info):
+
+    updated = poller._get_dashboard_data(interface)
+    info = updated['dashboard_info']
+    assert info == dashboard_info