1

Introduction

WooChrono Click & Collect transforme vos points de vente physiques en lieux de retrait pour votre boutique WooCommerce. Vos clients réservent un créneau et viennent récupérer leur commande ; vos équipes préparent et remettent les commandes depuis un tableau de bord dédié — sur ordinateur ou sur tablette.

Côté client

Choix du retrait au checkout, boutique la plus proche par code postal, réservation d'un créneau horaire, paiement en boutique, fiches boutique et store locator.

Côté commerçant v1.11

Tableau de bord Préparations, statuts de commande, scan QR, mode tablette, alertes retard, disponibilité et stock par boutique.

Côté technique

Multi-boutiques illimité, géoloc française gratuite, jours fériés auto, compatible HPOS.

Le plugin fonctionne en autonomie totale avec WooCommerce seul. Aucun autre plugin n'est requis. S'il est présent, il cohabite avec WooChrono Fresh/Chronopost (toggle Livraison / Retrait au panier).
2

Prérequis

ComposantMinimumRecommandé
WordPress6.06.5+
WooCommerce8.010.0+
PHP8.18.2+
HTTPSRequis pour le scan QR (accès caméra) et la géolocalisation HTML5
Contrat transporteurAucun — le retrait en boutique ne nécessite aucun compte transporteur
Aucune API tierce payante. La géolocalisation utilise l'API Adresse gouvernementale française (gratuite), et la carte s'appuie sur OpenStreetMap.
3

Installation

1
Télécharger le ZIP
Récupérez woochrono-local-pickup.zip depuis votre espace client sur woochrono.com.
2
Installer via WordPress
Extensions → Ajouter → Téléverser une extension, sélectionnez le ZIP, cliquez Installer.
3
Activer le plugin
Cliquez sur Activer l'extension. Un menu « Local Pickup » apparaît dans l'admin.
4
Saisir la licence
Local Pickup → Licence — collez votre clé d'activation.
5
Créer votre première boutique
Le retrait devient actif au checkout dès la première boutique créée.
4

Licence

La licence active les mises à jour automatiques et le support. Selon la formule, elle couvre 1, 3 ou 5 installations WordPress.

Activer

Chemin : Local Pickup → Licence

1
Coller la clé de licence
Clé reçue par email après achat (également disponible dans votre espace client sur woochrono.com).
2
Valider
Cliquez sur Valider. Un message de confirmation apparaît en vert.
FormuleInstallationsDurée
Solo1 site1 an
Confort1 site2 ans
Multi3 sites1 an
Agence5 sites1 an
Sans renouvellement, le plugin continue de fonctionner — seules les mises à jour automatiques sont suspendues. Renouvellement à -50 %.
5

Points de retrait

Chaque point de retrait est une « boutique » avec sa propre adresse, ses horaires et sa capacité. Le nombre de points de retrait est illimité quelle que soit la formule.

Créer une boutique

Chemin : Local Pickup → Points de retrait → Ajouter. Les boutiques sont enregistrées comme un type de contenu dédié (wclp_location).

ChampDescription
NomNom affiché au client (ex : « Boutique Centre-Ville »)
AdresseRue, code postal, ville. Géocodée automatiquement pour le calcul de distance.
Horaires d'ouverturePlages matin / après-midi par jour (voir §Horaires)
Durée de créneauGranularité des créneaux proposés (ex : 30 min)
Capacité par créneauNombre de retraits simultanés possibles sur un même créneau
Délai minimumTemps minimum entre la commande et le 1ᵉʳ créneau proposé
Fiche vitrinePhoto (image mise en avant), présentation, services proposés, avis : alimente la fiche boutique publique et le store locator (voir §Vitrine)
Une adresse incomplète ou non géocodable empêche le calcul de distance par code postal pour cette boutique.
6

Horaires & créneaux

Les horaires définissent quand les créneaux de retrait sont proposés au client. Un éditeur visuel par jour permet de configurer matin et après-midi indépendamment.

1
Choisir un preset (optionnel)
Des presets sectoriels (ex : « Commerce — Lun-Sam 9h30-19h ») pré-remplissent toute la semaine en un clic.
2
Ajuster par jour
Activez/désactivez chaque jour, définissez les plages matin et après-midi (pause déjeuner gérée nativement).
3
Enregistrer
Les créneaux sont générés automatiquement selon la durée et la capacité définies pour la boutique.
Les créneaux déjà réservés au maximum de leur capacité apparaissent grisés et non sélectionnables côté client. Une commande annulée, échouée ou remboursée libère aussitôt son créneau.
7

