Inhaltsverzeichnis

Auf der Seite suchen

OJPTripInfoRequest

Kurzbeschreibung 

Mit dem TripInfoRequest können weitere Details zu einer “Journey” (Fahrt) abgefragt werden.

Technische Beschreibung

API-Explorer

Sie können eigene Requests ausprobieren – direkter Link zum API-Explorer.

Request

Die zentrale Information für den TripInfoRequest ist ein ojp:JourneyRef mit ojp:OperatingDayRef – also eine Referenz auf eine ganz bestimmte Journey am einem Kalendertag. Die JourneyRef muss der Response auf eine andere Anfrage (z.B. TripRequest oder StopEventRequest) entnommen werden.

<?xml version="1.0" encoding="UTF-8"?>
<OJP xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns="http://www.siri.org.uk/siri" version="1.0" xmlns:ojp="http://www.vdv.de/ojp" xsi:schemaLocation="http://www.siri.org.uk/siri ../ojp-xsd-v1.0/OJP.xsd">
	<OJPRequest>
		<ServiceRequest>
			<RequestTimestamp>2020-01-20T12:00:00Z</RequestTimestamp>
			<RequestorRef>IRMA</RequestorRef>
			<ojp:OJPTripInfoRequest>
				<RequestTimestamp>2020-01-20T12:00:00Z</RequestTimestamp>
				<MessageIdentifier>756</MessageIdentifier>
				<ojp:JourneyRef>qv1:91011::H:j20:500</ojp:JourneyRef>
				<ojp:OperatingDayRef>2020-01-20</ojp:OperatingDayRef>
				<ojp:Params>
					<ojp:IncludeCalls>true</ojp:IncludeCalls>
					<ojp:IncludePosition>false</ojp:IncludePosition>
					<ojp:IncludeService>true</ojp:IncludeService>
					<ojp:IncludeTrackSections>true</ojp:IncludeTrackSections>
					<ojp:IncludeTrackProjection>true</ojp:IncludeTrackProjection>
				</ojp:Params>
			</ojp:OJPTripInfoRequest>
		</ServiceRequest>
	</OJPRequest>
</OJP>

ElementKardinalitätBeschreibungBeispiel
RequestTimestamp1:1 Timestamp der Anfrage. Bevorzugt in Zulu Time.
<RequestTimestamp>2020-01-20T12:00:00Z</RequestTimestamp>
MessageIdentifier0:1Der Identifier der Meldung. Bevorzugt stetig steigend.
<MessageIdentifier>756</MessageIdentifier>
JourneyRef0:1Referenz auf die Fahrt.

Die Referenz kann über einen TripRequest oder StopEventRequest ermittelt werden.

<ojp:JourneyRef>qv1:91011::H:j20:500</ojp:JourneyRef>

 

OperatingDayRef0:1Im Format YYYY-MM-DD
<ojp:OperatingDayRef>2020-01-20</ojp:OperatingDayRef>

 

siri:VehicleRef0:1n/a

Dieses Feature steht nicht zur Verfügung.

n/a
TimeOfOperation0:1n/a

Dieses Feature steht nicht zur Verfügung.

n/a
Params0:1Weitere Parameter für die Anfrage
Params/UseTimetableDataOnly0:1Soll auf die Echtzeit verzichtet werden? Default is false.
Params/IncludeCalls0:1Sollen die “Calls” (Zwischenhalte) eingefügt werden? Default ist true.
Params/IncludePosition0:1Soll die aktuelle Position des Zugs eingefügt werden?

Dieses Feature steht nicht zur Verfügung.

n/a
Params/IncludeService0:1Soll die Service-Information eingfügt werden (LineRef, Mode, OperatorRef,..)? Default ist true.
Params/IncludeTrackSections0:1Sollen geographische Infos der Route eingefügt werden? Default ist false.
Params/IncludeTrackProjection0:1Sollen Koordinatenprojektonen mit übermittelt werden?

Dieses Feature ist angedacht.

Response

Zuoberst (vom eigentlichen Inhalt) wird TripInfoResponseContext geliefert, vor allem Informationen zu den verwendeten “Places” – siehe genauere Beschreibung in OJPTripRequest

