Le WordPress d'aujourd'hui, décodé pour les développeurs

E-commerce

Des forfaits touristiques à quotas limités avec WooCommerce Bookings

Un site touristique veut limiter le nombre de visiteurs par créneau tout en vendant des forfaits à l'avance. Étude de cas complète avec WooCommerce Bookings, du réglage des quotas au suivi des ventes.

Par Clément Hadrot • 17 février 2025 • 5 min de lecture • Aucun commentaire
Des forfaits touristiques à quotas limités avec WooCommerce Bookings

Combien de visiteurs un site naturel classé peut-il accueillir par demi-journée sans dégrader l’expérience ni l’environnement lui-même ? C’est la question de départ d’un projet de billetterie touristique confié récemment : vendre des forfaits de visite guidée à l’avance, tout en garantissant qu’aucun créneau ne dépasse jamais sa capacité d’accueil réelle, même en cas de forte demande simultanée. WooCommerce Bookings, l’extension officielle de réservation, répond précisément à ce besoin sans développement sur mesure lourd. Ce cas ne traite pas la billetterie à l’entrée physique du site, gérée par un autre système sur place.

Structurer le produit de réservation

WooCommerce Bookings transforme un produit classique en produit réservable, avec un type de durée configurable : ici, des créneaux de demi-journée fixes, du matin et de l’après-midi, plutôt qu’une durée libre choisie par le client. Chaque créneau reçoit sa propre capacité maximale, réglée directement dans les paramètres de disponibilité du produit, indépendamment du système de stock classique de WooCommerce qui gère les produits physiques.

// Exemple de configuration programmatique d'une règle de disponibilité
$regle = new WC_Booking_Rule();
$regle->set_type( 'range' );
$regle->set_range_type( 'daily' );
$regle->set_range_from_day( 1 ); // lundi
$regle->set_range_to_day( 5 );   // vendredi

Configurer les quotas par créneau

L'essentiel à retenir : Un produit de réservation peut porter un quota de disponibilité indépendant du stock classique ; Les créneaux se configurent par plage horaire, avec durée et capacité propres à chacun ; Le suivi en temps réel des réservations évite toute survente sur les créneaux les plus demandés

La capacité globale de chaque créneau se règle via l’option de disponibilité personnalisée du produit réservable, qui accepte un nombre maximal de réservations simultanées. Pour un forfait avec guide, cette capacité correspond typiquement à la taille maximale d’un groupe encadrable en sécurité, un chiffre défini avec l’exploitant du site avant toute mise en ligne. Une fois ce quota atteint, WooCommerce Bookings masque automatiquement le créneau complet dans le calendrier de réservation présenté au client, sans intervention manuelle.

update_post_meta( $produit_reservable_id, '_wc_booking_max_bookings_per_block', 15 );

Ce réglage doit être testé en conditions réelles avant l’ouverture des ventes : réserver manuellement jusqu’au quota, vérifier que le créneau se grise correctement dans le calendrier, puis tenter une réservation supplémentaire pour confirmer le blocage effectif côté serveur, et pas seulement côté affichage.

Suivre les réservations en temps réel

Le tableau de bord natif de WooCommerce Bookings liste chaque réservation par créneau, avec son statut de confirmation, mais un exploitant de site touristique a souvent besoin d’une vue synthétique par jour plutôt que par commande individuelle. Une requête personnalisée, exécutée via get_wc_bookings(), permet de construire ce récapitulatif quotidien à destination de l’équipe sur place :

$reservations_du_jour = get_wc_bookings( array(
    'booking_start' => strtotime( 'today' ),
    'booking_end'   => strtotime( 'tomorrow' ),
) );

$total_visiteurs = 0;
foreach ( $reservations_du_jour as $reservation ) {
    $total_visiteurs += $reservation->get_persons_total();
}

Gérer les modifications et annulations

Un forfait vendu plusieurs semaines à l’avance génère mécaniquement des demandes de modification de date. WooCommerce Bookings permet de configurer une fenêtre de modification autorisée, au-delà de laquelle le client doit contacter directement l’exploitant. Cette règle doit être clairement affichée sur la fiche produit avant l’achat, pour éviter les litiges lors d’une demande tardive de changement de créneau.

Anticiper les pics de demande saisonniers

Pour un site à forte saisonnalité, les créneaux du week-end en haute saison se remplissent généralement en quelques jours après l’ouverture des ventes. Un cache de page désactivé sur les pages de calendrier de réservation pendant cette période reste indispensable, pour que la disponibilité affichée corresponde toujours à la réalité du quota, sans décalage lié à une page mise en cache trop longtemps.

  • Définir la capacité réelle de chaque créneau avec l’exploitant avant toute mise en ligne.
  • Tester le blocage effectif du quota, pas seulement son affichage visuel.
  • Désactiver le cache sur les pages de réservation en période de forte demande.
  • Documenter clairement la politique de modification et d’annulation sur la fiche produit.

Prévoyez toujours une marge de sécurité de quelques places sous la capacité réelle annoncée au public : un imprévu logistique le jour même reste plus facile à absorber sur un créneau qui n’était pas vendu à cent pour cent de sa capacité théorique.

En résumé

WooCommerce Bookings répond efficacement à un besoin de quotas stricts par créneau, à condition de configurer soigneusement la capacité maximale, de la tester en conditions réelles avant ouverture, et de désactiver le cache sur les pages de réservation pendant les périodes de forte affluence. Cette rigueur de configuration évite la survente tout en gardant une expérience de réservation fluide pour le visiteur.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi