OJPTripInfoRequest 2.0

#AutoTranslate

Descrizione breve

Con la TripInfoRequest si possono richiedere ulteriori dettagli su un «Journey» (viaggio). Il «Journey» si riferisce sempre all’intera corsa dal punto di partenza del collegamento fino alla destinazione finale, indipendentemente dalla parte del viaggio realmente interessante. Uno scenario comune per la TripInfoRequest è quello in cui ci si trova su una corsa e successivamente a una fermata si cambia collegamento per verificare la possibilità di coincidenza della corsa successiva e consultare eventuali ritardi o modifiche all’orario. Naturalmente, è possibile utilizzare questa opzione anche per la corsa attuale, per verificare se la coincidenza desiderata è ancora possibile o quanto tempo rimane per il trasferimento.

Descrizione tecnica

API Explorer

Puoi personalizzare le richieste a tuo piacimento e provare i modelli nell’API Open – link diretto all’API Explorer.

TripInfoRequest

Le informazioni centrali per l’invio di una TripInfoRequest sono JourneyRef e OperatingDayRef – si riferiscono a un determinato Journey in un giorno civile. JourneyRef si ricava dalla risposta di un’altra richiesta (ad es. TripRequest o StopEventRequest). Per maggiori dettagli sulla struttura di una TripInfoRequest si rimanda alla descrizione OJPTripInfoRequestStructure presso VDV disponibile. Ecco un esempio di TripInfoRequest:

<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-18T15:41:28.717Z</siri:RequestTimestamp>
            <siri:RequestorRef>SKIPlus</siri:RequestorRef>
            <OJPTripInfoRequest>
                <siri:RequestTimestamp>2025-02-18T15:41:28.717Z</siri:RequestTimestamp>
<span class="crayon-r ">                <siri:MessageIdentifier></span><span class="crayon-i ">SER-1a</span><span class="crayon-r "></siri:MessageIdentifier></span>
                <JourneyRef>ch:1:sjyid:100001:975-001</JourneyRef>
                <OperatingDayRef>2025-02-18</OperatingDayRef>
                <Params>
                    <UseRealtimeData>explanatory</UseRealtimeData>
                    <IncludeCalls>true</IncludeCalls>
                    <IncludeService>true</IncludeService>
                </Params>
            </OJPTripInfoRequest>
        </siri:ServiceRequest>
    </OJPRequest>
</OJP>

Descrizione dei parametri

Gli elementi della OJPTripInfoRequestStructure e TripInfoParamStructure:

ElementoCardinalitàDescrizioneEsempio
siri:RequestTimestamp1:1Timestamp della richiesta. Preferito in Zulu Time.
<siri:RequestTimestamp>2025-02-18T15:41:28.717Z</siri:RequestTimestamp>
siri:MessageIdentifier0:1L’identificativo della segnalazione. Preferibilmente di tipo crescente.
<siri:MessageIdentifier>SER-1a</siri:MessageIdentifier>
JourneyRef-1:1Riferimento alla corsa.Il riferimento può essere determinato mediante una TripRequest o una StopEventRequest.
<JourneyRef>ch:1:sjyid:100001:975-001</JourneyRef>

 

OperatingDayRef-1:1Nel formato AAAA-MM-GG
<OperatingDayRef>2026-06-23</OperatingDayRef>
TrainNumber-1:1Questa funzione non è disponibile, ma verrà fornita se disponibile.

n.d.

OperatorRef-1:1Questa funzione non è disponibile, ma verrà fornita se disponibile.

n.d.

