#AutoTranslate
Description rapide
TripRequest est le service central. L’indication d’une Origin et d’une Destination permet de planifier un Trip.
Un Trip comporte plusieurs «Legs» (tronçons).
Description métier
La modélisation d’un voyage comprend les éléments suivants:
- Arrêts: Pour cela, il existe également des blocs de données Services.
- Trajets: Transport de clients sur un trajet défini, une relation définie selon l’horaire et à l’aide d’un moyen de transport défini (véhicule), à une heure et dans une direction définies.
- Horaire: L’horaire détermine le parcours d’un moyen de transport dans le cadre du trafic voyageurs local et grandes lignes public et du fret ferroviaire. Il faut indiquer le numéro de train, les jours de circulation, le parcours, les heures d’arrivée, de départ et de passage aux haltes, ainsi que les vitesses autorisées sur les différents tronçons du parcours.
- Prévision: Les prévisions sont les heures de circulation futures d’une course, calculées à partir de l’emplacement actuel du véhicule. Dans un avenir proche, les prévisions sont calculées par des algorithmes établis en tenant compte de nombreux facteurs. Moins de facteurs sont pris en compte par la suite.
Description technique
Explorateur de l’API
Vous pouvez essayer vos propres requêtes – lien direct vers l’explorateur d’API.
Demande
<?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-31T12:30:00Z</RequestTimestamp>
<RequestorRef>3CC3C04A-20A0-4B12-AC46-5A7843E328A7</RequestorRef>
<ojp:OJPTripRequest>
<RequestTimestamp>2020-01-31T12:30:00Z</RequestTimestamp>
<ojp:Origin>
<ojp:PlaceRef>
<ojp:StopPlaceRef>ch:1:sloid:3000</ojp:StopPlaceRef>
<ojp:LocationName>
<ojp:Text>Bern</ojp:Text>
</ojp:LocationName>
</ojp:PlaceRef>
</ojp:Origin>
<ojp:Destination>
<ojp:PlaceRef>
<ojp:StopPlaceRef>ch:1:sloid:5000</ojp:StopPlaceRef>
<ojp:LocationName>
<ojp:Text>Luzern</ojp:Text>
</ojp:LocationName>
</ojp:PlaceRef>
</ojp:Destination>
<ojp:Params>
<ojp:NumberOfResults>10</ojp:NumberOfResults>
<ojp:OptimisationMethod>fastest</ojp:OptimisationMethod>
</ojp:Params>
</ojp:OJPTripRequest>
</ServiceRequest>
</OJPRequest>
</OJP>
| Élément | Cardinalité | Description | Exemple |
|---|---|---|---|
RequestTimestamp |
1:1 | Le Timestamp de la Request au format ISO 8601. De préférence une heure UTC. |
<RequestTimestamp>2020-01-31T12:30:00Z</RequestTimestamp> |
MessageIdentifier |
0:1 | Le Identifier le message. Il est préférable d’augmenter de manière strictement monotone. |
<MessageIdentifier>756</MessageIdentifier> |
ojp:Origin |
1:* | Point de départ de la demande de voyage. OJP offre différentes possibilités pour décrire cet élément.
Plus d’informations dans la rubrique correspondante |
<ojp:Origin> |
ojp:Destination |
1:* | Destination de la demande de voyage. OJP offre différentes possibilités pour décrire cet élément.
Plus d’informations dans la section correspondante. |
<ojp:Destination> |
ojp:Via |
0:1 | Un seul via est pris en charge. Si plusieurs via doivent être pris en compte ou si un circuit doit être calculé, la demande doit être divisée en plusieurs Trips pour la demande. |
<ojp:Via> |
ojp:Params |
0:1 | Autres paramètres. Voir le chapitre correspondant. |
<ojp:Params> <ojp:IncludeTrackSections>true</ojp:IncludeTrackSections> <ojp:IncludeLegProjection>true</ojp:IncludeLegProjection> <ojp:IncludeTurnDescription>true</ojp:IncludeTurnDescription> <ojp:IncludeAccessibility>true</ojp:IncludeAccessibility> <ojp:IncludeIntermediateStops>true</ojp:IncludeIntermediateStops> <ojp:IncludeFare>true</ojp:IncludeFare> </ojp:Params> |
Structure Origin/Destination
| Éléments | Cardinalité | Description | Exemple |
|---|---|---|---|
ojp:PlaceRef/siri:StopPointRef |
0:1 | Renvoi au StopPoint.
Seules les valeurs SLOID sont encore utilisées; pour les StopPoints étrangers, le numéro BPUIC peut encore être utilisé dans la requête et dans la réponse. En savoir plus Informations. |
<ojp:PlaceRef> |
ojp:PlaceRef/ojp:StopPlaceRef |
0:1 | Référence à une halte.
Seules les valeurs SLOID sont encore utilisées; pour les StopPoints étrangers, le numéro BPUIC peut encore être utilisé dans la requête et dans la réponse. Plus Informations. |
<ojp:PlaceRef> |
ojp:PlaceRef/ojp:GeoPosition |
0:1 | Coordonnées WGS84 |
<ojp:PlaceRef> <ojp:GeoPosition> <Longitude>8.484003</Longitude> <Latitude>47.386135</Latitude> </ojp:GeoPosition> <ojp:LocationName> <ojp:Text>Altstetten</ojp:Text> </ojp:LocationName> </ojp:PlaceRef> |
ojp:PlaceRef/ojp:TopographicPlaceRef |
0:1 | Renvoi vers un lieu. Difficile, car les valeurs ne peuvent pas être devinées
|
<ojp:PlaceRef> <ojp:TopographicPlaceRef>23006351:1</ojp:TopographicPlaceRef> <ojp:LocationName> <ojp:Text>Bern (Bern)</ojp:Text> </ojp:LocationName> </ojp:PlaceRef> |
ojp:PlaceRef/ojp:PointOfInterestRef |
0:1 | Renvoi vers un Point of Interest. Le LocationName est ignoré.
|
<ojp:PlaceRef> <ojp:PointOfInterestRef>1</ojp:PointOfInterestRef> <ojp:LocationName> <ojp:Text>unbekannt</ojp:Text> </ojp:LocationName> </ojp:PlaceRef> |
ojp:PlaceRef/ojp:AddressRef |
0:1 | Renvoi vers une adresse.
|
<ojp:PlaceRef> <ojp:AddressRef> <ojp:AddressCode>streetID:1500000041::23020227:-1:Via al Dosso:Torricella-Taverne:Via al Dosso::Via al Dosso: 6807:ANY:DIVA_STREET:994668:6208464:MRCV:sbb</ojp:AddressCode> </ojp:>AddressRef </ojp:PlaceRef> |
ojp:PlaceRef/ojp:LocationName |
1:1 | Nom public du lieu
Attention: Le nom est ignoré. Il faut d’abord effectuer une LocationRequest qui fournit ensuite une Ref ou des coordonnées géographiques! |
<ojp:PlaceRef> |
ojp:DepArrTime |
0:1 | Temps à utiliser.
«Z» est une heure UTC (donc indépendante de tout fuseau horaire). Pour Z, il faut impérativement indiquer les secondes. Si le format n’est pas correct ou en l’absence de Z, le système essaie d’interpréter l’heure comme une heure locale. |
<ojp:DepArrTime>2020-01-20T12:00:00Z</ojp:DepArrTime> |
ojp:TimeAllowance |
0:1 | À la place du DepArrTime. Temps supplémentaire pour atteindre et quitter la Location. |
<ojp:TimeAllowance>PT2H</ojp:TimeAllowance> |
IndividualTransportOptions |
0:* | Options pour le trajet jusqu’à la halte d’arrivée et jusqu’à la halte d’arrivée
Voir tableau séparé |
<ojp:IndividualTransportOptions>
<ojp:Mode>walk</ojp:Mode>
<ojp:MaxDistance>5000</ojp:MaxDistance>
<ojp:MaxDuration>PT1H</ojp:MaxDuration>
<ojp:Speed>120</ojp:Speed>
</ojp:IndividualTransportOptions>
|
IndividualTransportOptions
| Éléments | Cardinalité | Description | Exemple |
|---|---|---|---|
ojp:Mode |
1:1 | Mode utilisé pour atteindre l’Origin. Pour le moment, seul le mode walk est pris en charge.
Sinon, valeurs:
|
<ojp:Mode>walk</ojp:Mode> |
ojp:MaxDistance |
0:1 | Distance maximale en mètres. Cela permet de réduire les itinéraires. |
<ojp:MaxDistance>10000</ojp:MaxDistance> |
ojp:MaxDuration |
0:1 | Durée maximale. Fixe une durée maximale pour l’itinéraire. Respecter le format. Il s’agit d’une xs:duration. |
<ojp:MaxDuration>PT2H</ojp:MaxDuration> |
ojp:MinDistance |
0:1 | Distance minimale en mètres. Cela permet de réduire les itinéraires.
Cet attribut n’est pas pris en charge. |
<ojp:MinDistance>1</ojp:MinDistance> |
ojp:MinDuration |
0:1 | Durée minimale. Fixe une durée minimale pour l’itinéraire. Respecter le format. Il s’agit d’une xs:duration.
Cet attribut n’est pas pris en charge. |
<ojp:MinDuration>PT1S</ojp:MinDuration> |
ojp:Speed |
0:1 | Vitesse relative en %. La valeur normale est 100%. |
<ojp:Speed>100</ojp:Speed> |
Paramètres
| Éléments | Cardinalité | Description | Exemple |
|---|---|---|---|
ojp:PtModeFilter |
0:1 | Le filtre indique quels Modes doivent être pris en compte.
Les listes des Modes figurent dans l’élément XSD. Le filtrage par Submodes n’a aucun effet. |
<ojp:PtModeFilter> <ojp:Exclude>true</ojp:Exclude> <ojp:PtMode>rail</ojp:PtMode> </ojp:PtModeFilter> |
ojp:LineFilter |
0:1 | Lignes devant être incluses ou exclues.
|
<ojp:LineFilter>
<ojp:Line>
<LineRef>sbb:92080::R</LineRef>
</ojp:Line>
<ojp:Line>
<LineRef>sbb:91012:B:H</LineRef>
</ojp:Line>
<ojp:Exclude>true</ojp:Exclude>
</ojp:LineFilter>
|
ojp:OperatorFilter |
0:1 | Exploitants devant être inclus ou exclus.
|
<ojp:OperatorFilter>
<ojp:Exclude>false</ojp:Exclude>
<ojp:OperatorRef>sbb:11:SchweizerischeBundesbahnenSBB</ojp:OperatorRef>
</ojp:OperatorFilter>
|
ojp:PrivateModeFilter |
0:1 | Doit-on utiliser des modes privés ou non?
Cet attribut n’est pas disponible. |
n.c. |
ojp:NoSingleStep |
0:1 | L’utilisateur ne peut franchir aucun paragraphe.
Cet attribut n’est pas disponible. |
n.c. |
ojp:NoStairs |
0:1 | L’utilisateur ne peut pas prendre d’escalier.
Cet attribut n’est pas disponible. |
n.c. |
ojp:NoEscalator |
0:1 | L’utilisateur ne peut pas utiliser d’escaliers roulants.
Cet attribut n’est pas disponible. |
n.c. |
ojp:NoElevator |
0:1 | L’utilisateur ne peut pas utiliser l’ascenseur.
Cet attribut n’est pas disponible. |
n.c. |
ojp:NoRamp |
0:1 | L’utilisateur ne peut pas prendre de rampe
Cet attribut n’est pas disponible. |
n.c. |
ojp:LevelEntrance |
0:1 | L’utilisateur a besoin d’entrées/de passages de plain-pied
Cet attribut n’est pas disponible. |
n.c. |
ojp:BikeTransport |
0:1 | L’utilisateur souhaite emporter un vélo avec lui
Cet attribut n’est pas disponible. |
n.c. |
ojp:WalkSpeed |
0: | Écart par rapport à la vitesse de marche normale. 100% normal.
Cet attribut n’est pas disponible. |
n.c. |
ojp:NumberOfResults |
0:1 | Si l’algorithme de recherche génère une pondération égale, le nombre de résultats retournés sera plus élevé. Si le nombre de liaisons souhaité ne peut être trouvé, le nombre de résultats retournés sera inférieur. Dans le cas contraire, le nombre de résultats retournés sera supérieur. |
<ojp:NumberOfResults>10</ojp:NumberOfResults> |
ojp:NumberOfResultsBefore |
0:1 | Nombre de résultats avant une heure donnée (à l’arrivée ou au départ).
Si un client OJP souhaite recevoir des trajets partant plus tôt que prévu pour les trajets déjà reçus, il doit envoyer une nouvelle requête avec NumberOfResultsBefore=n et Destination.DepArrTime = heure de fin la plus proche trouvée à la dernière réponse moins 1 minute. |
<ojp:NumberOfResultsBefore>4</ojp:NumberOfResultsBefore> |
ojp:NumberOfResultsAfter |
0:1 | Nombre de résultats après un laps de temps donné (à l’arrivée ou au départ).
Si un client OJP souhaite recevoir plus tard les trajets déjà reçus, il doit envoyer une nouvelle demande avec NumberOfResultsAfter=n et Origin.DepArrTime = heure de début la plus tardive trouvée pour la dernière réponse, plus 1 minute. |
<ojp:NumberOfResultsAfter>6</ojp:NumberOfResultsAfter> |
ojp:IgnoreRealtimeData |
0:1 | Les données en temps réel doivent-elles être prises en compte? |
<ojp:IgnoreRealtimeData>true</ojp:IgnoreRealtimeData> |
ojp:ImmediateTripStart |
0:1 | Faut-il supposer que l’utilisateur est déjà en route?
Non pris en charge. |
n.c. |
ojp:TransferLimit |
0:1 | Nombre maximal de correspondances |
<ojp:TransferLimit>3</ojp:TransferLimit> |
ojp:OptimisationMethod |
0:1 | Quelle méthode d’optimisation doit être utilisée?
fastest, least walking, etc. Cet attribut n’est pas disponible. |
n.c. |
ojp:ItModesToCover |
0:* | Pour chaque mode de la liste, il faut trouver un Trip distinct monomodal, en plus des Trip intermodaux.
Elle est désormais disponible depuis août 2022 pour les offres de partage. |
Voir chapitre sur le partage ci-dessous. |
ojp:IncludeTrackSection |
0:1 | Si le résultat doit contenir des éléments TrackSection pour décrire le tracé géographique de ce parcours du véhicule. |
<ojp:IncludeTrackSections>true</ojp:IncludeTrackSections> |
ojp:IncludeLegProjection |
0:1 | Le résultat doit inclure la présentation géographique d’une Leg. |
<ojp:IncludeLegProjection>true</ojp:IncludeLegProjection> |
ojp:IncludeTurnDescription |
0:1 | Le PathGuidance fournit une description détaillée de l’itinéraire pour chaque Leg. |
<ojp:IncludeTurnDescription>true</ojp:IncludeTurnDescription> |
ojp:IncludeAccessibility |
0:1 | Des informations LHand doivent être ajoutées. |
<ojp:IncludeAccessibility>true</ojp:IncludeAccessibility> |
ojp:IncludeIntermediateStops |
0:1 | Indique s’il est nécessaire d’indiquer les arrêts effectués durant le trajet, c.-à-d. tous les arrêts intermédiaires. |
<ojp:IncludeIntermediateStops>true</ojp:IncludeIntermediateStops> |
ojp:IncludeFare |
0:1 | Si les indications de prix doivent être ajoutées.
Cet attribut n’est pas pris en charge actuellement. |
<ojp:IncludeFare>true</ojp:IncludeFare> |
ojp:Extension |
0:1 | Utilisé pour certains modes de partage. | Voir chapitre sur le partage ci-dessous. |
Réponse
Exemple de réponse complète: tri-réponse
Le premier élément fourni est ojp:TripResponseContext. Celui-ci contient des informations sur tous les Places utilisés (arrêts, localités, adresses, etc.) dans l’élément ojp:Places:
<ojp:Location>
<ojp:StopPlace>
<ojp:StopPlaceRef>8591252</ojp:StopPlaceRef>
<ojp:StopPlaceName>
<ojp:Text>Zürich, Letzigrund</ojp:Text>
</ojp:StopPlaceName>
<ojp:TopographicPlaceRef>23026261:27</ojp:TopographicPlaceRef>
</ojp:StopPlace>
<ojp:LocationName>
<ojp:Text xml:lang="de">Zürich, Letzigrund</ojp:Text>
</ojp:LocationName>
<ojp:GeoPosition>
<siri:Longitude>8.50373</siri:Longitude>
<siri:Latitude>47.38124</siri:Latitude>
</ojp:GeoPosition>
</ojp:Location>
À terme, le contexte pourra également inclure les Situations (dérangements).
Vient ensuite l’élément 0:* TripResult. Après l’en-tête
<ojp:TripResult>
<ojp:ResultId>ID-153A06C3-1F00-4048-9141-A217840479A6</ojp:ResultId>
<ojp:Trip>
<ojp:TripId>ID-153A06C3-1F00-4048-9141-A217840479A6</ojp:TripId>
<ojp:Duration>PT29M</ojp:Duration>
<ojp:StartTime>2020-01-20T11:57:00Z</ojp:StartTime>
<ojp:EndTime>2020-01-20T12:26:00Z</ojp:EndTime>
<ojp:Transfers>1</ojp:Transfers>
<!-- ... -->
sont suivis de différents Trips.
Si l’itinéraire n’a pas été effectué depuis et vers une halte, les Continous Legs qui mènent à la halte apparaissent en premier.
Sinon, un TimedLeg apparaît.
<ojp:TripLeg>
<ojp:LegId>1</ojp:LegId>
<ojp:TimedLeg>
<ojp:LegBoard>
<siri:StopPointRef>ch:1:sloid:91252</siri:StopPointRef>
<ojp:StopPointName>
<ojp:Text>Zürich, Letzigrund</ojp:Text>
</ojp:StopPointName>
<ojp:ServiceDeparture>
<ojp:TimetabledTime>2020-01-20T11:57:00Z</ojp:TimetabledTime>
</ojp:ServiceDeparture>
<ojp:Order>1</ojp:Order>
</ojp:LegBoard>
<ojp:LegIntermediates>
<siri:StopPointRef>ch:1:sloid:91038</siri:StopPointRef>
<ojp:StopPointName>
<ojp:Text>Zürich, Albisriederplatz</ojp:Text>
</ojp:StopPointName>
<ojp:ServiceArrival>
<ojp:TimetabledTime>2020-01-20T11:59:00Z</ojp:TimetabledTime>
</ojp:ServiceArrival>
<ojp:ServiceDeparture>
<ojp:TimetabledTime>2020-01-20T11:59:00Z</ojp:TimetabledTime>
</ojp:ServiceDeparture>
<ojp:Order>2</ojp:Order>
</ojp:LegIntermediates>
<!-- weitere LegIntermediate --->
<ojp:LegAlight>
<siri:StopPointRef>ch:1:sloid:91105</siri:StopPointRef>
<ojp:StopPointName>
<ojp:Text>Zürich, Bürkliplatz</ojp:Text>
</ojp:StopPointName>
<ojp:ServiceArrival>
<ojp:TimetabledTime>2020-01-20T12:13:00Z</ojp:TimetabledTime>
</ojp:ServiceArrival>
<ojp:Order>11</ojp:Order>
</ojp:LegAlight>
<ojp:Service>
<ojp:OperatingDayRef>2020-01-20</ojp:OperatingDayRef>
<ojp:JourneyRef>sbb:91002::H:j20:1253</ojp:JourneyRef>
<siri:LineRef>sbb:91002:</siri:LineRef>
<siri:DirectionRef>H</siri:DirectionRef>
<ojp:Mode>
<ojp:PtMode>tram</ojp:PtMode>
<siri:TramSubmode>cityTram</siri:TramSubmode>
<ojp:Name>
<ojp:Text xml:lang="de">Tram</ojp:Text>
</ojp:Name>
</ojp:Mode>
<ojp:PublishedLineName>
<ojp:Text>2</ojp:Text>
</ojp:PublishedLineName>
<ojp:OperatorRef>sbb:3849</ojp:OperatorRef>
<ojp:Attribute>
<ojp:Text>
<ojp:Text xml:lang="de">Niederflureinstieg</ojp:Text>
</ojp:Text>
<ojp:Code>A__NF</ojp:Code>
</ojp:Attribute>
<ojp:DestinationStopPointRef>de:00000:-1</ojp:DestinationStopPointRef>
<ojp:DestinationText>
<ojp:Text xml:lang="de">Zürich Tiefenbrunnen, Bahnhof</ojp:Text>
</ojp:DestinationText>
</ojp:Service>
</ojp:TimedLeg>
</ojp:TripLeg>
Remarques:
- Toutes les XXXRef seront adaptées au fur et à mesure avec les nouveaux identifiants suisses stables SID4PT.
- Les attributs se composent des attributs connus de HRDF avec A__. Les noms sont issus des Notes de circulation dérivé. Dans certains cas, ils correspondent également à une combinaison de SIRI Facilities. Ce mapping s’effectue conformément à Notes2FacilitiesMappingFile toutes ne sont pas présentes dans OJP 1,0. Dans de tels cas, aucun mapping n’est effectué.
Certains points sont réalisés au moyen d’extensions:
- Name pour (p. ex. «Train») Transport Mode (catégorie de moyen de transport, téléchargement à partir de https://data.opentransportdata.swiss/dataset/vm-liste)
- ShortName (p. ex. «IC») Transport submode Abréviation (désignation abrégée de la catégorie d’offre, à télécharger sous https://data.opentransportdata.swiss/dataset/vm-liste)
- PublishedLineName (p. ex. «IC8» ou «S1») Pertinent pour le passager texte de l’itinéraire
- TimedLeg.Extension.TransportTypeName (p. ex. «InterCity») Transport submode name (nom de la catégorie d’offre, téléchargement sous https://data.opentransportdata.swiss/dataset/vm-liste)
- TimedLeg.Extension.PublishedJourneyNumber (p. ex. «829») Numéro de train
TimedLeg.Extension.OperatorName(p. ex. «Chemins de fer fédéraux suisses CFF») OperatorName
En cas de changement TransferLegs utilisé:
<ojp:TransferLeg>
<ojp:TransferMode>walk</ojp:TransferMode>
<ojp:LegStart>
<siri:StopPointRef>ch:1:sloid:91105</siri:StopPointRef>
<ojp:LocationName>
<ojp:Text xml:lang="de">Zürich, Bürkliplatz</ojp:Text>
</ojp:LocationName>
</ojp:LegStart>
<ojp:LegEnd>
<siri:StopPointRef>ch:1:sloid:91105</siri:StopPointRef>
<ojp:LocationName>
<ojp:Text xml:lang="de">Zürich, Bürkliplatz</ojp:Text>
</ojp:LocationName>
</ojp:LegEnd>
<ojp:TimeWindowStart>2020-01-20T12:13:00Z</ojp:TimeWindowStart>
<ojp:TimeWindowEnd>2020-01-20T12:15:00Z</ojp:TimeWindowEnd>
<ojp:Duration>PT2M</ojp:Duration>
<ojp:WalkDuration>PT2M</ojp:WalkDuration>
<ojp:BufferTime>PT0M</ojp:BufferTime>
</ojp:TransferLeg>
En particulier au niveau des transferts, des améliorations seront nécessaires en lien avec la LHand.
Informations géographiques utilisées
L’itinéraire piéton est basé sur OpenStreetMap (OSM).. Les éléments suivants se basent pour le moment exclusivement sur OSM:
Dans ContinuousLeg et TransferLeg (TransferMode=walk):
- TrackSection
- TurnAction
- dans TimedLeg
- LegIntermediates
- IncludeAccessibility (inclure l’accessibilité)
Les données OSM sont disponibles sous Open Data Commons Licence Open Database (ODbL). Les applications qui utilisent OSM doivent indiquer OSM comme source. La manière dont cela a été fait est décrite dans la directive suivante Directives OSM sur les dénominations.
OJP-TripRequest avec les prestataires de mobilité partagée
Depuis août 2022, l’OJP TripRequest permet de calculer des chaînes de voyage avec des véhicules en libre-service (vélo, scooter électrique, vélo de location ou autopartage) au début et/ou à la fin (premier et/ou dernier kilomètre).
Remarques générales
Cette fonctionnalité revêt dans un premier temps un caractère expérimental. Elle peut en résulter des chaînes de voyage inattendues ou peu pratiques. L’équipe SKI+ est heureuse de recevoir des feed-back à ce sujet.
Dans la mesure du possible, les éléments de la norme OJP 1,0 ont été utilisés. Certaines extensions ont toutefois dû être mises en œuvre par le biais d’extensions. L’introduction du protocole OJP 2,0 met en œuvre la multimodalité et l’intermodalité, telles que définies dans la norme.
Les calculs sont basés sur cette Source des données.
Les sites de véhicules partagés sont également accessibles à l’aide du service suivant: OJPLocationInformationRequest
Paramètres de gestion du TripRequest
La gestion de la requête dans TripRequest s’effectue au moyen de paramètres (éléments XML supplémentaires) à quatre endroits possibles:
1. Voyages monomodaux en vélo
Selon Standard OJP 1,0 pour cela, <ojp:Params> est complété par l’élément <ojp:ItModesToCover>, avec la valeur «cycle»:
<ojp:ItModesToCover>cycle</ojp:ItModesToCover>
2. Voyages monomodaux en trottinette électrique, vélo de location ou autopartage
<ojp:Params> est Extension élargie:
<ojp:Extension> ...
<ojp:ItModesToCover>escooter_rental</ojp:ItModesToCover> ...
</ojp:Extension>
avec «escooter_rental», «bicycle_rental» ou «car_sharing», ou.
3. Voyages intermodaux en transports publics et avec un vélo au début et/ou à la fin
Selon Standard OJP 1,0 <ojp:Origin> et/ou <ojp:Destination> reçoivent l’élément <ojp:IndividualTransportOptions>. Le mode (cycle), la durée min./max. en minutes et la distance min./max. en mètres y sont définis, comme illustré dans l’exemple ci-dessous.
<ojp:IndividualTransportOptions>
<ojp:Mode>cycle</ojp:Mode> <!--Fahrrad am Anfang -->
<ojp:MaxDuration>PT30M</ojp:MaxDuration> <!--Optional: maximale Dauer -->
<ojp:MinDuration>PT2M</ojp:MinDuration> <!--Optional: minimale Dauer -->
<ojp:MaxDistance>20000</ojp:MaxDistance> <!--Optional: maximale Fahrdistanz -->
<ojp:MinDistance>100</ojp:MinDistance> <!--Optional: minimale Fahrdistanz -->
</ojp:IndividualTransportOptions>
4. Déplacements intermodaux en transports publics, avec une trottinette électrique, un vélo de location ou l’autopartage au début et/ou à la fin
<ojp:Params> est Extension complétée, par analogie, avec <ojp:Origin> et/ou <ojp:Destination> et avec le mode escooter_rental, bicycle_rental ou car_sharing, ou comme illustré dans l’exemple suivant:
<ojp:Extension>
<ojp:Origin>
<ojp:Mode>escooter_rental</ojp:Mode> <!--eScooter zu Beginn-->
<ojp:MaxDuration>PT30M</ojp:MaxDuration> <!--Optional: maximale Dauer-->
<ojp:MinDuration>PT2M</ojp:MinDuration> <!--Optional: minimale Dauer-->
<ojp:MaxDistance>20000</ojp:MaxDistance> <!--Optional: maximale Fahrdistanz-->
<ojp:MinDistance>100</ojp:MinDistance> <!--Optional: minimale Fahrdistanz-->
</ojp:Origin>
</ojp:Extension>
Vue d’ensemble des combinaisons possibles
Le tableau suivant montre quelles combinaisons sont judicieuses pour les déplacements monomodaux et multimodaux. (Remarque: ici, les transports publics sont considérés comme un mode, même s’ils sont associés à différents moyens de transport et avec différents changements):
| Combinaison | Voyage monomodal | Multimodale —
Mode au début |
Multimodale —
Mode à la fin |
Mode Début et fin |
|---|---|---|---|---|
| transports publics | (default) |
— | — | — |
| à pied | ItModesToCover=walk oder
|
(default) |
(default) |
(default) |
| avec son propre vélo | ItModesToCover=
|
IndividualTransportOptions
|
— | — |
| avec votre propre voiture | ItModesToCover=
|
— | — | — |
| Vélo Sharing | Ext./ItModesToCover=
|
Ext./Origin/Mode=
|
Ext./Destin./Mode=
|
possible si Origin et Destin. Modes sont identiques |
| e-Scooter Sharing | Ext./ItModesToCover=
|
Ext./Origin/Mode=
|
Ext./Destin./Mode=
|
possible si Origin et Destin. Modes sont identiques |
| Car Sharing | Ext./ItModesToCover=
|
— | Ext./Destin./Mode=
|
— |
Recherche de trains-autos-tunnels
Exemple de demande de train-autos-tunnel (ATZ):
<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-03-21T16:22:30.112Z</siri:RequestTimestamp>
<siri:RequestorRef>OJP_JS_SDK_v0.9.31</siri:RequestorRef>
<OJPTripRequest>
<siri:RequestTimestamp>2024-03-21T16:22:30.112Z</siri:RequestTimestamp>
<Origin>
<PlaceRef>
<StopPlaceRef>ch:1:sloid:11171</StopPlaceRef>
<LocationName>
<Text>Kandersteg Autoverlad</Text>
</LocationName>
</PlaceRef>
</Origin>
<Destination>
<PlaceRef>
<StopPlaceRef>ch:1:sloid:19655</StopPlaceRef>
<LocationName>
<Text>Goppenstein Autoverlad</Text>
</LocationName>
</PlaceRef>
</Destination>
<ojp:Params>
<ojp:PrivateModeFilter>
<ojp:Exclude>false</ojp:Exclude>
</ojp:PrivateModeFilter>
<ojp:NumberOfResults>3</ojp:NumberOfResults>
<ojp:IncludeTrackSections>false</ojp:IncludeTrackSections>
<ojp:IncludeLegProjection>false</ojp:IncludeLegProjection>
<ojp:IncludeTurnDescription>false</ojp:IncludeTurnDescription>
<ojp:IncludeIntermediateStops>true</ojp:IncludeIntermediateStops>
</ojp:Params>
</OJPTripRequest>
</siri:ServiceRequest>
</siri:OJPRequest>
</siri:OJP>