<ojp:TripInfoResponseContext>
    <ojp:Places>
        <ojp:Location>
            <ojp:StopPlace>
                <ojp:StopPlaceRef>8503000</ojp:StopPlaceRef>
                <ojp:StopPlaceName>
                    <ojp:Text>Zürich HB</ojp:Text>
                </ojp:StopPlaceName>
                <ojp:PrivateCode>
                    <ojp:System>EFA</ojp:System>
                    <ojp:Value>104014:0:8</ojp:Value>
                </ojp:PrivateCode>
                <ojp:TopographicPlaceRef>23026261:27</ojp:TopographicPlaceRef>
            </ojp:StopPlace>
            <ojp:LocationName>
                <ojp:Text xml:lang="de">Zürich HB</ojp:Text>
            </ojp:LocationName>
            <ojp:GeoPosition>
                <siri:Longitude>8.54021</siri:Longitude>
                <siri:Latitude>47.37818</siri:Latitude>
            </ojp:GeoPosition>
        </ojp:Location>
<!-- ... -->
    </ojp:Places>
</ojp:TripInfoResponseContext>

TripInfoResult

Achtung: Je nach gesetzten Parametern kommen die unten aufgeführten Teile in der Antwort vor oder nicht. Deshalb gegebenenfalls die Parameter im Request überprüfen, um gewisse Teile (nicht) zu erhalten.

Beispiel einer kompletten Antwort: TripInfoRequest_example_response

Nach dem Kontext kommt die Journey selbst; zuerst alle Halte mit PreviousCalls (vorangehende Halte) und OnwardCalls (folgende Halte). Dabei können mehr Halte enthalten sein als im TripRequest, welcher zur Ermittlung der JourneyRef gemacht wurde, da im TripInfoRequest jeweils die ganze Fahrt geliefert wird.

Falls im Request nicht mit UseTimetableDataOnly=true die Echtzeit ausgschlossen wurde, kommen (falls vorhanden) zusätzlich zum fahrplanmässigen Zeit und Gleis von Abfahrt/Ankunft (TimetabledTime, Planned Quay) auch Echtzeitdaten (EstimatedTime, EstimatedQuay).

Beispiel: Bei einem TripRequest von Bern nach Zürich könnte im entsprechenden TripInfoRequest eine Fahrt von Genf nach St. Gallen geliefert werden, wovon der Abschnitt Bern – Zürich eine Teilmenge ist.

<ojp:TripInfoResult>
    <ojp:PreviousCall>
        <siri:StopPointRef>8503000</siri:StopPointRef>
        <ojp:StopPointName>
            <ojp:Text>Zürich HB</ojp:Text>
        </ojp:StopPointName>
        <ojp:PlannedQuay>
            <ojp:Text xml:lang="de">8</ojp:Text>
        </ojp:PlannedQuay>
        <ojp:EstimatedQuay>
            <ojp:Text xml:lang="de">9</ojp:Text>
        </ojp:EstimatedQuay>
        <ojp:ServiceDeparture>
            <ojp:TimetabledTime>2020-07-13T13:32:00Z</ojp:TimetabledTime>
            <ojp:EstimatedTime>2020-07-13T13:32:00Z</ojp:EstimatedTime>
        </ojp:ServiceDeparture>
        <ojp:Order>1</ojp:Order>
    </ojp:PreviousCall>
    <ojp:PreviousCall>
        <siri:StopPointRef>8502204</siri:StopPointRef>
        <ojp:StopPointName>
            <ojp:Text>Zug</ojp:Text>
        </ojp:StopPointName>
        <ojp:PlannedQuay>
            <ojp:Text xml:lang="de">4</ojp:Text>
        </ojp:PlannedQuay>
        <ojp:ServiceArrival>
            <ojp:TimetabledTime>2020-07-13T13:56:00Z</ojp:TimetabledTime>
            <ojp:EstimatedTime>2020-07-13T13:57:00Z</ojp:EstimatedTime>
        </ojp:ServiceArrival>
        <ojp:ServiceDeparture>
            <ojp:TimetabledTime>2020-07-13T13:58:00Z</ojp:TimetabledTime>
            <ojp:EstimatedTime>2020-07-13T13:59:00Z</ojp:EstimatedTime>
        </ojp:ServiceDeparture>
        <ojp:Order>2</ojp:Order>
    </ojp:PreviousCall>