siri:VehicleRef-1:1Questa funzione non è disponibile.n.d.
TimeOfOperation-1:1Questa funzione non è disponibile.n.d.
Params0:1Ulteriori parametri per la richiesta
Params/UseRealTimeData0:1Determina come viene preso in considerazione il tempo reale, full = tutto; explanatory = anche treni in ritardo e cancellati Collegamenti (variante più dettagliata); none = solo secondo Orario.
<UseRealtimeData>explanatory</UseRealtimeData>
Params/IncludeCalls0:1Devono essere inserite le «Calls» (fermate intermedie)? L’impostazione di default è true.
<IncludeCalls>true</IncludeCalls>
Params/IncludePosition0:1Vuoi aggiungere la posizione attuale del treno?Questa funzione non è disponibile.n.d.
Params/IncludeService0:1Deve essere inserita l’informazione sul servizio (LineRef, Mode, OperatorRef ecc.)? L’impostazione di default è true.
<IncludeService>false</IncludeService>
Params/IncludeTrackSections0:1Aggiungere informazioni geografiche dell’itinerario? L’impostazione di default è false.
<IncludeTrackSections>true</IncludeTrackSections>
Params/IncludeTrackProjection0:1Deve includere la proiezione geografica (coordinate) del viaggio del veicolo?
<IncludeTrackProjection>true</IncludeTrackProjection>
Params/IncludePlacesContext0:1Se è necessario il contesto locale. Se il richiedente dispone già di queste informazioni, la risposta può essere più snella impostando false. L’impostazione predefinita è true.Questa feature è prevista.n.d.
Params/IncludeFormation0:1Se la formazione deve essere coinvolta. Selezionando «Semplice» si utilizza solo VehicleFeature. «full» può sviluppare appieno la potenza del modello formativo SIRI (in particolare per i treni). Il documento di specifica OJP fornisce indicazioni su come un server possa limitarsi agli aspetti più importanti. L’impostazione predefinita è none.Questa feature è prevista.n.d.
Params/IncludeSituationsContext0:1Indica se il contesto della situazione è necessario. Se il richiedente dispone di queste informazioni in altro modo o non può elaborarle, impostando la risposta su false è possibile snellire. L’impostazione predefinita è true.n.d.

TripInfoResponse

I dettagli dei singoli parametri possono essere desunti dalle descrizioni riportate nella sezione StopEvent Request essere prelevati.

TripInfoResponseContext

In cima nella OJPTripInfoDeliveryStructure viene visualizzato TripResponseContext come ResponseContextStructure fornito. Per informazioni dettagliate sui «luoghi» utilizzati, si rimanda alla corrispondente descrizione in . OJPTrip Request contenuti.

<TripInfoResponseContext>
    <Places>
        <Place>
            <StopPlace>
                <StopPlaceRef>ch:1:sloid:10</StopPlaceRef>
                <StopPlaceName>
                    <Text xml:lang="de">Basel SBB</Text>
                </StopPlaceName>
                <TopographicPlaceRef>23005701:2</TopographicPlaceRef>
            </StopPlace>
            <Name>
                <Text xml:lang="de">Basel SBB</Text>
            </Name>
            <GeoPosition>
                <siri:Longitude>7.59009</siri:Longitude>
                <siri:Latitude>47.54672</siri:Latitude>
            </GeoPosition>
        </Place>
        <Place>
            <!-- ... -->
        </Place>
    </Places>
    <Situations>
        <PtSituation>
            <siri:CreationTime>2025-03-13T11:17:00Z</siri:CreationTime>
            <siri:ParticipantRef>ski-ddip-out-sx_prod</siri:ParticipantRef>
            <siri:SituationNumber>ch:1:sstid:100001:ski-oct_sip2-sx_prod-TT958987-0</siri:SituationNumber>
            <siri:Version>1</siri:Version>
            <siri:Source>
                <siri:SourceType>directReport</siri:SourceType>
            </siri:Source>
            <siri:ValidityPeriod>
                <siri:StartTime>2025-03-13T11:17:00Z</siri:StartTime>
                <siri:EndTime>2025-03-14T21: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-03-13T11:17:00Z</siri:RecordedAtTime>
                        <siri:Perspective>stopPoint</siri:Perspective>
                        <siri:TextualContent>
                            <siri:SummaryContent>
                                <siri:SummaryText xml:lang="de">Der stufenfreie Zugang zum Bahnhof Basel SBB ist für Reisende mit Mobilitätseinschränkung nicht mehr garantiert.</siri:SummaryText>
                            <!-- ... -->
                        </siri:TextualContent>
                    </siri:PassengerInformationAction>
                </siri:PublishingAction>
            </siri:PublishingActions>
        </PtSituation>
    </Situations>
