Nella mia applicazione ho un fornitore che ha un programma e clienti che prenotano un appuntamento dal programma. Ho bisogno delle seguenti funzionalità.Qual è lo schema di database migliore per un calendario disponibilità che consente di pianificare appuntamenti (ricorrenti e singoli))
Fornitore: - Essere in grado di specificare la disponibilità ricorrente. Ad esempio lunedì 9-5, martedì 10-3, ecc. - Essere in grado di oscurare i dati. Ad esempio, non disponibile su questo lunedì. - Essere in grado di aggiungere singole, non ricorrenti date/orari. Per esempio - Questo sabato 9-5.
Cliente: - Essere in grado di prenotare singoli appuntamenti. - Essere in grado di prenotare appuntamenti ricorrenti. (Ogni lunedì 9-4).
Finora mi si avvicinò con 3 opzioni:
- Divide la pianificazione in intervalli di 30 min e creare una voce di database per ogni coppia intervallo/fornitore. Ogni intervallo può essere libero o prenotato. Quando un cliente prenota un appuntamento, contrassegniamo gli intervalli come prenotati. Il problema con questo approccio è che spreca molto spazio e non sono sicuro di quanto sarebbe buono il rendimento della ricerca per una prenotazione ricorrente.
- Salvare ciascun periodo di disponibilità come "evento". Se si ripresenta, duplicare l'evento. Durante la ricerca di slot gratuiti, cerca nel tavolo delle prenotazioni per assicurarti che non ci sia una prenotazione eccessiva. In questo caso, la ricerca di slot ricorrenti sembra un po 'imbarazzante. Per trovare tutti i provider disponibili sul lunedì 9-5 per il prossimo anno dovremo cercare tutti gli "eventi" corrispondenti e trovare tutti i provider che hanno 52 eventi corrispondenti.
- Salvare ciascun periodo di disponibilità come "evento". Aggiungi una bandiera se si ripresenta. Quando cerchi le slot gratuite, cerca nel tavolo delle prenotazioni per assicurarti che non ci sia una prenotazione eccessiva. Rende più facile la ricerca di appuntamenti ricorrenti. Allo slot "black out" che supponiamo si ripresenti, possiamo semplicemente inserire una prenotazione falsa.
puoi aiutarci a capire come la struttura del Reccuring Even lo schema della tabella sarà. non ho capito in totale da quanto sopra –