StopEventService
Der StopEvent Service dient dazu, einen Abfahrts- oder Ankunftsmonitor zu konstruieren.
API-Explorer
Sie können eigene Requests ausprobieren – direkter Link zum API-Explorer.
Request
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
<?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>2021-01-09T11:34:25.507Z</RequestTimestamp> <RequestorRef>API-Explorer</RequestorRef> <ojp:OJPStopEventRequest> <RequestTimestamp>2020-01-20T12:00:00Z</RequestTimestamp> <MessageIdentifier>756</MessageIdentifier> <ojp:Location> <ojp:PlaceRef> <ojp:StopPlaceRef>8530813</ojp:StopPlaceRef> <ojp:LocationName> <ojp:Text>Zürich Kreuzplatz</ojp:Text> </ojp:LocationName> </ojp:PlaceRef> <ojp:DepArrTime>2021-01-20T12:00:00Z</ojp:DepArrTime> <ojp:IndividualTransportOptions> <Mode>walk</Mode> <MaxDistance>5000</MaxDistance> <MaxDuration>PT5M</MaxDuration> <MinDistance>0</MinDistance> <MinDuration>PT0M</MinDuration> <Speed>50</Speed> <AdditionalTime>PT10M</AdditionalTime> </ojp:IndividualTransportOptions> </ojp:Location> <ojp:Params> <ojp:StopEventType>both</ojp:StopEventType> <ojp:IncludePreviousCalls>true</ojp:IncludePreviousCalls> <ojp:IncludeOnwardCalls>true</ojp:IncludeOnwardCalls> <ojp:IncludeOperatingDays>true</ojp:IncludeOperatingDays> <ojp:IncludeRealtimeData>true</ojp:IncludeRealtimeData> </ojp:Params> </ojp:OJPStopEventRequest> </ServiceRequest> </OJPRequest> </OJP> |
Element | Kardinalität | Beschreibung | Beispiel | ||
RequestTimestamp | 1:1 | Timestamp der Anfrage. Bevorzugt in Zulu Time. |
|
||
MessageIdentifier | 0:1 | Der Identifier der Meldung. Bevorzugt stetig steigend. |
|
||
ojp:Location/ojp:PlaceRef | 0:1 | Am Besten die Verwendung eines StopPlaceRef. Location Name wird ignoriert.
Achtung: Sowohl Didok wie auch sloid können vorkommen. Mehr Infos. |
|
||
ojp:Location/ojp:DepArrTime | 0:1 | Die zu verwendende Zeit. Am Besten als Zulu-Time
“Z” ist Zulu-Zeit (also zeitzonenunabhängig). Bei Z müssen unbedingt die Sekunden auch angegeben werden. Stimmt das Format nicht oder ist kein Z vorhanden, versucht das System, die Zeit als lokale Zeit zu interpretieren. |
|
||
ojp:Location/ojp:TimeAllowance | 0:1 | Als Alternative zu DepArrTime. Zeit, die noch nötig ist, die Location zu erreichen. xs:Duration. |
|
||
ojp:Location/ojp:IndividualTransportOptions | 0:* | Optionen, um den Ort zu erreichen oder zu verlassen. Siehe Abschnitt zu IndividualTransportOptions unter Trip Service
Erlaubte Modes: walk, cycle, taxi, self-drive-car, others-drive-car, motorcycle, truck. Im Moment werden nur walk und cycle unterstützt. Die Distanzen sind in Meter. Die Geschwindigkeit relativ zu normal (=100%). AdditionalTime ist zusätzliche Zeit bei diesem Modus. |
|
||
ojp:/Params | 0:1 | die Parameter |
|
Params
Element | Kardinalität | Beschreibung | Beispiel | ||
ojp:PtModeFilter | 0:1 | Filter nach Mode. Element Exclude gibt an, ob die Modes ein- oder ausgeschlossen werden sollen.
Es können 1:* Mode hinzugefügt werden. Siehe PtModeFilter unter Trip Service |
|
||
ojp:LineFilter | 0:1 | Filter nach Linie. Element Exclude gibt an, ob die Linien ein- oder ausgeschlossen werden sollen.
Es können 1:* Line hinzugefügt werden.
|
|
||
ojp:OperatorFilter | 0:1 | Filter nach Betreiber. Element Exclude gibt an, ob die Betreiber ein- oder ausgeschlossen werden sollen.
Es können 1:* OperatorRef hinzugefügt werden. |
|
||
ojp:NumberOfResults | 0:1 | Anzahl Resultate |
|
||
ojp:StopEventType | 0:1 | Typ der StopEvents:
|
|
||
ojp:IncludePreviousCalls | 0:1 | Sollen für die einzelnen Fahrten die vorangehenden Halte auch angegeben werden? |
|
||
ojp:IncludeOnwardCalls | 0:1 | Sollen für die einzelnen Fahrten die anschliessenden Halte auch angegeben werden? |
|
||
ojp:IncludeOperatingDays | 0:1 | Soll Betriebstaginformation für diesen Stopevent auch eingefügt werden? |
|
||
ojp:IncludeRealtimeData | 0:1 | Sollen die Echtzeitdaten für die Berechnung des Trips verwendet werden? |
|
Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
<?xml version="1.0" encoding="UTF-8"?> <siri:OJP xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:siri="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"> <siri:OJPResponse> <siri:ServiceDelivery> <siri:ResponseTimestamp>2020-01-12T22:27:13Z</siri:ResponseTimestamp> <siri:ProducerRef>OJPCH_test</siri:ProducerRef> <siri:Status>true</siri:Status> <ojp:OJPStopEventDelivery> <siri:ResponseTimestamp>2020-01-12T22:27:13Z</siri:ResponseTimestamp> <siri:RequestMessageRef>756</siri:RequestMessageRef> <siri:Status>true</siri:Status> <ojp:CalcTime>310</ojp:CalcTime> <ojp:StopEventResponseContext> <ojp:Places> <ojp:Location> <ojp:StopPlace> <ojp:StopPlaceRef>8530813</ojp:StopPlaceRef> <ojp:StopPlaceName> <ojp:Text>Zürich Kreuzplatz</ojp:Text> </ojp:StopPlaceName> <ojp:TopographicPlaceRef>-1:-1</ojp:TopographicPlaceRef> </ojp:StopPlace> <ojp:LocationName> <ojp:Text xml:lang="de">Zürich Kreuzplatz</ojp:Text> </ojp:LocationName> <ojp:GeoPosition/> </ojp:Location> <ojp:Location> <ojp:StopPoint> <siri:StopPointRef>8530813</siri:StopPointRef> <ojp:StopPointName> <ojp:Text>Zürich Kreuzplatz</ojp:Text> </ojp:StopPointName> <ojp:ParentRef>8530813</ojp:ParentRef> <ojp:TopographicPlaceRef>-1:-1</ojp:TopographicPlaceRef> </ojp:StopPoint> <ojp:LocationName> <ojp:Text xml:lang="de">Zürich Kreuzplatz</ojp:Text> </ojp:LocationName> <ojp:GeoPosition> <siri:Longitude>8.55408</siri:Longitude> <siri:Latitude>47.36488</siri:Latitude> </ojp:GeoPosition> </ojp:Location> <!--- and so on ---> </ojp:Places> </ojp:StopEventResponseContext> <ojp:StopEventResult> <ojp:ResultId>ID-61BB1C56-4F28-410A-9D03-298D9BF9165C</ojp:ResultId> <ojp:StopEvent> <ojp:PreviousCall> <ojp:CallAtStop> <siri:StopPointRef>8591228</siri:StopPointRef> <ojp:StopPointName> <ojp:Text>Zürich, Kienastenwies</ojp:Text> </ojp:StopPointName> <ojp:ServiceDeparture> <ojp:TimetabledTime>2020-01-12T12:42:00Z</ojp:TimetabledTime> </ojp:ServiceDeparture> <ojp:Order>1</ojp:Order> </ojp:CallAtStop> </ojp:PreviousCall> <!--- and so on ---> <ojp:ThisCall> <ojp:CallAtStop> <siri:StopPointRef>8530813</siri:StopPointRef> <ojp:StopPointName> <ojp:Text>Zürich Kreuzplatz</ojp:Text> </ojp:StopPointName> <ojp:ServiceArrival> <ojp:TimetabledTime>2020-01-12T12:56:00Z</ojp:TimetabledTime> </ojp:ServiceArrival> <ojp:Order>14</ojp:Order> </ojp:CallAtStop> </ojp:ThisCall> <ojp:OnwardCall> <ojp:CallAtStop> <siri:StopPointRef>8591375</siri:StopPointRef> <ojp:StopPointName> <ojp:Text>Zürich, Sprecherstrasse</ojp:Text> </ojp:StopPointName> <ojp:ServiceArrival> <ojp:TimetabledTime>2020-01-12T12:56:00Z</ojp:TimetabledTime> </ojp:ServiceArrival> <ojp:ServiceDeparture> <ojp:TimetabledTime>2020-01-12T12:56:00Z</ojp:TimetabledTime> </ojp:ServiceDeparture> <ojp:Order>15</ojp:Order> </ojp:CallAtStop> </ojp:OnwardCall> <!--- and so on ---> <ojp:Service> <ojp:OperatingDayRef></ojp:OperatingDayRef> <ojp:JourneyRef>sbb:92031::R:j20:21060</ojp:JourneyRef> <siri:LineRef>sbb:92031::R</siri:LineRef> <siri:DirectionRef>H</siri:DirectionRef> <ojp:Mode> <ojp:PtMode>bus</ojp:PtMode> <siri:BusSubmode>regionalBus</siri:BusSubmode> <ojp:Name> <ojp:Text xml:lang="de">Bus</ojp:Text> </ojp:Name> </ojp:Mode> <ojp:PublishedLineName> <ojp:Text>31</ojp:Text> </ojp:PublishedLineName> <ojp:OperatorRef>sbb:849:VerkehrsbetriebeZrich</ojp:OperatorRef> <ojp:Attribute> <ojp:Text> <ojp:Text xml:lang="de">Linie 31: Niederflureinstieg</ojp:Text> </ojp:Text> <ojp:Code>30</ojp:Code> <ojp:Mandatory>false</ojp:Mandatory> </ojp:Attribute> <ojp:OriginStopPointRef>8591228</ojp:OriginStopPointRef> <ojp:OriginText> <ojp:Text xml:lang="de">Zürich, Kienastenwies</ojp:Text> </ojp:OriginText> <ojp:DestinationStopPointRef>8591056</ojp:DestinationStopPointRef> <ojp:DestinationText> <ojp:Text xml:lang="de">Zürich Altstetten, Bahnhof</ojp:Text> </ojp:DestinationText> </ojp:Service> </ojp:StopEvent> </ojp:StopEventResult> </ojp:OJPStopEventDelivery> </siri:ServiceDelivery> </siri:OJPResponse> </siri:OJP> |
Es ist wichtig zu wissen, dass zum Teil nicht nur die relevante Information am ausgewählten Halt, sondern direkt alle Fahrtinformation enthalten ist. Die Antwort ist in einer ojp:OJPStopEventDelivery enthalten.
Element | Kardinalität | Beschreibung | Beispiel | ||
siri:ResponseTimestamp | 1:1 | Der timestamp der Antwort |
|
||
siri:RequesteMessageRef | 0:1 | Hier wird die Message referenziert, die angefragt wurde |
|
||
siri:Status | 1:1 | Der Status der Antwort. true heisst, die Anfrage wurde bearbeitet. |
|
||
ojp:CalcTime | 1:1 | Die Berechnungszeit in Millisekunden |
|
||
ojp:StopEventResponseContext | 1:1 | Hier werden Referenzinformationen wie die verwendeten Haltestellen zurückgeliefert.
Siehe separate Tabelle |
|||
ojp:StopEventResult | 0:n | die effektiven Resultate | |||
ojp:StopEventResult/ojp:StopEventResultID | 1:1 | Die ID des Resultats |
|
||
ojp:StopEventResult/ojp:StopEvent | 1:1 | Die einzelnen Fahrten
siehe separate Tabelle |
StopEventResponseContext
Der Kontext enthält
- Location(s)
- Situation(s) Noch nicht implementiert
Element | Kardinalität | Beschreibung | Beispiel | ||
ojp:StopPlace | 1:1 | ||||
ojp:StopPlace/ojp:StopPlaceRef | 1:1 | Die Referenz auf die Haltestelle. Im Moment ist es die DiDok-Nummer. Es kann sich aber auch um die NeTEx-id eines StopPlace handeln oder in Zukunft auch um eine Swiss Location id (SLOID). Bis auf Weiteres besteht ein enger Zusammenhang zwischen den drei Referenzen. |
|
||
ojp:StopPlace/ojp:StopPlaceName | 1:1 | Der Name des Halts. Bei Haltestellen gibt es im Moment keine Sprache. |
|
||
ojp:StopPlace/ojp:TopographicPlaceRef | 1:1 | Es handelt sich um eine Referenz im Ortebaum.
Da es keine Publikation des Ortebaums gibt, kann dieses Feature nur verwendet werden, wenn es vorgängig in einem LocationInformationRequest angefragt wurde. |
|
||
ojp:StopPlace/ojp:LocationName | 1:1 | Name des Ortes |
|
||
ojp:StopPlace/ojp:GeoPosition | 1:1 | WGS84 Koordinaten |
|
ojp:StopEvent
Das StopEvent besteht aus:
- ojp:PreviousCall(s): Wenn Parameter gewählt
- ojp:ThisCall: Der aktuell ausgewählte Halt
- ojp:OnwardCall(s): Zukünftige Halte auf der Fahrt
- ojp:Service: Informationen zur Fahrt
Element | Kardinalität | Beschreibung | Beispiel | ||
ojp:PreviousCall | 0:* | Die PreviousCall sind die Halte vor demjenigen, der angefragt wurde.
Alle Information ist in einem CallAtStop. Siehe entsprechenden Abschnitt |
|
||
ojp:ThisCall | 1:1 | Dies ist der Halt, um den es im Request geht.
Alle Information ist in einem CallAtStop. Siehe entsprechenden Abschnitt |
|
||
ojp:OnwardCall | 0:* | Der OnwardCall sind die Halte nach dem aktuellen Halt, der im Request angefragt wurde.
Alle Information ist in einem CallAtStop. Siehe entsprechenden Abschnitt |
|
||
ojp:Service | 1:1 | Der Service ist die eigentliche Information zur ganzen Fahrt. |
|
ojp:CallAtStop
Element | Kardinalität | Beschreibung | Beispiel | ||
siri:StopPointRef | 1:1 | Die Haltestellennummer. Im Moment ist es noch eine DiDok-Nummer. Es kann sich auch um eine NeTEx-Id oder um ein SLOID handeln.
Achtung: Sowohl Didok wie auch sloid können vorkommen. Mehr Infos. |
|
||
ojp:StopPointName | 1:1 | Der Name der Haltestelle |
|
||
ojp:PlannedQuay | 0:1 | Der geplante Steig |
|
||
ojp:EstimatedQuay | 0:1 | Der aktuelle Steig, wenn vorhanden |
|
||
ojp:ServiceArrival | 0:1 | Der erste Halt hat kein Arrival. |
|
||
ojp:ServiceDeparture | 0:1 | Der letzte Halt hat kein Departure. |
|
||
ojp:Order | 1:1 | Die Reihenfolge der Haltestellen |
|
||
ojp:RequestStop | 0:1 | Halt auf Verlangen. Boolean.
Nicht implementiert, geplant für eine zukünftige Version. |
n/a | ||
ojp:UnplannedStop | 0:1 | Halt, der laut Planung nicht vorgesehen war. Boolean.
Nicht implementiert, geplant für eine zukünftige Version. |
n/a | ||
ojp:NotServicedStop | 0:1 | Entgegen der Planung findet kein Halt statt (Ausfälle). |
|
||
ojp:SituationFullRef | 0:1 | Das Feature ist nicht verfügbar.
|
n/a |
ojp:Service
Element | Kardinalität | Beschreibung | Beispiel | ||
ojp:OperatingDayRef | 1:1 | Der relevante Betriebstag |
|
||
ojp:JourneyRef | 1:1 | Die id der Fahrt. |
|
||
siri:LineRef | 1:1 | Die id der Linie: |
|
||
siri:DirectionRef | 1:1 | Die id der Richtung. |
|
||
ojp:Mode | 1:1 | Der Verkehrsmodus.
Die Liste der Modi findet sich beim LocationInformationRequest |
|
||
ojp:PublishedLineName | 1:1 | Der veröffentlichte Name der Liste |
|
||
ojp:OperatorRef | 0:1 | Die Referenz auf den Betreiber.
Achtung: wird sich noch verändern. |
|
||
ojp:Attribute | 0:* | Attribute sind Eigenschaften meist auf Fahrten. Z.B. Niederflurbus, Bar, Reservation notwendig.
ojp:Mandataory ist true, wenn das Attribut dem Benutzer unbedingt angezeigt werden muss. |
|
||
ojp:OrginStopPointRef | 0:1 | Die Didok-Nummer des Startpunkts.
Achtung: Die id wird sich noch verändern. |
|
||
ojp:OriginText | 0:1 | Der Name der Starthaltestelle. |
|
||
ojp:DestinationStopPointRef | 0:1 | Die DiDok-Nummer der/ Zielhaltestelle.
Achtung: Die id wird sich noch verändern. |
|
||
ojp:DestinationText | 0:1 | Der Name der Zielhaltestelle. |
|
||
ojp:Unplanned | 0:1 | Gibt an, ob es sich um eine zusätzliche, nicht im regulären Fahrplan aufgeführte Fahrt handelt. Boolean. |
|
||
ojp:Cancelled | 0:1 | Ausfall einer Fahrt. Boolean. |
|
||
ojp:Deviation | 0:1 | Gibt an, ob die Fahrt nicht gemäss dem Fahrplan ausgeführt wird.
Geplant für eine zukünftige Version |
n/a | ||
ojp:BookingArrangements | 0:1 | Das Feature wird nicht unterstützt. | n/a | ||
ojp:ParticipantRef | 1:1 | Dient zur Kommunikation von Störungen oder sonstigen aussergewöhnlichen Situationen.
Geplant für eine zukünftige Version |
n/a | ||
ojp:SituationNumber | 1:1 | Dient zur Kommunikation von Störungen oder sonstigen aussergewöhnlichen Situationen.
Geplant für eine zukünftige Version |
n/a |
Spezialfälle
Autotunnelzüge
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<siri:OJP xmlns="http://www.vdv.de/ojp" xmlns:siri="http://www.siri.org.uk/siri" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://www.vdv.de/ojp" version="1.0"> <siri:OJPRequest> <siri:ServiceRequest> <siri:RequestTimestamp>2024-07-22T10:40:16.970Z</siri:RequestTimestamp> <siri:RequestorRef>OJP_JS_SDK_v0.9.35</siri:RequestorRef> <OJPStopEventRequest> <siri:RequestTimestamp>2024-07-22T10:40:16.970Z</siri:RequestTimestamp> <Location> <PlaceRef> <StopPlaceRef>8519606</StopPlaceRef> <LocationName> <Text/> </LocationName> </PlaceRef> <DepArrTime>2024-07-22T10:40:02.237Z</DepArrTime> </Location> <Params> <NumberOfResults>10</NumberOfResults> <StopEventType>departure</StopEventType> <IncludePreviousCalls>true</IncludePreviousCalls> <IncludeOnwardCalls>true</IncludeOnwardCalls> <IncludeRealtimeData>true</IncludeRealtimeData> </Params> <siri:Extensions> <ParamsExtension> <PrivateModeFilter> <Exclude>false</Exclude> </PrivateModeFilter> </ParamsExtension> </siri:Extensions> </OJPStopEventRequest> </siri:ServiceRequest> </siri:OJPRequest> </siri:OJP> |
Grossraumprofile (bei der BLS) sind anhand des GF-Attributs erkennbar:
1 2 3 4 5 6 |
<ojp:Attribute> <ojp:Text> <ojp:Text xml:lang="de">Grossraumprofil</ojp:Text> </ojp:Text> <ojp:Code>A__GF</ojp:Code> </ojp:Attribute> |