diff --git a/inventory_provider/routes/map.py b/inventory_provider/routes/map.py
index 9029e61a4b073fa0172b0d1cd7dab08bade649b1..ad4a3821ee987c4218be72c2e0ccea43289f5d03 100644
--- a/inventory_provider/routes/map.py
+++ b/inventory_provider/routes/map.py
@@ -19,70 +19,18 @@ static inventory information relevant to maps.
 .. autofunction:: inventory_provider.routes.map.equipment
 
 
-/map/services/<service-type>
----------------------------------
-
-.. autofunction:: inventory_provider.routes.map.services
-
-
-/map/service-types
----------------------------------
-
-.. autofunction:: inventory_provider.routes.map.service_types
-
 """
 import json
 import logging
-import re
 
-from flask import Blueprint, Response, request, jsonify
+from flask import Blueprint, jsonify
 import jsonschema
 
 from inventory_provider.routes import common
-from inventory_provider.routes import msr
 
 logger = logging.getLogger(__name__)
 routes = Blueprint('map-support-routes', __name__)
 
-
-SERVICE_LIST_SCHEMA = {
-    '$schema': 'https://json-schema.org/draft/2020-12/schema',
-
-    'definitions': {
-        'service': {
-            'type': 'object',
-            'properties': {
-                'sid': {'type': 'string'},
-                'name': {'type': 'string'},
-                'type': {'type': 'string'},
-                'pops': {
-                    'type': 'array',
-                    'items': {'type': 'string'}
-                },
-                'overlays': {
-                    'type': 'object',
-                    'properties': {
-                        'speed': {'type': 'number'},
-                    }
-                },
-            },
-            'required': ['sid', 'name', 'type', 'pops', 'overlays'],
-            'additionalProperties': False
-        },
-    },
-
-    'type': 'array',
-    'items': {'$ref': '#/definitions/service'}
-}
-
-
-SERVICE_TYPE_LIST_SCHEMA = {
-    '$schema': 'https://json-schema.org/draft/2020-12/schema',
-    'type': 'array',
-    'items': {'type': 'string'}
-}
-
-
 EQUIPMENT_LIST_SCHEMA = {
     '$schema': 'https://json-schema.org/draft/2020-12/schema',
 
@@ -127,127 +75,6 @@ POP_LIST_SCHEMA = {
 }
 
 
-def _load_all_services():
-
-    r = common.get_current_redis()
-    equipment_list = json.loads(r.get('ims:map:equipment').decode('utf-8'))
-    equipment_dict = {_x['name']: _x for _x in equipment_list}
-
-    def _operational(s):
-        return s["status"].lower() == "operational"
-
-    def _hostname_to_equipment(_hn):
-        m = re.match(r'^(.+)\.geant\.net$', _hn)
-        if not m:
-            logger.error(f'unexpected hostname pattern: {_hn}')
-            return '?'
-        return m.group(1).upper()
-
-    def _endpoint_to_pop(_endpoint: dict[str, str]) -> str:
-
-        if 'hostname' in _endpoint:
-            eq_name = _hostname_to_equipment(_endpoint['hostname'])
-        elif 'equipment' in _endpoint:
-            eq_name = _endpoint['equipment']
-        else:
-            logger.error(f'no equipment or hostname in endpoint: {_endpoint}')
-            return '?'
-
-        if eq_name not in equipment_dict:
-            # TODO: is this really possible if all data is read from IMS at the same time?
-            logger.error(f"unknown endpoint equipment: {eq_name}")
-            return '?'
-
-        return equipment_dict[eq_name]['pop']
-
-    def _reformat_service(s):
-        _pops = map(_endpoint_to_pop, s["endpoints"])
-        return {
-            "name": s["name"],
-            "pops": list(_pops),
-            "sid": s["sid"],
-            "type": s["service_type"],
-            "overlays": {
-                "speed": s["speed"],
-            }
-        }
-
-    cache_key_all_services = "classifier-cache:map:services"
-
-    all_map_service_info = common._ignore_cache_or_retrieve(request, cache_key_all_services, r)
-    if all_map_service_info:
-        all_map_service_info = json.loads(all_map_service_info)
-    else:
-        msr_services = filter(_operational, msr.load_all_msr_services())
-        all_map_service_info = map(_reformat_service, msr_services)
-        all_map_service_info = list(all_map_service_info)
-        r.set(cache_key_all_services, json.dumps(all_map_service_info))
-
-    return all_map_service_info
-
-
-@routes.route("/services", methods=['GET'])
-@routes.route('/services/<service_type>', methods=['GET'])
-@common.require_accepts_json
-def services(service_type=None):
-    """
-    Handler for `/map/services` and
-    `/map/services/<service_type>`
-    which returns information for either all services
-    or those of a specific service type.
-
-    This endpoint is used by the mapping-provider to get
-    static information about all operationalservices.
-
-    .. asjson::
-       inventory_provider.routes.map.SERVICE_LIST_SCHEMA
-
-    :param service_type: optional filter on service name
-    :return: list of services
-    """
-
-    result = _load_all_services()
-
-    if service_type:
-        result = [s for s in result if s["type"] == service_type]
-
-    if not result:
-        message = f'no {service_type} services found' \
-            if service_type else 'no services found'
-        return Response(
-            response=message,
-            status=404,
-            mimetype='text/html')
-
-    return jsonify(result)
-
-
-@routes.route("/service-types", methods=['GET'])
-@common.require_accepts_json
-def service_types():
-    """
-    Handler for `/map/service-types` which returns
-    all known operationalservice types in the network
-
-    This endpoint is used by the mapping-provider to get
-    static information about all operationalservices.
-
-    .. asjson::
-       inventory_provider.routes.map.SERVICE_LIST_SCHEMA
-
-    :return: list of service types
-    """
-    service_types = set([s["type"] for s in _load_all_services()])
-
-    if not service_types:
-        return Response(
-            response='no service types found',
-            status=404,
-            mimetype='text/html')
-
-    return jsonify(list(service_types))
-
-
 @routes.route("/equipment", methods=['GET'])
 @common.require_accepts_json
 def equipment(service_type=None):
diff --git a/test/test_map_routes.py b/test/test_map_routes.py
index 0e6b141dd3793fe865bfe0f3f2971d0a6fd67b6a..cfc8237d5a018a0f52d75af435e53b0c94848be9 100644
--- a/test/test_map_routes.py
+++ b/test/test_map_routes.py
@@ -1,51 +1,9 @@
 import json
 import jsonschema
 
-import pytest
-
 from inventory_provider.routes import map
 
 
-def test_get_all_services(client):
-    rv = client.get(
-        '/map/services',
-        headers={'Accept': ['application/json']})
-    assert rv.status_code == 200
-    assert rv.is_json
-    response_data = json.loads(rv.data.decode('utf-8'))
-    jsonschema.validate(response_data, map.SERVICE_LIST_SCHEMA)
-    assert response_data  # test data is non-empty
-
-
-@pytest.mark.parametrize(
-        'service_type', [
-            'ETHERNET',
-            'IP TRUNK',
-            'GEANT IP',
-            'IP PEERING - R&E'])
-def test_get_services_by_type(client, service_type):
-    rv = client.get(
-        f'/map/services/{service_type}',
-        headers={'Accept': ['application/json']})
-    assert rv.status_code == 200
-    assert rv.is_json
-    response_data = json.loads(rv.data.decode('utf-8'))
-    jsonschema.validate(response_data, map.SERVICE_LIST_SCHEMA)
-    assert response_data  # test data is non-empty
-
-
-def test_get_service_types(client):
-    rv = client.get(
-        '/map/service-types',
-        headers={'Accept': ['application/json']})
-    assert rv.status_code == 200
-    assert rv.is_json
-    response_data = json.loads(rv.data.decode('utf-8'))
-    jsonschema.validate(response_data, map.SERVICE_TYPE_LIST_SCHEMA)
-    assert response_data  # test data is non-empty
-    print(json.dumps(response_data, indent=2))
-
-
 def test_get_equipment(client):
     rv = client.get(
         '/map/equipment',