--- /dev/null
+package org.simantics.district.route;
+
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+
+/**
+ * @author Tuukka Lehtonen
+ */
+public interface RouteService {
+
+ void addListener(RouteServiceListener l);
+
+ void removeListener(RouteServiceListener l);
+
+ Route createRoute(String name, Object backendModelEntity);
+
+ void registerRoute(Route route);
+
+ CompletableFuture<Route> persistRoute(Route route);
+
+ CompletableFuture<?> discardRoute(Route route);
+
+ List<Route> listRoutes();
+
+ void registerRouter(Router router);
+
+ void unregisterRouter(Router router);
+
+ List<Router> routers();
+
+}