Aller au contenu
Swan BadolMe contacter

← Le labo

En prod · depuis 2024

Resa System Yoles

La plateforme qui fait tourner notre activité d'excursions, demandes de réservation, liste d'attente, encaissements et taux de remplissage.

  1. Demandele visiteur choisit un départ depuis le site, pas un créneau abstrait
  2. Alerteun mail nous signale la demande, rien n'est confirmé sans nous
  3. Décisionacceptée, refusée ou mise en attente — l'accord déclenche le récapitulatif au client
  4. Encaissementla plateforme n'encaisse pas : elle envoie de quoi payer, puis suit annoncé contre reçu
  5. Pilotageremplissage par journée, dates à pousser, chiffre d'affaires par saison
Le flux, de bout en bout
  • L'entrée du tunnel de vente : la sortie en catamaran présentée sur une photo de la course, ses trois arguments chiffrés — prix tout compris, places par jour, transport inclus — et, à droite, le formulaire d'alerte d'ouverture de la billetterie.
    L'entrée du tunnel de vente : la sortie en catamaran présentée sur une photo de la course, ses trois arguments chiffrés — prix tout compris, places par jour, transport inclus — et, à droite, le formulaire d'alerte d'ouverture de la billetterie.
  • Le widget de réservation embarqué sur le site, à sa première étape sur trois : la semaine du 26 juillet au 2 août 2026 dépliée en huit tuiles de journée, et sous elles la légende du code couleur — disponible, quelques places, complet. Aucune journée n'est encore ouverte à la vente.
    Le widget de réservation embarqué sur le site, à sa première étape sur trois : la semaine du 26 juillet au 2 août 2026 dépliée en huit tuiles de journée, et sous elles la légende du code couleur — disponible, quelques places, complet. Aucune journée n'est encore ouverte à la vente.
  • Le tableau de bord de la saison : six compteurs en tête — demandes en attente, personnes confirmées, places libres, taux de remplissage, chiffre d'affaires encaissé et restant à encaisser — le remplissage journée par journée en dessous, puis l'aperçu financier et le fil des demandes récentes avec leur statut.
    Le tableau de bord de la saison : six compteurs en tête — demandes en attente, personnes confirmées, places libres, taux de remplissage, chiffre d'affaires encaissé et restant à encaisser — le remplissage journée par journée en dessous, puis l'aperçu financier et le fil des demandes récentes avec leur statut. · Données fictives

Le système de réservation de nos excursions en catamaran, écrit de zéro parce que les plateformes existantes prennent une commission par place et imposent une logique de créneaux qui n’est pas celle d’un bateau. Il est déployé, il est utilisé par ma famille et moi pendant toute la saison, et le formulaire public vit sur notre site sous forme de widget embarqué.

La demande, pas la réservation

C’est le choix structurant. Un visiteur envoie une demande, elle nous arrive par mail, et nous l’acceptons ou non depuis la plateforme. Ça a l’air moins moderne qu’un paiement immédiat, mais c’est ce que la réalité impose : la météo, la composition du groupe et l’équipage du jour décident si une sortie est opérable. Encaisser d’abord et annuler ensuite, c’est transformer chaque intempérie en remboursement et en mauvaise conversation.

Quand une journée est pleine, la demande part en liste d’attente au lieu d’être perdue, et une place libérée la veille retrouve preneur. C’est la fonctionnalité qui rapporte le plus par ligne de code de tout ce que j’ai écrit.

Le widget ouvre donc sur la semaine, pas sur un formulaire : huit journées, et un code couleur à trois états — disponible, quelques places, complet. C’est le même remplissage que celui du tableau de bord, montré de l’autre côté du comptoir. Un visiteur qui voit « quelques places » sur le samedi n’a besoin d’aucun argumentaire, et une journée complète ne reçoit plus une demande qu’il faudra refuser à la main.

Les deux mails, et ce que la plateforme n’encaisse pas

Toute la mécanique tient dans deux envois. Le premier part vers nous à la seconde où le formulaire est validé : une demande est arrivée, avec la journée, le nombre de places et le contact. Le second ne part que si nous acceptons, vers le client, et il porte le récapitulatif de sa commande et les informations de paiement.

Ce second mail est l’endroit où le choix le plus contre-intuitif du système se voit : la plateforme ne prend pas l’argent. Elle envoie de quoi payer — un lien, ou nos coordonnées pour un virement — et c’est tout. C’était une décision de la version une, prise pour la même raison que la demande plutôt que la réservation : encaisser avant de savoir si la sortie est opérable, c’est fabriquer du remboursement à chaque grain. Le prix à payer est réel — le rapprochement entre ce qui est annoncé et ce qui est reçu reste manuel — et c’est exactement ce que la section suivante gère.

Le côté administration

Un seul écran, ouvert tous les jours de la saison : l’activité récente, les demandes à traiter, le remplissage journée par journée et l’aperçu financier. Chaque réservation porte le montant annoncé, le montant réellement reçu, le moyen de paiement — virement, espèces, carte, gratuité, ou un mélange de plusieurs —, la date d’encaissement et l’acompte. C’est cette distinction entre annoncé et reçu qui permet les relances, et sans elle on découvre en fin de saison que trois sorties n’ont jamais été payées.

Le reste est du pilotage : le taux de remplissage par journée et le chiffre d’affaires par saison, qui sont les deux seuls chiffres sur lesquels on décide d’ouvrir une date, d’en fermer une, ou d’aller pousser celle qui traîne. C’est la pièce qui n’existait pas avant : le remplissage vivait dans quatre fils WhatsApp et dans la tête de celui qui avait répondu le plus souvent. Les saisons sont une notion de première classe dans le modèle de données, parce qu’une activité qui tourne trois semaines par an ne se compare qu’à elle-même, l’année précédente.

Ce qui a été long

Jamais le tunnel de réservation. C’est la gestion des cas tordus : la sortie annulée pour météo, le groupe qui réserve six places pour quatre personnes, le remboursement partiel, l’équipage à réaffecter la veille, le client qui écrit sur la messagerie plutôt que par mail. Un outil de réservation ne se juge que sur ces cas-là.

Côté technique, la seule décision dont je suis vraiment content : plus aucune clé dans les pages. Le widget et l’administration ne parlent qu’à trois points d’entrée serveur, et la clé de service ne quitte jamais le serveur. La première version mettait la clé publique dans le HTML. Ça marchait, et c’était une porte ouverte.

Le cas d’étude complet est dans les projets.

Envie de tester Resa System Yoles ?

Il tourne chez moi, et il peut tourner ailleurs. Si cet outil résout un problème que vous avez, ou si vous construisez la même chose de votre côté, écrivez-moi. Je montre volontiers comment c'est fait.

En discutercontact@swanbadol.com

Tous les outilsAutomatisation & IALes projets