<!-- ... -->
    <ojp:OnwardCall>
        <siri:StopPointRef>8505300</siri:StopPointRef>
        <ojp:StopPointName>
            <ojp:Text>Lugano</ojp:Text>
        </ojp:StopPointName>
        <ojp:PlannedQuay>
            <ojp:Text xml:lang="de">3</ojp:Text>
        </ojp:PlannedQuay>
        <ojp:ServiceArrival>
            <ojp:TimetabledTime>2020-07-13T15:56:00Z</ojp:TimetabledTime>
            <ojp:EstimatedTime>2020-07-13T15:52:00Z</ojp:EstimatedTime>
        </ojp:ServiceArrival>
        <ojp:Order>8</ojp:Order>
    </ojp:OnwardCall>
<!-- ... -->
</ojp:TripInfoResult>
+

Anschliessend die Informationen zu Service: LineRef, Mode (Verkersmittelart), OperatorRef, etc.

<ojp:TripInfoResult>
<!-- ... -->
    <ojp:Service>
        <ojp:OperatingDayRef>2020-07-13</ojp:OperatingDayRef>
        <ojp:JourneyRef>ojp:91002:F:R:j20:205</ojp:JourneyRef>
        <siri:LineRef>ojp:91002:F</siri:LineRef>
        <siri:DirectionRef>R</siri:DirectionRef>
        <ojp:Mode>
            <ojp:PtMode>rail</ojp:PtMode>
            <siri:RailSubmode>local</siri:RailSubmode>
            <ojp:Name>
                <ojp:Text xml:lang="de">Zug</ojp:Text>
            </ojp:Name>
            <ojp:ShortName>
                <ojp:Text xml:lang="de">IC</ojp:Text>
            </ojp:ShortName>
        </ojp:Mode>
        <ojp:PublishedLineName>
            <ojp:Text>2</ojp:Text>
        </ojp:PublishedLineName>
        <ojp:OperatorRef>ojp:11</ojp:OperatorRef>
        <ojp:OriginStopPointRef>8503000</ojp:OriginStopPointRef>
        <ojp:OriginText>
            <ojp:Text xml:lang="de">Zürich HB</ojp:Text>
        </ojp:OriginText>
        <ojp:DestinationStopPointRef>8505300</ojp:DestinationStopPointRef>
        <ojp:DestinationText>
            <ojp:Text xml:lang="de">Lugano</ojp:Text>
        </ojp:DestinationText>
    </ojp:Service>
<!-- ... -->
</ojp:TripInfoResult>

Anschliessend werden in JourneyTrack (Parameter in der Anfrage: IncludeTrackSections) geographische Informationen über die Journey geliefert.

<ojp:TripInfoResult>
<!-- ... --> 
	<ojp:JourneyTrack>
		<ojp:TrackSection>
			<ojp:TrackStart>
				<siri:StopPointRef>8503000</siri:StopPointRef>
				<ojp:LocationName>
					<ojp:Text xml:lang="de">Zürich HB</ojp:Text>
				</ojp:LocationName>
			</ojp:TrackStart>
			<ojp:TrackEnd>
				<siri:StopPointRef>8505307</siri:StopPointRef>
				<ojp:LocationName>
					<ojp:Text xml:lang="de">Chiasso</ojp:Text>
				</ojp:LocationName>
			</ojp:TrackEnd>
			<ojp:Length>220041</ojp:Length>
		</ojp:TrackSection>
	</ojp:JourneyTrack>
</ojp:TripInfoResult>

Zuletzt kommt in der Extension aktuell als einzige Info die publizierte Nummer (im Beispiel unten “319”, weil es der EC 319 ist)

<ojp:TripInfoResult>
<!-- ... -->
    <ojp:Extension>
        <ojp:TransportTypeName>
            <ojp:Text xml:lang="de"></ojp:Text>
        </ojp:TransportTypeName>
        <ojp:PublishedJourneyNumber>
            <ojp:Text xml:lang="de">319</ojp:Text>
        </ojp:PublishedJourneyNumber>
    </ojp:Extension>
</ojp:TripInfoResult>