Vendita e ricarica online del titolo di viaggio
Indice
- 1 Vendita e ricarca online delle tessere in formato OpenPass
- 1.1 (STEP 1) - Codifica Ticket
- 1.2 (STEP 2) - Lettura Ticket
- 1.3 (STEP 3) - Codifica Customer
- 1.4 (STEP 4) - Codifica WebSales
- 1.5 (STEP 5) - Lettura WebSales (per dominio)
- 1.6 (STEP 6) - Generazione della tessere relativa alla vendita
- 1.7 (STEP 7) - Lettura generazione tessera
- 1.8 (STEP 8) - Invio dei passaggi
- 1.9 (STEP 9) - Chiusura giornata
- 1.10 (STEP 10) - Lettura passaggi
- 1.11 (STEP 11) - Registrazione ammontare valori ricarica
- 2 Servizi Web relativi ai domini
L’attuale sistema OpenPass è stato predisposto per gestire ricarica e vendita online dei titoli di viaggio, per far questo è necessario:
- Modificare i servizi Web esistenti del server OpenPass:
- RegisterTicket
- GetTicket
- RegisterCustomer
- Implementare nuovi servizi Web del server OpenPass:
- RegisterWebSales
- UpdateWebSalesAmmount
- GenerateTicket
- GetWebSales
- GetPassages
- SetDailyClosing
- GetStatusSales
- GetCustomer
- Getcustomerstatus
- Getcustomerdomain
- CreateDomain
- RegisterDomain
- GetDomainList
È stato introdotto il concetto di WebCompany: azienda accreditata OpenPass che fornirà servizio di vendita per le stazioni (company).
È stato introdotto il concetto di WebShop: portale specifico di vendita dei titoli OpenPass per una determinata Company. Una WebCompany può avere uno o più WebShop. Ogni WebShop è legato univocamente alla propria company (stazione). Nel caso di WebShop di comprensorio, una stazione (company) dovrà farsi carico di gestire il WebShop a cui è collegato il comprensorio.
I WebShop inviano al server le transazioni di vendita, che possono avere tre tipi di stato:
- pay per use; (stazione) - Prezzo standard.
- ricarica
- ritiro presso biglietteria di nuova tessera.
Ogni transazione di vendita verrà identificata univocamente attraverso l’identificativo incrementale della tabella delle transazioni chiamato RegisterWebSaleID generato dal server OpenPass.
Più transazioni di vendita possono essere raggruppate da un univo OrderNumber fornito dal WebShop in fase di invio di transazioni.
Ogni transazione di vendita inviata al Server OpenPass da parte del WebShop sarà composta da:
- Identificativo di transazione RegisterWebSaleID (seriale assegnato dal server OpenPass e chiave univoca della transazione di vendita);
- Identificativo di ordine OrderNumber' (identificativo gestito dal WebShop);
- DomainID (Identificativo del Dominio a cui è destinata la transazione di vendita);
- WebShopID (Identificativo del WebShop che ha generato la vendita);
- OpenPassUID (OpenPass UID della tessera da ricarica, valorizzato a NULL in caso di ritiro presso la biglietteria);
- TicketID (identificativo della tipologia di biglietto venduto, recuperata dal server OpenPass attraverso il servizio GetTicket);
- DataInizioValidità (data e orario di inizio validità del biglietto venduto);
- CustomerIdentifier (identificativo del soggetto a cui è stato venduto il biglietto, recuperato dal server OpenPass attraveso il servizio GetCustomer);
- Info (informazione aggiuntiva codificata in base64 gestita tra WebShop e Company);
- TipoTransazione (0=ritiro, 1=ricarica, 2=registrare rata di denaro, 3=storno),
- payperuse (0=no pay per use; 1=si pay per use)
- Insurance Assicurazione (0=no; 1=si)
- amount (valori in € della transazione di vendita)
- RecordOpenPass (settore del biglietto firmato alla fonde dal server OpenPass che avrà la sua chiave)
- Root.Group (Gruppo di appartenenza del server OpenPass)
- Root.Workstation (Identificativo dell’emettitrice legata al server OpenPass)
- Root.SerialNumberEx2 (numero seriale del biglietto generato dall’emettitrice legata al server OpenPass)
Ogni transazione di vendita viene scaricata dalla stazione (dominio) a cui è destinata e una volta effettuata la ricarica/consegna della tessera.
I gestori dei sistemi di accesso hanno la possibilità di:
- caricare il settore firmato dal server OpenPass;
- generare il settore con i dati della transazione di vendita con una propria Workstation.
In entrambi i casi, la stazione deve comunicare l’avvenuta generazione del biglietto sul supporto inviando i dati al server OpenPass attraverso il servizio sotto illustrato GenerateTicket. Il server OpenPass deve conoscere gli identificativi per rintracciare i passaggi del biglietto nel sistema OpenPass. Gli identificati sono costituiti dalla copia di valori:
- Root.Workstation (numero identificativo della emittente Workstation nel sistema OpenPass);
- Root.SerialNumberEx2 (numero seriale interno alla emittente Workstation),
generati dalla workstation del server oppure dalla workstation della stazione.
Vendita e ricarca online delle tessere in formato OpenPass
Per permettere la gestione particolareggiata dei Ticket verrà inserito un TAG aggiuntivo <info></info> nel servizio RegisterTicket, con contenuto serializzato (base64), utilizzabile dal produttore a piacere (Company di vendita). Questo campo conterrà informazioni utili al produttore dei sistemi di accesso e al fornitore del negozio internet (WebShop).
Verrà creato un nuovo servizio RegisterWebSales per inviare le transazioni di vendita effettuate dal un WebShop. Ogni transazione di vendita verrà identificata univocamente dal proprio seriale di vendita RegisterWebSaleID fornito dal server OpenPass.
Verrà creato un nuovo servizio UpdateWebSales per aggiornare le vendite Web con il quantitativo economico derivato dal calcolo dell'uso.
Verrà creato un nuovo servizio GetWebSales con cui i fornitori dei sistemi di accesso potranno scaricare dal server OpenPass tutte le vendite Web effettuate per ogni dominio.
Verrà creato un nuovo servizio GenerateTicket con cui i fornitori dei sistemi di accesso potranno inviare al Server OpenPass la Root.Workstation e Root.SerialNumberEx2 con cui è stato generato il biglietto per ogni specifica transazione di vendita identificata con RegisterWebSaleID. Verrà creato un nuovo servizio GetPassages per recuperare tutti i passaggi effettuati da una tessera ricaricata a seguito di una vendita online identificata con RegisterWebSaleID.
Verrà creato un nuovo servizio SetDailyClosing per inviare al server OpenPass lo stato di chiusura di una stazione indicante che tutti i passaggi sono stati inviati al server. Tale informazione sarà utile al fornitore di WebShop in quanto potrà da quel momento calcolare gli usi delle tessere ricaricate.
Gli step per giungere alla ricarica dei titoli di viaggio attraverso internet prevedono i seguenti passi:
(STEP 1) - Codifica Ticket
Le stazioni (Company) inviano al Server OpenPass i biglietti (ticket) vendibili attraverso il servizio già attivo (RegisterTicket) che verrà esteso con il tag aggiuntivo <info>
| Nome servizio | RegisterTicket |
| Servizio utilizzato da | Fornitori dei sistemi di accesso per ogni company |
Parametri in ingresso
| Oggetto: RegisterTicket | |||
| Parametro | Tipo | Obbligatorio | Descrizione |
| Description | text | Si | Descrizione del ticket |
| CustomerAge | integer | Si | Classe di età del destinatario del biglietto (1=”Bambini <=11”, 2=”Ragazzi 12-17”, 3=”Adulti 18-64”, 4=”Senior >= 65”) |
| CustomerType | integer | No | Tipologia del destinatario del biglietto (1="Non residenti", 2="Residenti") |
| Info | text | No | Informazione aggiuntiva codificata in Base64 gestita tra WebShop e Company |
| Values | OBJ | Si | Oggetto contenente i TokenValue |
| Oggetto: Values | |||
| Parametro | Tipo | Obbligatorio | Descrizione |
| TokenValue | OBJ | Si | Oggetto che contiene i dati dei token |
| Oggetto: TokenValue | |||
| Parametro | Tipo | Obbligatorio | Descrizione |
| Name | text | Si | Nome del token. (Il Token “Root.TicketID” è obbligatorio) |
| Value | text | Si | Valore del token. (Il Token “Root.TicketID” è obbligatorio) |
Parametri in uscita
| Oggetto: RegisterTicketResult | |||
| Parametro | Tipo | Descrizione | |
| TicketIdentifier | integer | Codice numerico univoco di identificazione del biglietto. Il codice restituito sarà quello che viene passato con il Token “Root.TicketID” | |
(STEP 2) - Lettura Ticket
Le WebCompany fornitori di Webshop leggono i biglietti (ticket) dal Server OpenPass con il servizio esistente GetTicket che verrà ampliato con l'informazione del tag aggiuntivo <info>
| Nome servizio | GetTicket |
| Servizio utilizzato da | WebCompany |
Parametri in ingresso
| Oggetto: GetTicket | |||
| Parametro | Tipo | Obbligatorio | Descrizione |
| TicketIdentifier | integer | Si | Codice numerico univoco di identificazione del biglietto |
| Company | integer | Si | Codice numerico univoco identificativo della stazione |
Parametri in uscita
| Oggetto: GetTicket | |||
| Parametro | Tipo | Descrizione | |
| Identifier | integer | Codice numerico univoco di identificazione del biglietto | |
| Description | text | Descrizione del biglietto | |
| CustomerAge | integer | Classe di età del destinatario del biglietto (1=”Bambini <=11”, 2=”Ragazzi 12-17”, 3=”Adulti 18-64”, 4=”Senior >=65”) | |
| CustomerType | integer | Tipologia del destinatario del biglietto (1="Non residenti", 2="Residenti") | |
| LastTouch | dateTime | Data e ora di creazione | |
| Info | text | Informazione aggiuntiva codificata in Base64 gestita tra WebShop e Company | |
| Values | OBJ | Oggetto contenente i TokenValue | |
| Oggetto: GetTicket | |||
| Parametro | Tipo | Descrizione | |
| TokenValue | OBJ | Oggetto che contiene i dati dei token | |
| Oggetto: GetTicket | |||
| Parametro | Tipo | Descrizione | |
| Name | text | Nome del token | |
| Value | text | Valore del token | |