OJPTripRequest

#AutoTranslate

Descrizione breve

TripRequest è il servizio centralizzato. Un viaggio viene pianificato specificando la provenienza e la destinazione.

Un trip ha diverse «legs» (sezioni).

Descrizione del funzionamento

La modellazione di un viaggio si compone dei seguenti elementi:

  • Fermate: A tale scopo esistono anche i record di dati Posti di servizio.
  • Corse: Una corsa è il trasporto di clienti lungo un determinato percorso, un determinato collegamento orario, con un determinato mezzo di trasporto (veicolo), in un determinato momento e in una determinata direzione.
  • Orario: Un orario stabilisce il percorso di un mezzo di trasporto nel traffico pubblico locale e a lunga percorrenza di viaggiatori e nel traffico merci su rotaia. A tale scopo sono necessari il numero del treno, i giorni di circolazione, l’itinerario, gli orari di arrivo, partenza e di transito delle fermate, nonché le velocità ammesse nelle singole sezioni dell’itinerario.
  • Previsione: Le previsioni sono gli orari di circolazione futuri di una corsa, calcolati a partire dalla posizione attuale del veicolo. Nel prossimo futuro le previsioni vengono calcolate da algoritmi consolidati tenendo conto di numerosi fattori. Nel prosieguo della previsione vengono considerati meno fattori.

Descrizione tecnica

API Explorer

Puoi provare le tue richieste – link diretto all’API Explorer.

Richiesta

<?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>
+
Elemento Cardinalità Descrizione Esempio
RequestTimestamp 1:1 Il Timestamp della richiesta in formato ISO 8601. Preferibile come Zulu-Time.
<RequestTimestamp>2020-01-31T12:30:00Z</RequestTimestamp>
MessageIdentifier 0:1 Il Identifier del messaggio. Preferibilmente rigorosamente monotono crescente.
<MessageIdentifier>756</MessageIdentifier>
ojp:Origin 1:* Il punto di partenza della richiesta di viaggio. OJP offre diverse opzioni per descrivere questo elemento.
Maggiori informazioni nella rispettiva sezione
<ojp:Origin>
<ojp:PlaceRef>
<ojp:StopPlaceRef>ch:1:sloid:3000</ojp:StopPlaceRef>
<ojp:LocationName>
<ojp:Text>Bern</ojp:Text>
</ojp:LocationName>
</ojp:PlaceRef>
<ojp:DepArrTime>2020-01-20T12:00:00Z</ojp:DepArrTime>
</ojp:Origin>
ojp:Destination 1:* Scopo della richiesta di viaggio. OJP offre diverse opzioni per descrivere questo elemento.
Maggiori informazioni nella rispettiva sezione.
<ojp:Destination>
<ojp:PlaceRef>
<ojp:StopPlaceRef>ch:1:sloid:5000</ojp:StopPlaceRef>
<ojp:LocationName>
<ojp:Text>Luzern</ojp:Text>
</ojp:LocationName>
</ojp:PlaceRef>
<ojp:DepArrTime>2020-01-20T12:00:00Z</ojp:DepArrTime>
</ojp:Destination>
ojp:Via 0:1 Viene supportato un singolo Via. Se si considerano più Via o si calcola un itinerario circolare, la richiesta va suddivisa in più viaggi.
<ojp:Via>
<ojp:ViaPoint>
<StopPointRef>ch:1:sloid:6000</StopPointRef>
<ojp:LocationName>
<ojp:Text>Winterthur</ojp:Text>
</ojp:LocationName>
</ojp:ViaPoint>
</ojp:Via>
ojp:Params 0:1 Gli altri parametri. Si veda il paragrafo corrispondente.
<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>

Struttura Luogo di origine/destinazione

Elementi Cardinalità Descrizione Esempio
 ojp:PlaceRef/siri:StopPointRef 0:1 Rimandare a StopPoint.
