Bonjour à tous,
je suis actuellement en stage et on m'a demandé de modéliser un moteur de réservation qui serait tel que booking.com par exemple.
Donc une gestion des hôtels, des chambres par catégories(simple, double, famille), des réservations. Mon modèle doit aussi gérer l'i18n.
Problématique n°1 : Modélisation de la tarification
Je n'arrive pas à trouver comment modéliser la tarification des chambres qui doit répondre au critère suivant:
Les catégories de chambres d'un hôtel ont un prix qui varie en fonction d'une période définie par une date de début et une date de fin.
On doit aussi pouvoir définir un prix différent pour par exemple le samedi et le dimanche de chaque semaine d'une période donnée pour une catégorie donnée pour un hotel.
On peut aussi vouloir changer le prix d'une catégorie de chambres pour un évènement par exemple.
Exemple: je veux fixer un prix de 120 € pour la période du 12/01/09 au 15/04/09.
Je veux différencier les lundi et mercredi de cette période des autres jour et leur fixer un prix de 140 €
Ensuite imaginons qu'il y ait un évènement de 3 jours à partir du 14/02/09 au 17/02/09 je veux pouvoir fixer un prix de 200 €.
Voila je ne vois pas comment appliquer ces règles à mon modèle.
[EDIT: Dans mon schéma la table calendar_price et ma façon actuelle de modéliser cela avec que la notion de périodes évoquée en premier mais j'ai aussi pensé à créer une table contenant toutes les dates existantes, exemple chaque année on insert les 365 jours de l'année en cours pour chaque catégorie de chambre de chaque hotel et on a donc une personnalisation possible par jour ce qui règle donc quelques problèmes mais est très lourd. ]
Problématique n°2 : Gestion des réservation/Affichage du calendrier de réservations
Mon autre problème est donc que lorsqu'un client va sur le site d'un hôtel et choisis une date de début et une date de fin pour sa réservation il me faut récupérer toutes les catégories de l'hôtel disposant d'au moins une chambre libre pour cette période donnée.
Pour l'instant je compte donc me servir de ma table booking pour savoir cela mais cela semble assez compliqué de faire cela et assez couteux surtout pour générer le calendrier de disponibilité.
Merci d'avance de votre aide et si vous avez des conseils par rapport à d'autres éléments de mon schéma je suis preneur .
Partager