Jours fériés & fermetures

Déclarez les jours où la boutique est fermée. Les créneaux ne seront pas proposés ces jours-là.

Jours fériés France Auto

Un clic pré-remplit tous les jours fériés français, avec calcul automatique des dates mobiles (Pâques, Ascension, Pentecôte).

Fermetures personnalisées

Ajoutez vos propres dates de fermeture exceptionnelle (congés, inventaire, etc.) via le calendrier.

8

Géolocalisation

Le client trouve la boutique la plus proche par code postal ou par géolocalisation du navigateur. Les boutiques sont triées par distance croissante.

MéthodeDescription
Par code postalLe client saisit son CP, l'API Adresse (api-adresse.data.gouv.fr) renvoie les coordonnées, les boutiques sont triées par distance.
Géolocalisation HTML5Avec accord du client, le navigateur fournit sa position GPS (nécessite HTTPS).
CarteAffichage des points de retrait sur une carte Leaflet / OpenStreetMap (chargée à la demande).
Aucune clé API ni service payant. Pas de Google Maps, pas de Mapbox.
9

Réglages avancés

RéglageDescription
Rayon de rechercheDistance maximale (km) pour proposer une boutique au client
Premier créneau disponibleMet en avant le créneau le plus proche dans le temps pour la boutique sélectionnée
Transition automatiqueBascule une commande payée directement en « À préparer » (voir §Statuts)
Marge de retardDélai après le créneau au-delà duquel une commande est marquée « En retard » (30 min par défaut)
Disponibilité produit par boutiqueActive l'onglet « Disponibilité retrait » sur les produits (voir §Disponibilité)
Stock par boutique et Mode de stockActive les quantités par boutique et leur lien avec le stock WooCommerce (voir §Stock)
Paiement en boutiquePropose le règlement sur place lors du retrait (voir §Paiement)
Fiches boutique publiquesActive les pages vitrine par boutique et leur mode de rendu (voir §Vitrine)
10

Parcours au checkout

1
Choix du mode de réception
Le client choisit « Retrait en boutique » (ou « Livraison » si une autre méthode est active).
2
Recherche de boutique
Saisie du code postal ou géolocalisation. Les boutiques proches s'affichent triées par distance. Seules celles qui peuvent servir tout le panier sont sélectionnables (voir §Disponibilité et §Stock).
3
Sélection du créneau
Le client choisit un jour et un créneau horaire parmi ceux disponibles.
4
Validation
La boutique et le créneau sont enregistrés sur la commande, visibles côté admin.
Compatible checkout classique, checkout en blocs Gutenberg (WooCommerce 8+) et FunnelKit Aero Checkout.
11

Cohabitation WooChrono

Si le plugin principal WooChrono (Chronopost / Fresh) est installé, les deux modules cohabitent automatiquement.

Toggle Livraison / Retrait

Au panier, le client bascule entre la livraison transporteur et le retrait en boutique en un clic.

Autonomie

Sans WooChrono principal, Click & Collect fonctionne seul avec WooCommerce.

12

Notifications

Chemin : Local Pickup → Notifications. Informez automatiquement vos clients aux étapes clés du retrait.

ÉvénementNotification
Commande confirméeRécapitulatif du retrait : boutique, adresse, créneau réservé
Commande prêteMessage « votre commande est prête à être retirée » + QR code de retrait
Rappel (optionnel)Rappel avant le créneau de retrait
Le QR code transmis au client est signé : il est vérifié lors du scan en boutique pour éviter toute falsification.
13

Disponibilité par boutique

Tous vos produits ne sont pas forcément proposés dans toutes vos boutiques. La disponibilité par boutique permet d'indiquer, produit par produit, les boutiques où il n'est pas disponible au retrait. Par défaut, un produit est disponible partout : rien à configurer tant que vous n'avez pas d'exception.

Activer

Chemin : Local Pickup → Réglages → Comportement → Disponibilité produit par boutique. Un onglet « Disponibilité retrait » apparaît alors dans chaque fiche produit.

