OJPTripRequest 2.0

#AutoTranslate

Descrizione breve

TripRequest è il servizio centralizzato. Si pianifica un viaggio specificando la provenienza e la destinazione.

Un Trip ha diverse «Legs» (sezioni) che sono suddivise in tre categorie «TimedLeg», «TransferLeg» e «ContinousLeg», che sono ad es. percorsi pedonali o corse con mezzi di trasporto senza un orario definito.

Descrizione del funzionamento

  • Fermate: A tale scopo si possono utilizzare anche i record di dati dei posti di servizio.
  • Corse: Una corsa è il trasporto di clienti per un determinato percorso, un determinato collegamento orario, con una determinata corsa di un determinato mezzo di trasporto, a un determinato orario, 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 un treno, calcolati a partire dalla posizione attuale del treno. Il decorso ulteriore della previsione viene calcolato per mezzo di algoritmi che tengono conto di diversi fattori.
  • Mezzo di trasporto (MT): Deve essere sinonimo di veicoli (treno, battello, tram, autobus) dei diversi sistemi di trasporto oppure usato nell’ottica di «sistema di trasporto» (trasporto pubblico ecc.).
  • DateTime nella risposta: Si tratta sempre dell’UTC (Universal Time Coordinated), che dovrebbe essere fornito con l’indicazione dei secondi e del Standard ISO 8601 corrispondenti. Se non si utilizza UTC, è necessario indicare anche la differenza del fuso orario.

Descrizione tecnica

API Explorer

Puoi provare esempi di richieste o modificarle a tua discrezione – link diretto all’OJP OpenAPI Explorer.

Richiesta

Ulteriori informazioni sul OJPTrip Request. Ecco un esempio di OJPTrip Request nell’OJP 2.0:

<?xml version="1.0" encoding="UTF-8"?>
<OJP xmlns="http://www.vdv.de/ojp" xmlns:siri="http://www.siri.org.uk/siri" version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.vdv.de/ojp ../../../../OneDrive/01_Dokumente/OJP%20OpenJourneyPlanner/OJP_changes_for_v1.1/OJP.xsd">
    <OJPRequest>
        <siri:ServiceRequest>
            <siri:RequestTimestamp>2025-01-17T09:58:34Z</siri:RequestTimestamp>
            <siri:RequestorRef>SKIplus</siri:RequestorRef>
            <OJPTripRequest>
                <siri:RequestTimestamp>2025-01-17T09:58:34Z</siri:RequestTimestamp>
                <siri:MessageIdentifier>SKI-TR-Example1</siri:MessageIdentifier>
                <Origin>
                    <PlaceRef>
                        <siri:StopPointRef>ch:1:sloid:3308</siri:StopPointRef>
                        <Name>
                            <Text>Kloten</Text>
                        </Name>
                    </PlaceRef>
                    <DepArrTime>2025-10-01T23:30:00Z</DepArrTime>
                </Origin>
                <Destination>
                    <PlaceRef>
                        <siri:StopPointRef>ch:1:sloid:3424</siri:StopPointRef>
                        <Name>
                            <Text>Schaffhausen</Text>
                        </Name>
                    </PlaceRef>
                </Destination>
                <Params>
                    <NumberOfResults>3</NumberOfResults>
                    <IncludeIntermediateStops>false</IncludeIntermediateStops>
                </Params>
            </OJPTripRequest>
        </siri:ServiceRequest>
    </OJPRequest>
</OJP>

Descrizione dei OJPTripRequestStructure:

