Ancora prima dell’esplosione dei servizi di food delivery, i nostri amici di Bamburger ci hanno commissionato una web app utilizzabile da smartphone per l’acquisto e la consegna di cibo a domicilio.
Le necessità dei gestori del ristorante includevano:
- Ricezione di ordini solo per determinati giorni e fasce orarie
- Vincoli temporali per l’accettazione di ordini nelle fasce
- Pagamento online con carta di credito tramite gateway bancario proprietario e Stripe, con possibilità di rimborso
- Invio di notifiche email riguardanti lo stato dell’ordine
- Pannello di gestione ordini con notifica di nuovo ordine ricevuto (tramite effetto sonoro) con pulsanti per accettazione/rifiuto ordine
- Stampa su stampante termica di terzi, tramite bluetooth del tablet, degli ordini
L’utente che si registra al servizio può selezionare una delle fasce di consegna disponibili, selezionare gli elementi desiderati, indicare il proprio indirizzo e procedere al pagamento.
Punti critici
Con le consegne vincolate a determinate fasce orarie, è stato necessario introdurre delle funzionalità per impedire la creazione di ordini tardivi. Abbiamo dato la possibilità al gestore di impostare i tempi di “preavviso” diversificandoli anche in base ai giorni ed alle fasce.
Qui la cosa si fa tecnica…
In corso d’opera è stata avanzata la richiesta di riutilizzare una stampante termica bluetooth per la stampa degli ordini. A rendere complicata la situazione c’era il fatto che una web app (a differenza di un’app mobile) non ha la possibilità di interagire con il tablet e quindi controllare la stampante. Per aggirare il problema è stata installata, nel tablet di accettazione ordini, un’app Android per la creazione di un driver di stampa bluetooth, impostata poi come app di default per l’apertura dei documenti PDF. In questo modo, alla pressione del tasto “Stampa” nella lista ordini, il browser scarica il documento PDF che viene aperto in background dall’app ed inviato alla stampante. E’ stata inoltre configurata l’app per poter comunicare in modo corretto con la stampante termica, secondo specifiche che, sfortunatamente, non erano documentate.