Vengono ancora utilizzati solo SLOID; per StopPoint esteri nelle request e nella response possono ancora essere utilizzati numeri BPUIC. Di più Informazioni.
<ojp:PlaceRef>
<StopPointRef>ch:1:sloid:30813</StopPointRef>
<ojp:LocationName>
<ojp:Text>Zürich Kreuzplatz</ojp:Text>
</ojp:LocationName>
</ojp:PlaceRef>
ojp:PlaceRef/ojp:StopPlaceRef 0:1 Riferimento a una fermata.
Vengono ancora utilizzati solo SLOID; per StopPoint esteri nelle request e nella response possono ancora essere utilizzati numeri BPUIC. Di più Informazioni.
<ojp:PlaceRef>
<StopPointRef>ch:1:sloid:30813</StopPointRef>
<ojp:LocationName>
<ojp:Text>Zürich Kreuzplatz</ojp:Text>
</ojp:LocationName>
</ojp:PlaceRef>
ojp:PlaceRef/ojp:GeoPosition 0:1 Coordinate 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 Rimando a un «luogo». Difficile perché i valori non possono essere indovinati

 

<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 Riferimento a un punto di interesse. Il nome della location viene ignorato.

 

<ojp:PlaceRef>
	<ojp:PointOfInterestRef>1</ojp:PointOfInterestRef>
	<ojp:LocationName>
		<ojp:Text>unbekannt</ojp:Text>
	</ojp:LocationName>
</ojp:PlaceRef>
ojp:PlaceRef/ojp:AddressRef 0:1 Rimando a un indirizzo.

 

<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 Nome pubblico del luogo

Attenzione: Il nome viene ignorato. Per prima cosa occorre effettuare una LocationRequest che fornisce un riferimento o una coordinata!

<ojp:PlaceRef>
<StopPointRef>ch:1:sloid:3003</StopPointRef>
<ojp:LocationName>
<ojp:Text>Zürich Stadelhofen</ojp:Text>
</ojp:LocationName>
</ojp:PlaceRef>
ojp:DepArrTime 0:1 Tempo che deve essere impiegato.

«Z» è l’orario Zulu (cioè indipendente dal fuso orario). Per la Z è indispensabile indicare anche i secondi. Se il formato non è corretto o se la Z non è disponibile, il sistema cerca di interpretare l’orario come orario locale.

<ojp:DepArrTime>2020-01-20T12:00:00Z</ojp:DepArrTime>
ojp:TimeAllowance 0:1 Al posto di DepArrTime. Tempo aggiuntivo necessario per arrivare e uscire dalla location dell’evento.
<ojp:TimeAllowance>PT2H</ojp:TimeAllowance>
IndividualTransportOptions 0:* Opzioni per il tragitto da e verso le fermate

Vedere tabella a parte

<ojp:IndividualTransportOptions>
    <ojp:Mode>walk</ojp:Mode>
    <ojp:MaxDistance>5000</ojp:MaxDistance>
    <ojp:MaxDuration>PT1H</ojp:MaxDuration>
    <ojp:Speed>120</ojp:Speed>
</ojp:IndividualTransportOptions>

Opzioni di trasporto individuale

Elementi Cardinalità Descrizione Esempio
 ojp:Mode 1:1 Modalità per raggiungere l’Origine. Al momento è supportato solo walk.

Altrimenti valori:

  • a piedi
  • ciclo
  • taxi
  • auto a guida autonoma
  • other-drive-car
  • motocicletta
  • autocarro
<ojp:Mode>walk</ojp:Mode>
ojp:MaxDistance 0:1 Distanza massima in metri. Gli itinerari vengono così ridotti al minimo.
<ojp:MaxDistance>10000</ojp:MaxDistance>
ojp:MaxDuration 0:1 Durata massima. Controlla il router in relazione alla durata massima. Si deve prestare attenzione al formato. È una xs:duration.
<ojp:MaxDuration>PT2H</ojp:MaxDuration>
ojp:MinDistance 0:1 Distanza minima in metri. Gli itinerari vengono così ridotti al minimo.

Questa feature non è supportata.

