Dans mon application, j'ai un fournisseur qui a un calendrier et des clients qui prennent un rendez-vous. J'ai besoin des fonctionnalités suivantes.Quel est le meilleur schéma de base de données pour un calendrier de disponibilité qui permet de planifier des rendez-vous (récurrents et uniques)?
Fournisseur: - Permet de spécifier la disponibilité récurrente. Par exemple Mon 9-5, mardi 10-3, etc. - Etre capable de masquer les données. Par exemple - pas disponible sur ce lundi. - Pouvoir ajouter des emplacements de dates/heures uniques et non récurrents. Par exemple - Ce samedi 9-5.
Client: - Être en mesure de réserver des rendez-vous uniques. - Être en mesure de réserver des rendez-vous récurrents. (Chaque lundi 9-4).
Jusqu'à présent, je suis venu avec 3 options:
- Diviser le calendrier en 30 minutes d'intervalle et créer une entrée de base de données pour chaque paire intervalle/fournisseur. Chaque intervalle peut être gratuit ou réservé. Lorsqu'un client réserve un rendez-vous, nous marquons les intervalles tels que réservés. Le problème avec cette approche est qu'elle gaspille beaucoup d'espace, et je ne suis pas sûr à quel point la performance de recherche serait pour une réservation récurrente.
- Enregistrez chaque période de disponibilité comme un "événement". S'il se reproduit, dupliquez l'événement. Lors de la recherche de machines à sous gratuites, effectuez une recherche dans la table de réservation afin de vous assurer qu'il n'y a pas de réservation de plus de chevauchement. Dans ce cas, la recherche de slots récurrents semble un peu gênante. Pour trouver tous les fournisseurs qui sont disponibles le lundi 9-5 pour la prochaine année, nous devrons rechercher tous les 'événements' correspondants et trouver tous les fournisseurs qui ont 52 événements correspondants.
- Enregistrez chaque période de disponibilité comme un "événement". Ajouter un drapeau si elle se reproduit.Lors de la recherche de machines à sous gratuites recherchez dans la table de réservation pour s'assurer qu'il n'y a pas de réservation de plus de chevauchement. Cela facilite la recherche de rendez-vous récurrents. Pour "black out" slot qui sont supposés se reproduire, nous pouvons simplement insérer une fausse réservation.
pouvez-vous s'il vous plaît aider sur la façon dont la structure de la Reccuring Even schéma de table ts sera. n'a pas compris au total de ce qui précède –