diff --git a/parse/departure.js b/parse/departure.js index e8f2d9bf..b074b426 100644 --- a/parse/departure.js +++ b/parse/departure.js @@ -32,7 +32,11 @@ const createParseDeparture = (profile, stations, lines, remarks) => { // see also derhuerst/vbb-rest#19 if (d.stbStop.aCncl || d.stbStop.dCncl) { res.cancelled = true + Object.defineProperty(res, 'canceled', {value: true}) res.when = res.delay = null + + const when = profile.parseDateTime(profile, d.date, d.stbStop.dTimeS) + res.formerScheduledWhen = when.toISO() } return res diff --git a/parse/journey-leg.js b/parse/journey-leg.js index fac9ac44..3c0651bc 100644 --- a/parse/journey-leg.js +++ b/parse/journey-leg.js @@ -75,11 +75,17 @@ const createParseJourneyLeg = (profile, stations, lines, remarks) => { // see also derhuerst/vbb-rest#19 if (pt.arr.aCncl) { res.cancelled = true + Object.defineProperty(res, 'canceled', {value: true}) res.arrival = res.arrivalPlatform = res.arrivalDelay = null + const arr = profile.parseDateTime(profile, j.date, pt.arr.aTimeS) + res.formerScheduledArrival = arr.toISO() } if (pt.dep.dCncl) { res.cancelled = true + Object.defineProperty(res, 'canceled', {value: true}) res.departure = res.departurePlatform = res.departureDelay = null + const dep = profile.parseDateTime(profile, j.date, pt.dep.dTimeS) + res.formerScheduledDeparture = dep.toISO() } return res diff --git a/parse/journey.js b/parse/journey.js index 340991f4..b0a133e9 100644 --- a/parse/journey.js +++ b/parse/journey.js @@ -23,7 +23,16 @@ const createParseJourney = (profile, stations, lines, remarks) => { } if (legs.some(p => p.cancelled)) { res.cancelled = true + Object.defineProperty(res, 'canceled', {value: true}) res.departure = res.arrival = null + + const firstLeg = j.secL[0] + const dep = profile.parseDateTime(profile, j.date, firstLeg.dep.dTimeS) + res.formerScheduledDeparture = dep.toISO() + + const lastLeg = j.secL[j.secL.length - 1] + const arr = profile.parseDateTime(profile, j.date, lastLeg.arr.aTimeS) + res.formerScheduledArrival = arr.toISO() } return res