#AutoTranslate
Descrizione breve
Con TripRefineRequest è possibile aggiornare una corsa che in precedenza è stata trovata con una TripRequest. È possibile aggiornare l’intero viaggio o anche solo singole tratte del viaggio. TripRefineRequest viene utilizzato in particolare per interrogare gli orari di arrivo e partenza modificati.
Descrizione tecnica
API Explorer
Puoi personalizzare le richieste a tuo piacimento e provare i modelli nell’API Open – link diretto all’API Explorer.
TripRefineRequest
Le informazioni centrali per inviare una TripRefineRequest sono l’ID di Trip, la TimetabledTime e siri:StopPointRef e qualche altro paio di campi in dettaglio sotto. Maggiori dettagli sulla struttura di una TripRefineRequest sono riportati nella descrizione del TripRefineRequests presso VDV dall’utente. Ecco un esempio di TripRefineRequest conforme a XSD:
<?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 OJP_changes_for_v1.1/OJP.xsd">
<OJPRequest>
<siri:ServiceRequest>
<siri:RequestTimestamp>2025-01-16T15:32:24.500Z</siri:RequestTimestamp>
<siri:RequestorRef>SKIPlusRegTests</siri:RequestorRef>
<OJPTripRefineRequest xmlns="http://www.vdv.de/ojp" xmlns:siri="http://www.siri.org.uk/siri" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.vdv.de/ojp OJP_changes_for_v1.1/OJP.xsd">
<siri:RequestTimestamp>2025-01-16T15:32:24.500Z</siri:RequestTimestamp>
<siri:MessageIdentifier>TRR-1</siri:MessageIdentifier>
<RefineParams>
<RefineLegRef/>
<IncludeIntermediateStops>true</IncludeIntermediateStops>
</RefineParams>
<TripResult>
<Id>ID-6F1F1CE3-AD63-44EA-82D7-72B1B5A1A9FA</Id>
<Trip>
<Id>ID-6F1F1CE3-AD63-44EA-82D7-72B1B5A1A9FA</Id>
<Duration>PT55M6S</Duration>
<StartTime>2025-04-15T05:26:30Z</StartTime>
<EndTime>2025-04-15T06:21:36Z</EndTime>
<Transfers>0</Transfers>
<Leg>
<Id>1</Id>
<TimedLeg>
<LegBoard>
<siri:StopPointRef>ch:1:sloid:6208:2:3</siri:StopPointRef>
<StopPointName>
<Text xml:lang="de">Uzwil</Text>
</StopPointName>
<ServiceDeparture>
<TimetabledTime>2025-04-15T05:25:00Z</TimetabledTime>
</ServiceDeparture>
</LegBoard>
<LegAlight>
<siri:StopPointRef>ch:1:sloid:3000:500:32</siri:StopPointRef>
<StopPointName>
<Text xml:lang="de">Zürich</Text>
</StopPointName>
<ServiceArrival>
<TimetabledTime>2025-04-15T06:21:00Z</TimetabledTime>
</ServiceArrival>
</LegAlight>
<Service>
<OperatingDayRef>2025-04-15</OperatingDayRef>
<JourneyRef>ch:1:sjyid:100001:710-001</JourneyRef>
<siri:LineRef>ojp:91001:D</siri:LineRef>
<siri:DirectionRef>H</siri:DirectionRef>
<Mode>
<PtMode>rail</PtMode>
</Mode>
<ProductCategory>
<ProductCategoryRef>23</ProductCategoryRef>
</ProductCategory>
<PublishedServiceName>
<Text>IC1</Text>
</PublishedServiceName>
</Service>
</TimedLeg>
</Leg>
</Trip>
</TripResult>
</OJPTripRefineRequest>
</siri:ServiceRequest>
</OJPRequest>
</OJP>
Il sistema è in grado di attribuire correttamente un Trip anche con un numero leggermente inferiore di informazioni. Ecco un esempio di TripRefineRequest non conforme a XSD, ma che funziona anch’esso:
<?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 OJP_changes_for_v1.1/OJP.xsd">
<OJPRequest>
<siri:ServiceRequest>
<siri:RequestTimestamp>2025-01-16T15:32:24.500Z</siri:RequestTimestamp>
<siri:RequestorRef>SKIPlusRegTests</siri:RequestorRef>
<OJPTripRefineRequest xmlns="http://www.vdv.de/ojp" xmlns:siri="http://www.siri.org.uk/siri" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.vdv.de/ojp OJP_changes_for_v1.1/OJP.xsd">
<siri:RequestTimestamp>2025-01-16T15:32:24.500Z</siri:RequestTimestamp>
<siri:MessageIdentifier>TRR-1</siri:MessageIdentifier>
<TripResult>
<Trip>
<Id>ID-6F1F1CE3-AD63-44EA-82D7-72B1B5A1A9FA</Id>
<Leg>
<Id>1</Id>
<TimedLeg>
<LegBoard>
<siri:StopPointRef>ch:1:sloid:6208:2:3</siri:StopPointRef>
<ServiceDeparture>
<TimetabledTime>2025-04-15T05:25:00Z</TimetabledTime>
</ServiceDeparture>
</LegBoard>
<LegAlight>
<siri:StopPointRef>ch:1:sloid:3000:500:32</siri:StopPointRef>
<ServiceArrival>
<TimetabledTime>2025-04-15T06:21:00Z</TimetabledTime>
</ServiceArrival>
</LegAlight>
<Service>
<OperatingDayRef>2025-04-15</OperatingDayRef>
<JourneyRef>ch:1:sjyid:100001:710-001</JourneyRef>
<siri:LineRef>ojp:91001:D</siri:LineRef>
<siri:DirectionRef>H</siri:DirectionRef>
<Mode/>
<ProductCategory>
<ProductCategoryRef>23</ProductCategoryRef>
</ProductCategory>
</Service>
</TimedLeg>
</Leg>
</Trip>
</TripResult>
</OJPTripRefineRequest>
</siri:ServiceRequest>
</OJPRequest>
</OJP>
Nel secondo esempio i seguenti parametri sono stati omessi: Anche tutti i «RefineParams», «Duration», «StartTime», «EndTime», i «Transfers», tutti gli «StopPointName» presenti, «PublishedServiceName» e il parametro «Mode» possono essere vuoti. Tutti questi parametri non vengono utilizzati per trovare la corsa corretta e richiedere i dati aggiornati.
Descrizione dei parametri
Gli elementi della OJPTripRefineRequestStructure:
| Elemento | Cardinalità | Descrizione | Esempio |
|---|---|---|---|
siri:RequestTimestamp |
1:1 | Timestamp della richiesta. Preferito in Zulu Time. |
<siri:RequestTimestamp>2025-02-18T15:41:28.717Z</siri:RequestTimestamp> |
siri:MessageIdentifier |
0:1 | L’identificativo della segnalazione. Preferibilmente di tipo crescente. |
<siri:MessageIdentifier>SER-1a</siri:MessageIdentifier> |
RefineParams |
0:1 | Opzioni per gestire l’aggiornamento. |
|
TripResult |
1:1 | Il Trip da aggiornare (perfezionare). | Esempio, vedere sopra! |
TripResponseContext |
0:1 | Contesto che contiene oggetti a cui si fa riferimento all’interno della risposta. | |
RefineParams/ RefineLegRef |
0:* | Si riferisce alle leg che devono essere perfezionate dal server. Se non vengono specificate, tutte le leg vengono perfezionate (se il sistema in questione è in grado di perfezionarle). | |
RefineParams/ 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> |
RefineParams/ IncludePlacesContext |
0:1 | Fornisce il contesto locale. L’impostazione predefinita è true, con false la risposta è più snella. | <IncludePlacesContext>false</InlcudePlacesContext> |
RefineParams/ IncludeLegProjection |
0:1 | Se il risultato deve includere la proiezione geografica (coordinate) delle singole tratte parziali. | <IncludeLegProjection>true</IncludeLegProjection> |
RefineParams/ IncludeIntermediateStops |
0:1 | Se il risultato deve includere fermate intermedie tra la fermata di salita e quella di discesa. | <IncludeIntermediateStops>true</IncludeIntermediateStops> |
RefineParams/ IncludeAllRestrictedLines |
0:1 | Potrebbero esserci linee con restrizioni particolari e non aperte al pubblico. Ad esempio scuolabus o navette aziendali. Impostando questo segno di spunta, il router prenderà in considerazione anche linee limitate. | <IncludeAllRestrictedLines>true</IncludeAllRestrictedLines> |
RefineParams/ IncludeTurnDescription |
0:1 | Una descrizione dettagliata del percorso con PathGuidance viene fornita per ogni walk-in e, se disponibile, anche per i transfer-legs. | <IncludeTurnDescription>true</IncludeTurnDescription> |
Altri parametri che hanno un effetto limitante sui mezzi di trasporto o sull’itinerario di viaggio non sono stati implementati. Viene solamente aggiornato il viaggio richiesto. Per questo motivo, altri parametri non menzionati sono inefficaci.
TripRefineResponse
I dettagli dei singoli parametri possono essere desunti dalle descrizioni riportate nella sezione Trip Request vengono prelevati, che TripRefineDelivery è in gran parte identica al Trip Delivery.
