Install
openclaw skills install hk-gmb-arrivalReal-time arrival information for Hong Kong Green Mini Buses (GMB). Supports fuzzy stop name matching and multi-region route lookup.
openclaw skills install hk-gmb-arrivalGET /route - List all routes grouped by region (HKI, KLN, NT)GET /route/{region}/{route} - Get route details including directions (route_seq) and route_idGET /stop-route/{stop_id} - Get stop names (name_en, name_tc) and the routes serving that stopGET /eta/stop/{stop_id} - Get real-time ETA for all routes at that stopAdditionally, static route data is sourced from:
https://hkbus.github.io/hk-bus-crawling/routeFareList.min.json - Contains mapping from route identifiers to stop ID sequences for GMB (and other operators).Key functions:
searchRoutes(route): Queries /route, finds which regions contain this route number. If none, suggests similar route numbers.get_gmb_arrival(route, direction, stop_name, region):
/route/{region}/{route} to obtain route_id and the direction details (origin/destination names).routeFareList.json to get the ordered list of stop IDs for that direction./stop-route/{stop_id} to retrieve stop names (cached).stop_name (case-insensitive) exactly; if not found, perform fuzzy matching and return suggestions./eta/stop/{stop_id}.route_id and route_seq (direction), extract up to 3 next arrival timestamps, format as "HH:MM HKT".{ "stopId": "...", "stopName": "...", "arrivals": [ "17:35 HKT", ... ] }.routes_all.json: All route list (1 hour)route_details.json: Route details per region/route (5 minutes)routeFareList.json: Static route-to-stop mapping (1 day)stop_names.json: Stop ID to names mapping (1 week)Cache files stored in data/ subdirectory.
error field.found: false with suggestions array.error with suggestions mapping suggestion → stop ID.arrivals array with an informative message.# Search route
python3 gmb_arrival.py searchRoutes 1
# => {"route":"1","found":true,"regions":["HKI","KLN","NT"]}
# Get arrival for route 1 direction 1 (The Peak → Central) at "Hong Kong Station Minibus Terminus" in HKI
python3 gmb_arrival.py getGMBArrival 1 1 "Hong Kong Station Minibus Terminus" HKI
# => {"stopId":"20014492","stopName":"Hong Kong Station Minibus Terminus","arrivals":["14:38 HKT","14:45 HKT","14:52 HKT"]}
route_seq 1 and 2. Use searchRoutes then inspect route details to determine which sequence corresponds to your desired direction, or use getGMBArrival directly if you know the direction number.routeFareList may lag behind official data by up to one day but is generally reliable.