Elemento Cardinalità Descrizione Esempio
siri:RequestTimestamp 1:1 Il timestamp della richiesta in ISO 8601, preferibilmente come tempo Zulu.
<siri:RequestTimestamp>2025-01-31T12:30:00Z</siri:RequestTimestamp>
siri:RequestorRef 0:1 Il RequestorRef deve essere impiegato per permettere l’identificazione dei sistemi richiedenti. Come gestori del sistema OJP, questo può aiutare noi, in caso di problemi, a contattare il rispettivo utente del sistema.
<siri:RequestorRef>SKIplus</siri:RequestorRef>
siri:MessageIdentifier 0:1 L’identificativo del messaggio. Può essere selezionato dall’utente. Può essere utile in caso di assistenza. Se disponibile, viene restituito nella risposta.
<siri:MessageIdentifier>SKI-TR-Example1</siri:MessageIdentifier>
Origin 1:* Il punto di partenza della richiesta di viaggio. OJP offre diverse opzioni per descrivere questo elemento.
Maggiori informazioni nella rispettiva sezione.
<Origin> 
<PlaceRef>
<StopPlaceRef>ch:1:sloid:3000</StopPlaceRef>
<Name>
<Text>Bern</Text>
</Name>
</PlaceRef>
<DepArrTime>2025-01-20T12:00:00Z</DepArrTime>
</Origin>
Destination 1:* Scopo della richiesta di viaggio. OJP offre diverse opzioni per descrivere questo elemento.
Maggiori informazioni nella rispettiva sezione.
<Destination>
<PlaceRef>
<StopPlaceRef>ch:1:sloid:5000</StopPlaceRef>
<Name>
<Text>Luzern</Text>
</Name>
</PlaceRef>
<DepArrTime>2025-01-20T12:00:00Z</DepArrTime>
</Destination>
Via 0:1 Viene supportato al massimo un Via. Se occorre considerare più Via o calcolare un itinerario circolare, il sistema richiedente deve suddividere il viaggio in più viaggi.
Il DwellTime è opzionale; in ViaPoint viene calcolata una sosta corrispondente. DwellTime >= orario di partenza (Via) – orario d’arrivo (Via).
Nota: Una volta specificato un DwellTime, il viaggio non emetterà TransferLeg alla fermata Via, in quanto non c’è trasferimento diretto.
<Via>
<ViaPoint>
<StopPlaceRef>ch:1:sloid:6000</StopPlaceRef>
<Name>
<Text>Winterthur</Text>
</Name>
</ViaPoint>
<ojp:DwellTime>PT2H</ojp:DwellTime>
</Via>
Params 0:* Per la descrizione dei parametri, vedere la sezione corrispondente più avanti. Lì è presente anche un link ad altri parametri, che tuttavia non sono tutti supportati.
<Params>
    <NumberOfResults>5</NumberOfResults>
    <IncludeTrackSections>true</IncludeTrackSections>
    <IncludeLegProjection>true</IncludeLegProjection>
    <IncludeIntermediateStops>true</IncludeIntermediateStops>
    <UseRealtimeData>explanatory</UseRealtimeData>
</Params>

Struttura Origin/Destination

Elemento Cardinalità Descrizione Esempio
 PlaceRef/siri:StopPointRef 0:1 Riferimento a uno «Scheduled Stop Point». Vengono ancora utilizzati solo gli SLOID; per StopPoint esteri può ancora essere utilizzato il numero BPUIC come PlaceRef per StopPointRef (e StopPlaceRef). Di più Informazioni.
<PlaceRef>
<siri:StopPointRef>ch:1:sloid:3000:9:17</siri:StopPointRef>
<Name>
<Text>Zürich HB</Text>
</Name>
</PlaceRef>
PlaceRef/StopPlaceRef 0:1 Riferimento a una fermata. Vengono ancora utilizzati solo gli SLOID; per StopPoint esteri può ancora essere utilizzato il numero BPUIC come PlaceRef per StopPlaceRef (e StopPointRef). Di più Informazioni.
<PlaceRef>
<StopPlaceRef>ch:1:sloid:3424</StopPlaceRef>
<Name>
<Text>Schaffhausen</Text>
</Name>
</PlaceRef>
PlaceRef/GeoPosition 0:1 Coordinate WGS84, qui non è necessario alcun elemento di nome.
<PlaceRef>
    <GeoPosition>
        <siri:Longitude>7.431516</siri:Longitude>
        <siri:Latitude>46.956353</siri:Latitude>
    </GeoPosition>
</PlaceRef>
PlaceRef/TopographicPlaceRef 0:1 Nome e codice con descrizione di TopographicPlace da utilizzare nelle informazioni ai viaggiatori

 

<TopographicPlace>
<TopographicPlaceCode>23026261:27</TopographicPlaceCode>
<TopographicPlaceName>
<Text xml:lang="de">Zürich</Text>
</PlaceRef>
<TopographicPlaceName>
</TopographicPlace>

