Code Monkey home page Code Monkey logo

vvo's Introduction

🚏VVO

This is a list of API endpoints, libraries, apps, tools and anything else that's available to access data in the Verkehrsverbund Oberelbe network. This includes the Dresdner Verkehrsbetriebe.

This document is inspired by derhuerst/vbb-modules.

Got any more info, details, links? Please don't hesitate to open an issue and/or PR 🙃

Static Data

APIs

  • Widgets
  • WebAPI
    • New API used by the mobile page (and therefore the official app)
    • No known official documentation
    • See documentation/webapi for reverse-engineered docs
  • EFA
    • "Classic" interface for trip requests
    • No known (public) documentation (yet?)
  • Trias or here
    • Brand new and still in the process of being implemented afaik
    • "Documentation" v1.1 or v1.2
  • DVB WebDFI
    • Closed access
    • For web-based departure monitors
    • See #3 for some more information
    • No known (public) documentation (yet?)
  • DVB Maps App
    • POI search and reverse geocoding
    • No known (public) documentation (yet?)

Libraries

Client libraries for various languages, sorted in no particular order. Although the names are specific to the DVB, most if not all of them are compatible with everything in the VVO network.

To make it more obvious which lib support which features, here's a nifty table.

JavaScript Python Haskell Swift Java Ruby Go Rust
Find stops via name
Find stops via coords
Departure Monitor
Routing
Reverse Geocoding
POI Search
Route Changes
Supported Lines
Route Map Location
Used API A, E, D W, E, D W, E A A W W W

W: Widgets, E: EFA, A: WebAPI, D: DVBApps

Other

Apps

Mobile apps known and used in Dresden.

Tools, UIs & Experiments

vvo's People

Contributors

andiikaa avatar dirkonet avatar fnep avatar hannsadrian avatar kiliankoe avatar lucasvog avatar meikatz avatar pabra avatar philippmatthes avatar rtwalz avatar vdenisyuk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vvo's Issues

Feature Comparison

Could we have a comparison table that shows which API Endpoints are supported?

Is there some possibility to get show "Steig" and Delay information?

First of all, thanks for collecting all information about public APIs to access DVB information. Some things I would like to be able to query (I am using your dvbjs) would be:

  • Get information on the "Steig" similar to what the VVO Abfahrsauskunft ist showing
  • Get information on the Delay (+X and -X) times also shown in VVO Abfahrsauskunft with red/green colors.

Do you have any idea if this is already possible via the vvo-online.de API?

Delays are removed when custom time is submitted

I recently came across weird behaviour when I experimented with the WebAPI Departures:
If the time parameter is given, no delays are shown, even if the time parameter includes current date and time.
At first I tought that is what the shorttermchanges parameter was made for, but setting it to true didn't change the result at all.
Any ideas how to include delays?

Missing documentation on direct DFI-base API by DVB through http://dfi.dvb.de/

Since a while the DVB is directly providing a WebDFI-based API to allow to show an own web view of a certain station. For example, see here:

https://www.dvb.de/de-de/service/geschaeftskunden/abfahrtsmonitor/

While this WebDFI based solution is usually individually targeted to a certain user (you have to directly register with the DVB) there are certain things in this WebDFI API that can be used to query more information than the current vvo-online.de API allows to extract.

For example, the following view shows a web view of the "Ullersdorfer Platz" Station:

http://dfi.dvb.de/Dfi/Index?hash=8B8AD2D309A9FF86EDA86E346C132F1C

After some short reverse engineering one can actually query the direct data using the following URL:

http://dfi.dvb.de/Dfi/Departures?hash=8B8AD2D309A9FF86EDA86E346C132F1C&stopid=678

This actually returns a similar data array like the vvo-online.de query but with e.g. showing the "Steig" like I mentioned in ticket #2.

One further but trivial URL query (the current time reference) can be queried like this:

http://dfi.dvb.de/Dfi/GetTime

