Ce petit ensemble de code reprend une source déposée ici (
http://www.phpcs.com/codes/CALENDRIER-RESERVATION-PHP-MYSQL_40895.aspx ) mais assez profondément modifiée. Il permet de gérer les réservations de n chambres sur un calendrier perpétuel.
Il intègre une table pour les période de fermeture par chambres.
Il permet de paramétrer la synchronisation avec des calendriers google ( 1 par chambre ) à condition d'avoir le Zend Framework. Cette synchro est donc marquée optionnelle.
Il est possible de la voir en fonctionnement sur
http://www.jourdets.com/reservations/calendrier/calendrier.php ( intégrée dans la charte graphique du site ) :
Source / Exemple :
Calendrier de réservations de chambres d'hôtes en PHP/MySQL
A voir en fonctionnement sur mon site de chambres d'hôtes http://www.jourdets.com/reservations/calendrier/calendrier.php
A paramétrer :
- calendrier/rconfig.php -> nombre et noms des chambres + couleur
- calendrier/config.inc.php -> vos paramètres de base de données SQL ( voir sql.txt )
- calendrier/demande.php et envoyer.php -> pour gérer une demande d'un client ( mail ... )
Fonctionnement :
La page de lancement est calendrier.php
elle peut fonctionner en français,anglais et espagnol ( calendrier.php?lang=xx avec xx = fr,en ou es )
Au niveau utilisateur , on clique sur le 1er jour de la réservation sur la chambre demandée et on va vers demande.php avec arguments POST. demande.php envoie un mail au webmaster ( paramétrez votre mail ) avec les infos sur la demande de réservation.
Le calendrier est multilingue ( fr , en , es ) pour l'allemand on repassera ...
Au niveau administrateur ( après un clic sur le symbole d'édition / stylo ) on est dans protected/calendar_mod.php
On clique sur le 1er jour de la réservation sur la chambre voulue et on a accès à un formulaire pour renseigner les infos de réservations
Si le jour était réservé ( 1er jour d'une réservation ) on peut la modifier ou la détruire
Il est possible de lier chaque chambre à un calendrier google calendar et de refléter les réservations dans ces calendriers
Pour ceci mettre $synchro_gdata à true dans rconfig.php et paramétrer vore compte google et calendriers dans protected/gdata.php
Base de données
table calendrier
- jour : date : 1er jour de la réservation
- nch : int : un mask pour la ( les ) chambres concernées ( 0000001 : ch 1 ; 000002 : ch 2 ; 000004 ... etc )
- njours : int : nbre de jours réservés
- infos : text : infos sur la resa , nom ....
- gurl : text : url de modif de l'événement google calendar s'il existe
table fermetures
- nch : int : un mask pour la ( les ) chambres concernées ( 0000001 : ch 1 ; 000002 : ch 2 ; 000003 : 1+2 ; ... etc )
- from : date : fermé du ...
- to : date : au ..
Remarques annexes
La gestion des jours feriés est faites dans fonctions.php par une fonction trouvée sur phpcs
Le répertoire protected/ est à protéger avec un .htaccess/.htpasswd
Olivier ALLAIS
Conclusion :
La suite logique de la réservation ( demande.php ) consiste en deux choses :
- demande de réservation ( mail ) -> envoyer.php
- réservation avec paiement d'arrhes sur un compte PayPal ( non publié ici ... )
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.