DepArrTime 0:1 Tempo che deve essere impiegato.

«Z» è l’ora zulu (indipendente dal fuso orario). L’indicazione del tempo deve corrispondere a ISO 8601, quindi deve essere indicata con secondi. Se il formato non è corretto, il sistema riprende l’ora locale.

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

Vedere tabella a parte

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

Struttura TrasportoIndividualeOpzione

Elemento Cardinalità Descrizione Esempio
ItModeToCover/PersonalMode 1:1 PersonalMode, con cui si desidera raggiungere l’origine, in alcuni casi anche la destinazione. Al momento non sono ancora supportate tutte le modalità, che sono anche quelle predefinite se il viaggio non inizia da una fermata. Altrimenti valori:
  • a piedi
  • bicyclecar
  • motore
  • ciclo
  • autocarro
  • monopattini
  • other (solo nel caso in cui non rientri altro)
<Params>
    ...
    <ItModeToCover>
        <PersonalMode>foot</PersonalMode>
    </ItModeToCover>
</Params>
MaxDistance 0:1 Distanza massima in metri. Gli itinerari vengono così limitati.
<MaxDistance>10000</MaxDistance>
MaxDuration 0:1 Durata massima. Controlla il router in relazione alla durata massima. Si deve prestare attenzione al formato. È una xs:duration.
<MaxDuration>PT2H</MaxDuration>
MinDistance 0:1 Distanza minima in metri. Gli itinerari vengono così ridotti al minimo.

Non supportato.

n/a
MinDuration 0:1 Durata minima. Controlla la durata minima del router. Si deve prestare attenzione al formato. È una xs:duration.

Non supportato.

n/a
Speed 0:1 La velocità relativa in percentuale, la velocità normale è (predefinita) 100%, più lenta con un valore basso, più veloce con un valore più alto.
<Speed>150</Speed>

Struttura TripParamStructure

Elemento Cardinalità Descrizione Esempio
ModeAndModeOfOperationFilter 0:* Il filtro indica quali modalità devono essere prese in considerazione. Con il parametro Exclude si può definire se si desidera escludere una modalità (true) oppure solo questa richiesta (false). È supportato il seguente elenco di modalità:
rail, bus, tram, water

Ci sono anche i sottomode Rail che provengono da SIRI provengono. Al momento gli altri filtri sottomodali non sono supportati. “railSubmode”:

international, highSpeedRail, interregionalRail, local, railShuttle

<ModeAndModeOfOperationFilter>
    <Exclude>false</Exclude>
    <PtMode>water</PtMode>
</ModeAndModeOfOperationFilte>
oppure
<ModeAndModeOfOperationFilter>
    <Exclude>false</Exclude>
    <siri:RailSubmode>interregionalRail</siri:RailSubmode>
</ModeAndModeOfOperationFilter>
LineFilter 0:1 Linee che devono essere incluse o escluse.

 

<LineFilter>
    <Line>
        <LineRef>sbb:92080::R</LineRef>
    </Line>
    <Line>
        <LineRef>sbb:91012:B:H</LineRef>
    </Line>
    <Exclude>true</Exclude>
</LineFilter>
OperatorFilter 0:1 Operatori che devono essere inclusi o esclusi.

 

<OperatorFilter>
    <Exclude>false</Exclude>
    <OperatorRef>sbb:11:SchweizerischeBundesbahnenSBB</OperatorRef>
</OperatorFilter>
IncludeAllRestrictedLines 0:1 Ci possono essere linee che hanno restrizioni particolari e che non sono generalmente aperte al pubblico. Ad esempio scuolabus o navette aziendali. Impostando questo segno di spunta, il router tiene conto anche delle linee limitate.
<IncludeAllRestrictedLines>true</IncludeAllRestrictedLines>
NoSingleStep 0:1 L’utente non può superare un paragrafo.

Questa funzione non è disponibile.

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

Questa funzione non è disponibile.

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

Questa funzione non è disponibile.

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

Questa funzione non è disponibile.

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

Questa funzione non è disponibile.

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

Questa funzione non è disponibile.