The question of course remains now if this DFI based API might be of any greater use for this project?!? At least I feel we should document its existence.

Trip Details

Hello and thank you for this great project.

I want to add some documentation for a request I just found useful. Unfortunately there seems to be no good way to contribute to the wiki. Would be better to have this as markdown files in the repo. Anyway now as an issue.

-> https://github.com/kiliankoe/vvo/wiki/WebAPI

Trip Details

Get the details about the stations involved in a particular trip.

Request

POST https://webapi.vvo-online.de/dm/trip

JSON Body:

Name Type Description Required
tripid String The "id" received from the departure monitor (Departures[*]. Id). Yes
time String The current time as unix timestamp plus timezone. Has to be in the future. Most likely from a departure monitor response (Departures[*]. RealTime / Departures[*]. ScheduledTime). Yes
stopid String ID of a stop in the route. This stop will be marked with Position=Current in the response. Yes
mapdata Bool Unknown. Seems to have no effect. No
curl -X "POST" "https://webapi.vvo-online.de/dm/trip" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "tripid": "71313709",
  "time": "/Date(1512563081000+0100)/",
  "stopid": "33000077"
}'

Response

{
  "Stops": [
    ...
    {
      "Id": "33000076",
      "Place": "Dresden",
      "Name": "Laibacher Straße",
      "Position": "Previous",
      "Platform": {
        "Name": "2",
        "Type": "Platform"
      },
      "Time": "\/Date(1512563021000+0100)\/"
    },
    {
      "Id": "33000077",
      "Place": "Dresden",
      "Name": "Großglocknerstraße",
      "Position": "Current",
      "Platform": {
        "Name": "2",
        "Type": "Platform"
      },
      "Time": "\/Date(1512563081000+0100)\/"
    },
    {
      "Id": "33000078",
      "Place": "Dresden",
      "Name": "Friedhof Leuben",
      "Position": "Next",
      "Platform": {
        "Name": "2",
        "Type": "Platform"
      },
      "Time": "\/Date(1512563141000+0100)\/"
    },
    ...
  ],
  "Status": {
    "Code": "Ok"
  },
  "ExpirationTime": "\/Date(1512565171371+0100)\/"
}

Umlaute werden Fehlerhaft angezeigt

Hey,
ich habe Folgendes Problem:

import dvb
import json
import sys  

stop = 'Busbahnhof Deuben'
time_offset = 0 # how many minutes in the future, 0 for now
num_results = 5
city = 'Dresden'

obj = dvb.monitor(stop, time_offset, num_results, city)
print(unicode(obj))

Gibt mir:
[{'arrival': 0, 'line': u'B', 'direction': u'Lockwitz'}, {'arrival': 7, 'line': u'A', 'direction': u'L\xf6btau'}, {'arrival': 11, 'line': u'D', 'direction': u'Bannewitz'}, {'arrival': 12, 'line': u'S 3', 'direction': u'Dresden Hbf'}, {'arrival': 12, 'line': u'F', 'direction': u'Gompitzer H\xf6he'}]

..aus.
Ich hätte aber gerne das die Umlaute normal angezeigt werden können, gibt es hierfür eine Problemlösung? Wäre sehr dankbar. LG & cooles Projekt

Is EFA shut down?

The EFA endpoints were supposed to be shut down at some point and it looks like they're gone now... Is there any way to be sure?

Kontakt zu Faplino Dev?

Hat jemand einen Kontakt zu dem Dev von Faplino? Die APP ist jetzt im play store nicht mehr verfügbar. Ich hab zwar noch eine apk hier rumliegen, aber praktisch ist das nicht. Es wäre schön, wenn er (Markus Dietel) den source code freigeben könnte. Dann wär vielleicht ein F-Droid build drin...

iOS App now released!

Hi Kilian, I just wanted to tell you that the iOS App has launched yesterday. Maybe you want to add it to your readme? 😊

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.