Evitare le doppie prenotazioni in Salesforce
Le regole di convalida non vedono gli altri record. È per questo solo limite che quasi tutti i sistemi di prenotazione in Salesforce scoprono i conflitti con un giorno di ritardo.
La doppia prenotazione è un problema di tempismo. Quando qualcosa in Salesforce standard riesce a dirti che la sala è occupata, l'utente l'ha già scelta, ha compilato il resto del modulo ed è passato oltre.
Perché gli strumenti ovvi non funzionano
| Strumento | Cosa può fare | Perché non basta |
|---|---|---|
| Regola di convalida | Controllare i campi del record che si sta salvando | Non può interrogare nessun altro record |
| Regola duplicati | Trovare corrispondenze tra campi uguali | 9:00-10:00 e 9:30-10:30 si sovrappongono ma non corrispondono |
| Flusso attivato da record | Interrogare e bloccare al salvataggio | Scatta dopo che l'utente ha confermato; non regge le operazioni in blocco se scritto in modo ingenuo |
| Codice personalizzato | Controllo totale, logica di sovrapposizione corretta | Rifiuta comunque al salvataggio, e ora il codice è tuo da mantenere |
Hanno tutti la stessa forma: rifiutano l'utente dopo la scelta. Anche una soluzione personalizzata corretta produce "quella fascia è occupata, riprova", un'esperienza peggiore che non offrire mai la fascia.
Sovrapposizione non è uguaglianza
Le regole duplicati sono una tentazione, quindi ecco la regola. Due prenotazioni sono in conflitto quando una inizia prima che l'altra finisca e finisce dopo che l'altra è iniziata. Una prenotazione dalle 9:00 alle 10:00 e una dalle 9:30 alle 10:30 si sovrappongono per mezz'ora senza avere nessun valore di campo identico. Qualsiasi approccio basato sulla corrispondenza dei valori la mancherà ogni volta.
Conflitto e capacità sono problemi diversi
Spesso vengono trattati come una cosa sola.
Un conflitto
Due richieste in competizione per una risorsa che ne regge una. Una sala, chi conduce un colloquio, un veicolo.
Capacità
Una risorsa che ne regge diverse. La domanda è quanti posti restano. Un corso con venti posti, un turno che richiede quattro infermieri, un'area con sessanta postazioni.
Trattare una risorsa a capacità come una risorsa a conflitto significa non riuscire mai a prenotare la seconda persona. Trattare una risorsa a conflitto come capacità uno tecnicamente funziona, ma perde i conteggi su cui probabilmente vuoi fare report.
Tre comportamenti sensati
"Bloccalo" non è sempre la risposta giusta. Quando qualcuno seleziona dodici date e due sono in conflitto, rifiutare l'intero invio è ostile. I sistemi utili offrono una scelta:
Block
Rifiuta il salvataggio e segnala il conflitto. Giusto quando ogni data conta.
Skip
Salva le dieci libere e segnala le due che non lo erano. Di solito l'impostazione più umana per le selezioni in blocco.
Allow
Consente la sovrapposizione di proposito. Alcune aziende fanno overbooking volutamente.
La vera soluzione arriva prima
Tutti i meccanismi visti sopra agiscono al momento del salvataggio. La soluzione è spostare il controllo al momento della scelta: leggere ciò che esiste già quando il calendario si carica, mostrarlo sulla griglia e non offrire mai una fascia già presa. I controlli al salvataggio restano attivi come rete di sicurezza per la vera concorrenza, quando due persone guardano la stessa fascia libera, ma smettono di essere la difesa principale.
Ferma le doppie prenotazioni nel momento della scelta
Prenota una fascia nella demo live e guarda gli orari occupati sparire dalla griglia.
- $20/utente/mese, tutte le funzionalità
- Prova gratuita di 30 giorni, senza carta
- 100% nativo Salesforce
- Senza Apex
- Presto disponibile su Salesforce AppExchange