Innaccuracies in the Darwin timetable XML?

17 views
Skip to first unread message

Edward Hesketh

unread,
May 5, 2026, 4:33:36 PM (10 hours ago) May 5
to A gathering place for the Open Rail Data community
Hello,
I've been developing a program that is based on the Darwin Push Port and timetable feeds, and I think I've encountered an inconsistency in how time-based references work.

For the service with RID 202605057611846 (a caledonian sleeper train), I got an incorrect association entry from the timetable, but a correct association from the Push Port.

I got this schedule from timetable file 20260505020459_v8.xml, note that the entry for EDINBUR (correctly) has only a working departure time:

<Journey rid="202605057611846" uid="L11846" trainId="1A25" ssd="2026-05-05" toc="CS" trainCat="XZ">
    <OPOR tpl="EDINBUR" act="TBN " plat="7" wtd="04:28" />
    <PP tpl="PRNCSTG" wtp="04:29:30" />
    <PP tpl="HAYMRKT" plat="4" wtp="04:31" />
    <PP tpl="HAYMRWJ" wtp="04:32:30" />
    ..... and so on
</Journey>

But in the same timetable, I got this association, which makes reference to a public departure time, which doesn't exist as OPOR entries cannot have public departure times, at least according to the schema.

<Association tiploc="EDINBUR" category="VV">
    <main rid="202605047611879" wta="03:47" wtd="04:20" />
    <assoc rid="202605057611846" wtd="04:28" ptd="04:28" />
</Association>

Then from the Push Port, I got the same correct schedule:
(message ID ID:liv1-dwnpp102-49747-638894340902160133-1:22:1:1:546976605, kafka offset 86411167, sequence number 6976604)

<schedule rid="202605057611846" uid="L11846" trainId="1A25" ssd="2026-05-05" toc="CS" trainCat="XZ">
    <s5:OPOR tpl="EDINBUR" act="TBN " wtd="04:28" />
    <s5:PP tpl="PRNCSTG" wtp="04:29:30" />
    <s5:PP tpl="HAYMRKT" wtp="04:31" />
    <s5:PP tpl="HAYMRWJ" wtp="04:32:30" />
    ... etc
</schedule>

And the correct association!

<association tiploc="EDINBUR" category="VV">
    <s2:main rid="202605047611879" wta="03:47" wtd="04:20" />
    <s2:assoc rid="202605057611846" wtd="04:28" />
</association>

Unfortunately, getting the incorrect association from the timetable is currently causing me some issues.

I'd really appreciate it if someone with more experience with the Push Port could help point me in the right direction on how to deal with this!

Thanks, Edward.

Peter Hicks

unread,
2:41 AM (5 minutes ago) 2:41 AM
to openrail...@googlegroups.com
Hi Edward

I think the answer here is straightforward: ignore the public time on associations and use the WTT time for linking the association record to a point in the timetable.  Every location will have a working time, but not every location will have a public time.

In the CIF, association records point at a TIPLOC (and optional suffix if the train's timed at that location more than once).  Darwin is simplifying this to reference the location by its working time which is arguably easier for a consumer to process and it appears it's also adding a public time on erroneously.

Caledonian Sleeper services are a good test of your code correctness.


Peter


--
You received this message because you are subscribed to the Google Groups "A gathering place for the Open Rail Data community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openraildata-t...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/openraildata-talk/11476bfa-751f-45df-8fbe-37a38057f65bn%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages