Location de Produits — Guide complet
Installer, configurer et exploiter la location de produits : calendrier de disponibilité, durée min/max, caution et tarif dégressif par paliers, avec suivi des réservations pour PrestaShop 8 et 9.
Présentation
Le module Location de Produits (dfproductrental) ajoute un mode location activable produit par produit sur votre boutique PrestaShop. Sur la fiche d’un produit louable, le client choisit une plage de dates dans un calendrier qui grise automatiquement les jours déjà réservés, et le prix se calcule au jour selon un tarif dégressif par paliers. Le module gère une caution par produit, encadre la durée avec un minimum et un maximum de jours, et suit chaque réservation depuis un back-office dédié, du panier jusqu’au retour de l’article.
Idéal pour le matériel, le mobilier, l’équipement événementiel, les instruments, les véhicules ou l’outillage : tout article qui se loue plutôt qu’il ne se vend une fois pour toutes. Le mode location s’active uniquement sur les produits que vous désignez, sans dénaturer le reste de votre catalogue.
Compatibilité
- PrestaShop 8.0 à 9.x
- PHP 7.4 à 8.3
- Mono-boutique et multi-boutique
- 5 langues : FR, EN, ES, DE, IT
- Thème Classic et thèmes personnalisés
- Aucune dépendance : pas de Composer, autoloader PSR-4 manuel, calendrier flatpickr embarqué localement (locale FR incluse)
Installation
- Dans le back-office, ouvrez Modules > Gestionnaire de modules.
- Cliquez sur Installer un module puis sélectionnez le fichier
dfproductrental.zip. - Une fois installé, cliquez sur Configurer.
À l’installation, le module crée ses trois tables (df_rental_product, df_rental_tier, df_rental_booking), enregistre ses hooks, initialise ses réglages par défaut et ajoute deux entrées sous le menu Catalogue : Location – Produits et Location – Réservations.
Réglages généraux
La page de configuration du module regroupe les options globales appliquées par défaut à tous les produits louables.
- Délai tampon (jours) : nombre de jours bloqués après chaque retour, pour préparer, nettoyer ou contrôler l’article avant la location suivante. Valeur globale, surchargée au niveau de chaque produit.
- Horizon de réservation (jours) : limite jusqu’à quelle date dans le futur un client peut réserver (365 jours par défaut).
- Expiration des paniers en attente (minutes) : durée au-delà de laquelle une réservation non confirmée libère ses dates (60 minutes par défaut).
- Intégrer la caution à la ligne de panier : lorsqu’elle est active, la caution est ajoutée au prix de la ligne et restituée par avoir au retour.
- Masquer le bouton « Ajouter au panier » natif : sur les produits en location, masque le bouton d’achat classique au profit du bouton de réservation.
- Caution par défaut : montant proposé par défaut à la création d’un nouveau produit louable.
Configurer un produit louable
Rendez-vous dans Catalogue > Location – Produits, puis Ajouter.
- Produit : sélectionnez le produit de votre catalogue à rendre louable.
- Actif : active ou suspend la location sur ce produit.
- Prix de base au jour : tarif journalier appliqué lorsqu’aucun palier ne correspond à la durée choisie.
- Caution : montant de la caution exigée pour ce produit.
- Durée minimum / maximum (jours) : encadre la plage de dates que le client peut sélectionner.
- Unités disponibles : nombre d’exemplaires que vous possédez. Une date n’est bloquée que lorsque toutes les unités sont louées simultanément.
- Délai tampon : laissez la valeur globale ou définissez un tampon spécifique à ce produit.
Paliers de tarif dégressif
Sous le formulaire, ajoutez autant de paliers que nécessaire. Chaque palier est défini par un jour minimum, un jour maximum et un prix au jour.
Le module applique le palier dont l’intervalle contient la durée choisie. Un palier dont le jour maximum vaut 0 est considéré comme illimité. Si aucun palier ne correspond, c’est le prix de base au jour qui s’applique.
Exemple : 39 €/jour de 1 à 3 jours, 32 €/jour de 4 à 7 jours, 26 €/jour à partir de 8 jours (jour maximum à 0).
Utilisation côté boutique
Le calendrier de disponibilité
Sur la fiche produit, un sélecteur de plage de dates s’affiche. Les jours déjà réservés sont automatiquement grisés et non sélectionnables, de même que les jours de tampon après chaque retour. Le client choisit une date de début et une date de fin dans les limites de durée que vous avez fixées.
Le calcul du prix
Dès qu’une plage valide est sélectionnée, un récapitulatif détaille le nombre de jours, le prix au jour appliqué (selon le palier), le total de la location, la caution et le total général. Le client sait exactement ce qu’il paie avant d’ajouter au panier.
La réservation
Le bouton Réserver ces dates ajoute la location au panier. Le prix de location est injecté via une remise spécifique liée au panier : le prix d’origine du produit reste intact dans le catalogue et pour toutes les autres ventes. Une réservation est créée à l’état en attente et bloque les dates choisies.
Si la commande n’est pas validée dans le délai d’expiration configuré, le panier expire et les dates sont automatiquement libérées pour les autres clients. À la validation de la commande, la réservation passe en confirmée et se rattache au client et à la commande.
Suivi des réservations
Dans Catalogue > Location – Réservations, vous retrouvez toutes les réservations avec leur produit, leur client, leur commande, leurs dates et leur statut, identifié par un badge de couleur.
- En attente : ajoutée au panier, en attente de validation de commande.
- Confirmée : commande validée, dates réservées.
- En cours : période de location en cours.
- Rendue : article retourné.
- Annulée : réservation annulée, dates libérées.
Le détail de chaque location apparaît également dans le panier, sur la page de confirmation de commande et dans la fiche commande du back-office.
Le remboursement de la caution se fait par avoir au retour de l’article, depuis la fiche commande de PrestaShop. C’est la méthode la plus simple et la plus transparente pour la comptabilité de la majorité des boutiques de location.
FAQ et dépannage
Le prix de location modifie-t-il le prix de mon produit ?
Non. Le prix est injecté via une remise spécifique liée uniquement au panier en cours. Le prix d’origine du produit reste inchangé dans le catalogue et pour les autres clients.
Comment fonctionne le tarif dégressif ?
Vous définissez des paliers (jour minimum, jour maximum, prix au jour). Le module choisit le palier dont l’intervalle contient la durée demandée. Un jour maximum à 0 signifie « illimité ». Sans palier correspondant, le prix de base au jour s’applique.
Peut-on louer plusieurs unités du même produit ?
Oui. Renseignez le nombre d’unités disponibles. Une date n’est grisée que lorsque toutes les unités sont déjà louées sur cette période.
La caution est-elle remboursée automatiquement ?
Non. Elle est ajoutée à la ligne de panier au moment de la location et remboursée par avoir au retour, depuis la fiche commande du back-office.
Le calendrier ne s’affiche pas sur la fiche produit
Vérifiez que le produit est bien configuré et actif dans Location – Produits. Videz ensuite le cache de PrestaShop (Paramètres avancés > Performances) et, pendant vos tests, désactivez la combinaison/compression des fichiers (CCC).
Le bouton « Ajouter au panier » natif reste visible
Le masquage s’appuie sur des sélecteurs de thème. Activez l’option Masquer le bouton « Ajouter au panier » natif dans les réglages ; selon votre thème, un léger ajustement des sélecteurs peut être nécessaire.
Est-ce compatible PrestaShop 9 ?
Oui. Le module est compatible PrestaShop 8 et 9, en multi-boutique et multilingue (FR, EN, ES, DE, IT). Le formatage des prix utilise le Locale courant, conforme aux pratiques PrestaShop 9.