n.d.
BikeTransport 0:1 L’impostazione di default è «false»; con «true» non vengono visualizzati collegamenti con restrizioni per il trasporto di biciclette.
Nota: I viaggi a cui il trasporto di biciclette non è consentito solo per alcune fermate non vengono visualizzati neppure per altre.
<BikeTransport>true</BikeTransport>
WalkSpeed 0:1 Deviazione rispetto alla normale velocità di camminata. Normale al 100%.

Questa funzione non è disponibile.

n.d.
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.
<NumberOfResults>10</NumberOfResults>
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.
<NumberOfResultsBefore>4</NumberOfResultsBefore>
NumberOfResultsAfter 0:1 Numero di risultati dopo un determinato periodo di tempo (al traguardo o all’inizio)

Se un client OJP vuole ricevere ancora una volta le 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.

<NumberOfResultsAfter>6</NumberOfResultsAfter>
TimeWindow 0:1 Fascia temporale in cui inserire i viaggi a partire dall’ora specificata in PlaceContext. Non supportata. n.d.
UseRealtimeData 0:1 Determina come viene preso in considerazione il tempo reale, full = tutto; explanatory = anche collegamenti in ritardo e cancellati (variante più dettagliata); none = solo secondo l’orario.
<UseRealtimeData>explanatory</UseRealtimeData>
TransferLimit 0:1 Numero massimo di cambi
<TransferLimit>3</TransferLimit>
OptimisationMethod 0:1 Quale metodo di ottimizzazione si deve utilizzare?

fastest, least walking ecc.

Attualmente è disponibile solo «minChanges».

<OptimisationMethod>minChanges</OptimisationMethod> 
ItModesToCover 0:* Per ogni modalità nell’elenco deve essere trovato un viaggio monomodale separato, in aggiunta ai viaggi intermodali. n.d.
IncludeTrackSection 0:1 La risposta OJP deve contenere TrackSections, che consente una proiezione geografica di una tratta. Se disponibili, vengono visualizzati anche TrackStart, TrackEnd e Duration.
<IncludeTrackSections>true</IncludeTrackSections>
IncludeLegProjection 0:1 Il risultato deve includere la rappresentazione geografica di una tratta.
<IncludeLegProjection>true</IncludeLegProjection>
IncludeTurnDescription 0:1 Una descrizione dettagliata del percorso per ogni tappa è disponibile in PathGuidance.
<IncludeTurnDescription>true</IncludeTurnDescription>
IncludeIntermediateStops 0:1 Indica se le fermate devono essere indicate anche durante la singola corsa, ossia tutte le fermate intermedie.
<IncludeIntermediateStops>true</IncludeIntermediateStops>
IncludeFare 0:1 Devono essere inserite indicazioni di prezzo.

Questa funzione non è al momento supportata.

<IncludeFare>true</IncludeFare>

 

Risposta

Ulteriori informazioni sulla risposta al Trip o sulla OJPTripDeliver La struttura (struttura di base) si trova nella tabella della VDV.

Per prima cosa viene fornito TripResponseContext. Quest’ultimo contiene informazioni su tutte le Places utilizzate (fermate, località, indirizzi ecc.) nell’elemento Places:

<Place>
    <StopPlace>
        <StopPlaceRef>ch:1:sloid:90034</StopPlaceRef>
        <StopPlaceName>
            <Text xml:lang="de">Bern, Bärenpark</Text>
        </StopPlaceName>
        <TopographicPlaceRef>23006351:1</TopographicPlaceRef>
    </StopPlace>
    <Name>
        <Text xml:lang="de">Bern, Bärenpark</Text>
    </Name>
    <GeoPosition>
        <siri:Longitude>7.45941</siri:Longitude>
        <siri:Latitude>46.94847</siri:Latitude>
    </GeoPosition>
</Place>
<Place>
    <StopPoint>
        <siri:StopPointRef>ch:1:sloid:90034:0:2</siri:StopPointRef>
        <StopPointName>
            <Text xml:lang="de">Bern, Bärenpark</Text>
        </StopPointName>
        <ParentRef>ch:1:sloid:90034</ParentRef>
        <TopographicPlaceRef>23006351:1</TopographicPlaceRef>
    </StopPoint>
    <Name>
        <Text xml:lang="de">Bärenpark</Text>
    </Name>
    <GeoPosition>
        <siri:Longitude>7.45941</siri:Longitude>
        <siri:Latitude>46.94847</siri:Latitude>
    </GeoPosition>
