Orari Bus Bari - Help del servizio Open Data









Help in linea del servizio di pubblicazione degli orari dei bus del Servizio di Trasporto Locale di Bari facente capo ad Amtab S.p.A.

Questo servizio di pubblicazione è stato realizzato nell'ambito del progetto Semina.
Indice dei contenuti
Licenza Banca Dati
La titolarità piena ed esclusiva della banca dati "Orari Bus Bari" è di Amtab S.p.A., società del Comune di Bari (ai sensi della L. 633/41 e s.m.i.).

Si autorizza la libera e gratuita consultazione, estrazione, riproduzione e modifica dei dati in essa contenuti da parte di chiunque vi abbia interesse per qualunque fine, ovvero secondo i termini della
Licenza Creative Commons - CC0 1.0 Universal in coerenza con le linee guida del Comune di Bari sugli OpenData
Informazioni sui dati (metadati)
Nome Valore
Autore Amtab S.p.A.
Manutentore Amtab S.p.A.
Data di creazione del servizio 19/09/2014
Data ultima modifica del dato Le informazioni pubblicate come Opendata sono dinamiche ed aggiornate di continuo.
La dinamicità riguarda:
  • il servizio teorico (orari teorici di passaggio dalle fermate) che viene aggiornato ogni giorno
  • gli orari realtime di passaggio dalle fermate che vengono aggiornati di continuo
Data ultima modifica del metadato 28/04/2015
Tipo di dato Alfanumerico
Versione 2.1
Descrizione
Il servizio è accessibile secondo due modalità:
Servizio SOAP
Il servizio SOAP è solitamente destinato agli utenti Enterprise.

E' possibile utilizzare il seguente link per accedere al WSDL del servizio:
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc?wsdl

I metodi esposti dal servizio sono descritti nei paragrafi successivi.

Orari Palina
OrariPalina(IdFermata, TeoricoRealTime)
Restituisce la lista delle linee passanti per la fermata ed il relativo orario del prossimo passaggio.

Per poter chiamare la funzione è necessario conoscere gli identificativi delle fermate da interrogare.

I parametri sono i seguenti:
  • IdFermata:Identifcativo della fermata (palina) da interrogare. (ES.: '08129003')
  • TeoricoRealTime:Questo parametro opzionale può ossumere i seguenti valori:
    'teorico' - per indicare che devono essere restituite le sole previsioni teoriche delle linee, ovvero le previsioni prestabilite
    'realtime' - per indicare che devono essere restituite le sole previsioni realtime, ovvero calcolate in base alla posizione del bus
    'null' - quando non specificato la funzione restituisce sia le previsioni teoriche che monitorate
La struttura dati restituita dal metodo è la seguente:

<PrevisioniFermata xmlns="http://schemas.datacontract.org/2004/07/PkOpenData">
  <IdFermata>Contenuto stringa</IdFermata>
  <PrevisioniLinee>
    <PrevisioneLinea>
      <DirezioneLinea>A</DirezioneLinea>
      <IdCorsa>4294967295</IdCorsa>
      <IdLinea>Contenuto stringa</IdLinea>
      <OrarioArrivo>1999-05-31T11:20:00</OrarioArrivo>
      <TipoPrevisione>Contenuto stringa</TipoPrevisione>
      <UltimeCoordinateMezzo>
        <DataOraAcquisizioneIt>1999-05-31T11:20:00</DataOraAcquisizioneIt>
        <Direzione>32767</Direzione>
        <Latitudine>Contenuto stringa</Latitudine>
        <Longitudine>Contenuto stringa</Longitudine>
        <VelocitaKmh>32767</VelocitaKmh>
      </UltimeCoordinateMezzo>
    </PrevisioneLinea>
    [...]
</PrevisioniFermata>
Per maggiori informazioni consultare anche la
guida tecnica del servizio.

In elenco alcuni dettagli sui dati:
Mezzi Linea
MezziLinea(IdLinea)
Restituisce la lista delle ultime posizioni dei mezzi operanti su di una linea (una posizione per mezzo).

I parametri sono i seguenti:
  • IdLinea
    Identifcativo della linea da interrogare. (ES.: '01').
    Importante (solo per il servizio REST): a causa di un vincolo di sicurezza è necessario utilizzare la seguente notazione per le linee barrate: sostituire la barra ('/') con la dicitura 'barrato' (ES.: '11/' diventa '11barrato').


La struttura dati restituita dal metodo è la seguente:

<ArrayOfMezzoLinea xmlns="http://schemas.datacontract.org/2004/07/PkOpenData">
  <MezzoLinea>
    <DirezioneLinea>97</DirezioneLinea>
    <IdCorsa>4294967295</IdCorsa>
    <IdLinea>Contenuto stringa</IdLinea>
    <IdProssimaFermata>Contenuto stringa</IdProssimaFermata>
    <ProgressivoFermata>65535</ProgressivoFermata>
    <UltimeCoordinateMezzo>
      <DataOraAcquisizioneIt>1999-05-31T11:20:00</DataOraAcquisizioneIt>
      <Direzione>32767</Direzione>
      <Latitudine>Contenuto stringa</Latitudine>
      <Longitudine>Contenuto stringa</Longitudine>
      <VelocitaKmh>32767</VelocitaKmh>
    </UltimeCoordinateMezzo>
  </MezzoLinea>  
  [...]
</ArrayOfMezzoLinea>
Per maggiori informazioni consultare anche la
guida tecnica del servizio.

In elenco alcuni dettagli sui dati:
Servizio Giornaliero
ServizioGiornaliero(IdLinea, *IdFermata)
Restituisce la lista degli orari di passaggio teorici del servizio giornaliero per la linea e la fermata (se indicata) selezionata.

Per poter chiamare la funzione è necessario conoscere gli identificativi delle linee da interrogare (ottenibili dalla funzione
linee).

Alcune note importanti:

I parametri sono i seguenti: La struttura dati restituita dal metodo è la seguente:
 
<ArrayOfPrevisioneServizio xmlns="http://schemas.datacontract.org/2004/07/PkOpenData">
  <PrevisioneServizio>
    <Direzione>A</Direzione>
    <IdCorsa>4294967295</IdCorsa>
    <IdFermata>Contenuto stringa</IdFermata>
    <Orario>1999-05-31T11:20:00</Orario>
    <Progressivo>65535</Progressivo>
  </PrevisioneServizio>
  [...]
</ArrayOfPrevisioneServizio>
Per maggiori informazioni consultare anche la guida tecnica del servizio.

In elenco alcuni dettagli sui dati:
Numero Corse del Giorno
NumCorseGiorno()
Funzione di supporto che restituisce il numero di corse previste per il giorno corrente.
La funzione non ha parametri e può essere utile per individuare i casi in cui per il giorno corrente ci sono state variazioni nel servizio giornaliero. Quando avviene una variazione del numero di corse, infatti, il servizio è cambiato e quindi si deve procedere all'aggiornamento.

Per l'uso corretto di questa funzione si tenga presente quanto segue:
  • Il servizio giornaliero è generalmente lo stesso per il giorno della settimana. Ovvero è possibile riutilizzare il servizio giornaliero scaricato per il medesimo giorno della settimana precedente. Se ad esempio si è già scaricato il servizio per Martedì 23 settembre, è possibile riutilizzarlo per Martedì 30 settembre, a patto che non ci siano variazioni sul numero di corse giornaliere.
  • Utilizzare questo metodo per monitorare i cambiamenti del servizio è generalmente corretto, tuttavia è possibile che variazioni dello stesso non siano rese evidenti dalla variazione del numero di corse.
  • Si deve usare questa funzione dopo le ore 04:00, ovvero quando avviene il caricamento del servizio giornaliero.
  • Le maggiori variazioni del servizio avvengono normalmente nei giorni festivi, siano essi le domeniche o le festività nazionali e locali. Successivamente il servizio riprende il regolare svolgimento.

Per maggiori informazioni consultare anche la
guida tecnica del servizio.

Il dato restituito è il numero di corse giornaliere (es. '1615'). Nel caso di utilizzo di questa funzione prima dell'orario consigliato può produrre come risultato un numero di corse inferiore a quello previsto per il giorno corrente.

Fermate
Fermate(*IdFermate)
Restituisce la lista di tutte le fermate della rete TPL o un sottoinsieme delle stesse, filtrate in base al parametro opzionale IdFermate.

I parametri sono i seguenti:
  • IdFermate (opzionale)
    Identifcativo delle fermate di cui si vuole conoscere i dettagli. Il parametro può essere utile quando si vuole un set ridotto dei dati, usando gli identificativi come filtro.
    Il separatore delle fermate nel caso di identificazione multipla è la virgola (,).
    ES. di selezione singola: '09369C01'
    ES. di selezione multipla: '08129003,09369C01'
La struttura dati restituita dal metodo è la seguente:

<ArrayOfFermata xmlns="http://schemas.datacontract.org/2004/07/PkOpenData">
  <Fermata>
    <DescrizioneFermata>Contenuto stringa</DescrizioneFermata>
    <IdFermata>Contenuto stringa</IdFermata>
    <PosizioneFermata>
      <Latitudine>Contenuto stringa</Latitudine>
      <Longitudine>Contenuto stringa</Longitudine>
    </PosizioneFermata>
  </Fermata>
  [...]
</ArrayOfFermata>
Per maggiori informazioni consultare anche la
guida tecnica del servizio.

In elenco alcuni dettagli sui dati:
Linee
Linee()
Restituisce la lista di tutte le linee della rete TPL.
La funzione non ha parametri.

La struttura dati restituita dal metodo è la seguente:

<ArrayOfLinea xmlns="http://schemas.datacontract.org/2004/07/PkOpenData">
  <Linea>
    <DescrizioneLinea>Contenuto stringa</DescrizioneLinea>
    <IdLinea>Contenuto stringa</IdLinea>
  </Linea>
  [...]
</ArrayOfLinea>
Per maggiori informazioni consultare anche la
guida tecnica del servizio.

In elenco alcuni dettagli sui dati:
Fermate Linea
FermateLinea(IdLinea)
Restituisce la lista delle fermate afferenti ad una linea.

I parametri sono i seguenti:
  • IdLinea
    Identifcativo della linea da interrogare. (ES.: '01').
    Importante (solo per il servizio REST): a causa di un vincolo di sicurezza è necessario utilizzare la seguente notazione per le linee barrate: sostituire la barra ('/') con la dicitura 'barrato' (ES.: '11/' diventa '11barrato').


La struttura dati restituita dal metodo è la seguente:

<ArrayOfFermataLinea xmlns="http://schemas.datacontract.org/2004/07/PkOpenData">
  <FermataLinea>
    <Direzione>Contenuto stringa</Direzione>
    <IdFermata>Contenuto stringa</IdFermata>
  </FermataLinea>
  [...]
</ArrayOfFermataLinea>
Per maggiori informazioni consultare anche la
guida tecnica del servizio.

In elenco alcuni dettagli sui dati:
Fermate Linea Teoriche
FermateLineaTeoriche(IdLinea, *Orario)
Restituisce la lista delle fermate teoriche afferenti ad una linea.
La differenza sostanziale dalla funzione Fermate Linea è la presenza del progressivo fermata teorico per ciascuna fermata restituita.Tale progressivo è ottenuto in base alla corsa teorica attuale (o futura nel caso sia indicato l'orario mediante l'apposito parametro). Il progressivo fermata ha la funzione di stabilire l'ordine di passaggio del bus dalle fermate, oltre a definire con esattezza quali fermate verranno effettivamente percorse del bus.

I parametri sono i seguenti:
  • IdLinea
    Identifcativo della linea da interrogare. (ES.: '01').
    Importante (solo per il servizio REST): a causa di un vincolo di sicurezza è necessario utilizzare la seguente notazione per le linee barrate: sostituire la barra ('/') con la dicitura 'barrato' (ES.: '11/' diventa '11barrato').
  • Orario (opzionale)
    Orario utile per identificare la corsa teorica e quindi le fermate teoriche con progressivo nell'ora specifica.
    Il formato del parametro è hhmm dove hh sono le ore e mm sono i minuti (ES.: '1530' dove 15 sono le ore e 30 sono i minuti, ovvero le 15:30).

La struttura dati restituita dal metodo è la seguente:

<ArrayOfFermataLinea xmlns="http://schemas.datacontract.org/2004/07/PkOpenData">
  <FermataLinea>
    <Direzione>Contenuto stringa</Direzione>
    <IdFermata>Contenuto stringa</IdFermata>
    <ProgressivoTeorico>65535</ProgressivoTeorico>
  </FermataLinea>
  [...]
</ArrayOfFermataLinea>
Per maggiori informazioni consultare anche la
guida tecnica del servizio.

In elenco alcuni dettagli sui dati:
Fermate Vicine
FermateVicine(Lat, Lon, *DistanzaMassima)
Restituisce la lista delle fermate teoriche vicine ad un punto le cui coordinate geografiche sono rappresentate dai parametri lat (latitudine) e lon (longitudine), nel sistema di riferimento WGS84 Geografico, ad una distanza massima (euclidea) di 500 metri, salvo diversamente specificato nel parametro opzionale DistanzaMassima (con range di valori fra 5 e 5000 metri).

