Guida utente di MultiDatePick
Ogni componente, impostazione e insidia, nell'ordine in cui un amministratore li incontra. Nessun Apex richiesto.
Indice
- I tre componenti
- Forme dei record
- La configurazione guidata, passo per passo
- Set di autorizzazioni e accesso
- Salvataggio con un clic o gestito dal flusso
- Colori di stato e modalità modifica
- Viste: cinque layout, un solo componente
- Prenotazione risorse e capacità
- Limitare ciò che gli utenti selezionano
- Bloccare date, orari e risorse
- Pagine pubbliche per utenti guest
- Insidie comuni (FAQ)
- Ricette per i flussi
- Mappatura di oggetti e campi
- Riferimento di tutte le proprietà
- Sicurezza e accessibilità
- Domande e bug
1. I tre componenti: quando usare ciascuno
MultiDatePick include tre Lightning Web Component costruiti su una base comune. Scegli quello adatto ai tuoi dati.
Date
Nei builder: MultiDatePick - Dates
Scegli molte date in una volta. Ideale per RSVP, presenze, ferie, date di blocco e calendari delle festività.
Date Time
Nei builder: MultiDatePick - Dates & Times
Date più fasce orarie. Ideale per lezioni, appuntamenti, blocchi di formazione e turni.
Booking
Nei builder: MultiDatePick - Resource Booking
Date, orari e una risorsa. Ideale per sale, attrezzature, persone e tutto ciò che ha una capacità.
Confronto delle funzionalità
Le funzionalità si sommano. Tutto ciò che c'è in Date c'è anche in Date Time e Booking. Date Time aggiunge gli orari, Booking aggiunge risorse e capacità.
| Funzionalità | Date | Date Time | Booking |
|---|---|---|---|
| Disponibile in tutti e tre i componenti | |||
| Selezione delle date | ✓ | ✓ | ✓ |
| Cinque viste | ✓ | ✓ | ✓ |
| Colori di stato | ✓ | ✓ | ✓ |
| Date bloccate | ✓ | ✓ | ✓ |
| Caricamento dei record esistenti | ✓ | ✓ | ✓ |
| Modalità modifica | ✓ | ✓ | ✓ |
| Schemi ricorrenti | ✓ | ✓ | ✓ |
| Solo Date Time e Booking | |||
| Fasce orarie | ✓ | ✓ | |
| Record sub-block | ✓ | ✓ | |
| Solo Booking | |||
| Selettore di risorse | ✓ | ||
| Badge di capacità | ✓ | ||
2. Forme dei record: quando usare ciascuna
La forma del record stabilisce come una selezione diventa record. Nasce da tre scelte indipendenti, e ogni combinazione funziona.
Date: solo date, nessun orario.
Date Time / Booking: ogni record ha un'ora di inizio e una di fine.
In aggiunta: attiva Consolida arco di tempo per avere un unico record padre su tutto l'arco orario, più un record figlio sub-block per ogni pausa al suo interno.
Nessuna: Date, Date Time o Booking senza risorsa.
Risorsa singola: Booking con un menu a discesa delle risorse.
Più risorse: Booking con caselle di controllo, un record per ogni risorsa selezionata.
Per clic: ogni data selezionata è un record a sé. Cinque clic, cinque record.
Per intervallo: le date consecutive diventano un solo record con inizio e fine. Imposta End Date Field API Name (Campo data di fine).
La configurazione guidata prevede sei forme: un record per data, uno per intervallo di date, uno per blocco di tempo, padre più sub-block, risorsa singola e più risorse.
Esempi pratici: rispondi alle 3 domande
Per ogni scenario bastano tre risposte per arrivare alla forma giusta. La configurazione guidata pone le stesse tre domande.
Richiesta di ferie
Ti servono gli orari? No, solo le date.
È necessario un selettore di risorse? No.
Le date consecutive vanno unite? Sì. Le ferie da lunedì a venerdì devono essere UN solo record.
→ Per intervallo: un record, inizio lunedì, fine venerdì.
Prenotazione di una sala riunioni
Ti servono gli orari? Sì, ogni prenotazione ha un inizio e una fine.
È necessario un selettore di risorse? Sì, si sceglie una sala.
Le date consecutive vanno unite? No, ogni prenotazione è un record a sé.
→ Risorsa singola: un record per data × blocco di tempo, collegato alla sala.
Formazione in 3 sale
Ti servono gli orari? Sì, lo stesso inizio e la stessa fine ogni giorno.
È necessario un selettore di risorse? Sì, più sale con caselle di controllo.
Le date consecutive vanno unite? Sì, si va da lunedì a venerdì.
→ Più risorse, per intervallo: un record per sala che copre l'intera settimana.
Formazione di un giorno intero con pausa pranzo
Ti servono gli orari? Sì, dalle 9:00 alle 17:00 con una pausa pranzo.
È necessario un selettore di risorse? No.
La pausa va registrata? Sì, come record figlio a sé.
→ Padre più sub-block: un record padre dalle 9:00 alle 17:00 e un sub-block per il pranzo.
La griglia: tutte le combinazioni
Scegli la riga in base alle tue esigenze di orario e risorsa. La colonna dipende da End Date Field API Name: impostato o no. Ogni cella è una configurazione valida.
| Orario + risorsa | Per clic (nessun campo data di fine) |
Per intervallo (campo data di fine impostato) |
|---|---|---|
| Date Nessun orario. Componente Date. |
Un record per data 1 data → 1 record. Utilizzare per: RSVP, presenze, check-in giornalieri. |
Un record per intervallo di date Date consecutive → 1 record con inizio e fine. Utilizzare per: ferie, trasferte, soggiorni di più notti. |
| Date Time Un blocco di tempo per record. Componente Date Time. |
Un record per blocco orario 1 data × 1 blocco orario = 1 record. Utilizzare per: fogli ore, segmenti di turno, blocchi di formazione. |
Intervallo con un blocco di tempo comune. Date consecutive con gli stessi orari → 1 record. Utilizzare per: formazione di più giorni con lo stesso orario ogni giorno. |
| Date Time + Consolida arco di tempo Record padre più figli sub-block per le pause |
Padre più sub-block Un record padre copre l'intero arco orario. Ogni pausa al suo interno diventa un figlio sub-block. Utilizzare per: formazione con pausa pranzo, giri sul territorio con gli spostamenti tra una tappa e l'altra. |
|
| Booking, risorsa singola Un menu a discesa delle risorse. Componente Booking. |
Risorsa singola 1 record per data × blocco di tempo, collegato alla risorsa. Utilizzare per: sale riunioni, agenda dei formatori. |
Intervallo su risorsa singola. Date consecutive su una risorsa → 1 record per intervallo. Utilizzare per: soggiorni di più notti in una stanza, prestito di attrezzature per più giorni. |
| Booking, più risorse Caselle di controllo per le risorse (Consenti più risorse) |
Più risorse 1 record per risorsa × data × blocco di tempo. Utilizzare per: riunioni di team in parallelo, formazione in più sale. |
Intervallo su più risorse. Date consecutive su N risorse → N record, uno per risorsa. Utilizzare per: una settimana di formazione in 3 sale contemporaneamente. |
| Booking + Consolida arco di tempo Prenotazione padre più figli sub-block per le pause |
Prenotazione padre più sub-block. Una risorsa prenotata per tutto il giorno, con le sue pause registrate. Utilizzare per: strumenti di laboratorio con finestre di manutenzione. |
|
In sintesi: qualsiasi combinazione delle tre scelte funziona. Se il tuo scenario non corrisponde a uno schema con un nome, imposta ogni scelta separatamente e il componente fa il resto.
3. La configurazione guidata, passo per passo
La configurazione guidata salva una configurazione una volta sola. Scrivi il suo nome in Config Name su qualsiasi pagina o schermata di flusso e quel posizionamento la usa. Se modifichi la configurazione, ogni posizionamento si aggiorna.
- 1 Nome e tipo
- 2 Oggetto e campi
- 3 Campi orario
- 4 Stato e visualizzazione
- 5 Rivedi e salva
Scegli da dove partire
La scheda Crea nuovo offre due percorsi. Guidami passo passo pone tre domande e sceglie componente e forma. Configura tutte le proprietà apre tutte le impostazioni. Accanto ci sono altre due schede: Configurazioni esistenti per modificare una configurazione salvata e Importa per incollarne una dalla Config Library.
Passaggio 1: Nome e tipo
Scegli il componente (Date, Date Time o Booking) e dai un nome alla configurazione. Il nome è ciò che scriverai poi in Config Name. In questo passaggio imposti anche le viste: quella predefinita, quelle offerte dal selettore e le opzioni di Cronologia e Agenda.
Passaggio 2: Oggetto e campi
Il passaggio principale. Scegli l'oggetto che contiene i record, il suo campo data e il campo di relazione verso il record padre. I campi facoltativi aggiungono intervalli, risorse, capacità, sub-block e date bloccate. Le configurazioni Booking impostano qui anche l'oggetto risorsa, il campo capacità e l'orario lavorativo.
Passaggio 3: Campi orario
Solo Date Time e Booking. Associa i campi ora di inizio e ora di fine, poi imposta l'Intervallo di tempo (va bene qualsiasi intervallo; di solito 15, 30 o 60 minuti), l'ora minima e massima, la modalità di visualizzazione e cosa succede in caso di conflitto.
Passaggio 4: Stato e visualizzazione
Campo stato e colori, stati da nascondere, stati che gli utenti possono scegliere, campi al passaggio del mouse, Modalità modifica, nomi dei record, etichette dei pulsanti, dimensione del calendario e limiti come Max Dates Allowed.
Passaggio 5: Rivedi e salva
Controlla il riepilogo, prova l'anteprima in tempo reale, poi fai clic su Salva configurazione. La configurazione guidata distribuisce la configurazione per te in 30-60 secondi. Al termine puoi aggiungere una descrizione facoltativa.
Configurazioni esistenti e Importa
Le configurazioni salvate sono elencate in Configurazioni esistenti: fai clic su una per modificarla o esportarla. La scheda Importa accetta il JSON di qualsiasi scheda della Config Library o un'esportazione da un'altra organizzazione.
4. Set di autorizzazioni e accesso
Il pacchetto include quattro set di autorizzazioni. Assegnali in Imposta, Set di autorizzazioni.
| Set di autorizzazioni | A chi assegnarlo | Configurazione guidata | Usa i calendari |
|---|---|---|---|
| MultiDatePick - Setup | Gli amministratori che creano le configurazioni | ✓ Sì | No |
| MultiDatePick - User | Chiunque usi i calendari | No | ✓ Sì |
| MultiDatePick - All Access | Gli amministratori che li creano e li usano | ✓ Sì | ✓ Sì |
| MultiDatePick - Guest | L'utente guest di un sito Experience Cloud pubblico | No | ✓ Visualizza e prenota |
I componenti funzionano con le autorizzazioni di ciascun utente, quindi gli utenti devono avere accesso anche ai tuoi oggetti e campi:
- Oggetti: Lettura e Creazione sull'oggetto in cui vengono salvati i record, più Lettura su ogni oggetto risorsa, chiusura o figlio che il calendario legge.
- Campi, lettura: ogni campo che il calendario mostra (data, stato, campi al passaggio del mouse).
- Campi, modifica: ogni campo che scrive (data, orari, stato, secondo elenco di selezione, campo nome, campo di ricerca del record padre). Un campo che l'utente non può modificare fa fallire il salvataggio, anche se la lettura funziona.
- Record collegati: almeno Lettura sul record padre e sulla risorsa a cui punta il nuovo record.
Ogni messaggio di errore con la sua causa è in Risoluzione dei problemi: errori di accesso. I siti guest richiedono qualche passaggio in più: vedi Pagine pubbliche per utenti guest.
5. Salvataggio con un clic o gestito dal flusso
Ci sono due modi per salvare. Scegli quello adatto al posizionamento.
Salvataggio con un clic
Il componente scrive i record da solo. Compila quattro impostazioni e compare il suo pulsante Salva. Un clic e i record figli vengono creati. Niente elementi di flusso, niente codice.
Dove usarlo: pagine record, pagine app, pagine iniziali, siti Experience e schermate di flusso con un record padre.
Salvataggio gestito dal flusso
Il componente passa la selezione al tuo flusso. Usa l'azione inclusa Parse Date Entries from JSON, poi i tuoi elementi Ciclo e Crea record.
Dove usarlo: schermate di flusso in cui vuoi il pieno controllo: approvazioni, record condizionali, convalide aggiuntive.
Salvataggio con un clic: le quattro impostazioni
Le compila la configurazione guidata. Quando tutte e quattro hanno un valore, compare il pulsante Salva.
| Impostazione | Contenuto | Nome API |
|---|---|---|
| Nome API dell'oggetto figlio | L'oggetto in cui vengono salvati i record | relatedObjectApiName |
| Nome API del campo data | Il campo data su quell'oggetto | dateFieldApiName |
| Nome API del campo di relazione | Il campo di ricerca verso il record padre | relationshipFieldApiName |
| Parent Record Id o Static Parent Record Id | Il record padre. Su una pagina record viene compilato automaticamente. In un flusso, collega Parent Record Id. Nelle pagine app, iniziali ed Experience, scrivi l'Id in Static Parent Record Id. | recordId / staticRecordId |
Quale record padre usa una pagina, e quando conviene sceglierlo invece in un flusso, è spiegato in Pagine app, iniziali ed Experience.
Salvataggio gestito dal flusso: gli output
Lascia vuote le quattro impostazioni. Il pulsante Salva si nasconde e la selezione esce da questi output del flusso:
| Output | Contenuto | Componenti |
|---|---|---|
| Selected Dates (Output) | Una raccolta di testo con le date (YYYY-MM-DD) | Date, Date Time |
| Date Ranges JSON (Output) | Le date consecutive raggruppate in intervalli | Date, Date Time |
| Dates With Times JSON (Output) | Ogni data con i suoi orari | Date Time |
| Successful Bookings Count / Conflict Dates | I risultati dopo il salvataggio di Booking | Booking |
Passa il JSON a Parse Date Entries from JSON. Restituisce un elenco su cui eseguire un ciclo, con data di inizio, data di fine, ora di inizio, ora di fine e Id della risorsa per ogni elemento. Passo per passo: Ricette per i flussi.
Il salvataggio aggiunge soltanto
Il salvataggio con un clic crea solo nuovi record. Deselezionare una data non elimina mai un record salvato, quindi un clic sbagliato non può far perdere dati. Per modificare o rimuovere record, usa la Modalità modifica o l'elenco correlato.
6. Colori di stato e modalità modifica
Colori di stato e filtri
Colora i record in base a qualsiasi elenco di selezione dell'oggetto, nascondi alcuni valori e limita ciò che gli utenti finali possono scegliere.
| Impostazione | Cosa fa | Nome API |
|---|---|---|
| Campo stato (Status Field) | L'elenco di selezione che determina i colori, per esempio Confirmed / Tentative / Cancelled. | statusField |
| Colori stato prenotazione (Status Colors) | Un colore per valore, come Confirmed:#22C55E, Tentative:#fbbf24. Lascialo vuoto per una tavolozza automatica. | statusColors |
| Visualizzazione colore stato (Status Color Display) | Dove compaiono i colori: calendario, griglia o entrambi. Lascialo vuoto per una pagina clienti pulita, senza colori. | statusColorDisplay |
| Stati ignorati (Ignored Statuses) | Nasconde i record con questi valori (per esempio No-Show,Cancelled) dal calendario e dal conteggio della capacità. | hideBookingsWithStatus |
| Stati selezionabili (Selectable Statuses) | Limita i valori che un utente finale può scegliere, per esempio solo Requested, mentre lo staff li vede tutti. | selectableStatuses |
Modalità modifica
Attiva Abilita modalità modifica e compare un pulsante Modifica. In modalità modifica gli utenti possono:
- Vedere i record esistenti come schede con data e stato
- Fare clic sulle date per aggiungere i loro record all'insieme da modificare
- Cambiare data, orari, risorsa o stato, e il record si aggiorna
- Eliminare con una conferma in due clic, così nulla sparisce per sbaglio
7. Viste: cinque layout, un solo componente
Ogni componente offre cinque layout. Leggono gli stessi record con le stesse associazioni di campi, seguono le stesse regole su conflitti, date bloccate e orario lavorativo, e salvano allo stesso modo. Cambiare vista cambia l'aspetto dei record, mai il loro significato.
Le cinque viste e la domanda a cui risponde ciascuna
| Vista (View) | La domanda | Layout | Modificabile? |
|---|---|---|---|
| Calendario | Cosa succede il 14? | Un mese alla volta, con i colori di stato su ogni giorno. | Sì. È la vista predefinita. |
| Cronologia | Quale risorsa è libera, e quando? | Risorse sul lato, date in alto. I record di più giorni sono disegnati come un'unica barra. | Sì |
| Settimana | Chi è libero giovedì alle 14? | Sette giorni in orizzontale, orario lavorativo in verticale. Trascina su più giorni e ore in un colpo solo. | Sì |
| Utilizzo | Chi ha superato la capacità? | Heatmap della capacità usata, per risorsa e per giorno. | No, sola lettura |
| Agenda | Cosa c'è dopo? | Un elenco ordinato dei prossimi 60 giorni. | No, sola lettura |
Impostazioni
| Impostazione | Predefinito | Cosa fa |
|---|---|---|
| Vistaview | Calendario | Il layout con cui si apre il componente. |
| Available ViewsavailableViews | vuoto | Le viste offerte dal selettore, per esempio calendar,timeline,agenda. Se vuoto, le offre tutte e cinque. La vista predefinita è sempre inclusa, quindi elenca solo quelle in più. |
| Timeline Window (Days)timelineWindowDays | 14 | Quanti giorni mostra la cronologia in una volta. Con un mese intero ogni prenotazione è larga circa venti pixel e la sua etichetta viene tagliata. Imposta 0 per il mese intero. Le frecce interne avanzano di una finestra, quelle esterne di un mese. |
| Resource RowsresourceViewFilter | all | booked mostra solo le risorse con una prenotazione nel periodo visibile. È il modo migliore per accorciare un elenco lungo, perché una riga vuota non dice nulla. Se non c'è nessuna prenotazione da nessuna parte, torna a mostrare tutte le risorse. |
| Max View ResourcesmaxViewResources | 0 (tutte) | Limita quante righe di risorse disegnano Cronologia e Utilizzo, partendo dalle più occupate. Il conteggio include comunque tutto. Meglio Righe risorse, che nasconde solo le righe vuote. |
| Agenda FieldsagendaFields | vuoto | Campi aggiuntivi su ogni riga dell'agenda, fino a quattro. Se vuoto, riusa i Campi al passaggio del mouse. Data, ora e nome sono già sulla riga. |
| Capacity FieldcapacityField | vuoto | Non è un'impostazione di vista, ma Utilizzo ne ha bisogno per mostrare percentuali invece di semplici conteggi. |
Una vista diversa per ogni pagina
La vista è un'impostazione di ciascun posizionamento, quindi gli stessi record possono apparire in modo diverso a seconda di dove si trovano. Una sola installazione, un solo insieme di associazioni di campi.
| Posizionamento | Vista (View) | Viste disponibili (Available Views) |
|---|---|---|
| Pagina dei colloqui del recruiter | Settimana | calendar,agenda |
| Pagina di prenotazione sale dei servizi generali | Calendario | timeline,utilization |
| Turni del responsabile di reparto | Cronologia | week,agenda |
| Schermo a parete delle operations | Agenda | utilization,timeline |
| Pagina pubblica Experience Cloud | Calendario | vuoto, o un elenco breve |
La modalità modifica funziona in ogni vista
Con Abilita modalità modifica abilitato, il pulsante Modifica compare in ogni vista. Fai clic su un record in Cronologia, Settimana o Agenda per aggiungerlo all'insieme da modificare, proprio come una data sul calendario mensile. Un cambio di stato in blocco dalla cronologia funziona esattamente come dal calendario.
Cronologia: righe compresse
Quando una risorsa ha prenotazioni sovrapposte, la sua riga si comprime in un'unica striscia con l'indicatore N insieme. Una freccia di espansione apre una corsia per ogni prenotazione. Anche compresse, le righe accettano trascinamento, passaggio del mouse e clic.
Cronologia: trascina per riprogrammare
Con Abilita modalità modifica abilitato, le barre della cronologia si possono trascinare. Afferra il centro per spostare una prenotazione su altri giorni, oppure un bordo per cambiarne l'inizio o la fine. La barra mostra dove finirà e salva quando la rilasci. Con lo zoom Giorno, gli stessi gesti cambiano gli orari.
Pianifica le persone, non solo le sale
Resource Object API Name accetta qualsiasi oggetto. Impostalo su User e la cronologia diventa un piano turni, la settimana una griglia dei turni e Utilizzo una dashboard della capacità del team.
- L'oggetto User non ha un campo capacità standard. Aggiungine uno personalizzato (per esempio Daily Capacity) per vedere Utilizzo in percentuale.
- Associa Campo inizio orario lavorativo e Campo fine orario lavorativo a campi di User e la griglia settimanale segue l'orario di ogni persona.
La Config Library contiene due esempi pronti: Pianificazione della capacità del team e Turni del personale.
8. Prenotazione risorse e capacità (componente Booking)
Risorsa singola
Gli utenti scelgono una risorsa da un menu a discesa. La griglia oraria carica prenotazioni e capacità di quella risorsa.
Più risorse
Attiva Consenti più risorse e il menu a discesa diventa un insieme di caselle di controllo. La griglia mostra solo le fasce libere su tutte le risorse selezionate, e Salva le prenota tutte in una volta.
Capacità
Permetti a più prenotazioni di condividere una fascia, con badge 3/5 in tempo reale. Una fascia piena non accetta altre prenotazioni.
| Impostazione | Cosa fa | Nome API |
|---|---|---|
| Campo capacità (Capacity Field) | Un campo numerico sulla risorsa, per esempio Capacity = 5. | capacityField |
| Mostra conteggio disponibilità (Show Availability Count) | Mostra i badge X/Y. | showAvailabilityCount |
| Aggregazione capacità (Capacity Aggregation) | Combinato (predefinito) somma prenotazioni e capacità delle risorse selezionate: due sale da 5 mostrano 0/10. Distinto conta una sola volta un evento prenotato su più risorse e usa la capacità singola più grande: una lezione in 4 sale mostra 1/5, non 4/20. | capacityAggregation |
Conflitti
Comportamento conflitto decide cosa succede quando una fascia scelta è già occupata. Giorni di anticipo conflitto stabilisce fin dove controllare (predefinito 360).
| Valore | Cosa succede | Ideale per |
|---|---|---|
| Blocca (predefinito) | Una fascia occupata non si può scegliere, e il salvataggio si ferma evidenziando i conflitti. | La maggior parte delle pagine di prenotazione |
| Salta | Salva le fasce libere e salta quelle occupate. Le date saltate tornano in Conflict Dates (Output). | Prendere tutto ciò che è ancora libero su molte date |
| Consenti | Nessun controllo dei conflitti. Le prenotazioni possono superare la capacità. | Overbooking voluto |
Una chiusura vince sempre. Nulla viene salvato su una fascia bloccata, nemmeno con Consenti.
9. Limitare ciò che gli utenti selezionano
Limita quanto può scegliere una persona, in date o in fasce orarie.
| Impostazione | Cosa fa | Nome API |
|---|---|---|
| Selezioni massime (Max Dates Allowed) Booking: Max Dates Per Booking | Il numero massimo di date che un utente può scegliere. 0 significa nessun limite. | maxSelections |
| Max fasce orarie (Max Time Slots) | Il numero massimo di fasce orarie in totale, su tutte le date. 0 significa nessun limite. Usa 1 per un solo appuntamento a persona. | maxTimeSlotSelection |
| Data minima / Data massima (Earliest / Latest Selectable Date) | Disattiva le date al di fuori di un intervallo fisso. | minDate / maxDate |
| Prenotabile fino a / Preavviso minimo (Book Up To / Minimum Notice) | Una finestra mobile: fino a N giorni in anticipo, con almeno N ore di preavviso. | maxDaysAhead / minNoticeHours |
| Intervallo tra prenotazioni (Buffer Between Bookings) | Lascia libero un tempo di preparazione dopo ogni prenotazione. | bufferMinutes |
| Aggiungi al calendario (Add to Calendar) | Dopo il salvataggio, un unico file .ics con tutto ciò che è appena stato salvato. | showAddToCalendar |
| Consenti date passate (Allow Past Dates) | Se disattivato, solo da oggi in poi. Attivo per impostazione predefinita in Date e Date Time, disattivato in Booking. | allowPastDates |
10. Bloccare date, orari e risorse (chiusure)
Qualsiasi calendario può leggere le chiusure da un altro oggetto e disattivare le date, le fasce orarie o le risorse interessate, così gli utenti prenotano solo quando sei aperto. Basta puntare alcune impostazioni sull'oggetto delle chiusure e il componente fa il resto. I blocchi di giornate intere funzionano su tutti e tre i componenti. I blocchi di orari e di risorse richiedono la griglia oraria di Date Time o Booking.
Bloccare o nascondere: qual è la differenza?
Sembrano simili, ma fanno cose opposte. Bloccare toglie disponibilità: la fascia è visibile ma non prenotabile. Nascondere toglie i record dalla vista, e così libera le loro fasce.
| Bloccare (chiusure) | Nascondere (per stato) | |
|---|---|---|
| Cosa controlla | Quali date, orari e risorse si possono prenotare | Quali record salvati compaiono |
| Impostazione | Oggetto date bloccate e i suoi campi data, orario e risorsa | Stati ignorati (Ignored Statuses) |
| Da cosa dipende | Un elenco di chiusure o festività: un oggetto dedicato, oppure il tuo oggetto prenotazione filtrato | Un valore di stato sui record stessi |
| Cosa vedono gli utenti | La fascia c'è, ma barrata, grigia e non cliccabile | Il record sparisce dal calendario |
| Effetto sulla capacità | Toglie disponibilità | Libera disponibilità: il record nascosto non conta più |
| I dati | Non esiste alcuna prenotazione: stai solo segnando la fascia come non disponibile | I record restano in Salesforce |
| Quando usarlo | Festività, finestre di manutenzione, una sala o una regione chiusa | Prenotazioni Cancelled o Rejected che non devono ingombrare la griglia né pesare sulla capacità |
- Nascondi record con stato = Cancelled → la prenotazione sparisce e la sua fascia si libera.
- Oggetto date bloccate = il tuo oggetto prenotazione, filtrato su Status = Cancelled → la prenotazione blocca la sua data, così nessuno la riprenota.
Le impostazioni delle date bloccate
| Impostazione | Cosa fa | Nome API |
|---|---|---|
| Oggetto date bloccate (Blocked Dates Object) | L'oggetto che contiene le chiusure, come un oggetto Office Closure o il tuo oggetto prenotazione. Impostarlo attiva il blocco. | blockedDatesSourceObject |
| Campo data date bloccate (Blocked Dates Date Field) | Il campo data su quell'oggetto. | blockedDatesDateField |
| Campo ora di inizio / fine date bloccate (Blocked Dates Start / End Time Field) | Campi orario facoltativi. Impostali entrambi per bloccare parte della giornata; lasciali vuoti per la giornata intera. Date Time e Booking. | blockedDatesStartTimeField / blockedDatesEndTimeField |
| Campo risorsa date bloccate (Blocked Dates Resource Field) | Campo di ricerca facoltativo che limita una chiusura a una sola risorsa. Se vuoto, la chiusura vale per tutte le risorse. Booking. | blockedDatesResourceField |
| Campo / Valore filtro date bloccate (Blocked Dates Filter Field / Value) | Ambito facoltativo, come Region = North o Status = Cancelled. È così che un'unica tabella di chiusure serve molti calendari. | blockedDatesFilterField / blockedDatesFilterValue |
Tre livelli di blocco
- Giornata intera: una chiusura senza orari disattiva l'intera data. Tutti e tre i componenti. Una data chiusa resta chiusa anche se ha già delle prenotazioni.
- Parte della giornata: una chiusura con ora di inizio e di fine blocca solo quelle fasce. Il resto della giornata resta prenotabile. Le fasce bloccate compaiono quando si seleziona una data.
- Una risorsa: una chiusura che punta a una risorsa chiude solo quella. Nella vista a risorsa singola la fascia è barrata. Nella vista combinata riceve un piccolo segnale nell'angolo e resta prenotabile sulle risorse libere.
Usi la griglia oraria? Ti servono i blocchi di parte della giornata. I blocchi di giornata intera sono adatti ai selettori di sole date.
Due schemi per l'oggetto delle chiusure
- Stesso oggetto, contrassegnato dallo stato: punta Oggetto date bloccate sul tuo oggetto prenotazione e filtra Status = Cancelled, così le prenotazioni annullate valgono anche come chiusure. È il metodo più semplice, ma tutti i calendari su quell'oggetto le condividono. Vedi la configurazione Prenotazione appuntamenti con festività nella Config Library.
- Un oggetto dedicato alle chiusure: un oggetto Office Closure con una data, ora di inizio e di fine facoltative, un campo Region e un campo di ricerca facoltativo verso la risorsa. Ogni calendario filtra per la sua regione, e una chiusura può riguardare una sola risorsa. Vedi la configurazione Chiusure delle risorse per fascia oraria.
Per permettere alle persone di bloccare il proprio tempo (per esempio un titolare che blocca una mattina), inserisci un componente Date Time che salva sull'oggetto delle chiusure in una pagina interna o in un sito.
Come si comportano le fasce bloccate
- Aspetto: una fascia completamente chiusa è barrata e grigia. Una fascia chiusa solo per alcune delle risorse scelte riceve un segnale nell'angolo.
- Selezione: su una fascia completamente chiusa non si può fare clic né trascinare.
- Salvataggio: nulla viene salvato su una combinazione chiusa di risorsa, data e orario. Con più risorse viene esclusa solo quella chiusa; le altre vengono comunque prenotate.
Una tabella di chiusure, molti calendari
Dai all'oggetto delle chiusure un campo etichetta (Region, Location, Building) e metti lo stesso campo sulle risorse. Ogni calendario usa poi Campo / Valore filtro risorsa per mostrare le proprie risorse e Campo / Valore filtro date bloccate per leggere le proprie chiusure.
11. Pagine pubbliche per utenti guest (Experience Cloud)
Inserisci un componente in un sito Experience Cloud e chiunque potrà prenotare senza login. Completa tutti e cinque i passaggi prima di provare come guest.
- Autorizzazioni sugli oggetti. Concedi all'utente guest del sito Lettura su ogni oggetto, più Creazione se i guest inviano dati. Salesforce non permette mai ai guest di modificare o eliminare record, quindi riserva le pagine di modifica, annullamento ed eliminazione agli utenti che hanno effettuato il login.
- Protezione a livello di campo su ogni campo usato dal componente, compresi i campi dell'orario lavorativo delle risorse e i campi orario delle chiusure. Basta un campo mancante per bloccare la query di risorse o chiusure.
- Una regola di condivisione per i guest (Lettura) perché il guest possa vedere i record. Perché la regola si applichi, l'impostazione predefinita esterna a livello di organizzazione dell'oggetto deve essere Privato. Una regola distribuita come metadati richiede un clic su Ricalcola in Imposta, Impostazioni di condivisione.
- Il set di autorizzazioni MultiDatePick - Guest sull'utente guest del sito. Fornisce l'accesso alle classi Apex con cui il componente carica i dati.
- Attiva il sito. Pubblicazione e attivazione sono due passaggi distinti.
- Quale record vedono i guest: una pagina pubblica usa Static Parent Record Id, quindi ogni guest prenota sullo stesso record padre (un ufficio, una sede o una risorsa). Per un record diverso per ogni visitatore, gestiscilo da un flusso con un parametro URL. Calendari davvero personali richiedono utenti con login.
- Referenti e account: Salesforce limita molto l'accesso dei guest a questi oggetti. Fai prenotare i guest su un oggetto personalizzato, oppure usa un sito con autenticazione.
- Più componenti nella stessa pagina: non si sincronizzano in tempo reale. Inserisci tra uno e l'altro un invito ad aggiornare, così un blocco creato nel primo compare nel successivo.
I passaggi per il posizionamento sono in Pagine app, iniziali ed Experience. Un sito completo di esempio è in Prenotazioni su Experience Cloud.
12. Insidie comuni (FAQ)
Vedi un banner, manca il pulsante Salva o il calendario è vuoto? Risoluzione dei problemi mostra ogni messaggio con uno screenshot e la soluzione.
- I colori di stato non vengono applicati
- Controlla tre cose. (a) Campo stato contiene il nome API esatto dell'elenco di selezione? Distingue tra maiuscole e minuscole. (b) Colori di stato usa il formato
Value:#hex, Value:#hexsenza virgolette?'Confirmed':'#22C55E'lo rompe senza alcun avviso. (c) I record hanno davvero un valore in quell'elenco di selezione? - I record vengono salvati con nomi inattesi
- Controlla Campo nome record: se il campo è corto, i nomi lunghi vengono troncati. Controlla Aggiungi data al nome del record: se è attivo, data e ora selezionate vengono aggiunte a ogni nome.
- Come nascondo i record Cancelled dalla griglia della capacità?
- Imposta Nascondi record con stato su
Cancelled, oppure su un elenco comeCancelled,Rejected. Spariscono dal calendario e dal conteggio della capacità. - Qual è la differenza tra bloccare e nascondere?
- Bloccare (chiusure) lascia visibile una data, un orario o una risorsa ma la rende non prenotabile: festività, manutenzione, una sala chiusa. Nascondere toglie dal calendario e dalla capacità record come quelli Cancelled, e così libera la fascia. Vedi Bloccare o nascondere.
- Il pulsante Modifica non compare
- Attiva Abilita modalità modifica. È l'unico requisito, su tutti e tre i componenti. Il campo stato è facoltativo: aggiunge solo un menu a discesa degli stati nell'editor. Se il pulsante manca ancora, la pagina o la configurazione hanno Abilita modalità modifica disattivato.
- Voglio solo alcune risorse (le sale, non le attrezzature)
- Usa Campo filtro risorsa e Valore filtro risorsa. Un valore: campo
Active__c, valoretrue. Più valori (OR):North,South. Più campi (AND): campoType__c;Active__c, valoreConference Room;true. - L'impostazione giusta è Modalità visualizzazione tempo: Griglia o Menu a discesa. In modalità Griglia tutte le date condividono la griglia. Per un orario diverso per ogni data, scegli Menu a discesa e attiva Consenti orari diversi per data.
- Come passo dal salvataggio gestito dal flusso al salvataggio con un clic?
- Compila Parent Record Id, Nome API dell'oggetto figlio, Nome API del campo data e Nome API del campo di relazione. Rimuovi l'azione Parse Date Entries from JSON e il ciclo che creava i record. Ora è il pulsante Salva del componente a scriverli.
- Compare un messaggio di errore senza dettagli
- Apri la console per sviluppatori del browser e cerca le righe che iniziano con
[MDP:ERROR]. L'errore completo viene sempre registrato lì, anche quando il messaggio a schermo è breve.
13. Ricette per i flussi
Tutto ciò che trovi qui si crea in Flow Builder. Senza Apex.
Eseguire un ciclo sulle date selezionate
- Aggiungi una schermata con il componente Date Time. Lascia vuote le impostazioni del salvataggio con un clic.
- Dopo la schermata, aggiungi l'azione Parse Date Entries from JSON e passale Dates With Times JSON (Output).
- Esegui un ciclo sull'elenco restituito dall'azione. Ogni elemento ha data di inizio, data di fine, ora di inizio e ora di fine.
- All'interno del ciclo, assegna i valori a una variabile record e aggiungila a una raccolta. Crea i record una sola volta, dopo il ciclo.
Riportare la prima e l'ultima data sul record padre
Vuoi che il record padre mostri la data più vecchia e quella più recente dei record figli? Scegli il metodo senza codice adatto ai tuoi dati.
| La tua configurazione | Cosa fare |
|---|---|
| Relazione master-dettaglio | Aggiungi due campi di riepilogo roll-up sul record padre: MIN del campo data e MAX del campo data. Fatto. |
| Relazione di ricerca | Un flusso attivato da record sul figlio (dopo il salvataggio). Un Ottieni record sull'oggetto figlio per lo stesso padre, ordinato per data crescente, solo il primo record. Lo stesso in ordine decrescente. Aggiorna data di inizio e di fine del padre con le due date. |
Altri schemi per i flussi: Guida ai flussi su schermo.
14. Mappatura di oggetti e campi
Ogni pagina dei componenti contiene un diagramma completo della mappatura di oggetti e campi:
I componenti funzionano con qualsiasi oggetto. Gli oggetti di esempio del pacchetto (Schedule, Event, Resource, Sub Block) sono solo valori predefiniti. Punta le impostazioni sui tuoi oggetti personalizzati o standard che hanno i campi giusti.
15. Riferimento di tutte le proprietà
Tutte le impostazioni dei tre componenti, con l'etichetta che vedi in Lightning App Builder, Experience Builder e Flow Builder. Il nome API è sotto ogni etichetta.
Tutte le proprietà Oltre 100 proprietà Fai clic per espandere: con ricerca
| Proprietà | Date | Date Time | Booking | Tipo | Predefinito | Descrizione |
|---|---|---|---|---|---|---|
| Impostazione | ||||||
Config NameconfigName | ✓ | ✓ | ✓ | String | vuoto | Facoltativo: il DeveloperName di un record Config__mdt creato dalla configurazione guidata. Se impostato, tutte le impostazioni di campi e oggetti di quella configurazione vengono applicate come valori predefiniti. Le proprietà di testo e numeriche impostate qui sostituiscono quelle della configurazione. Le caselle di controllo arrivano sempre dalla configurazione: una casella non selezionata non si distingue da una mai impostata. |
| Viste | ||||||
Vistaview | ✓ | ✓ | ✓ | String | calendar | Quale visualizzazione usare. calendar è la griglia mensile (predefinita). timeline mostra le risorse come righe e le date come colonne. week è una griglia giorni per ore. utilization è una heatmap della capacità, di sola lettura. agenda è un elenco cronologico, di sola lettura. |
Available ViewsavailableViews | ✓ | ✓ | ✓ | String | vuoto | Elenco separato da virgole delle viste da offrire nel selettore, ad es. calendar,timeline,agenda. Lascialo vuoto per offrirle tutte e cinque. La vista predefinita impostata sopra è sempre inclusa. |
Timeline Window (Days)timelineWindowDays | ✓ | ✓ | ✓ | Integer | 14 | Quanti giorni mostra in una volta la vista Cronologia. Con un mese intero ogni prenotazione è larga circa venti pixel e ogni etichetta viene tagliata, per questo il valore predefinito è 14. Imposta 0 per mostrare invece il mese intero. |
Timeline ZoomtimelineZoom | ✓ | ✓ | ✓ | String | week | Zoom iniziale della vista Cronologia: day (le ore di un giorno), week (la finestra della cronologia) o month. Gli utenti possono cambiare zoom durante la consultazione. |
Timeline Group By FieldtimelineGroupByField | ✓ | ✓ | ✓ | String | vuoto | Nome API di un campo sull'oggetto risorsa (per esempio Building__c) per raggruppare le righe della cronologia sotto intestazioni con una striscia di capacità. Lascialo vuoto per un unico elenco. |
Max View ResourcesmaxViewResources | ✓ | ✓ | ✓ | Integer | 0 | Numero massimo di righe di risorse disegnate dalle viste Cronologia e Utilizzo, a partire dalle più occupate. Evita che un lungo elenco di risorse trasformi una delle due viste in un muro illeggibile. |
Agenda FieldsagendaFields | ✓ | ✓ | ✓ | String | vuoto | Campi separati da virgole da mostrare su ogni riga della vista Agenda, dopo il nome del record. Lascialo vuoto per riusare i campi al passaggio del mouse. I campi data, ora e nome del record vengono saltati automaticamente perché la riga li mostra già. |
Resource RowsresourceViewFilter | ✓ | ✓ | ✓ | String | all | Quali risorse hanno una riga in Cronologia e Utilizzo. all le mostra tutte; booked mostra solo quelle con una prenotazione nella finestra corrente, ed è il modo migliore per accorciare un lungo elenco di risorse, perché nascondere una riga vuota non fa perdere nulla. |
| Visualizzazione e layout | ||||||
Button Labellabel | ✓ | ✓ | ✓ | String | Date: Seleziona date (Select Dates); Date Time: Seleziona date e orari (Select Dates & Times); Booking: Prenota risorsa (Book Resource) | Testo del pulsante che apre il selettore di date. Esempio: 'Scegli le date' o 'Aggiungi date' |
Calendar TitlemodalTitle | ✓ | ✓ | ✓ | String | Date: Seleziona date (Select Dates); Date Time: Seleziona date e orari (Select Dates & Times); Booking: Prenota risorsa (Book Resource) | Titolo mostrato in cima alla finestra modale del calendario. |
Show Inline (Always Visible)Anche indicato come Show Inline (No Button)showInline | ✓ | ✓ | ✓ | Boolean | true | Se attivo, il calendario è sempre visibile senza dover fare clic su un pulsante. Se disattivato, un pulsante apre il calendario in una finestra popup. |
Two-Month ViewtwoMonthView | ✓ | ✓ | ✓ | Boolean | false | Se attivo, mostra due mesi affiancati per selezionare più facilmente gli intervalli. Se disattivato, mostra un mese alla volta. |
Calendar SizecalendarSize | ✓ | ✓ | ✓ | String | medium | Controlla la dimensione complessiva del calendario. Valori validi: tiny, xsmall (molto piccolo), small, medium, large. Il valore predefinito è medium. Usa tiny o xsmall per barre delle utilità, barre laterali e riquadri delle dashboard, small per spazi ridotti, medium per la maggior parte dei layout e large per un uso comodo al tocco. |
Day Header FormatdayHeaderFormat | ✓ | ✓ | ✓ | String | 3 | Lunghezza delle intestazioni dei giorni della settimana. Valori validi: 3, 2, 1. Il valore predefinito è 3. 3 = DOM LUN MAR, 2 = DO LU MA, 1 = D L M. |
Week Starts on MondayweekStartsOnMonday | ✓ | ✓ | ✓ | Boolean | false | Se attivo, la settimana del calendario inizia di lunedì (standard ISO, quello italiano). Se disattivato, inizia di domenica (standard USA). |
Show Recurring Pattern ButtonshowRecurringPattern | ✓ | ✓ | ✓ | Boolean | true | Se attivo, mostra un pulsante che permette di selezionare rapidamente tutti i giorni feriali, i fine settimana o giorni specifici della settimana fino a una data di fine. |
Show Selection SummaryshowSelectedSummary | ✓ | ✓ | ✓ | Boolean | true | Se attivo, mostra un riepilogo con quante e quali date sono selezionate. |
Show Done Button in Inline ModeshowDoneButtonInline | ✓ | ✓ | ✓ | Boolean | false | Se attivo e Show Inline è abilitato, mostra un pulsante Fine che riduce il calendario a un riepilogo. |
Show In-Component ToastshowSuccessToast | ✓ | ✓ | ✓ | Boolean | false | Mostra un messaggio di esito o di errore all'interno del componente (necessario nei siti Experience, dove il messaggio standard non compare). Funziona anche nelle pagine record. |
Show Add to Calendar After SavingshowAddToCalendar | ✓ | ✓ | ✓ | Boolean | false | Dopo un salvataggio riuscito, un pulsante Aggiungi al calendario scarica un unico file di calendario (.ics) con un evento per ogni record appena salvato. Si apre in Outlook, Google Calendar e Apple Calendar e funziona anche per i guest di Experience Cloud. I record di sola data diventano eventi di un giorno intero; quelli con orario mantengono i propri orari. |
Calendar File Location FieldcalendarLocationField | ✓ | String | vuoto | Nome API di un campo sull'oggetto risorsa il cui valore diventa il Luogo di ogni evento nel file Aggiungi al calendario, per esempio l'indirizzo di una sala, oppure Name per la sala stessa. Lascialo vuoto quando le risorse sono persone, come consulenti o tecnici: sono già nominate nel titolo dell'evento, e una persona non è un luogo. Richiede Show Add to Calendar After Saving. | ||
Success Toast Message (optional)successToastMessage | ✓ | ✓ | ✓ | String | vuoto | Messaggio personalizzato facoltativo dopo un salvataggio riuscito. Se vuoto, si usa quello predefinito. |
| Regole di selezione | ||||||
Requiredrequired | ✓ | ✓ | ✓ | Boolean | false | Se attivo, l'utente deve selezionare almeno una data prima che il flusso possa passare alla schermata successiva. |
Max Dates AllowedAnche indicato come Max Dates Per BookingmaxSelections | ✓ | ✓ | ✓ | Integer | 0 | Numero massimo di date che un utente può selezionare. 0 = illimitato. |
Max Time SlotsmaxTimeSlotSelection | ✓ | ✓ | Integer | 0 | Numero massimo di fasce orarie che un utente può selezionare in totale (su tutte le date). 0 = illimitato. | |
Allow Past DatesallowPastDates | ✓ | ✓ | ✓ | Boolean | Date: true; Date Time: true; Booking: false | Se attivo, gli utenti possono selezionare qualsiasi data passata. Se disattivato, si possono selezionare solo oggi e le date future. |
Earliest Selectable DateAnche indicato come Earliest Bookable DateminDate | ✓ | ✓ | ✓ | Date | vuoto | La prima data che gli utenti possono selezionare. Le date precedenti sono disattivate. Per impedire le prenotazioni in giornata, usa invece Minimum Notice: avanza insieme all'orologio. |
Latest Selectable DateAnche indicato come Latest Bookable DatemaxDate | ✓ | ✓ | ✓ | Date | vuoto | L'ultima data che gli utenti possono selezionare. Le date successive sono disattivate. |
Book Up To (Days Ahead)maxDaysAhead | ✓ | ✓ | ✓ | Integer | 0 | Una finestra di prenotazione mobile: l'ultima data selezionabile è oggi più questo numero di giorni, e avanza ogni giorno. 0 significa nessun limite. Se è impostata anche Latest Selectable Date, vale la più vicina delle due. |
Minimum Notice (Hours)minNoticeHours | ✓ | ✓ | ✓ | Integer | 0 | Non si può scegliere né salvare nulla che inizi prima di adesso più questo numero di ore. I giorni precedenti sono disattivati e nel giorno limite le fasce orarie più vicine si chiudono. Il controllo viene ripetuto al salvataggio, quindi una pagina rimasta aperta tutta la notte non può prenotare dentro la finestra di preavviso. 0 significa nessun minimo. |
Pre-Selected DatesdefaultDates | ✓ | ✓ | ✓ | String[] | vuoto | Date già selezionate all'apertura del calendario. In formato ISO (YYYY-MM-DD). |
Blocked DatesdisabledDates | ✓ | ✓ | ✓ | String[] | vuoto | Date specifiche che non si possono selezionare (mostrate disattivate). Usale per festività o date di blocco. In formato ISO (YYYY-MM-DD). |
Only These Dates Are SelectableavailableDates | ✓ | ✓ | ✓ | String[] | vuoto | Se impostato, SOLO queste date sono selezionabili: tutte le altre sono disattivate. In formato ISO (YYYY-MM-DD). Utile quando le date valide arrivano da un'altra fonte nel tuo flusso. |
Auto-Jump to First Available DateautoJumpToFirstAvailable | ✓ | ✓ | ✓ | Boolean | false | Se attivo e 'Only These Dates Are Selectable' è impostato, il calendario si apre automaticamente sul mese della prima data disponibile. |
Allow Whole-Day (No Times)allowWholeDayNoTimes | ✓ | ✓ | Boolean | false | Se attivo, selezionare una data senza fasce orarie salva un record di giornata intera (blocca o prenota tutto il giorno). Le date con fasce orarie vengono salvate come record con orario. | |
| Record e salvataggio | ||||||
Parent Record IdrecordId | ✓ | ✓ | ✓ | String | vuoto | Se impostato, il componente funziona in modalità salvataggio con un clic e scrive record figli collegati a questo record padre. Passa un Id record da un Ottieni record o da un output recordCreate (ad es. {!recordVar.Id}). Lascialo vuoto per usare lo schema standard parser + ciclo + creazione. |
Static Parent Record IdstaticRecordId | ✓ | ✓ | ✓ | String | vuoto | Caso particolare: inserisci un Id record fisso per legare questo calendario a un unico record padre. Funziona su pagina record, pagina app (richiede l'Id statico), pagina iniziale (richiede l'Id statico) e sito Experience (richiede l'Id statico). Su una pagina record lascialo vuoto: il record della pagina viene inserito automaticamente. |
Parent Record Id FieldparentRecordIdField | ✓ | ✓ | ✓ | String | vuoto | Serve solo quando questo componente si trova sulla pagina record di un oggetto DIVERSO dal padre. Inserisci il nome API del campo di ricerca che punta al vero record padre. Lascialo vuoto quando il componente è sulla pagina dell'oggetto padre. |
Child Object API NameAnche indicato come Related Booking Object API Name; Child Object API Name (for preload)relatedObjectApiName | ✓ | ✓ | ✓ | String | vuoto | Nome API dell'oggetto in cui ogni data selezionata viene salvata come record. Esempio: Appointment__c, Schedule_Entry__c. Obbligatorio per il salvataggio con un clic. |
Date Field API NameAnche indicato come Date Field API Name (for preload)dateFieldApiName | ✓ | ✓ | ✓ | String | vuoto | Nome API del campo data sull'oggetto figlio che memorizza la data selezionata. Esempio: Event_Date__c, Start_Date__c |
End Date Field API NameAnche indicato come End Date FieldendDateField | ✓ | ✓ | ✓ | String | vuoto | Nome API di un campo data di fine sull'oggetto figlio. Se impostato, le date selezionate consecutive vengono consolidate in un unico record con data di inizio e di fine, invece di un record per data. Esempio: End_Date__c |
Relationship Field API NameAnche indicato come Parent Record Relationship FieldrelationshipFieldApiName | ✓ | ✓ | ✓ | String | vuoto | Nome API del campo di ricerca sull'oggetto figlio che rimanda al record padre. Esempio: Account__c, Contact__c, Order__c |
Load Existing DatesAnche indicato come Load Existing BookingspreloadExistingDates | ✓ | ✓ | ✓ | Boolean | true | Se attivo, all'apertura interroga i record figli esistenti e ne mostra le date nel calendario. Richiede oggetto figlio, campo data e campo di relazione. |
Existing Dates ModeAnche indicato come Existing Bookings ModepreloadMode | ✓ | ✓ | ✓ | String | editable | Stabilisce come appaiono le date caricate. Vale solo quando Load Existing Dates è attivo. Valori validi: editable, readonly. Predefinito: editable. editable = le date sono selezionate e si possono cambiare. readonly = le date appaiono disattivate e non si possono rimuovere. In un flusso appare come campo di testo libero, quindi digita esattamente uno di questi valori. |
Save Button LabelsaveButtonLabel | ✓ | ✓ | ✓ | String | Salva | Testo del pulsante di salvataggio in modalità salvataggio con un clic. Esempio: 'Salva date', 'Conferma selezione' |
Record Name FieldrecordNameField | ✓ | ✓ | ✓ | String | vuoto | Nome API di un campo di testo sull'oggetto figlio in cui viene salvata un'etichetta del record. Se impostato, compare un campo in cui gli utenti inseriscono l'etichetta. |
Default Record NamedefaultRecordName | ✓ | ✓ | ✓ | String | vuoto | Precompila il campo del nome del record. Gli utenti possono cambiarlo durante l'uso. Esempio: 'Giorno di ferie', 'Riunione di team'. |
Append Date/Time to Record NameAnche indicato come Append Date to Record NameappendDateTimeToName | ✓ | ✓ | ✓ | Boolean | true | Se attivo, aggiunge la data al nome del record. |
| Stato e modifica | ||||||
Status FieldstatusField | ✓ | ✓ | ✓ | String | vuoto | Nome API di un campo elenco di selezione/stato sull'oggetto figlio. Se configurato, accanto al campo del nome del record compare un menu a discesa degli stati, così gli utenti possono assegnare uno stato quando selezionano le date. Richiesto da Status Colors, Ignored Statuses, Status Field Label ed Enable Edit Mode. Esempio: Status__c |
Status ColorsstatusColors | ✓ | ✓ | ✓ | String | vuoto | Associazione, separata da virgole, tra valori di stato e colori esadecimali. Formato: Value:#hex. I colori di stato compaiono nelle celle delle date del calendario. Richiede Status Field. Esempio: Confirmed:#22C55E, Tentative:#fbbf24, Pending:#60a5fa, Cancelled:#a1a8b5 |
Status Color DisplaystatusColorDisplay | ✓ | ✓ | ✓ | String | Date: calendar; Date Time: both; Booking: both | Dove vengono mostrati i colori di stato. Per il componente Dates è disponibile solo 'calendar': le celle delle date del calendario sono colorate in base al loro stato. |
Ignored StatusesAnche indicato come Ignored StatuseshideBookingsWithStatus | ✓ | ✓ | ✓ | String | vuoto | Elenco separato da virgole dei valori di stato i cui record vengono nascosti dal calendario. I record nascosti non vengono visualizzati, ma restano in Salesforce. Richiede Status Field. Esempio: Cancelled, Rejected |
Selectable Statuses (Status Picker)selectableStatuses | ✓ | ✓ | ✓ | String | vuoto | Valori di stato, separati da virgole, che il selettore di stato della prenotazione può impostare. Lascialo vuoto per consentirli tutti (back office). Ad es. 'Scheduled' per un sito clienti. Quando un solo stato è selezionabile, viene scelto automaticamente e il selettore si nasconde. Richiede Status Field. |
Second Picklist FieldsecondStatusField | ✓ | ✓ | ✓ | String | vuoto | Nome API facoltativo di un secondo campo elenco di selezione che l'utente sceglie al salvataggio (ad es. Reason__c). Non ha colori: i colori del calendario dipendono da statusField. Aggiungilo a Hover Popover Fields per mostrarlo. Funziona in Flow, App Builder e Communities. |
Second Picklist LabelsecondStatusFieldLabel | ✓ | ✓ | ✓ | String | vuoto | Etichetta facoltativa per il menu a discesa del secondo elenco di selezione. Se vuota, il componente ricava un nome leggibile dal nome API del campo. |
Selectable Second-Picklist ValuesselectableSecondStatuses | ✓ | ✓ | ✓ | String | vuoto | Elenco facoltativo, separato da virgole, dei valori consentiti per il secondo elenco di selezione. Lascialo vuoto per consentirli tutti. Se ne indichi uno solo, viene scelto automaticamente e il selettore si nasconde. |
Status Field LabelstatusFieldLabel | ✓ | ✓ | ✓ | String | vuoto | Etichetta facoltativa per il menu a discesa degli stati mostrato agli utenti finali. NON inserire qui un nome API di campo: è solo un'etichetta. Se vuota, il componente ricava automaticamente un nome leggibile dal nome API di Status Field. |
Hover Popover FieldshoverFields | ✓ | ✓ | ✓ | String | vuoto | Elenco separato da virgole dei nomi API dei campi da mostrare al passaggio del mouse su una data del calendario che ha record esistenti. I campi vengono letti dall'oggetto figlio. Supporta i campi di relazione. Mostra dati solo quando i record esistenti vengono caricati (con Load Existing Dates). Esempio: Name, Status__c, Notes__c. Lascialo vuoto per disattivare i popup al passaggio del mouse. |
Enable Edit ModeenableEditMode | ✓ | ✓ | ✓ | Boolean | true | Se attivo, gli utenti possono fare clic sulle date esistenti per modificarne la data o lo stato, oppure eliminare il record. Richiede che siano configurati Status Field E Status Colors. |
Edit Button LabeleditButtonLabel | ✓ | ✓ | ✓ | String | vuoto | Etichetta personalizzata per il pulsante che attiva la modalità modifica. Se vuota, il pulsante si chiama 'Modifica date' (Edit Dates). |
Edit Record DisplayeditRecordDisplay | ✓ | ✓ | ✓ | String | vuoto | Parole chiave separate da virgole che stabiliscono quali campi compaiono nell'elenco dei record in modalità modifica, e in che ordine. Parole chiave: name, status, time, date, resource. Se vuoto: name, status, time. Esempio: name, date, status |
| Fasce orarie | ||||||
Time Display ModetimeDisplayMode | ✓ | String | grid | Come viene presentato l'orario. Valori validi: grid, dropdown. Predefinito: grid. grid = una griglia visiva di fasce in cui gli utenti fanno clic o trascinano per selezionare blocchi di tempo. dropdown = selettori orari lightning-input. In modalità dropdown, usa Allow Different Times Per Date per scegliere tra un selettore condiviso e uno per data. In un flusso appare come testo libero, quindi digita esattamente uno di questi valori. | ||
Time Interval (Minutes)Anche indicato come Time Slot Interval (Minutes)timeInterval | ✓ | ✓ | Integer | 30 | Minuti tra una fascia oraria e l'altra. Va bene qualsiasi numero intero; di solito 15, 30 o 60 minuti. Esempio: 30 mostra 9:00, 9:30, 10:00. | |
Earliest TimeminTime | ✓ | String | 09:00 | Prima ora mostrata nel selettore orario, in formato 24 ore (HH:mm). Esempi: 08:00, 13:00. Lascialo vuoto per partire da mezzanotte (00:00). | ||
Latest TimemaxTime | ✓ | String | 18:00 | Ultima ora mostrata nel selettore orario, in formato 24 ore (HH:mm). Esempi: 17:00, 20:00. Lascialo vuoto per terminare alle 23:30. | ||
Start Time FieldAnche indicato come Start Time Field API NamestartTimeField | ✓ | String | vuoto | Nome API di un campo Ora sull'oggetto figlio per l'ora di inizio della fascia. Esempio: Start_Time__c | ||
End Time FieldAnche indicato come End Time Field API NameendTimeField | ✓ | String | vuoto | Nome API di un campo Ora sull'oggetto figlio per l'ora di fine della fascia. Esempio: End_Time__c | ||
Allow Different Times Per DateallowDifferentTimes | ✓ | ✓ | Boolean | false | Se attivo e Time Display Mode è 'dropdown', ogni data ha il proprio selettore orario (raggruppato per settimana). Se disattivato, tutte le date condividono lo stesso orario. Non ha effetto quando Time Display Mode è 'grid'. | |
Enable End TimeenableEndTime | ✓ | Boolean | true | Se attivo, mostra un menu a discesa Ora di fine accanto a Ora di inizio, e l'output JSON contiene sia startTime sia endTime. Vale solo in modalità dropdown (Time Display Mode = 'dropdown'). Non ha effetto in modalità grid. | ||
Group Time Slots by PeriodgroupTimeSlotsByPeriod | ✓ | ✓ | Boolean | false | Se attivo, le fasce orarie sono raggruppate nelle sezioni Mattina, Pomeriggio e Sera. Se disattivato (predefinito), mostra una griglia unica. Vale solo quando Time Display Mode è 'grid'. | |
Time Grid OnlytimeGridOnly | ✓ | ✓ | Boolean | false | Se attivo, nasconde del tutto il calendario e mostra SOLO la griglia delle fasce orarie per una data implicita. L'utente sceglie le fasce; i record vengono salvati sul record ospitante con il salvataggio con un clic (senza scegliere la data). La data implicita arriva da Time Grid Date, altrimenti da Time Grid Date Field, altrimenti è oggi. | |
Time Grid DatetimeGridDate | ✓ | ✓ | String | vuoto | Data ISO esplicita facoltativa (YYYY-MM-DD) da usare come data implicita quando Time Grid Only è attivo. Ha la priorità più alta. Lasciala vuota per leggerla da Time Grid Date Field o, in mancanza, usare oggi. | |
Time Grid Date FieldtimeGridDateField | ✓ | ✓ | String | vuoto | Nome API facoltativo di un campo data sul record ospitante da cui leggere la data implicita quando Time Grid Only è attivo (su una pagina record). Usato solo se Time Grid Date è vuoto. Esempio: Appointment_Date__c | |
Disable Time Slot Grid (Full-Day Mode)disableTimeSlotGrid | ✓ | Boolean | false | Se attivo, nasconde la griglia delle fasce orarie per le prenotazioni di giornata intera, in cui conta solo la data. Se disattivato (predefinito), mostra la griglia per prenotazioni precise per orario. | ||
| Risorse e capacità | ||||||
Resource Object API NameresourceObjectApiName | ✓ | String | vuoto | Nome API dell'oggetto che contiene le risorse prenotabili. Ogni record = una risorsa prenotabile mostrata nel menu a discesa. Esempio: Room__c, Equipment__c, Vehicle__c, Staff__c | ||
Resource Name FieldresourceNameField | ✓ | String | Name | Nome API del campo che contiene il nome visualizzato della risorsa. Di solito 'Name'. | ||
Resource Filter Field (optional)resourceFilterField | ✓ | String | vuoto | Nome API di un campo sull'oggetto risorsa che limita le risorse mostrate nel selettore. Da usare con Resource Filter Value. Usa ';' per combinare più campi (AND). Esempi: 'Active__c' (un campo booleano), 'Type__c' (un elenco di selezione), 'Type__c;Building__c' (DUE campi combinati in AND). Lascialo vuoto per mostrare tutte le risorse. | ||
Resource Filter Value (optional)resourceFilterValue | ✓ | String | vuoto | Valore o valori a cui deve corrispondere il campo filtro. ',' tra valori dello STESSO campo = OR (clausola IN). ';' tra valori = AND su più campi (il numero deve corrispondere ai campi in Resource Filter Field). Esempi: 'true': Active=true. 'Conference Room': Type=Conference Room. 'North,South': Building IN North o South. 'Conference Room;North': Type=Conference Room AND Building=North. 'Conference Room;North,South': Type=Conference Room AND Building IN North o South. | ||
Business Hours Start FieldbusinessHoursStartField | ✓ | String | vuoto | Nome API del campo Ora sull'oggetto risorsa che indica quando la risorsa diventa disponibile ogni giorno. Esempio: Business_Hours_Start__c (impostato su 08:00:00.000Z per le 8:00). Lascialo vuoto per usare le fasce orarie su tutto l'intervallo configurato. | ||
Business Hours End FieldbusinessHoursEndField | ✓ | String | vuoto | Nome API del campo Ora sull'oggetto risorsa che indica l'ultimo orario disponibile ogni giorno. Esempio: Business_Hours_End__c (impostato su 18:00:00.000Z per le 18:00). | ||
Allow Multiple ResourcesAnche indicato come Allow Booking Multiple ResourcesallowMultipleResources | ✓ | Boolean | false | Se attivo, gli utenti possono selezionare più risorse con le caselle di controllo e prenotarle tutte insieme. La griglia oraria mostra solo le fasce disponibili per TUTTE le risorse selezionate. Esempio: prenotare una sala E un proiettore per lo stesso orario. | ||
Allow No ResourceAnche indicato come Allow Save Without Picking a ResourceallowNoResource | ✓ | Boolean | false | Se attivo, gli utenti possono salvare senza scegliere alcuna risorsa: il campo di ricerca della risorsa del record salvato resta vuoto. Pensato per chi registra chiusure o date di blocco, dove una risorsa vuota significa 'vale per tutti'. I calendari che leggono le chiusure con un filtro per risorsa (blockedDatesResourceField) trattano una risorsa vuota come valida per tutta la regione, quindi insieme ad allowNoResource si ottiene lo schema 'consulente facoltativo'. Lascialo disattivato (predefinito) per le normali prenotazioni in cui bisogna sempre scegliere una risorsa. | ||
Booking Object API NameresourceBookingObject | ✓ | String | vuoto | Nome API dell'oggetto in cui vengono creati i record di prenotazione. Un record per data per risorsa. Esempio: Room_Booking__c, Equipment_Reservation__c | ||
Booking Date FieldbookingDateField | ✓ | String | vuoto | Nome API del campo data sull'oggetto prenotazione. Deve essere di tipo Data (non Data/ora). Esempio: Booking_Date__c | ||
Booking Resource FieldbookingResourceField | ✓ | String | vuoto | Nome API del campo di ricerca sull'oggetto prenotazione che punta alla risorsa. Esempio: Room__c (ricerca da Room_Booking__c a Room__c) | ||
Booking Start Time FieldbookingStartTimeField | ✓ | String | vuoto | Nome API del campo Ora sull'oggetto prenotazione per l'ora di inizio. Esempio: Start_Time__c. Lascialo vuoto per prenotazioni a livello di data, senza fasce orarie. | ||
Booking End Time FieldbookingEndTimeField | ✓ | String | vuoto | Nome API del campo Ora sull'oggetto prenotazione per l'ora di fine. Esempio: End_Time__c. L'ora di fine viene calcolata in base alle fasce selezionate. | ||
Book Button LabelresourceBookButtonLabel | ✓ | String | Prenota | Testo del pulsante che conferma la prenotazione. Esempio: 'Prenota ora', 'Riserva', 'Conferma prenotazione' | ||
Capacity FieldcapacityField | ✓ | String | vuoto | Nome API di un campo numerico sull'oggetto risorsa che definisce il numero massimo di prenotazioni contemporanee per fascia oraria. Se impostato, le fasce mostrano un badge X/Y e restano disponibili finché non sono piene. Ideale per aule di formazione, postazioni condivise o iscrizioni ai corsi. Lascialo vuoto per una prenotazione per fascia. Esempio: Capacity__c | ||
Capacity Aggregation (multi-resource)capacityAggregation | ✓ | String | Combined | SOLO MODALITÀ PRENOTAZIONE CON CAPACITÀ (richiede Capacity Field). Stabilisce come si calcola la capacità X/Y quando sono selezionate più risorse. COMBINED (predefinito) somma prenotazioni E capacità: ideale quando ogni risorsa è un inventario indipendente (ad es. 4 record su 4 sale da 5 posti ciascuna = 4/20). DISTINCT conta gli eventi unici (i record con stessa data + ora di inizio + ora di fine su più risorse contano come UNO) e usa la capacità MASSIMA di una singola risorsa: ideale quando un evento occupa più risorse contemporaneamente (4 record su 4 sale = 1/5). | ||
Show Availability CountshowAvailabilityCount | ✓ | Boolean | true | Se attivo, mostra i dettagli di disponibilità nel pannello delle risorse (ad es. '3/5 giorni disponibili'). Aiuta gli utenti a scegliere la risorsa migliore prima di prenotare. Richiede che Resource Object API Name sia configurato. | ||
| Conflitti | ||||||
Conflict BehaviorconflictBehavior | ✓ | ✓ | String | block | Stabilisce cosa succede quando le date selezionate sono in conflitto di orario con record esistenti. 'block' (predefinito): il salvataggio viene bloccato e le date in conflitto sono evidenziate. 'skip': il salvataggio procede ma salta le date in conflitto. 'allow': nessun controllo dei conflitti. Vale solo in modalità griglia condivisa (Time Display Mode='grid' + Allow Different Times Per Date disattivato). | |
Buffer Between Bookings (Minutes)bufferMinutes | ✓ | ✓ | Integer | 0 | Minuti lasciati liberi dopo ogni prenotazione esistente per il riordino o la preparazione, per risorsa in Booking. Un orario che inizierebbe dentro il margine conta come occupato ovunque venga mostrata la disponibilità (griglia oraria, conteggi di capacità, trascinamento nella vista Settimana) e al salvataggio, e Conflict Behavior decide cosa succede. Esempio: 15 lascia un quarto d'ora tra due riunioni nella stessa sala. | |
Conflict Look-Ahead DaysconflictLookAheadDays | ✓ | ✓ | Integer | 360 | Numero di giorni in avanti in cui controllare i conflitti tra fasce orarie e caricare la disponibilità. Predefinito: 360. Riducilo per prestazioni migliori su oggetti con molti dati. | |
| Sub-block | ||||||
Consolidate Time SpanconsolidateTimeSpan | ✓ | ✓ | Boolean | false | Se attivo, le fasce orarie selezionate diventano un unico arco, dall'inizio della prima fascia alla fine dell'ultima. Le pause tra le fasce selezionate diventano automaticamente arancioni e vengono registrate come sub-block. Usalo quando ti serve l'arco completo di un turno (ad es. 9:00-17:00) e vuoi registrare separatamente le pause. Vale solo in modalità griglia. | |
Sub-Block Button LabelsubBlockModeButtonLabel | ✓ | ✓ | String | vuoto | Se impostato, aggiunge un pulsante che permette agli utenti di contrassegnare a mano delle fasce come sub-block (arancioni). Utile per i sub-block all'inizio o alla fine del turno. Lascialo vuoto per usare solo l'arancione automatico. Esempio: 'Contrassegna come pausa', 'Contrassegna come pranzo'. Richiede Consolidate Time Span attivo. | |
Show Sub-Block Toggle ButtonshowSubBlockButton | ✓ | ✓ | Boolean | false | Se attivo, mostra il pulsante dei sub-block nell'intestazione della griglia oraria. Richiede Consolidate Time Span attivo e Sub-Block Button Label impostato. | |
Sub-Block Object API NamesubBlockObjectApiName | ✓ | ✓ | String | vuoto | Nome API dell'oggetto figlio per i record sub-block. Esempio: Work_Break__c. Richiede Consolidate Time Span attivo e la modalità salvataggio con un clic (Parent Record Id impostato). | |
Sub-Block Parent Lookup FieldsubBlockParentLookupField | ✓ | ✓ | String | vuoto | Campo di ricerca sull'oggetto sub-block che collega al record padre. Esempio: Shift__c. Obbligatorio quando è impostato l'oggetto sub-block. | |
Sub-Block Date FieldsubBlockDateField | ✓ | ✓ | String | vuoto | Campo data sull'oggetto sub-block. Esempio: Break_Date__c. Obbligatorio quando è impostato l'oggetto sub-block. | |
Sub-Block Start Time FieldsubBlockStartTimeField | ✓ | ✓ | String | vuoto | Campo ora di inizio sull'oggetto sub-block. Esempio: Break_Start__c. Obbligatorio quando è impostato l'oggetto sub-block. | |
Sub-Block End Time FieldsubBlockEndTimeField | ✓ | ✓ | String | vuoto | Campo ora di fine sull'oggetto sub-block. Esempio: Break_End__c. Obbligatorio quando è impostato l'oggetto sub-block. | |
Sub-Block Name FieldsubBlockNameField | ✓ | ✓ | String | vuoto | Campo di testo sull'oggetto sub-block in cui salvare un'etichetta. Esempio: Break_Name__c. Obbligatorio quando è impostato l'oggetto sub-block. | |
| Date bloccate | ||||||
Blocked Dates ObjectblockedDatesSourceObject | ✓ | ✓ | ✓ | String | vuoto | Nome API di un oggetto da interrogare per le date da escludere dalla selezione. Esempio: Public_Holiday__c |
Blocked Dates Date FieldblockedDatesDateField | ✓ | ✓ | ✓ | String | vuoto | Nome API del campo data sull'oggetto delle date bloccate. Richiede che Blocked Dates Object sia impostato. |
Blocked Dates Start Time FieldblockedDatesStartTimeField | ✓ | ✓ | ✓ | String | vuoto | Facoltativo: campo Ora sull'oggetto delle date bloccate che indica l'INIZIO di una chiusura di parte della giornata. Quando sono impostati sia il campo di inizio sia quello di fine e un record bloccato li contiene entrambi, in quella data si chiude solo quell'intervallo (il resto resta prenotabile). Lascialo vuoto per bloccare la giornata intera. |
Blocked Dates End Time FieldblockedDatesEndTimeField | ✓ | ✓ | ✓ | String | vuoto | Facoltativo: campo Ora sull'oggetto delle date bloccate che indica la FINE di una chiusura di parte della giornata. Va in coppia con Blocked Dates Start Time Field. |
Blocked Dates Resource FieldblockedDatesResourceField | ✓ | ✓ | ✓ | String | vuoto | Facoltativo: limita una chiusura esistente a una sola risorsa. Indica il nome API di un campo di ricerca/risorsa sull'oggetto delle date bloccate; quando la risorsa di un record bloccato coincide con la risorsa selezionata nel calendario, solo quella risorsa viene chiusa per l'intervallo. Se lo lasci vuoto, ogni chiusura vale per TUTTE le risorse (tutta la regione). Il blocco si attiva con Blocked Dates Source Object, non con questo campo. Ha senso solo con la prenotazione risorse. |
Blocked Dates Filter FieldblockedDatesFilterField | ✓ | ✓ | ✓ | String | vuoto | Facoltativo: campo filtro sull'oggetto delle date bloccate. Due modalità: (a) per valore: quando Blocked Dates Filter Value è impostato, limita i record bloccati a <campo> = <valore> (ad es. Status__c = Cancelled). (b) per record padre: quando Filter Value è vuoto, tratta questo campo come una ricerca verso il record corrente e filtra per <campo> = recordId. Lascialo vuoto per un blocco globale. |
Blocked Dates Filter ValueblockedDatesFilterValue | ✓ | ✓ | ✓ | String | vuoto | Facoltativo: valore con cui filtrare Blocked Dates Filter Field. Se impostato, i record bloccati devono soddisfare <filterField> = <filterValue> (ad es. Status__c = Cancelled). Permette a più categorie di blocchi di convivere nella stessa tabella: ogni calendario sceglie la categoria che gli interessa. |
| Output del flusso | ||||||
Output Date Ranges as JSONoutputAsJson | ✓ | ✓ | Boolean | false | Se attivo, compila l'output Date Ranges JSON con le date consecutive raggruppate in intervalli. Necessario se vuoi usare l'azione MultiDatePickParser per eseguire un ciclo sugli intervalli. | |
Selected Dates (Output)selectedDates | ✓ | ✓ | String[] | vuoto | OUTPUT: array di tutte le date selezionate in formato ISO (YYYY-MM-DD). Usalo nel flusso per creare record o passarle alla schermata successiva. | |
Date Ranges JSON (Output)selectedDateRangesJson | ✓ | ✓ | String | vuoto | OUTPUT: JSON con le date consecutive raggruppate in intervalli. Compilato solo quando 'Output Date Ranges as JSON' è attivo. Passalo a MultiDatePickParser per eseguire il ciclo nel flusso. | |
Dates With Times JSON (Output)selectedDatesWithTimesJson | ✓ | String | vuoto | OUTPUT: stringa JSON con ogni data e il suo orario selezionato. Passala a MultiDatePickParser per eseguire il ciclo nel flusso. | ||
Sub-Blocks JSON (Output)subBlocksJson | ✓ | String | vuoto | OUTPUT: JSON delle finestre sub-block (pause) per data. Compilato solo quando Consolidate Time Span è attivo. Usalo in un ciclo del flusso per creare i record figli. | ||
Successful Bookings Count (Output)bookingSuccessCount | ✓ | Integer | vuoto | OUTPUT: numero di record di prenotazione creati correttamente. Usalo nel flusso per mostrare un messaggio di conferma. | ||
Conflict Dates (Output)bookingConflictDates | ✓ | String[] | vuoto | OUTPUT: elenco delle date in cui non è stato possibile creare prenotazioni per conflitti con prenotazioni esistenti. | ||
Nessuna proprietà corrisponde al filtro o alla ricerca.
16. Sicurezza e accessibilità
- Ha superato la Security Review di Salesforce AppExchange.
- 100% nativo. I tuoi dati restano nella tua organizzazione Salesforce. Nessun server esterno, nessun callout. Vedi Affidabilità e sicurezza.
- Sempre con le tue autorizzazioni. Ogni lettura e salvataggio avviene con l'accesso dell'utente, quindi autorizzazioni sugli oggetti, protezione a livello di campo e condivisione vengono applicate su ogni record.
- Accessibile. WCAG 2.1 AA, testato con axe-core. VPAT 2.5 completo.
- 9 lingue: inglese, spagnolo, francese, tedesco, giapponese, hindi, portoghese (Brasile), italiano, cinese (semplificato).
17. Domande o bug?
Hai trovato una lacuna in questa guida o qualcosa che non funziona? Scrivi a support@multidatepick.com.
Vuoi vederlo nella tua organizzazione?
$20 per utente al mese, tutte le funzionalità incluse, prova gratuita di 30 giorni. Presto disponibile su Salesforce AppExchange.