diff --git a/gso/services/resource_manager.py b/gso/services/resource_manager.py
index 6962eefee1315bd069843ecdc1d4b942de944561..b555c7c301a1c9d3445f85c9248d1ce13184679b 100644
--- a/gso/services/resource_manager.py
+++ b/gso/services/resource_manager.py
@@ -16,27 +16,39 @@ class InterfaceAllocationState(Enum):
     ALLOCATED = auto()
 
 
-def _dummy_router_interfaces():
+def _dummy_router_interfaces(site_name) -> dict:
     return {
+        "site": site_name,
         "lags": [],
         "physical": [{"name": f"ifc-{x}", "state": InterfaceAllocationState.AVAILABLE} for x in range(250)],
     }
 
 
+_DUMMY_SITES = {"site-a", "site-b", "site-c"}
+
 _DUMMY_INVENTORY = {
-    "fqdn-a": _dummy_router_interfaces(),
-    "fqdn-b": _dummy_router_interfaces(),
-    "fqdn-c": _dummy_router_interfaces(),
-    "fqdn-d": _dummy_router_interfaces(),
+    "fqdn-a": _dummy_router_interfaces("site-a"),
+    "fqdn-b": _dummy_router_interfaces("site-a"),
+    "fqdn-c": _dummy_router_interfaces("site-b"),
+    "fqdn-d": _dummy_router_interfaces("site-b"),
+    "fqdn-e": _dummy_router_interfaces("site-c"),
+    "fqdn-f": _dummy_router_interfaces("site-c"),
 }
 
 
-def import_new_router(new_router_fqdn: str, oss_params=settings.OSSParams):
+def import_new_site(new_site_name: str, oss_params=settings.OSSParams):
+    # TODO: this is a dummy implementation
+    assert new_site_name not in _DUMMY_SITES
+    _DUMMY_SITES.add(new_site_name)
+
+
+def import_new_router(new_router_fqdn: str, site_name: str, oss_params=settings.OSSParams):
     # TODO: this is a dummy implementation
 
-    # TODO: specifiy if this should be an error (and if now, what it means)
+    # TODO: specify if this should be an error (and if not, what it means)
+    assert site_name in _DUMMY_SITES
     assert new_router_fqdn not in _DUMMY_INVENTORY
-    _DUMMY_INVENTORY[new_router_fqdn] = _dummy_router_interfaces()
+    _DUMMY_INVENTORY[new_router_fqdn] = _dummy_router_interfaces(site_name)
 
 
 def next_lag(router_fqdn: str, oss_params=settings.OSSParams) -> str:
diff --git a/test/test_resource_manager.py b/test/test_resource_manager.py
index 5258f4b80e7f12f85d0d194a7c2df3cbf40e2cc5..37e26fe78cb8b6a1d68702994b824c38c63820aa 100644
--- a/test/test_resource_manager.py
+++ b/test/test_resource_manager.py
@@ -11,10 +11,20 @@ def _random_string(n=None, letters=string.ascii_letters + string.digits + string
     return "".join(random.choices(letters, k=n))  # noqa: S311
 
 
+def test_new_site():
+    site_name = _random_string(10)
+    assert site_name not in resource_manager._DUMMY_SITES
+    resource_manager.import_new_site(new_site_name=site_name)
+    assert site_name in resource_manager._DUMMY_SITES
+
+
 def test_new_router():
+    site_name = _random_string(10)
+    resource_manager.import_new_site(new_site_name=site_name)
+
     router_name = _random_string(10)
     assert router_name not in resource_manager._DUMMY_INVENTORY
-    resource_manager.import_new_router(new_router_fqdn=router_name)
+    resource_manager.import_new_router(new_router_fqdn=router_name, site_name=site_name)
     assert router_name in resource_manager._DUMMY_INVENTORY