<ojp:MinDistance>1</ojp:MinDistance>
ojp:MinDuration 0:1 Durata minima. Controlla la durata minima del router. Si deve prestare attenzione al formato. È una xs:duration.

Questa feature non è supportata.

<ojp:MinDuration>PT1S</ojp:MinDuration>
ojp:Speed 0:1 Velocità relativa in percentuale. Normale è 100%.
<ojp:Speed>100</ojp:Speed>

Param

Elementi Cardinalità Descrizione Esempio
ojp:PtModeFilter 0:1 Il filtro indica quali modalità devono essere prese in considerazione.

Gli elenchi delle modalità sono riportati in XSD. Il filtraggio per sottomode non ha alcun effetto.

<ojp:PtModeFilter>
	<ojp:Exclude>true</ojp:Exclude>
	<ojp:PtMode>rail</ojp:PtMode>
</ojp:PtModeFilter>
ojp:LineFilter 0:1 Linee che devono essere incluse o escluse.

 

<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 Operatori che devono essere inclusi o esclusi.

 

<ojp:OperatorFilter>
    <ojp:Exclude>false</ojp:Exclude>
    <ojp:OperatorRef>sbb:11:SchweizerischeBundesbahnenSBB</ojp:OperatorRef>
</ojp:OperatorFilter>
ojp:PrivateModeFilter 0:1 Utilizzare o meno le modalità private.

Questa funzione non è disponibile.

n.d.
ojp:NoSingleStep 0:1 L’utente non può superare un paragrafo.

Questa funzione non è disponibile.

n.d.
ojp:NoStairs 0:1 L’utente non può usare le scale.

Questa funzione non è disponibile.

n.d.
ojp:NoEscalator 0:1 L’utente non può utilizzare le scale mobili.

Questa funzione non è disponibile.

n.d.
ojp:NoElevator 0:1 L’utente non può utilizzare l’ascensore.

Questa funzione non è disponibile.

n.d.
ojp:NoRamp 0:1 L’utente non può utilizzare la rampa

Questa funzione non è disponibile.

n.d.
ojp:LevelEntrance 0:1 L’utente necessita di ingressi/passaggi a livello del suolo

Questa funzione non è disponibile.

n.d.
ojp:BikeTransport 0:1 L’utente desidera portare una bicicletta

Questa funzione non è disponibile.

n.d.
ojp:WalkSpeed 0: Deviazione rispetto alla normale velocità di camminata. Normale al 100%.

Questa funzione non è disponibile.

n.d.
ojp:NumberOfResults 0:1 Se i risultati sono ponderati allo stesso modo dall’algoritmo di ricerca, vengono visualizzati più risultati. Se non si riesce a trovare il numero di collegamenti desiderato, vengono visualizzati meno risultati. In caso contrario viene restituito il numero desiderato di risultati.
<ojp:NumberOfResults>10</ojp:NumberOfResults>
ojp:NumberOfResultsBefore 0:1 Numero di risultati prima di un determinato periodo di tempo (al traguardo o all’inizio).
Se un client OJP desidera ricevere corse già ricevute con partenza anticipata, deve inviare una nuova richiesta con NumberOfResultsBefore=n e Destination.DepArrTime = prima ora di fine trovata nell’ultima risposta meno 1 minuto.
<ojp:NumberOfResultsBefore>4</ojp:NumberOfResultsBefore>
ojp:NumberOfResultsAfter 0:1 Numero di risultati dopo un determinato periodo di tempo (al traguardo o all’inizio).
Se un client OJP desidera ricevere successivamente una delle corse già ricevute, deve inviare una nuova richiesta con NumberOfResultsAfter=n e Origin.DepArrTime = ultima ora di inizio trovata nell’ultima risposta più 1 minuto.
<ojp:NumberOfResultsAfter>6</ojp:NumberOfResultsAfter>
ojp:IgnoreRealtimeData 0:1 Devono essere considerati anche i dati in tempo reale?
<ojp:IgnoreRealtimeData>true</ojp:IgnoreRealtimeData>
ojp:ImmediateTripStart 0:1 Si deve presumere che l’utente sia già sull’itinerario?

