The timeZone property is meant so that the parser can convert any time
to UTC (if the API doesn't already return UTC -- newer APIs do if I
remember right).
Any display time conversion you are meant to do yourself. You can use
the timeZone field for that if you want, if you're aware of this:
Providers that stretch multiple timezones are a problem. Years ago, I
did some tests with
bahn.de spanning multiple timezones (into the east
direction, so Poland, Russia and so on) and the
bahn.de Hafas API seemed
to return German times for all stops of a connection.
Ideally an app would display-time-convert such a connection based on the
timezone of the stops, but so far I cannot find a way to determine the
timezone of a stop. I've never seen any timezone field in any of the APIs.