Où saisirUsage
Fiche produitOnglet « Disponibilité retrait » : une case par boutique, décochée = non proposé dans cette boutique
Liste des produitsColonne « Retrait » (Toutes / Aucune / X sur N), modification rapide et actions groupées « activer / désactiver dans une boutique »
Écran Disponibilité & stocksLocal Pickup → Disponibilité & stocks : matrice produits × boutiques pour une saisie en masse, avec recherche, filtre par catégorie et boutons « tout » par ligne ou colonne
Au checkout

Seules les boutiques capables de servir tous les produits du panier sont proposées. Si aucune ne convient, un message liste les produits en cause et oriente vers la livraison. Le contrôle est répété côté serveur à la validation.

Sur la fiche produit

Badge « Disponible en retrait dans N boutiques » sous le prix (insertion automatique ou shortcode [woochrono_pickup_availability]). Message configurable quand aucune boutique ne propose le produit.

14

Stock par boutique v1.11

Au-delà du oui / non de la disponibilité, indiquez combien de pièces chaque boutique possède réellement. Le plugin affiche ces quantités au client, n'autorise au checkout que les boutiques qui ont assez de pièces pour le panier, décrémente automatiquement le stock de la boutique choisie à la commande et le rétablit à l'annulation. Tout est désactivé par défaut.

Activer et saisir

1
Activer la fonction
Local Pickup → Réglages → Comportement → Stock par boutique. Choisissez aussi le Mode de stock (voir plus bas), « Indépendant » si vous hésitez.
2
Renseigner les quantités
Dans la fiche produit (onglet « Disponibilité retrait », champ Stock par boutique), sur chaque variation pour un produit variable, ou en masse dans Local Pickup → Disponibilité & stocks.
3
Laisser faire
Chaque commande retrait validée décrémente la boutique choisie ; chaque annulation ou remboursement la restaure. Une note détaillée est ajoutée à la commande à chaque mouvement.
Case « Stock »Signification
VideQuantité non gérée dans cette boutique : le produit y est toujours disponible au retrait (comportement historique)
Un nombrePièces disponibles au retrait dans cette boutique
0Épuisé dans cette boutique : plus aucun retrait possible tant que vous ne remettez pas du stock

Ce que voit le client

Fiche produit

Sous le badge de retrait, une ligne par boutique : « Disponible », « 3 en stock » ou « Épuisé » en grisé. Produits simples ; les produits variables gardent le badge global.

Checkout

Une boutique sans stock suffisant reste visible mais grisée, avec un repère « Stock insuffisant » et le détail : « Bougie (2 demandés, 1 en stock) ». Refus côté serveur si contournement.

Fiche boutique

La sélection de produits n'affiche plus les produits épuisés dans cette boutique et indique « En stock · N » sur ceux dont la quantité est gérée.

Les trois modes de stock

Exemple pour tout le tableau : vous avez 10 bougies, 6 dans l'entrepôt pour les commandes livrées et 4 dans votre boutique de Toulon.

IndépendantWooCommerce = stock totalWooCommerce = réserve en ligne
Stock WooCommerceCe que vous voulez, sans lien avec les boutiquesToutes vos pièces : 10 (Toulon 4 à côté, livrable = 6)Les pièces livrables seulement : 6 (Toulon 4 à côté)
Commande retraitBaisse la boutiqueBaisse la boutique et WooCommerceBaisse la boutique seulement, WooCommerce ne bouge pas
Commande livraisonComportement WooCommerceBaisse WooCommerce ; refusée si la réserve (Woo − boutiques) ne suffit pasBaisse WooCommerce ; refusée si le stock Woo ne suffit pas
Produit à 0 dans WooCommerceComportement WooCommerceRuptureAchetable au retrait si une boutique en a (« Disponible en retrait boutique »)
Contrainte de saisieAucuneSomme des boutiques ≤ stock WooCommerce, sinon refus avec noticeAucune
Les deux modes liés ne s'appliquent qu'aux produits dont la case « Gérer le stock » de WooCommerce est cochée. Le panneau « Disponibilité retrait » de chaque produit résume la situation en une phrase, par exemple « Mode total : stock WooCommerce 10, dont 4 en boutiques, soit 6 livrables ».
Le stock boutique n'est pas relié à votre caisse : il reflète vos saisies corrigées des commandes retrait du site. Mettez-le à jour à chaque inventaire depuis l'écran « Disponibilité & stocks ». En mode « réserve en ligne », décochez l'option WooCommerce « Masquer les produits en rupture de stock dans le catalogue », sinon un produit à 0 en ligne disparaît du catalogue même s'il est en boutique.
15

