fix fahrten route: returns now aggregate of days if single day does not return connection (fromJust)
0.1.8.0: fix phantom stationNr for Berlin Hbf (tief)

heads

tip
browse log
v0.1.8.0
browse .tar.gz

clone

read-only
https://hg.sr.ht/~bwe/sparpreis-api
read/write
ssh://hg@hg.sr.ht/~bwe/sparpreis-api

#sparpreis-api

Warnung: Vorliegende API ist nicht poliert!

Stand: Es fehlt noch einiges, aber sie ist schon einmal ein Anfang.

#Spezifikation

folgende Beispiele brauchen jq

gib mir alle Verbindungen von Hamburg nach München am 20.02.19, nur tagsüber, wenige Umstiege, günstiger Preis curl -H 'Accept: application/json' 'https://bahn.jetzt/fahrten?tag=2019-02-20&vorschau=0&von=Hamburg&nach=München&günstige' -s | jq .

[
  {
    "von": "Hamburg Hbf",
    "nach": "München Hbf",
    "eur": 25.9,
    "dauer": "05:40",
    "datum": "20.02.19",
    "abfahrt": "16:01",
    "ankunft": "21:41",
    "umstiege": 0,
    "via": [],
    "züge": [
      "ICE  883"
    ],
    "buchen": "https://bahn.jetzt/buche?tag=2019-02-20&ab=16:01&von=8002549&nach=8000261&dauer=05:40"
  },
  …
]

dito, erweitert auf 30 Tage Vorschau curl -H 'Accept: application/json' 'https://bahn.jetzt/fahrten?tag=2019-02-20&vorschau=30&von=Hamburg&nach=München&günstige' -s | jq .

[…,
   {
    "von": "Hamburg Hbf",
    "nach": "München Hbf",
    "eur": 19.9,
    "dauer": "05:38",
    "datum": "21.03.19",
    "abfahrt": "10:01",
    "ankunft": "15:39",
    "umstiege": 0,
    "via": [],
    "züge": [
      "ICE  787"
    ],
    "buchen": "https://bahn.jetzt/buche?tag=2019-03-21&ab=10:01&von=8002549&nach=8000261&dauer=05:38"
  }
]

wie vor, jedoch nun mit allen Fahrten curl -H 'Accept: application/json' 'https://bahn.jetzt/fahrten?tag=2019-02-28&vorschau=30&von=Hamburg&nach=München' -s | jq .

[…,
  {
    "von": "Hamburg Hbf",
    "nach": "München Hbf",
    "eur": 29.9,
    "dauer": "05:45",
    "datum": "30.03.19",
    "abfahrt": "09:24",
    "ankunft": "15:09",
    "umstiege": 1,
    "via": [
      "Kassel-Wilhelmshöhe"
    ],
    "züge": [
      "ICE  575",
      "ICE 1223"
    ],
    "buchen": "https://bahn.jetzt/buche?tag=2019-03-30&ab=09:24&von=8002549&nach=8000261&dauer=05:45"
  }
]

gib mir die stationId für München curl -H 'Accept: application/json' 'https://bahn.jetzt/stationId?suche=München' -s | jq .

{
  "bhfNr": 8000261,
  "bhfName": "München Hbf"
}

gib mir die Buchungsseite für die gewählte Verbindung curl -H 'Accept: application/json' 'https://bahn.jetzt/buche?tag=2019-03-30&ab=09:24&von=8002549&nach=8000261&dauer=05:45' -s -L

dito curl -H 'Accept: application/json' 'https://bahn.jetzt/buche?tag=2019-03-30&ab=09:24&von=Hamburg&nach=München&dauer=05:45' -s -L

gib mir alle Fahrten für die Verbindung, die in die Preisspanne fallen (für die Links von https://bahn.jetzt/chart/Hamburg/München/14) curl -H 'Accept: application/json' 'https://bahn.jetzt/preisSpanne?tag=2019-03-30&vorschau=1&von=Hamburg&nach=München&untererPreis=90&obererPreis=90' -s | jq .

    […,
      {
        "von": "Hamburg Hbf",
        "nach": "München Hbf",
        "eur": 89.9,
        "dauer": "05:40",
        "datum": "31.03.19",
        "abfahrt": "11:01",
        "ankunft": "16:41",
        "umstiege": 0,
        "via": [],
        "züge": [
          "ICE  587"
        ],
        "buchen": "https://bahn.jetzt/buche?tag=2019-03-31&ab=11:01&von=8002549&nach=8000261&dauer=05:40"
      }
    ]