# Créneaux de Livraison PrestaShop : installation et configuration

> Présentation Le module ajoute au checkout de PrestaShop 8 et 9 le choix d'un jour et d'une tranche horaire de livraison ou de retrait. Chaque créneau a une capacité en…

- Page: <https://www.datafirefly.com/documentation/dfdeliveryslots/>
- Langue: fr
- Mis à jour le: 2026-10-07
- Autres langues: [en](https://www.datafirefly.com/en/documentation/dfdeliveryslots/index.md), [es](https://www.datafirefly.com/es/documentation/dfdeliveryslots/index.md), [de](https://www.datafirefly.com/de/documentation/dfdeliveryslots/index.md), [it](https://www.datafirefly.com/it/documentation/dfdeliveryslots/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfdeliveryslots/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfdeliveryslots/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfdeliveryslots/index.md)
- Index: <https://www.datafirefly.com/documentation/llms.txt>

## Présentation

Le module ajoute au checkout de PrestaShop 8 et 9 le choix d'un jour et d'une tranche horaire de livraison ou de retrait. Chaque créneau a une capacité en nombre de commandes, chaque zone a ses codes postaux, ses transporteurs, son heure limite et ses jours de fermeture. Le créneau choisi suit la commande jusqu'au planning, aux emails, à la facture et au bon de livraison.

## Installation

1. Dans **Modules > Gestionnaire de modules**, cliquez sur **Installer un module** et envoyez le fichier `dfdeliveryslots-1.1.0.zip`.
2. Le module crée le menu **Commandes > Créneaux de livraison**. Le bouton Configurer du module y mène aussi.
3. Depuis la version 1.0.0, envoyez simplement le nouveau ZIP : le script de mise à jour ajoute les nouvelles colonnes, tables et hooks.

## Créer une zone

Ouvrez l'onglet **Zones et créneaux** puis **Ajouter une zone**. La première zone active de la liste qui correspond au transporteur, au pays et au code postal de l'adresse est utilisée.

### Type de zone

**Livraison à domicile** ou **Retrait en boutique**. Le type change les textes affichés au client (« Choisissez votre jour et votre heure de retrait »), dans les emails et sur la facture. Pour le retrait, rattachez votre transporteur « retrait en boutique » et laissez les codes postaux vides.

### Transporteurs

Cochez les transporteurs sous lesquels le sélecteur s'affiche. Seuls les transporteurs natifs sont listés : ceux fournis par un module (points relais, services colis) ne sont pas pris en charge.

### Pays et codes postaux

Laissez les pays vides pour tous les pays. Les codes postaux se séparent par des virgules ou des retours à la ligne :

- valeur exacte : `06000`
- plage : `06000-06300`
- préfixe : `06*`
- codes à tiret : `00-950`, plage `1000-001-1999-999`

Le champ **Tester un code postal** indique en direct si un code est couvert par la zone.

### Délai et heure limite

- **Délai minimum (jours)** : 0 autorise la livraison le jour même, 1 démarre le lendemain.
- **Heure limite de commande** : après cette heure, un jour est ajouté au délai.
- **Temps de préparation (minutes)** : un créneau qui commence dans moins de ce délai n'est plus proposé.
- **Fenêtre de réservation (jours)** : nombre de jours proposés à partir du premier jour possible.
- **Livraisons maximum par jour** : plafond pour tous les créneaux de la journée, 0 pour aucun plafond.

## Créneaux hebdomadaires

Le **générateur rapide** crée les créneaux en une fois : jours cochés, heure de début et de fin, durée, capacité et supplément. Chaque créneau reste ensuite modifiable :

- **Capacité** : nombre maximum de commandes par créneau et par date, 0 pour illimité.
- **Supplément** : montant TTC ajouté à la commande pour ce créneau (express, soirée, dimanche), 0 pour aucun.
- **Proposé** : décoché, le créneau reste enregistré mais n'est plus proposé.

Supprimer un créneau ne casse pas les commandes déjà passées dessus.

## Jours de fermeture

L'onglet **Jours de fermeture** ferme une date ou une période (jusqu'à 366 jours), pour une zone ou pour toutes. Cochez **Répéter chaque année** pour les jours fériés fixes comme le 25 décembre.

## Délais produits

L'onglet **Délais produits** ajoute des jours de délai aux produits préparés sur commande. La règle s'applique à un produit (ID ou référence) ou à une catégorie. Le délai le plus long du panier s'ajoute à celui de la zone, et le client voit un message indiquant le premier jour disponible.

## Planning

L'onglet **Planning des livraisons** affiche les 14 prochains jours avec le nombre de commandes, puis pour le jour choisi le remplissage de chaque créneau et les commandes regroupées par tranche horaire.

- **Ajuster ce jour** : modifie la capacité d'un créneau pour cette date seulement. Vide = capacité habituelle, 0 = créneau fermé ce jour-là.
- **Imprimer la feuille de livraison** : adresses, téléphones et instructions par créneau.
- **Exporter CSV** : fichier séparé par des points-virgules, lisible dans Excel.

## Réglages

- **Créneau obligatoire** pour les transporteurs rattachés à une zone.
- **Masquer ces transporteurs** quand l'adresse est hors de toutes les zones.
- **Créneau dans les emails de confirmation**, ajouté à côté du nom du transporteur.
- **Réservation du créneau pendant le checkout** : 30 minutes par défaut, 0 pour ne compter que les commandes passées.
- **Seuil d'affichage des places restantes** : affiche « Plus que 2 » sous ce nombre de places.
- **Couleur d'accent** du jour et du créneau sélectionnés.
- **Taxe appliquée aux suppléments**.

### Ligne de supplément

PrestaShop ne permet pas d'ajouter un montant aux frais d'un transporteur natif sans override. Le supplément est donc porté par un produit caché créé par le module, ajouté au panier sur sa propre ligne avec un prix propre au panier. Laissez ce produit actif et excluez-le de vos flux produits si besoin. Son ID est affiché dans les réglages.

## Email de rappel

Activez **Envoyer un rappel au client**, choisissez le nombre de jours avant (1 = la veille, 0 = le matin même) et l'heure à partir de laquelle l'envoi est autorisé. Appelez l'URL cron affichée dans les réglages une fois par heure, par exemple :

```
0 * * * * curl -s "https://votre-boutique.fr/module/dfdeliveryslots/cron?token=..."
```

Le bouton **Envoyer maintenant les rappels dus** lance l'envoi à la main. Chaque commande reçoit un seul rappel, renvoyé si vous changez sa date depuis le back-office. Les modèles `dfds_reminder` et `dfds_reminder_pickup` se trouvent dans le dossier `mails/` du module, en 8 langues.

## Côté commandes

- **Fiche commande** : créneau, zone, supplément et formulaire pour changer de date ou de créneau. La capacité n'est pas vérifiée pour un changement fait depuis le back-office.
- **Liste des commandes** : colonne Créneau de livraison, triable et filtrable par plage de dates.
- **Facture et bon de livraison PDF** : créneau imprimé dans la langue de la commande.
- **Commande annulée** : le créneau est libéré automatiquement.

## Limites connues

- Les transporteurs fournis par un module (points relais) ne sont pas pris en charge.
- Le module est conçu pour le tunnel de commande natif. Les modules de checkout en une page n'ont pas été testés.
- Un bon de réduction en pourcentage s'applique aussi à la ligne de supplément, et le supplément compte dans le seuil de livraison gratuite.
- Si la boutique est en maintenance, le cron doit être appelé depuis une IP autorisée.