Non supportato.

n.d.
ojp:TransferLimit 0:1 Numero massimo di cambi
<ojp:TransferLimit>3</ojp:TransferLimit>
ojp:OptimisationMethod 0:1 Quale metodo di ottimizzazione si deve utilizzare?

fastest, least walking ecc.

Questa funzione non è disponibile.

n.d.
ojp:ItModesToCover 0:* Per ogni modalità nell’elenco deve essere trovato un viaggio monomodale separato, in aggiunta ai viaggi intermodali.

È supportata per le offerte di mobilità condivisa da agosto 2022.

Vedere il capitolo sullo sharing qui di seguito.
ojp:IncludeTrackSection 0:1 Se il risultato deve includere elementi TrackSection per descrivere la cronologia geografica di questo viaggio del veicolo.
<ojp:IncludeTrackSections>true</ojp:IncludeTrackSections>
ojp:IncludeLegProjection 0:1 Il risultato deve includere la rappresentazione geografica di una tratta.
<ojp:IncludeLegProjection>true</ojp:IncludeLegProjection>
ojp:IncludeTurnDescription 0:1 Le indicazioni dettagliate per ogni tappa sono riportate nella PathGuidance.
<ojp:IncludeTurnDescription>true</ojp:IncludeTurnDescription>
ojp:IncludeAccessibility 0:1 Aggiungere informazioni LDis.
<ojp:IncludeAccessibility>true</ojp:IncludeAccessibility>
ojp:IncludeIntermediateStops 0:1 Indica se le fermate devono essere indicate anche durante la singola corsa, ossia tutte le fermate intermedie.
<ojp:IncludeIntermediateStops>true</ojp:IncludeIntermediateStops>
ojp:IncludeFare 0:1 Devono essere inserite indicazioni di prezzo.

Questa funzione non è al momento supportata.

<ojp:IncludeFare>true</ojp:IncludeFare>
ojp:Extension 0:1 Utilizzata per determinate modalità di condivisione. Vedere il capitolo sullo sharing qui di seguito.

 

Risposta

Esempio di risposta completa: tripresponse

Per prima cosa viene visualizzato ojp:TripResponseContext. Questo contiene informazioni su tutte le località utilizzate (fermate, località, indirizzi ecc.) nell’elemento 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>
+

In futuro, il contesto potrà includere anche la situazione (perturbazioni).

Successivamente compare 0:* TripResult. Dopo l’intestazione

<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>
<!-- ... -->
+

seguono singoli viaggi.

Se non è stato effettuato un instradamento da e verso una fermata, vengono prima le gambe continous che conducono alla fermata.

Altrimenti arriverà un TimedLeg.

<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>
+

Osservazioni:

  • Tutti i XXXRef vengono progressivamente adeguati con i nuovi identificatori svizzeri stabili SID4PT.
  • Gli attributi si ottengono dagli attributi noti da HRDF con A__ . I nomi provengono dagli Indicazioni sul traffico derivati. In alcuni casi questi corrispondono anche a una combinazione di SIRI Facilities. La mappatura avviene come da Notes2FacilitiesMappingFile nell’OJP 1.0 non sono disponibili tutti. In questi casi non viene effettuata alcuna mappatura.

Alcuni punti vengono realizzati con delle estensioni:

Quando si cambia treno TransferLegs utilizzato:

<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>

Soprattutto per i trasferimenti, l’ambito della LDis richiederà miglioramenti.

Informazione geografica utilizzata

Il percorso a piedi si basa su OpenStreetMap (OSM). Le seguenti parti si basano attualmente esclusivamente su OSM:

In ContinuousLeg e TransferLeg (TransferMode=walk):

  • TrackSection
  • Turn action
  • nel TimedLeg
  • LegIntermediates
  • IncludeAccessibility

I dati OSM sono disponibili all’indirizzo Open Data Commons Licenza Open Database (ODbL). Le applicazioni che utilizzano OSM devono indicare OSM come fonte. Il modo in cui ciò avviene è indicato nella seguente direttiva Linee guida OSM per l’attribuzione dei nomi.