</Place>

In ServiceKontext vengono inserite anche situazioni PtSituations (perturbazioni) se le circostanze si adattano generalmente all’itinerario di viaggio.

<PtSituation>
    <siri:CreationTime>2025-02-03T12:13:00Z</siri:CreationTime>
    <siri:ParticipantRef>ski-ddip-out-sx_prod</siri:ParticipantRef>
    <siri:SituationNumber>ch:1:sstid:100001:ski-oct_sip2-sx_prod-TT951800-0</siri:SituationNumber>
    <siri:Version>1</siri:Version>
    <siri:Source>
        <siri:SourceType>directReport</siri:SourceType>
    </siri:Source>
    <siri:ValidityPeriod>
        <siri:StartTime>2025-02-03T12:13:00Z</siri:StartTime>
        <siri:EndTime>2025-02-04T21:00:00Z</siri:EndTime>
    </siri:ValidityPeriod>
    <siri:AlertCause>unknown</siri:AlertCause>
    <siri:Priority>3</siri:Priority>
    <siri:ScopeType>stopPoint</siri:ScopeType>
    <siri:Language>de</siri:Language>
    <siri:PublishingActions>
        <siri:PublishingAction>
            <siri:PublishAtScope>
                <siri:ScopeType>stopPoint</siri:ScopeType>
                <siri:Affects/>
            </siri:PublishAtScope>
            <siri:PassengerInformationAction>
                <siri:ActionRef/>
                <siri:RecordedAtTime>2025-02-03T12:13:00Z</siri:RecordedAtTime>
                <siri:Perspective>stopPoint</siri:Perspective>
                <siri:TextualContent>
                    <siri:SummaryContent>
                        <siri:SummaryText xml:lang="de">Der stufenfreie Zugang zum Bahnhof Bern ist für Reisende mit Mobilitätseinschränkung unter Umständen nicht mehr garantiert.</siri:SummaryText>
                    </siri:SummaryContent>
                    <siri:ReasonContent>
                        <siri:ReasonText xml:lang="de">Der Grund ist eine Liftstörung.</siri:ReasonText>
                    </siri:ReasonContent>
                    <siri:DescriptionContent>
                        <siri:DescriptionText xml:lang="de">Betroffen ist der Personenlift Gleis 1/2 - Welle.</siri:DescriptionText>
                    </siri:DescriptionContent>
                    <siri:RecommendationContent>
                        <siri:RecommendationText xml:lang="de">Für Reisende mit Mobilitätseinschränkung wird empfohlen, sich beim Contact Center Handicap zu melden: Tel. 0800 007 102 oder swisspass.ch/handicap.</siri:RecommendationText>
                    </siri:RecommendationContent>
                    <siri:DurationContent>
                        <siri:DurationText xml:lang="de">Die Einschränkung dauert ungefähr bis 04.02.2025, 22:00.</siri:DurationText>
                    </siri:DurationContent>
                </siri:TextualContent>
            </siri:PassengerInformationAction>
        </siri:PublishingAction>
    </siri:PublishingActions>
</PtSituation>
+

Quindi compare 0:* TripResult. Dopo l’intestazione seguono singoli viaggi.

<TripResult>
    <Id>ID-FEF77DD9-EC8D-46D8-92EE-DC5FCFBE7B86</Id>
    <Trip>
        <Id>ID-FEF77DD9-EC8D-46D8-92EE-DC5FCFBE7B86</Id>
        <Duration>PT6M30S</Duration>
        <StartTime>2025-02-03T07:59:00Z</StartTime>
        <EndTime>2025-02-03T08:05:30Z</EndTime>
        <!-- ... -->

Se non è stato richiesto un viaggio da e per una fermata, viene Continous- Leg (percorso a piedi) che conduce alla fermata.
Altrimenti si verifica un TimedLeg come prima tappa. Ecco un esempio con una ContinousLeg all’inizio:

<Leg>
    <Id>1</Id>
    <Duration>PT2M</Duration>
    <ContinuousLeg>
        <LegStart>
            <GeoPosition>
                <siri:Longitude>7.45939</siri:Longitude>
                <siri:Latitude>46.94783</siri:Latitude>
            </GeoPosition>
            <Name>
                <Text xml:lang="de">46.947825,7.459388</Text>
            </Name>
        </LegStart>
        <LegEnd>
            <siri:StopPointRef>ch:1:sloid:90034</siri:StopPointRef>
            <Name>
                <Text xml:lang="de">Bern, Bärenpark</Text>
            </Name>
        </LegEnd>
        <Service>
            <PersonalModeOfOperation>own</PersonalModeOfOperation>
            <PersonalMode>foot</PersonalMode>
        </Service>
        <Duration>PT2M</Duration>
        <Length>121</Length>
    </ContinuousLeg>
</Leg>
<Leg>
    <Id>2</Id>
    <Duration>PT4M</Duration>
    <TimedLeg>
        <LegBoard>
            <siri:StopPointRef>ch:1:sloid:90034:0:2</siri:StopPointRef>
            <StopPointName>
                <Text xml:lang="de">Bern, Bärenpark</Text>
            </StopPointName>
            <NameSuffix>
                <Text xml:lang="de">PLATFORM_ACCESS_WITH_ASSISTANCE</Text>
            </NameSuffix>
            <ServiceDeparture>
                <TimetabledTime>2025-02-03T08:01:00Z</TimetabledTime>
                <EstimatedTime>2025-02-03T08:01:30Z</EstimatedTime>
            </ServiceDeparture>
            <Order>1</Order>
        </LegBoard>
        <LegIntermediate>
            <siri:StopPointRef>ch:1:sloid:90033:0:2</siri:StopPointRef>
            <StopPointName>
                <Text xml:lang="de">Bern, Nydegg</Text>
            </StopPointName>
            <NameSuffix>
                <Text xml:lang="de">PLATFORM_ACCESS_WITH_ASSISTANCE</Text>
            </NameSuffix>
            <ServiceArrival>
                <TimetabledTime>2025-02-03T08:02:00Z</TimetabledTime>
                <EstimatedTime>2025-02-03T08:02:30Z</EstimatedTime>
            </ServiceArrival>
            <ServiceDeparture>
                 <TimetabledTime>2025-02-03T08:02:00Z</TimetabledTime>
                 <EstimatedTime>2025-02-03T08:02:30Z</EstimatedTime>
            </ServiceDeparture>
            <Order>2</Order>
        </LegIntermediate>
        <LegIntermediate>
            <siri:StopPointRef>ch:1:sloid:90032:0:2</siri:StopPointRef>
            <StopPointName>
                <Text xml:lang="de">Bern, Rathaus</Text>
            </StopPointName>
            <NameSuffix>
                <Text xml:lang="de">ALTERNATIVE_TRANSPORT</Text>
            </NameSuffix>
            <ServiceArrival>
                <TimetabledTime>2025-02-03T08:03:00Z</TimetabledTime>
                <EstimatedTime>2025-02-03T08:03:30Z</EstimatedTime>
            </ServiceArrival>
            <ServiceDeparture>
                <TimetabledTime>2025-02-03T08:03:00Z</TimetabledTime>
                <EstimatedTime>2025-02-03T08:03:30Z</EstimatedTime>
            </ServiceDeparture>
            <Order>3</Order>
        </LegIntermediate>
        <LegAlight>
            <siri:StopPointRef>ch:1:sloid:7110:0:6</siri:StopPointRef>
            <StopPointName>
                <Text xml:lang="de">Bern, Zytglogge</Text>
            </StopPointName>
            <NameSuffix>
                <Text xml:lang="de">PLATFORM_ACCESS_WITH_ASSISTANCE</Text>
            </NameSuffix>
            <PlannedQuay>
                <Text xml:lang="de">C</Text>
            </PlannedQuay>
            <EstimatedQuay>
                <Text xml:lang="de">C</Text>
            </EstimatedQuay>
            <ServiceArrival>
                <TimetabledTime>2025-02-03T08:05:00Z</TimetabledTime>
                <EstimatedTime>2025-02-03T08:05:30Z</EstimatedTime>
            </ServiceArrival>
            <Order>4</Order>
         </LegAlight>
         <Service>
            <Mode>
                <PtMode>bus</PtMode>
                <siri:BusSubmode>localBus</siri:BusSubmode>
                <Name>
                    <Text xml:lang="de">Bus</Text>
                </Name>
                <ShortName>
                    <Text xml:lang="de">B</Text>
                </ShortName>
             </Mode>
             <ConventionalModeOfOperation>scheduled</ConventionalModeOfOperation>
             <TrainNumber>9992</TrainNumber>
             <siri:LineRef>ojp:92012:_x0020_</siri:LineRef>
             <siri:OperatorRef>827</siri:OperatorRef>
             <PublicCode>Bus</PublicCode>
             <PublishedServiceName>
                 <Text xml:lang="de">12</Text>
             </PublishedServiceName>
             <ProductCategory>
                 <Name>
                     <Text xml:lang="de">Bus</Text>
                 </Name>
                 <ShortName>
                     <Text xml:lang="de">B</Text>
                 </ShortName>
                 <ProductCategoryRef>29</ProductCategoryRef>
             </ProductCategory>
             <siri:DirectionRef>R</siri:DirectionRef>
             <OperatingDayRef>2025-02-03</OperatingDayRef>
             <DestinationStopPointRef>ch:1:sloid:76646</DestinationStopPointRef>
             <OriginText>
                 <Text xml:lang="de">n/a</Text>
             </OriginText>
             <DestinationText>
                 <Text xml:lang="de">Bern, Bahnhof</Text>
             </DestinationText>
             <JourneyRef>ojp-92-12-_-j25-1-419-TA</JourneyRef>
             <Attribute>
                 <UserText>
                     <Text xml:lang="de">VELOS: Platzzahl eingeschränkt</Text>
                 </UserText>
                 <Code>A__VB</Code>
             </Attribute>