Paiement en boutique

Proposez à vos clients de régler sur place au moment du retrait, sans passerelle supplémentaire : le plugin s'appuie sur le « Paiement à la livraison » natif de WooCommerce, l'active à la volée pour les commandes retrait uniquement et le renomme « Paiement à la boutique ».

Activer

Chemin : Local Pickup → Réglages → Paiement en boutique. Aucune configuration dans WooCommerce → Paiements n'est nécessaire, même si le paiement à la livraison n'y est pas activé.

RéglageDescription
Modes proposés au retraitEn ligne et en boutique au choix du client · En boutique uniquement · En ligne uniquement
Libellé et descriptionTexte affiché au checkout à la place de « Paiement à la livraison »
Les commandes en livraison ne sont pas affectées : elles gardent vos moyens de paiement habituels. Une commande retrait payée en boutique passe directement en « À préparer ».
16

Vitrine & store locator

Donnez une existence publique à vos boutiques : une page « Nos boutiques » avec carte et recherche, et une fiche par boutique optimisée pour le référencement local.

Store locator

Shortcode [woochrono_locator] : carte plein écran, panneau des boutiques triées par distance, recherche par adresse ou géolocalisation, filtres « Ouvert maintenant » et par service, popup avec photo, horaires, itinéraire et appel. Barre de recherche autonome [woochrono_locator_search] pour la page d'accueil.

Fiches boutique

Une page par boutique (adresse, horaires, prochain retrait disponible, services, avis, sélection de produits disponibles au retrait, FAQ) avec données structurées LocalBusiness. Rendu au choix : page autonome du plugin ou page WordPress native via votre thème.

IntégrationDescription
Shortcodes[wclp_store_hero], [wclp_store_infos], [wclp_store_produits], [wclp_store_horaires], [wclp_store_avis], [wclp_store_faq], [wclp_store_cta]… pour composer une fiche section par section
Blocs GutenbergUne collection « WooChrono Boutique » avec un bloc par section, choix de la boutique dans le bloc
Widgets ElementorCatégorie « WooChrono Boutique », mêmes sections, avec contrôles de couleurs, typographies et espacements
AvisSaisis manuellement sur la boutique (auteur, note, texte, rôle) ou importés depuis Google avec une clé API Places et un Place ID
Un produit peut être ajouté depuis la fiche boutique avec la boutique déjà présélectionnée pour le retrait (catalogue filtré ?wclp_shop=ID).

Dashboard Préparations

Chemin : Local Pickup → Préparations. Le poste de pilotage de vos retraits, introduit en v1.10. Il regroupe toutes les commandes de retrait, classées par créneau, avec un suivi en temps réel.

