OJPTripInfoRequest
La TripInfoRequest permet de demander des informations supplémentaires sur un «Journey» (convoi).
Explorateur API
Vous pouvez faire des essais en utilisant vos propres requêtes – lien direct vers l’explorateur de l’API.
Request
L’information centrale pour la TripInfoRequest est une ojp:JourneyRef avec ojp:OperatingDayRef – c’est-à-dire une référence sur un Journey précis à une date donnée. La JourneyRef figure dans la Response à une autre requête (p. ex. TripRequest ou StopEventRequest).
<?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>
Élément | Cardinalité | Description | Exemple |
RequestTimestamp | 1:1 | Timestamp de la requête. De préférence en heure UTC. |
<RequestTimestamp>2020-01-20T12:00:00Z</RequestTimestamp> |
MessageIdentifier | 0:1 | Identifiant du message. De préférence en ordre croissant. |
<MessageIdentifier>756</MessageIdentifier> |
JourneyRef | 0:1 | Référence du trajet.
La référence peut être déterminée via une TripRequest ou une StopEventRequest. |
<ojp:JourneyRef>qv1:91011::H:j20:500</ojp:JourneyRef>
|
OperatingDayRef | 0:1 | Au format AAAA-MM-JJ |
<ojp:OperatingDayRef>2020-01-20</ojp:OperatingDayRef>
|
siri:VehicleRef | 0:1 | n.d.
Cet attribut n’est pas disponible. |
n.d. |
TimeOfOperation | 0:1 | n.d.
Cet attribut n’est pas disponible. |
n.d. |
Params | 0:1 | Autres paramètres pour la requête. | |
Params/UseTimetableDataOnly | 0:1 | Faut-il renoncer aux données en temps réel? La valeur par défaut est «false». | |
Params/IncludeCalls | 0:1 | Les «Calls» (arrêts intermédiaires) doivent-ils être intégrés? La valeur par défaut est «true». | |
Params/IncludePosition | 0:1 | La position actuelle du train doit-elle être intégrée? Cet attribut n’est pas disponible. |
n.d. |
Params/IncludeService | 0:1 | La Service-Information doit-elle être intégrée (LineRef, Mode, OperatorRef,..)? La valeur par défaut est «true». | |
Params/IncludeTrackSections | 0:1 | Les informations géographiques sur l’itinéraire doivent-elles être intégrées? La valeur par défaut est «false». | |
Params/IncludeTrackProjection | 0:1 | Les projections de coordonnées doivent-elles être communiquées? Cet attribut est envisagé. |
Response
Tout en haut du contenu à proprement parler, on peut lire le TripInfoResponseContext; il s’agit principalement d’informations sur les «Places» (lieux) utilisés – pour une description détaillée, cf. 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
Attention: les éléments ci-dessous peuvent figurer ou non dans la réponse, en fonction des paramètres définis. Il est donc conseillé de vérifier les paramètres de la requête pour obtenir (ou non) les différents éléments.
Exemple de réponse complète: TripInfoRequest_example_response
Après le contexte apparaît le Journey lui-même: d’abord toutes les haltes avec les PreviousCalls (haltes précédentes) et les OnwardCalls (haltes suivantes). Il est possible qu’il y ait plus de haltes que dans la TripRequest émise en vue de la détermination de la JourneyRef, car la TripInfoRequest fournit toujours la totalité du convoi.
Si, dans la Request, les données en temps réel n’ont pas été exclues au moyen de l’élément UseTimetableDataOnly=true, les informations en temps réel (EstimatedTime, EstimatedQuay) disponibles sont fournies en plus de l’heure et de la voie indiquées dans l’horaire pour le départ et l’arrivée (TimetabledTime, Planned Quay).
Exemple: pour une TripRequest de Berne à Zurich, la TripInfoRequest correspondante pourrait proposer un convoi de Genève à Saint-Gall, puisque celui-ci inclut le tronçon Berne – Zurich.
<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>
Viennent ensuite les informations sur le Service: LineRef, Mode (type de transport), 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>
Puis le JourneyTrack (paramètre dans la requête: IncludeTrackSections) donne des informations géographiques sur le Journey.
<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>
Enfin, la réponse se termine par une extension qui comporte actuellement comme seule information le numéro publié (dans l’exemple, «319», car il s’agit de l’EC 319).
<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>