Выше в ответе вам уже посоветовали поднять свой инстанс
OSRM.
Это делается очень просто с помощью докера:
https://hub.docker.com/r/osrm/osrm-backend/
OSRM умеет, вроде бы (не успел попрбовать эту возможность), поддерживать дополнительную матрицу для переопределения весов ребер, учитываемых при построении маршрутов. Это обычно используется для учета пробок на дорогах. Рёбра, на которых КПП закрыты, можно опускать в рейтинге так, чтобы OSRM строил через них маршруты только в самую последнюю очередь. Если по какому-то такому ребру таки пjстроен маршрут, значит нормальных путей не нашлось.
OSRM будет брать данные из постгреса, который стоит поднять на другjм контейнере.
Если нужно редактировать данные, можете попробовать
iD.