Awesome-openclaw-skills anachb
Austrian public transport (VOR AnachB) for all of Austria. Query real-time departures, search stations/stops, plan routes between locations, and check service disruptions. Use when asking about Austrian trains, buses, trams, metro (U-Bahn), or directions involving public transport in Austria.
git clone https://github.com/sundial-org/awesome-openclaw-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/anachb" ~/.claude/skills/sundial-org-awesome-openclaw-skills-anachb && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/anachb" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-anachb && rm -rf "$T"
skills/anachb/SKILL.mdVOR AnachB - Austrian Public Transport API
Query Austrian public transport for real-time departures, route planning, and service disruptions using the HAFAS API.
Quick Reference
| Script | Purpose |
|---|---|
| Find stations/stops by name |
| Real-time departures at a station |
| Plan a trip between two locations |
| Current service disruptions |
API: HAFAS (Hacon Fahrplan-Auskunfts-System)
Endpoint:
https://vao.demo.hafas.de/gate
1. Search Stations/Stops
Find station IDs by name:
./search.sh "Stephansplatz" ./search.sh "Wien Hauptbahnhof" ./search.sh "Linz" ./search.sh "Salzburg Hbf"
Returns station names, IDs (extId), and coordinates.
Response fields:
: Station namename
: Station ID for use in other queriesextId
: S (Station), A (Address), P (POI)type
: WGS84 coordinates (lon/lat in 1e-6 format)coordinates
2. Real-Time Departures
Get next departures from a station:
./departures.sh <station-id> [count] # Examples: ./departures.sh 490132000 # Wien Stephansplatz, 10 departures ./departures.sh 490132000 20 # Wien Stephansplatz, 20 departures ./departures.sh 490060200 # Wien Hauptbahnhof ./departures.sh 444130000 # Linz Hbf ./departures.sh 455000100 # Salzburg Hbf
Response fields:
: Line name (U1, S1, RJ, etc.)line
: Final destinationdirection
: Scheduled departure timedeparture
: Delay in minutes (if any)delay
: Platform/track numberplatform
3. Route Planning
Plan a trip between two stations:
./route.sh <from-id> <to-id> [results] # Examples: ./route.sh 490132000 490060200 # Stephansplatz → Hauptbahnhof ./route.sh 490132000 444130000 5 # Wien → Linz, 5 results ./route.sh "Graz Hbf" "Wien Hbf" # Search by name (slower)
Response fields:
: Departure timedeparture
: Arrival timearrival
: Trip durationduration
: Number of transferschanges
: Array of trip segments with line infolegs
4. Disruptions
Check current service disruptions:
./disruptions.sh [category] # Examples: ./disruptions.sh # All disruptions ./disruptions.sh TRAIN # Train disruptions only ./disruptions.sh BUS # Bus disruptions only
Common Station IDs
| Station | ID |
|---|---|
| Wien Stephansplatz | 490132000 |
| Wien Hauptbahnhof | 490134900 |
| Wien Westbahnhof | 490024300 |
| Wien Praterstern | 490056100 |
| Wien Karlsplatz | 490024600 |
| Wien Schwedenplatz | 490119500 |
| Linz Hbf | 444116400 |
| Salzburg Hbf | 455000200 |
| Graz Hbf | 460086000 |
| Innsbruck Hbf | 481070100 |
| Klagenfurt Hbf | 492019500 |
| St. Pölten Hbf | 431543300 |
| Wiener Neustadt Hbf | 430521000 |
| Krems a.d. Donau | 431046400 |
Tip: Always use
./search.sh to find the correct station ID.
Transport Types
| Code | Type |
|---|---|
| ICE/RJ/RJX | High-speed trains |
| IC/EC | InterCity/EuroCity |
| REX/R | Regional Express/Regional |
| S | S-Bahn (suburban rail) |
| U | U-Bahn (Vienna metro) |
| STR | Tram/Straßenbahn |
| BUS | Bus |
| AST | Demand-responsive transport |
API Details (for advanced usage)
The scripts use the HAFAS JSON API. For custom queries:
curl -s -X POST "https://vao.demo.hafas.de/gate" \ -H "Content-Type: application/json" \ -d '{ "svcReqL": [{ "req": { ... }, "meth": "METHOD_NAME", "id": "1|1|" }], "client": {"id": "VAO", "v": "1", "type": "AND", "name": "nextgen"}, "ver": "1.73", "lang": "de", "auth": {"aid": "nextgen", "type": "AID"} }'
Available methods:
- Location/station searchLocMatch
- Departures/arrivalsStationBoard
- Route planningTripSearch
- Disruptions/service messagesHimSearch
- Details of a specific journeyJourneyDetails
Tips
-
Find station IDs first: Always use
to find the correct station ID before querying departures or routes.search.sh -
Station vs Stop: Major stations have multiple platforms - the main station ID covers all platforms.
-
Real-time data: Departures include real-time delays when available.
-
Austria-wide: This API covers all Austrian public transport, not just Vienna.
-
Cross-border: Some routes extend to neighboring countries (Germany, Czech Republic, etc.).