I parametri sono i seguenti:
La struttura dati restituita dal metodo è la seguente:

<ArrayOfFermataVicina xmlns="http://schemas.datacontract.org/2004/07/PkOpenData">
  <FermataVicina>
    <DescrizioneFermata>Contenuto stringa</DescrizioneFermata>
    <DistanzaMetri>2147483647</DistanzaMetri>
    <IdFermata>Contenuto stringa</IdFermata>
    <ListaLinee>
      <LineaDirezione>
        <Direzione>97</Direzione>
        <IdLinea>Contenuto stringa</IdLinea>
      </LineaDirezione>
      [...]
    </ListaLinee>
    <PosizioneFermata>
      <Latitudine>Contenuto stringa</Latitudine>
      <Longitudine>Contenuto stringa</Longitudine>
    </PosizioneFermata>
  </FermataVicina>
</ArrayOfFermataVicina>
[...]
Per maggiori informazioni consultare anche la
guida tecnica del servizio.

In elenco alcuni dettagli sui dati:
Servizio REST
Il servizio REST è destinato agli utenti Web che hanno necessità di richiamare il servizio via HTTP GET, ad es. da un browser o uno smatphone.

Il formato di presentazione dei dati è JSON.

La descrizione dei metodi implementati dal servizio si trova nel paragrafo dedicato al Servizio SOAP, mentre di seguito si riportano solo alcuni esempi.

Una guida tecnica di tutti i servizi REST è consultabile seguendo questo link

NB: i campi timestamp dei servizi REST sono espressi in formato Unix Epoch, ossia numero di secondi che sono trascorsi dal 01/01/1970 00:00:00.

Orari Palina
La descrizione del metodo si trova nel paragrafo Servizio SOAP, alternativamente si può consultare la guida tecnica.

Di seguito alcuni esempi su come utilizzare il servizio REST:
#Esempio di utilizzo del metodo Orari Palina mediante chiamata HTTP GET e risposta in formato JSON, con restituzione degli orari teorici e realtime
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/OrariPalina/08129003/

#Esempio di utilizzo del metodo Orari Palina con restituzione dei soli orari teorici
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/OrariPalina/08129003/teorico

#Esempio di utilizzo del metodo Orari Palina con restituzione dei soli orari realtime
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/OrariPalina/08129003/realtime
Mezzi Linea
La descrizione del metodo si trova nel paragrafo Servizio SOAP, alternativamente si può consultare la guida tecnica.

Importante (solo per il servizio REST): a causa di un vincolo di sicurezza, nella richiesta (GET), è necessario utilizzare la seguente notazione per le linee barrate: sostituire la barra ('/') con la dicitura 'barrato' (ES.: '11/' diventa '11barrato'). L'esempio in basso riporta la richiesta per una linea barrata.

Di seguito alcuni esempi su come utilizzare il servizio REST:
#Esempio di utilizzo del metodo MezziLinea mediante chiamata HTTP GET e risposta in formato JSON
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/MezziLinea/01

#Esempio di utilizzo del metodo MezziLinea mediante chiamata HTTP GET e risposta in formato JSON per una linea barrata
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/MezziLinea/11barrato
Servizio Giornaliero
La descrizione del metodo si trova nel paragrafo Servizio SOAP, alternativamente si può consultare la guida tecnica.

Importante (solo per il servizio REST): a causa di un vincolo di sicurezza, nella richiesta (GET), è necessario utilizzare la seguente notazione per le linee barrate: sostituire la barra ('/') con la dicitura 'barrato' (ES.: '11/' diventa '11barrato'). L'esempio in basso riporta la richiesta per una linea barrata.

Di seguito alcuni esempi su come utilizzare il servizio REST:
#Esempio di utilizzo del metodo Servizio Giornaliero mediante chiamata HTTP GET e risposta in formato JSON, con restituzione degli orari di passaggio teorici giornalieri
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/ServizioGiornaliero/01

#Esempio di utilizzo del metodo Servizio Giornaliero mediante chiamata HTTP GET di una linea barrata e risposta in formato JSON, con restituzione degli orari di passaggio teorici giornalieri
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/ServizioGiornaliero/02barrato

