#AutoTranslate
Descrizione breve
Questa pagina(e) contiene descrizioni su come risolvere «problemi» specifici con OJP (v.1 o v.2).
Originariamente OJP è un protocollo tra gli assistenti di viaggio. pertanto, di norma si parte dal presupposto che ci sia una seconda componente tra il servizio OJP svizzero e il front-end/l’app. Ciò significa che la logica aziendale può trovarsi in:
- Il servizio OJP (OJP)
- Il back-end dell’app (BE)
- L’app (app)
Se hai bisogno di altri casi d’uso, ti preghiamo di inviarci un’e-mail a opendata@sbb.ch per consentirci di aggiornare questa pagina. Saremo inoltre lieti di ricevere il tuo feedback nel caso in cui dovessimo aggiornare o specificare alcune sezioni.
Descrizione del funzionamento
Di seguito illustriamo diversi casi applicativi e problematiche per i quali offriamo un’ampia gamma di consigli e suggerimenti.
Elaborazione delle informazioni sull’accessibilità
L’OJP calcola le informazioni sull’accessibilità per tutti i viaggi dalle informazioni sull’accessibilità della fermata ricavate dai dati di base di Atlas e dall’attributo a pianale ribassato dei veicoli o, nel caso dei treni, dagli attributi corrispondenti disponibili per ogni carrozza dai dati sulla formazione.
Ne viene poi determinata la percentuale corrispondente per il grado di autonomia per le persone in sedia a rotelle, indicata nel parametro «NameSuffix» nell’area «LegBoard» (accesso) o «LegAlight» (discesa) di TripResponse. Nel migliore dei casi appare «PLATFORM_ACCESS_WITHOUT_ASSISTANCE», in modo che le persone in sedia a rotelle possano salire facilmente.
Per ulteriori dettagli si rimanda alla descrizione del TripResponse.
Inserimento formazioni
Attualmente l’OJP non contiene dati sulle formazioni, che sono contenuti nell’API per le formazioni, descritta qui: Train Formation Service (composizione treno)
Abbiamo un’implementazione di esempio di come visualizzare la stringa corta. Può essere utilizzata così e si trova su GitHub: Swiss Train Formation Visualization
Nella propria App demo OJP questa visualizzazione viene richiamata insieme all’API Formazione, creando un link dalla pagina GitHub, dal numero del treno e dal numero operatore. Queste informazioni sono disponibili nell’elementoDatedTrainNumberRefGroupSotto il Service Tag, nei seguenti messaggi OJP: «TripResponse», «TripInfoRespons», «StopEventResponse» e «TripRefineResponse».
La visualizzazione delle stringhe brevi è open source e può essere utilizzata per qualsiasi app; soluzioni individuali possono essere realizzate utilizzando ulteriori dati più dettagliati che vengono resi disponibili tramite l’API di formazione.
Inserire il pulsante «Fare»
OJPFare consente di accedere alle informazioni sui prezzi di NOVA (v. Beta: Informazioni sui prezzi tramite OJPFare per i TP svizzeri – Record di dati – opentransportdata.swiss – CKAN data catalog). Nota: attualmente OJPFare funziona solo per OJP 1.0.
Si prega di notare che in rari casi non ci è la 1a classe e che il biglietto restituito da NOVA può essere una carta giornaliera di 1a classe a prezzo ridotto.
Cosa succede se mi serve il prezzo di un biglietto di andata e ritorno nell’OJPFare?
Le informazioni sui prezzi non sono pensate per questo scopo. Per il calcolo si deve utilizzare la seguente procedura:
- Ricerca A – B
- Ricerca B–A (partenza dopo l’arrivo in B, con sufficiente margine).
- Concatenazione dei risultati
- Inserimento a OJPFare del prolungamento risultante della corsa
Questo è necessario perché, ad esempio, con LIBERO un biglietto andata e ritorno può essere una carta giornaliera ed è più conveniente.
Deve essere chiaro che le informazioni sui prezzi da parte dell’Alliance SwissPass sono deliberatamente limitate.
Salva i viaggi
Il servizio OJP è senza condizioni. I viaggi ricercati devono quindi essere gestiti nell’app, poiché in questo modo non vengono scambiate le preferenze personali per i servizi offerti e viene garantita al meglio la protezione dei dati personali. Con l’OJP 2.0 è possibile OJPTripRefineRequest l’implementazione rispetto al OJPTripInfromationRequest ancora più semplificata.
Se le preferenze di ricerca generali devono essere valutate, questo deve essere fatto dal BE dell’app.
Aggiorna le informazioni su un viaggio
- La TripInfoRequest aggiorna le informazioni sui JOURNEY (ossia Single Leg). a tale scopo si può utilizzare il JourneyRef. In tal caso il back-end deve aggiornare il viaggio. Inoltre deve notare quando il viaggio viene interrotto (ad es. il JOURNEY non esiste più o è in ritardo a lungo).
- La TripRefinementRequest consente di aggiornare una determinata corsa del servizio OJP. Il risultato, tuttavia, non è più sostenibile. Questo deve essere verificato dal back-end.
- Se il viaggio è stato interrotto e deve essere effettuata una nuova ricerca parziale o completa (a seconda del fatto che il viaggio sia già stato avviato).
Itinerari multipli
La nostra implementazione di OJP supporta un solo VIA. Se occorrono più VIA, il back-end deve cercare le diverse parti in sequenza. Es.
- Ricerca 1: A–Via B–C
- Ricerca 2: C–Via D–E
Gli orari di inizio/fine devono essere utilizzati correttamente e le corse risultanti devono essere concatenate con un cambio adeguato.