OJP Trip Request con fornitori di servizi di sharing

Da agosto 2022, con l’OJP TripRequest è possibile calcolare catene di viaggio con veicoli in sharing (bicicletta, monopattino elettrico, bicicletta a noleggio o carsharing) all’inizio e/o alla fine (primo e/o ultimo miglio).

Indicazioni generali

Per il momento la funzionalità ha carattere sperimentale. Possono risultare catene di viaggio inaspettate o poco praticabili. Il team SKI+ sarà lieto di ricevere feedback in proposito.

Per quanto possibile sono stati impiegati elementi dello standard OJP 1.0. Per alcuni ampliamenti è stato tuttavia necessario effettuare mediante estensioni. Con l’introduzione del protocollo OJP 2.0 vengono implementati i processi multimodali e intermodali che sono stati definiti nello standard.

I calcoli si basano su questa Fonte dei dati.

Le sedi dei veicoli in condivisione sono inoltre consultabili al seguente servizio: OJPLocationInformationRequest

Parametri per la gestione della TripRequest

La gestione della richiesta in TripRequest avviene tramite parametri (elementi XML aggiuntivi) in quattro possibili punti:

1. Viaggio monomodale in bicicletta

Conformemente a Standard OJP 1.0 a tal fine, a <ojp:Params> viene aggiunto l’elemento <ojp:ItModesToCover>, con il valore «cycle»:

<ojp:ItModesToCover>cycle</ojp:ItModesToCover>

2. Viaggi monomodali con monopattino elettrico, bicicletta a noleggio o carsharing

<ojp:Params> viene fornito con una Estensione esteso:

<ojp:Extension> ...
  <ojp:ItModesToCover>escooter_rental</ojp:ItModesToCover> ...
</ojp:Extension>

con «escooter_rental», «bicycle_rental» o «car_sharing».

3. Viaggi intermodali con i trasporti pubblici e una bicicletta all’inizio e/o alla fine

Conformemente a Standard OJP 1.0 <ojp:Origin> e/o <ojp:Destination> ricevono l’elemento <ojp:IndividualTransportOptions>. In esso vengono definiti Mode (cycle), Durata min/max in minuti e Distanza min/max in metri, come illustrato nell’esempio seguente.

<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. Viaggi intermodali con i trasporti pubblici e con un monopattino elettrico, una bicicletta a noleggio o carsharing all’inizio e/o alla fine

<ojp:Params> viene fornito con una Estensione con la modalità escooter_rental, bicycle_rental o car_sharing, come illustrato nell’esempio seguente:

<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>

Panoramica delle possibilità di combinazione

La seguente tabella indica quali combinazioni sono indicate per i viaggi monomodali e multimodali. (Attenzione: qui il trasporto pubblico viene considerato a sé stante, anche se vengono collegati a diversi mezzi di trasporto e cambi).

Combinazione Viaggio monomodale Multimodale —
Modalità all’inizio
Multimodale —
Modalità «Fine»
Modalità Inizio e Fine
trasporti pubblici (default)
a piedi ItModesToCover=walk  oder
IndividualTransportOptions=walk (Wanderungen, s. oben)
(default) (default) (default)
con la propria bicicletta ItModesToCover=
cycle
IndividualTransportOptions
... Mode=cycle
con la propria auto ItModesToCover=
self-drive-car
Bicicletta Sharing Ext./ItModesToCover=
bicycle_rental
Ext./Origin/Mode=
bicycle_rental
Ext./Destin./Mode=
bicycle_rental
possibile se Origin e Destin. Modalità uguali
e-Scooter Sharing Ext./ItModesToCover=
escooter_rental
Ext./Origin/Mode=
escooter_rental
Ext./Destin./Mode=
escooter_rental
possibile se Origin e Destin. Modalità uguali
Car Sharing Ext./ItModesToCover=
car_sharing
Ext./Destin./Mode=
car_sharing

 

Cerca treni Autotunnel

Esempio di richiesta per un treno Autotunnel (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>