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

Thèmes

Un configurateur de forfait spa en thème classique, sans plugin de réservation

Pour un établissement bien-être qui refuse un plugin de réservation lourd, un configurateur de formules construit en champs personnalisés fait le travail.

Par WordPress Développement • 17 mai 2022 • 4 min de lecture • Aucun commentaire
Un configurateur de forfait spa en thème classique, sans plugin de réservation

Un établissement de bien-être demande fréquemment le même type de fonctionnalité : permettre à un visiteur de composer sa formule (type de soin, durée, options complémentaires) et d’en voir le tarif total avant d’envoyer une demande de réservation. Ce besoin ressemble à un système de réservation, sans en être un : il ne gère ni disponibilité de créneaux, ni paiement en ligne, ni confirmation automatique. C’est un configurateur, suivi d’une demande envoyée par e-mail, que l’équipe de l’établissement traite ensuite manuellement.

Confondre les deux besoins mène souvent à installer un plugin de réservation complet, avec gestion de calendrier et de disponibilités, alors que l’établissement souhaite en réalité garder la main sur la confirmation finale et n’a pas besoin d’automatiser cette étape.

Structurer les options du configurateur

Les options du configurateur sont enregistrées comme des champs personnalisés sur un custom post type dédié aux formules proposées, plutôt que codées en dur dans le template. Chaque formule porte un prix de base, et une liste d’options complémentaires avec leur propre tarif additionnel.

function spa_cpt_formule() {
    register_post_type( 'formule_spa', array(
        'labels'      => array( 'name' => 'Formules' ),
        'public'      => true,
        'has_archive' => true,
        'supports'    => array( 'title', 'editor', 'thumbnail' ),
    ) );
}
add_action( 'init', 'spa_cpt_formule' );

Les options complémentaires (massage additionnel, accès à un espace détente, durée prolongée) sont stockées sous forme de champs répétables, chacun avec un libellé et un supplément tarifaire, modifiables par l’équipe de l’établissement sans intervention technique.

Construire le formulaire de configuration

Le template de la formule affiche un formulaire simple : les options complémentaires sous forme de cases à cocher, chacune associée à un attribut de données portant son supplément tarifaire, et un total qui se met à jour dynamiquement en JavaScript à chaque case cochée ou décochée.

L'essentiel à retenir : Un configurateur n'est pas un moteur de réservation, la distinction compte ; Des options en champs personnalisés restent simples à faire évoluer ; Le total se calcule côté client, sans dépendance serveur lourde
<input type="checkbox" class="option-spa" data-prix="15" id="option-1">
<label for="option-1">Accès à l'espace détente (+15 €)</label>

<script>
document.querySelectorAll('.option-spa').forEach(function(champ) {
    champ.addEventListener('change', function() {
        var total = parseFloat(document.getElementById('prix-base').dataset.prix);
        document.querySelectorAll('.option-spa:checked').forEach(function(coche) {
            total += parseFloat(coche.dataset.prix);
        });
        document.getElementById('total-formule').textContent = total.toFixed(2) + ' €';
    });
});
</script>

Envoyer la demande sans base de données de réservation

Une fois la formule configurée, le visiteur valide sa sélection via un formulaire qui envoie un e-mail récapitulatif à l’établissement, avec le détail des options choisies et le total calculé. Cette étape ne crée aucune entrée de réservation dans une base de données : elle transmet simplement une demande, que l’équipe du spa confirme ensuite par téléphone ou par e-mail, selon ses disponibilités réelles.

  • Le formulaire transmet la formule choisie et la liste des options cochées
  • L’envoi utilise wp_mail() depuis un traitement de formulaire classique côté serveur
  • Aucune notion de créneau horaire ni de disponibilité n’est gérée par le thème
  • La confirmation finale reste une décision humaine, prise par l’équipe de l’établissement

Pourquoi ne pas pousser plus loin vers un vrai système de réservation

Un système de réservation avec gestion de créneaux et de disponibilités en temps réel demande une complexité bien supérieure : verrouillage des créneaux pour éviter les doubles réservations, synchronisation éventuelle avec un planning existant de l’établissement, gestion des annulations. Pour un établissement qui préfère garder un contrôle humain sur la confirmation finale, cette complexité n’apporte aucun bénéfice réel et alourdirait inutilement le site.

Le plus important, avant d’écrire la moindre ligne de configurateur, est de clarifier avec le client ce qu’il attend vraiment : une simple demande à traiter manuellement, ou une réservation confirmée automatiquement. Les deux besoins se ressemblent en apparence, mais impliquent des architectures totalement différentes.

Notre verdict

Un configurateur de formule construit en champs personnalisés, couplé à un simple envoi d’e-mail récapitulatif, répond entièrement au besoin d’un établissement qui souhaite garder la main sur la confirmation de ses réservations. Cette solution reste légère, rapide à faire évoluer par l’équipe elle-même, et évite l’installation d’un plugin de réservation dont la majorité des fonctionnalités resteraient inutilisées dans ce contexte précis.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Partager :

À propos de l'auteur

WordPress Développement

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

Voir tous ses articles

Dans la même veine

À lire aussi