</TripInfoResponseContext>

TripInfoResult

A seconda del contesto segue il viaggio stesso; prima tutte le fermate con PreviousCall (fermate precedenti) e Onward call (fermate successive). Possono essere riportate più fermate rispetto alla TripRequest utilizzata per il rilevamento del JourneyRef, poiché in TripInfoRequest viene fornita l’intera corsa. Esempio: Per una TripRequest da Berna a Zurigo, nella corrispondente TripInfoRequest potrebbe essere fornita una corsa da Ginevra a San Gallo, di cui la sezione di tratta Berna–Zurigo è parziale.

La risposta contiene più o meno dettagli a seconda dei parametri della richiesta. In particolare, per quanto riguarda il tempo reale, consigliamo di richiedere «UseRealtimeData» con «explanatory» per ottenere tutti i dettagli relativi al tempo reale, in modo che vengano ancora visualizzate le corse soppresse.

<TripInfoResult>
    <PreviousCall>
        <siri:StopPointRef>ch:1:sloid:10:4:8</siri:StopPointRef>
        <StopPointName>
            <Text xml:lang="de">Basel SBB</Text>
        </StopPointName>
        <NameSuffix>
            <Text xml:lang="de">PLATFORM_ACCESS_WITHOUT_ASSISTANCE</Text>
        </NameSuffix>
        <PlannedQuay>
            <Text xml:lang="de">8</Text>
        </PlannedQuay>
        <ServiceDeparture>
            <TimetabledTime>2025-03-14T13:56:00Z</TimetabledTime>
            <EstimatedTime>2025-03-14T14:02:00Z</EstimatedTime>
        </ServiceDeparture>
        <Order>1</Order>
    </PreviousCall>
<!-- ... -->
    <PreviousCall>
        <siri:StopPointRef>ch:1:sloid:7483:0:954324</siri:StopPointRef>
        <StopPointName>
            <Text xml:lang="de">Spiez</Text>
        </StopPointName>
        <NameSuffix>
            <Text xml:lang="de">PLATFORM_ACCESS_WITHOUT_ASSISTANCE</Text>
        </NameSuffix>
        <PlannedQuay>
            <Text xml:lang="de">3</Text>
        </PlannedQuay>
        <ServiceArrival>
            <TimetabledTime>2025-03-14T15:37:00Z</TimetabledTime>
            <EstimatedTime>2025-03-14T15:36:36Z</EstimatedTime>
        </ServiceArrival>
        <ServiceDeparture>
            <TimetabledTime>2025-03-14T15:38:00Z</TimetabledTime>
            <EstimatedTime>2025-03-14T15:39:12Z</EstimatedTime>
        </ServiceDeparture>
        <Order>6</Order>
    </PreviousCall>
    <OnwardCall>
        <siri:StopPointRef>ch:1:sloid:1605:4:7</siri:StopPointRef>
        <StopPointName>
            <Text xml:lang="de">Visp</Text>
        </StopPointName>
        <NameSuffix>
            <Text xml:lang="de">PLATFORM_ACCESS_WITHOUT_ASSISTANCE</Text>
        </NameSuffix>
        <PlannedQuay>
            <Text xml:lang="de">7</Text>
        </PlannedQuay>
        <ServiceArrival>
            <TimetabledTime>2025-03-14T16:04:00Z</TimetabledTime>
            <EstimatedTime>2025-03-14T16:03:12Z</EstimatedTime>
        </ServiceArrival>
        <ServiceDeparture>
            <TimetabledTime>2025-03-14T16:06:00Z</TimetabledTime>
            <EstimatedTime>2025-03-14T16:06:42Z</EstimatedTime>
        </ServiceDeparture>
        <Order>7</Order>
    </OnwardCall>