3
À préparer
1
En préparation
2
Prêtes
1
En retard
5
Remises
ÉlémentDescription
Compteurs (KPI)Nombre de commandes par état : à préparer, en préparation, prêtes, en retard, remises
Filtres temporelsAujourd'hui · Demain · Cette semaine
Liste de commandesClassées par créneau, avec client, numéro, nombre d'articles et statut
Actualisation autoLa liste se rafraîchit automatiquement (en pause quand l'onglet est en arrière-plan)
L'accès au dashboard requiert la capacité wclp_manage_pickups (accordée aux administrateurs et gestionnaires de boutique) ou manage_woocommerce.

Statuts de commande

Chaque commande de retrait suit un cycle de vie clair. Les statuts sont des statuts de commande WooCommerce dédiés.

À préparer
En préparation
Prête
Remise
StatutSlugSignification
À préparerwclp-to-prepareCommande payée, en attente de préparation
En préparationwclp-preparingUn employé a commencé à rassembler les articles
Prêtewclp-readyCommande prête, client notifié qu'il peut venir la chercher
RemiseCommande retirée par le client (équivaut à terminée)
Transition automatique : toute commande de retrait payée passe directement en « À préparer », sans action manuelle.

Scan QR à la remise

Au comptoir, retrouvez et validez une commande en scannant le QR code du client — ou en saisissant simplement son numéro de commande.

1
Ouvrir le scan
Depuis le dashboard Préparations ou la page tablette, cliquez sur « Scanner un QR ».
2
Scanner ou saisir
Présentez le QR du client à la caméra, ou saisissez le numéro de commande.
3
Vérification
Le QR signé est vérifié. La commande correspondante s'affiche avec son contenu.
4
Remise
Validez la remise : la commande passe au statut « Remise ».
Aucun matériel dédié : la caméra d'une tablette, d'un smartphone ou d'un ordinateur suffit. HTTPS requis pour l'accès caméra.

Mode tablette (page comptoir)

Une page plein écran dédiée à la tablette de la boutique, sans l'interface d'administration WordPress autour. Idéale en favori sur l'écran du comptoir.

Accès par URL secrète

La page est accessible via une URL contenant un secret. Selon la configuration des permaliens, l'URL prend la forme /pickup-{secret}/ ou un format avec paramètres.

Vue simplifiée

Commandes du jour, filtres aujourd'hui / demain / semaine, checklist des articles à préparer, bouton de scan intégré.

L'URL secrète donne accès à la gestion des retraits. Ne la partagez qu'avec votre personnel. Elle peut être régénérée si elle a fuité.

Alertes retard

Une commande qui dépasse son créneau de retrait est automatiquement signalée pour que vos équipes réagissent vite.

Remontée en tête de liste

Les commandes en retard apparaissent en haut du dashboard, avec un badge « En retard » et la durée du retard (ex : « +2j 15h »).

Compteur dans le menu

Un compteur rouge s'affiche directement sur le menu « Local Pickup » de WordPress — visible sans même ouvrir le dashboard.

Le seuil de retard (marge après le créneau) est configurable dans les réglages avancés. Le compteur est mis en cache 60 s pour ne pas alourdir l'admin.
17

Sécurité

Le plugin a passé un audit de sécurité pré-production (v1.10.0). Protections en place :

VecteurProtection appliquée
Injection SQLRequêtes préparées et bornées (limites sur les lectures de commandes)
XSSesc_html(), esc_attr() sur tous les outputs
CSRFNonce WP sur tous les formulaires et handlers AJAX
Accès non autoriséCapacité wclp_manage_pickups / manage_woocommerce vérifiée avant chaque action
QR codesJetons signés (HMAC) vérifiés au scan
Page tabletteSecret généré via générateur cryptographique, comparaison à temps constant
TransitionsAppliquées uniquement sur de vraies commandes de retrait, vers des statuts autorisés
Accès direct PHPdefined('ABSPATH') dans tous les fichiers
18

RGPD & données personnelles

  • Aucune donnée cliente transmise à des services tiers.
  • Stockage 100 % sur votre serveur WordPress (base de données locale).
  • Géolocalisation via api-adresse.data.gouv.fr (service public français, gratuit).
  • Carte via OpenStreetMap (tuiles serveur EU), chargée à la demande.
  • Pas de Google Maps, pas de Mapbox, pas de CDN exposant les données.
  • Export & effacement des données client via les outils WordPress natifs.
Conçu pour être conforme à votre DPO et à la CNIL par défaut.
19

Compatibilité HPOS

WooChrono Click & Collect est entièrement compatible avec le High Performance Order Storage de WooCommerce 8+.

La compatibilité est déclarée explicitement (FeaturesUtil::declare_compatibility). Toutes les lectures/écritures de commande passent par l'API WooCommerce (wc_get_order()), compatible wc_orders.
20

Désinstallation

Le plugin se désinstalle proprement, sans laisser de résidus techniques, et sans détruire vos données métier par défaut.

À la suppressionComportement
Éléments techniquesTransients, données de session, secret tablette, tâches planifiées, capacités de rôle : toujours nettoyés
Données métierRéglages, points de retrait, métadonnées de commande : conservés par défaut
Suppression totaleUniquement si l'option wclp_uninstall_delete_all est activée au préalable
Un client qui supprime puis réinstalle le plugin ne perd ni son historique ni sa configuration, sauf s'il a explicitement demandé la suppression complète.
?

FAQ

Le retrait ne s'affiche pas au checkout

Vérifiez qu'au moins une boutique est créée, que ses horaires génèrent des créneaux à venir, et que l'adresse du client est dans le rayon de recherche configuré.

Une boutique apparaît grisée « Stock insuffisant »

Le panier demande plus de pièces que cette boutique n'en a. Le client peut réduire sa quantité ou choisir une autre boutique ; vous pouvez corriger la quantité dans « Disponibilité & stocks ».

J'ai activé le stock par boutique, tout est-il bloqué ?

Non. Tant qu'aucune quantité n'est saisie, tout reste disponible comme avant. Vous pouvez renseigner vos stocks progressivement.

Le scan caméra ne démarre pas

L'accès caméra exige une connexion HTTPS et l'autorisation du navigateur. À défaut, utilisez la saisie du numéro de commande.

La page tablette renvoie une erreur 404

Sur permaliens « simples », l'URL jolie peut ne pas fonctionner : le plugin bascule alors sur un format à paramètres. Régénérez l'URL depuis les réglages si besoin.

Puis-je l'utiliser sans WooChrono principal ?

Oui, en autonomie totale avec WooCommerce seul.

Combien de boutiques puis-je créer ?

Un nombre illimité, quelle que soit la formule. La formule détermine le nombre d'installations WordPress, pas le nombre de boutiques.

Changelog

1.11.014 septembre 2026

Le stock par boutique, de bout en bout

  • Stock par boutique : quantité par produit et par boutique (produits simples et variations). Vide = non géré, 0 = épuisé.
  • Décrément automatique du stock boutique à la commande retrait, restock à l'annulation ou au remboursement, notes de commande détaillées.
  • Fiche produit : détail par boutique sous le badge de retrait. Checkout : boutiques sans stock suffisant grisées avec le détail des manques, refus serveur. Fiche boutique : « En stock · N ».
  • Trois modes de liaison avec le stock WooCommerce : indépendant, WooCommerce = stock total, WooCommerce = réserve en ligne.
  • Écran « Disponibilité & stocks » : saisie en masse des quantités dans la matrice produits × boutiques, une ligne par variation.
  • Correctifs : une commande annulée libère bien son créneau sous HPOS ; le filtre disponibilité × boutique du picker fonctionne de nouveau.
1.10.5Juillet 2026

Vos boutiques en vitrine

  • Disponibilité produit par boutique : onglet produit, colonne et actions groupées dans la liste, écran matrice, badge sur la fiche produit, filtrage au checkout.
  • Paiement en boutique : règlement sur place au retrait, sans passerelle supplémentaire.
  • Store locator [woochrono_locator] : carte, recherche, filtres « Ouvert maintenant » et par service.
  • Fiches boutique publiques optimisées SEO local, avec shortcodes, blocs Gutenberg et widgets Elementor par section, prochain créneau en direct, avis manuels ou Google.
1.10.025 mai 2026

Le poste de préparation en boutique

  • Tableau de bord Préparations : suivi des commandes en temps réel (à préparer, en préparation, prêtes, remises), classées par créneau, avec un compteur par état.
  • Mode tablette comptoir : page plein écran dédiée, sans interface WordPress, à mettre en favori sur la tablette de la boutique.
  • Scan QR à la remise : retrouvez et validez une commande via la caméra ou le numéro de commande. Aucun matériel dédié requis.
  • Alertes retard : les commandes hors créneau remontent en tête avec un repère rouge et la durée du retard, visible jusque dans le menu WordPress.
  • Interface d'administration modernisée, plus claire et plus rapide à lire.
  • Audit de sécurité pré-production, désinstallation propre (données métier conservées par défaut), compatibilité permaliens « simples ».
1.9.0Avril 2026
  • Notifications client par e-mail et SMS (compte SMS du marchand).
  • Éditeur de messages personnalisables.
  • Génération de QR codes de retrait sécurisés.
1.0 → 1.8Avril 2026
  • Lancement : points de retrait multi-boutiques, créneaux horaires, géolocalisation par code postal, jours fériés automatiques, tableau de bord.
  • Compatibilité thèmes (Elementor, Divi, XStore…), bascule Livraison / Retrait au panier, renforcement sécurité.