- Notifications
You must be signed in to change notification settings - Fork6
The Scheduling API is designed to optimize the route of a trip with multiple stops.
License
excell-mobility/scheduling_service
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The Scheduling API is designed to optimize the route of a trip with multiple stops. It offers three endpoints which follow different purposes:
scheduling
finds the best fit for a new appointment into a given schedule of existing appointments (JSON array).schedulingcare
plans the complete schedules for multiple cars. Therefore, it requires a detailed description (JSON) about different client constraints. The service acts as a wrapper forjsprit by Graphhopper.schedulingpickup
is very similar to the care scenario but is designed for pickup and delivery scenarios. The user has to define pickup objects in the JSON input instead of services.
This web service comes as aSpringBoot application so it's very easy to test it on your local machine. If you run the service from inside a Java IDE a Tomcat server will be launched and you can access the service through a browser via localhost:44434.
Internally, the Scheduling Service calls theExCELL Routing API and includes its results into the appointment planning. The user can set up his/her own Routing Service or use the online version on theExCELL Developer Portal. The parameterurl.routingservice
in theapplication.properties
defines which endpoint is used. The URL of the online API is the default setting but it requires a user login which can be configured in theapplication.properties
as well. By default, the token is provided by theExCELL API Gateway. If user authentification is not required change the parameter ofurl.routingservice.auth
tofalse
.
The project is usingMaven as a build tool and for managing the software dependencies. So in order to build the software you should install Maven on your machine. To create an executable JAR file for your local machine open you favourite shell environment and run:
mvn clean package
This creates a JAR file calledtourenplanung-0.0.1-SNAPSHOT.jar
. You can change the name in the pom.xml file.
On your local machine run the JAR with:
java -jar tourenplanung-0.0.1-SNAPSHOT.jar
You might also want to change the server port or the URL to the routing service
java -jar tourenplanung-0.0.1-SNAPSHOT.jar --server.port=44444 --url.routingservice=http://localhost:43434
This projects provides aSwagger interface to support the Open API initiative. The Java librarySpringfox is used to automatically create the swagger UI configuration from annotations in the Java Spring code.
An online version of the scheduling API is available on the ExCELL Developer Portal:Try it out!. You need to sign up first in order to access the services from the portal. Every user receives a token that he/she has to use for authorization for each service.
- Stephan Piper (BHS)
- Felix Kunde (BHS)
- Oguzhan Uyar (BHS)
- Maximilian Allies (BHS)
- fkunde [at] beuth-hochschule.de
The Scheduling Service has been realized within the ExCELL project funded by the Federal Ministry for Economic Affairs and Energy (BMWi) and German Aerospace Center (DLR) - agreement 01MD15001B.
- Graphopper Team
THIS SOFTWARE IS PROVIDED "AS IS" AND "WITH ALL FAULTS."BHS MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THEQUALITY, SAFETY OR SUITABILITY OF THE SKRIPTS, EITHER EXPRESSED ORIMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OFMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
IN NO EVENT WILL BHS BE LIABLE FOR ANY INDIRECT, PUNITIVE, SPECIAL,INCIDENTAL OR CONSEQUENTIAL DAMAGES HOWEVER THEY MAY ARISE AND EVEN IFBHS HAS BEEN PREVIOUSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
About
The Scheduling API is designed to optimize the route of a trip with multiple stops.