Sposta e scollega il flusso per i biglietti Motics in Google Wallet

In questa pagina viene descritta l'implementazione di un flusso di ticket di spostamento e scollegamento per i ticket Motics. Per offrire una buona esperienza utente, un utente deve essere in grado di spostare il proprio biglietto per Motics da un dispositivo all'altro, entro determinati limiti definiti dall'emittente. L'emittente deve limitare i biglietti a un solo dispositivo. L'utente deve eliminare il ticket originale prima di salvarlo su un nuovo dispositivo. Se l'utente non riesce a eliminare il biglietto originale (ad esempio perché ha perso il dispositivo), l'emittente deve scollegare il biglietto dal vecchio dispositivo.

Il flusso di trasferimento e scollegamento deve soddisfare i seguenti requisiti:

  • Un biglietto Motics deve essere utilizzabile su un solo dispositivo alla volta.
  • L'utente deve essere in grado di spostare il ticket Motics su un nuovo dispositivo nei seguenti casi:
    • Accesso a un dispositivo precedente, ad esempio in caso di upgrade a un nuovo dispositivo.
    • Nessun accesso al vecchio dispositivo, ad esempio in caso di smarrimento o furto di un dispositivo.
  • Il numero di mosse o attivazioni di biglietti deve essere limitato da adeguati controlli sul lato emittente dei biglietti Motics, come definito dai requisiti aziendali della PTO.

Esperienza utente

Questa sezione descrive in maggiore dettaglio i due diversi scenari dell'esperienza utente, a seconda che l'utente abbia ancora accesso al vecchio dispositivo quando tenta di spostare un ticket Motics.

L'utente ha accesso al vecchio dispositivo

In questi casi, l'utente può avviare il flusso di trasferimento dal dispositivo precedente:

  1. L'utente elimina il ticket Motics dall'app Wallet sul precedente dispositivo.
  2. L'utente trova l'email di conferma dell'emittente sul suo nuovo dispositivo o accede al webshop o al portale di vendita di biglietti e fa clic su un link Salva in Google Wallet per salvare nuovamente il biglietto nell'app Google Wallet.

L'utente non ha accesso al vecchio dispositivo

Se l'utente non ha accesso al dispositivo precedente, deve avviare il flusso di scollegamento e spostamento dal portale di vendita dei biglietti del webshop oppure contattando l'assistenza clienti dell'emittente, che può avviare il flusso di scollegamento per conto dell'utente.

  1. L'utente trova l'email di conferma dell'emittente con le istruzioni per chiamare l'assistenza clienti per ricevere assistenza o avvia un flusso di scollegamento dal sito web o dal portale della biglietteria dell'emittente. Potrebbe essere un pulsante di scollegamento sul portale per la vendita di biglietti.
  2. L'emittente scollega il ticket dal precedente dispositivo per conto dell'utente (maggiori dettagli nella sezione Responsabilità dell'emittente).
  3. Il biglietto sarà inutilizzabile (il codice a barre non verrà scansionato) sul dispositivo originale non appena l'emittente lo scollega.
  4. L'emittente dovrebbe inserire il biglietto precedente nella lista bloccata per assicurarsi che non possa più essere scansionato dai dispositivi di ispezione.
  5. Il ticket verrà eliminato automaticamente dal dispositivo originale non appena tornerà online (best effort).
  6. L'utente trova l'email di conferma dell'emittente sul suo nuovo dispositivo o accede al webshop o al portale di vendita di biglietti e fa clic su un link Salva in Google Wallet per salvare nuovamente il biglietto nell'app Google Wallet.

Responsabilità dell'emittente

  • Durante la configurazione iniziale, l'emittente deve inserire transitClass con multipleDevicesAndHoldersAllowedStatus=ONE_USER_ONE_DEVICE.
  • L'email di conferma che l'emittente invia all'utente al momento dell'acquisto deve contenere le istruzioni su come spostare il biglietto su un nuovo dispositivo.
  • L'email di conferma deve contenere un identificatore per il ticket per l'assistenza nel processo di assistenza.
  • Per mantenere al minimo il volume dei contatti, l'emittente deve anche avere un pulsante di scollegamento nel webshop o nel portale di biglietti in cui l'utente può gestire il biglietto.
  • L'emittente è responsabile di limitare il numero di volte in cui è possibile attivare un biglietto. Questo consente di evitare che gli utenti spostino lo stesso biglietto da un dispositivo all'altro (entrambi hanno eseguito l'accesso allo stesso account su Wallet) a tempo indeterminato.
    • L'emittente deve tenere traccia del numero di volte in cui l'endpoint di attivazione viene chiamato per lo stesso objectId e rifiutare la richiesta di attivazione se il limite viene superato.
    • Poiché ogni emittente ha le proprie regole sul numero di volte in cui è possibile trasferire un biglietto, Google richiede che gli emittenti gestiscano direttamente la limitazione dei movimenti dei biglietti.
  • Se l'utente vuole scollegare il ticket contattando l'assistenza clienti:
    • Se l'utente non riesce a rimuovere il biglietto dal vecchio dispositivo, l'emittente scollega il biglietto chiamando transitObject:patch con {hasLinkedDevice:false} per il objectId del biglietto.
      • L'emittente dovrà trovare l'ID oggetto del ticket in questione. Dovrebbe effettuare la ricerca in base all'identificatore assegnato all'utente nell'email di conferma.
  • Se l'utente avvia il flusso di scollegamento sul webshop o sul portale di biglietti:
    • L'emittente scollega il biglietto chiamando transitObject:patch con {hasLinkedDevice:false} per il objectId del biglietto.
  • L'emittente dovrebbe inserire il biglietto precedente nella lista bloccata, in modo che non possa più essere scansionato dai dispositivi di ispezione.

Responsabilità di Google

In risposta alla ricezione della chiamata transitObject:patch con {hasLinkedDevice:false}, Google revocherà il certificato esistente (se presente) con il server Motics. Se l'utente possiede ancora il vecchio dispositivo con il biglietto originale, il codice a barre non funzionerà più e verrà eliminato dal vecchio dispositivo finché sarà online o se tornerà online.

Diagramma sequenza

Figura 1. Flusso di scollegamento del ticket Motics Flusso di scollegamento del ticket Motics

La figura 1 mostra le chiamate transitObject:patch e pruneTree() che vengono effettuate per scollegare un ticket quando l'utente non ha più accesso al dispositivo precedente.