#Esempio di utilizzo del metodo Servizio Giornaliero mediante chiamata HTTP GET specificando la fermata della linea e risposta in formato JSON, con restituzione degli orari di passaggio teorici giornalieri per la linea e fermata specifiche
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/ServizioGiornaliero/01/01135C00
Numero Corse del Giorno
La descrizione del metodo si trova nel paragrafo Servizio SOAP, alternativamente si può consultare la guida tecnica.

Di seguito alcuni esempi su come utilizzare il servizio REST:
#Esempio di utilizzo del metodo Numero Corse del Giorno mediante chiamata HTTP GET e risposta in formato JSON
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/NumCorseGiorno
Fermate
La descrizione del metodo si trova nel paragrafo Servizio SOAP, alternativamente si può consultare la guida tecnica.

Di seguito alcuni esempi su come utilizzare il servizio REST:
#Esempio di utilizzo del metodo Fermate mediante chiamata HTTP GET e risposta in formato JSON
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/rete/Fermate

#Esempio di utilizzo del metodo Fermate mediante chiamata HTTP GET specificando codici (identificativi) fermata multipli e risposta in formato JSON
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/rete/Fermate/01135C00,01135001

#Esempio di utilizzo del metodo Fermate mediante chiamata HTTP GET specificando un codice (identificativo) fermata e risposta in formato JSON
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/rete/Fermate/01135C00
Linee
La descrizione del metodo si trova nel paragrafo Servizio SOAP, alternativamente si può consultare la guida tecnica.

Di seguito alcuni esempi su come utilizzare il servizio REST:
#Esempio di utilizzo del metodo Linee mediante chiamata HTTP GET e risposta in formato JSON
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/rete/Linee
Fermate Linea
La descrizione del metodo si trova nel paragrafo Servizio SOAP, alternativamente si può consultare la guida tecnica.

Importante (solo per il servizio REST): a causa di un vincolo di sicurezza, nella richiesta (GET), è necessario utilizzare la seguente notazione per le linee barrate: sostituire la barra ('/') con la dicitura 'barrato' (ES.: '11/' diventa '11barrato'). L'esempio in basso riporta la richiesta per una linea barrata.

Di seguito alcuni esempi su come utilizzare il servizio REST:
#Esempio di utilizzo del metodo FermateLinea mediante chiamata HTTP GET e risposta in formato JSON
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/rete/FermateLinea/01

#Esempio di utilizzo del metodo FermateLinea mediante chiamata HTTP GET e risposta in formato JSON per una linea barrata
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/rete/FermateLinea/11barrato
Fermate Linea Teoriche
La descrizione del metodo si trova nel paragrafo Servizio SOAP, alternativamente si può consultare la guida tecnica.

Importante (solo per il servizio REST): a causa di un vincolo di sicurezza, nella richiesta (GET), è necessario utilizzare la seguente notazione per le linee barrate: sostituire la barra ('/') con la dicitura 'barrato' (ES.: '11/' diventa '11barrato'). L'esempio in basso riporta la richiesta per una linea barrata.

Di seguito alcuni esempi su come utilizzare il servizio REST:
#Esempio di utilizzo del metodo FermateLineaTeoriche mediante chiamata HTTP GET e risposta in formato JSON
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/rete/FermateLineaTeoriche/01

#Esempio di utilizzo del metodo FermateLineaTeoriche mediante chiamata HTTP GET e risposta in formato JSON per una linea barrata
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/rete/FermateLineaTeoriche/11barrato

#Esempio di utilizzo del metodo FermateLineaTeoriche mediante chiamata HTTP GET con specifica dell'orario (15:30) e risposta in formato JSON
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/rete/FermateLineaTeoriche/01/1530
Fermate Vicine
La descrizione del metodo si trova nel paragrafo Servizio SOAP, alternativamente si può consultare la guida tecnica.

Di seguito alcuni esempi su come utilizzare il servizio REST:
#Esempio di utilizzo del metodo FermateVicine mediante chiamata HTTP GET e risposta in formato JSON (le coordinate geografiche individuano Piazza Aldo Moro a Bari)
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/rete/FermateVicine/41.118545/16.870059

#Esempio di utilizzo del metodo FermateVicine mediante chiamata HTTP GET con specifica della distanza (1000 metri) e risposta in formato JSON (le coordinate geografiche individuano Piazza Aldo Moro a Bari)
http://bari.opendata.planetek.it/OrariBus/v2.1/OpenDataService.svc/REST/rete/FermateVicine/41.118545/16.870059/1000
Versioni
Contatti
Per maggiori informazioni sul servizio contattare urp @ amtab.it

Per informazioni tecniche contattare semina @ planetek.it