<!-- ... -->
        </Service>
    </TimedLeg>
</Leg>
+

Osservazioni:

  • Gli attributi si ottengono dagli attributi noti da HRDF con A__ . La mappatura viene eseguita come da Notes2FacilitiesMappingFile.
  • Le modalità disponibili provengono dalle Indicazioni sul traffico derivati. In alcuni casi questi corrispondono anche a una combinazione di SIRI Facilities.
  • Per FareRequest è possibile creare nella risposta gli attributi con Codici tariffari che sono poi rilevanti per la richiesta al sistema NOVA.
<!-- ... -->
<Attribute>
    <UserText>
        <Text xml:lang="de">TC-006000</Text>
    </UserText>
    <Code>T_1SX</Code>
</Attribute>
<!-- ... -->

Passaggio e attuazione della LDis

TransferLegs in caso di cambio di treno vengono emesse come segue:

<!-- ... -->
<Leg>
    <Id>2</Id>
    <Duration>PT6M</Duration>
    <TransferLeg>
        <TransferType>walk</TransferType>
        <LegStart>
            <siri:StopPointRef>ch:1:sloid:7000:501:24</siri:StopPointRef>
            <Name>
                <Text xml:lang="de">Bern</Text>
            </Name>
        </LegStart>
        <LegEnd>
            <siri:StopPointRef>ch:1:sloid:7000:5:10</siri:StopPointRef>
            <Name>
                <Text xml:lang="de">Bern</Text>
            </Name>
        </LegEnd>
        <Duration>PT6M</Duration>
    </TransferLeg>
</Leg>
<!-- ... -->

Trasferimenti speciali per il giorno “TransferType” del contenuto “remainInVehicle” e “changeWithinVehicle” sono treni con riduzioni e treni a sezioni multiple. Di regola, il rinforzo non è visibile nelle informazioni alla clientela.

Per adempiere alla legge sui disabili, le informazioni relative all’accessibilità con la sedia a rotelle vengono riportate per ogni corsa nei giorni seguenti “LegBord” e “LegAlight” spesi:

<!-- ... -->
<TimedLeg>
    <LegBoard>
        <siri:StopPointRef>ch:1:sloid:7000:5:10</siri:StopPointRef>
        <StopPointName>
            <Text xml:lang="de">Bern</Text>
        </StopPointName>
        <PlannedQuay>
            <Text xml:lang="de">10</Text>
        </PlannedQuay>
        <EstimatedQuay>
            <Text xml:lang="de">10</Text>
        </EstimatedQuay>
        <NameSuffix>
            <strong><Text xml:lang="de">PLATFORM_ACCESS_WITH_ASSISTANCE_WHEN_NOTIFIED</Text></strong>
        </NameSuffix>
        <ServiceDeparture>
            <TimetabledTime>2025-02-03T14:47:00Z</TimetabledTime>
            <EstimatedTime>2025-02-03T14:47:30Z</EstimatedTime>
        </ServiceDeparture>
        <Order>1</Order>
    </LegBoard>
<!-- ... -->
    <LegAlight>
        <siri:StopPointRef>ch:1:sloid:7100:3:4</siri:StopPointRef>
        <StopPointName>
            <Text xml:lang="de">Thun</Text>
        </StopPointName>
        <NameSuffix>
            <strong><Text xml:lang="de">PLATFORM_ACCESS_WITHOUT_ASSISTANCE</Text></strong>
        </NameSuffix>
        <PlannedQuay>
            <Text xml:lang="de">4</Text>
        </PlannedQuay>
        <EstimatedQuay>
            <Text xml:lang="de">4</Text>
        </EstimatedQuay>
        <ServiceArrival>
            <TimetabledTime>2025-02-03T15:18:00Z</TimetabledTime>
            <EstimatedTime>2025-02-03T15:18:00Z</EstimatedTime>
        </ServiceArrival>
        <Order>10</Order>
    </LegAlight>
<!-- ... -->

A tale proposito possono essere utilizzate le avvertenze indicate di seguito; per le informazioni alla clientela vengono utilizzati i simboli e i testi seguenti:

  • Autonomia / PLATFORM_ACCESS_WITHOUT_ASSISTANCE
  • Impiego rampa / PLATFORM_ACCESS_WITH_ASSISTANCE
  • Pre-iscrizione / PLATFORM_ACCESS_WITH_ASSISTANCE_WHEN_NOTIFIED
  • Servizio navetta / ALTERNATIVE_TRANSPORT
  • nessun accesso / PLATFORM_NOT_WHEELCHAIR_ACCESSIBLE
  • nessuna informazione / NO_DATA

Informazione geografica utilizzata

Il percorso a piedi si basa su OpenStreetMap (OSM). 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ò può avvenire (a seconda del tipo di applicazione) è indicato nelle Direttive OSM.

Ulteriori indicazioni

Cerca treni Autotunnel

Esempio di richiesta per un treno Autotunnel (ATZ):

<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="2.0">
    <OJPRequest>
        <siri:ServiceRequest>
            <siri:ServiceRequestContext>
                <siri:Language>de</siri:Language>
            </siri:ServiceRequestContext>
            <siri:RequestTimestamp>2025-02-03T10:05:00.552Z</siri:RequestTimestamp>
            <siri:RequestorRef>SKIplus</siri:RequestorRef>
            <OJPTripRequest>
                <siri:RequestTimestamp>2025-02-03T10:05:00.552Z</siri:RequestTimestamp>
                <Origin>
                    <PlaceRef>
                        <StopPlaceRef>ch:1:sloid:11171</StopPlaceRef>
                        <Name>
                            <Text>Kandersteg Autoverlad (Kandersteg)</Text>
                        </Name>
                    </PlaceRef>
                    <DepArrTime>2025-02-03T08:00:15.652Z</DepArrTime>
                </Origin>
                <Destination>
                    <PlaceRef>
                        <StopPlaceRef>ch:1:sloid:19655</StopPlaceRef>
                        <Name>
                            <Text>Goppenstein Autoverlad (Ferden)</Text>
                        </Name>
                    </PlaceRef>
                </Destination>
                <Params>
                    <IncludeAllRestrictedLines>true</IncludeAllRestrictedLines>
                    <NumberOfResults>1</NumberOfResults>
                    <IncludeTrackSections>true</IncludeTrackSections>
                    <IncludeLegProjection>true</IncludeLegProjection>
                    <IncludeTurnDescription>true</IncludeTurnDescription>
                    <IncludeIntermediateStops>true</IncludeIntermediateStops>
                    <UseRealtimeData>explanatory</UseRealtimeData>
                </Params>
            </OJPTripRequest>
        </siri:ServiceRequest>
    </OJPRequest>
</OJP>