<!-- ... -->
</TripInfoResult>

Servizio

Informazioni sulla sezione Servizio nel dettaglio: LineRef, Mode (tipo di media), OperatorRef, PublishedServiceName, TrainNumber ecc.

<TripInfoResult>
<!-- ... -->
    <Service>
        <OperatingDayRef>2025-03-14</OperatingDayRef>
        <JourneyRef>ch:1:sjyid:100001:975-001</JourneyRef>
        <siri:LineRef>ojp:91006:H</siri:LineRef>
        <siri:DirectionRef>R</siri:DirectionRef>
        <Mode>
            <PtMode>rail</PtMode>
            <siri:RailSubmode>interregionalRail</siri:RailSubmode>
            <Name>
                <Text xml:lang="de">Zug</Text>
            </Name>
            <ShortName>
                <Text xml:lang="de">IC</Text>
            </ShortName>
        </Mode>
        <ProductCategory>
            <Name>
                <Text xml:lang="de">Zug</Text>
            </Name>
            <ShortName>
                <Text xml:lang="de">IC</Text>
            </ShortName>
            <ProductCategoryRef>23</ProductCategoryRef>
        </ProductCategory>
        <PublishedServiceName>
            <Text xml:lang="de">IC6</Text>
        </PublishedServiceName>
        <TrainNumber>975</TrainNumber>
        <OriginText>
            <Text xml:lang="de">n/a</Text>
        </OriginText>
        <siri:OperatorRef>11</siri:OperatorRef>
        <DestinationStopPointRef>ch:1:sloid:1609:2:3</DestinationStopPointRef>
        <DestinationText>
            <Text xml:lang="de">Brig</Text>
        </DestinationText>
        <SituationFullRefs>
            <SituationFullRef>
                <siri:ParticipantRef>ski-ddip-out-sx_prod</siri:ParticipantRef>
                <siri:SituationNumber>ch:1:sstid:100001:ski-oct_sip2-sx_prod-TT958987-0</siri:SituationNumber>
            </SituationFullRef>
        </SituationFullRefs>
    </Service>
</TripInfoResult>

JourneyTrack e LinkProjection

Successivamente, in JourneyTrack e LinkProjection (parametri richiesta = true: IncludeTrackSections e IncludeLinkProjection) vengono fornite informazioni geografiche sul viaggio.

<ojp:TripInfoResult>
<!-- ... --> 
    <JourneyTrack>
        <TrackSection>
            <TrackSectionStart>
                <siri:StopPointRef>ch:1:sloid:10</siri:StopPointRef>
                <Name>
                    <Text xml:lang="de">Basel SBB</Text>
                </Name>
            </TrackSectionStart>
            <TrackSectionEnd>
                <siri:StopPointRef>8501609</siri:StopPointRef>
                <Name>
                    <Text xml:lang="de">Brig</Text>
                </Name>
            </TrackSectionEnd>
            <LinkProjection>
                <Position>
                    <siri:Longitude>7.59235</siri:Longitude>
                    <siri:Latitude>47.54587</siri:Latitude>
                </Position>
                <Position>
                    <siri:Longitude>7.59256</siri:Longitude>
                    <siri:Latitude>47.54579</siri:Latitude>
                </Position>
<!-- ... -->
                <Position>
                    <siri:Longitude>7.59273</siri:Longitude>
                    <siri:Latitude>47.54575</siri:Latitude>
                </Position>
                <Position>
                    <siri:Longitude>7.98536</siri:Longitude>
                    <siri:Latitude>46.31967</siri:Latitude>
                </Position>
                <Position>
                    <siri:Longitude>7.98575</siri:Longitude>
                    <siri:Latitude>46.31969</siri:Latitude>
                </Position>
            </LinkProjection>
            <Duration>PT2H13M</Duration>
            <Length>0</Length>
        </TrackSection>
    </JourneyTrack>
</ojp:TripInfoResult>