Chi di voi visitando un sito di un albergo ha visto uno di quei forms con la possibilità di prenotare una camera o come si dice in gergo fare una richiesta di booking?
Chronoforms Booking/Reservation form.
Bene, oggi vedremo come realizzare questo forms con chronoforms utilizzando la tecnica dei campi dinamici o form a geometria variabile che dir si voglia. Il form naturalmente con poche modifiche (sopratutto lessicali) può essere adattato ad altre esigenze, ad esempio potrebbe essere usato per la prenotazione di un campo di calcio, di un massaggio shiatsu o di un automobile.
Questa la logica del form:
Ci sono i primi 4 campi dove chiediamo le informazioni di base come nome, cognome, email e telefono, poi procediamo con la richiesta di quante camere si desidera prenotare e qui in base alla scelta della quantità, appariranno i successivi campi con le richieste.
Più nel concreto avremo una select con queste scelte "nessuna", "1camera", "2 camere" e "3 camere". naturalmente avremmo potuto inserire la prenotazione per un numero indefinito di camere. Fra le opzioni di scelta della camere troviamo le classiche scelte "camera singola", "camera doppia", "camera tripla", ma sarà possibile inserire anche altro.
I campi, o meglio le select con le scelte che appariranno dopo aver scelto il numero di camere che vogliamo prenotare sono gestiti dagli eventi impostati nella scheda "events" dentro le impostazioni della select con la scelta del numero di camere.
Questi eventi servono a far visualizzare o a non far visualizzare i successivi elementi in base alle scelte iniziali, quindi in base alla scelta della prima select potremo visualizzare un ulteriore elemento come una select, dei checkbox, radiobutton o textarea etc etc.
Queste le scelte inserite nella select relativa alla scelta del numero di camere:
- nessuna
- 1 camera
- 2 camere
- 3 camere
Queste invece le condizioni (nella scheda events delle impostazioni della select scelta nr camere) che ho usato in base alle scelte inserite nella select relativa alla scelta del numero di camere:
- = | nessuna | hiden parent | cameraA
- = | nessuna | hiden parent | cameraB
- = | nessuna | hiden parent | cameraC
- = | 1 camera | show parent | cameraA
- = | 1 camera | hiden parent | cameraB
- = | 1 camera | hiden parent | cameraC
- = | 2 camere | show parent | cameraA
- = | 2 camere | show parent | cameraB
- = | 2 camere | hiden parent | cameraC
- = | 3 camere | show parent | cameraA
- = | 3 camere | show parent | cameraB
- = | 3 camere | show parent | cameraC
Per quanto riguarda la select relativa alle caratteristiche della camere, ovvero se singola, doppia o tripla, sarà IMPORTANTE impostare alla voce "LOAD STATE" Visible & Enable. Sarà questa impostazione che farà visualizzare o meno l'elemento.
Per ciò che concerne le impostazioni nella scheda SETUP;
- ho inserito il classico elemento "HTML render form" senza il quale non sarà possibile visualizzarlo
- un elemento "email" per l'invio della mail a chi si occuperà di ricevere le richieste di booking, impostato in maniera tale che cliccando su rispondi sarà possibile rispondere all'utente che ha prenotato.
- un ulteriore elemento "email" per l'invio di una mail di riepilogo all'utente che ha richiesto il booking
- Un ultimo elemento "display message" con alcuni dati "dinamici" per visualizzare dopo la pressione del pulsante di invio un messaggio di conferma.
Scaricando il form potrete visualizzare i dettagli delle varie impostazioni. Ricordate di sostituire gli indirizzi email e sopratutto di configurare joomla affinche invii email, potrete inoltre personalizzare ulteriormente il vostro form aggiungendo campi e opzioni supplementarie. Se decidete di cambiare il nome oppure l'opzione di qualche campo è possibile che dobbiate rivedere il naming degli ID.
Potete scaricare il form nella versione backup per chronoforms V5 dopo esservi registrati.
{phocadownload view=file|id=8|text=form booking on line|target=s}
Prova il form appena realizzato con chronoforms V5
{chronoforms5}prenota_camera_albergo{/chronoforms5}