Reciprok Docs
Vue d'ensemble

Vision produit V2

Synthèse du feedback audit produit (avril 2026), ce qui manque, ce qui change, ce qu'on doit construire

En deux phrases

Reciprok sert à une chose : quand un organisateur d'événement cherche un lieu, l'équipe Reciprok trouve le meilleur match dans son réseau de membres, envoie un catalogue, et touche une commission sur la mise en relation. L'IA (Maxy) aide à chaque étape mais c'est l'équipe qui décide, l'IA propose, l'humain dispose.

Le concept manquant : les Pools

C'est quoi un Pool ?

Un Pool c'est une catégorie métier. Pense à ça comme un "tiroir" dans lequel l'équipe range ses membres.

PoolExemples de membres
HotelsHôtel Le Meurice, Hôtel du Louvre
RestaurantsL'Alcazar, Le Train Bleu
Restaurants RooftopPerruche, Le Ciel de Paris
TraiteursPotel & Chabot, Lenôtre
ChâteauxChâteau de Versailles, Vaux-le-Vicomte
Lieux atypiquesMusée du Louvre, Tour Eiffel

Pool vs Group, c'est pas pareil

  • Pool = la catégorie (Restaurants, Hotels, Traiteurs…)
  • Group = le groupe d'entreprise (Groupe Alcazar = 7 restaurants dans Paris)

Chaque membre a obligatoirement les deux. Même un freelance DJ a un pool ("DJ") et un group ("INDEPENDANT").

Pourquoi c'est important ?

  1. Quand un organisateur dit "je cherche un hôtel pour 60 personnes" → l'équipe crée une demande dans le Pool Hotels
  2. Le formulaire de recherche s'adapte au Pool → Hotels montre un champ "nombre de chambres", Restaurants non
  3. On peut ajouter un Pool entier à une demande → "Ajoute le pool Restaurants Rooftop" → 13 membres ajoutés d'un coup
  4. On peut ajouter un Group entier → "Ajoute le Groupe Alcazar" → 7 restaurants ajoutés

La page Demande = le cockpit

C'est LA page la plus importante de l'app. Tout se passe ici. L'équipe ne devrait jamais avoir à quitter cette page pour faire son travail.

Ce qu'on doit pouvoir faire depuis une demande

Gérer les membres du catalogue

  • Chercher dans le Pool de la demande → moteur de recherche intégré
  • Ajouter un membre, un Group entier, ou un Pool entier
  • Retirer un membre
  • Cacher/montrer un membre dans le catalogue (icône œil, pas des tabs, caché par défaut à l'ajout)
  • Choisir le gagnant, action manuelle, c'est l'équipe qui décide (ou l'organisateur via le catalogue public)
  • Voir sur la carte, où sont les membres de la demande géographiquement

Communiquer

Par carte de membre (chaque membre a ses propres boutons) :

  • Envoyer le catalogue
  • Demander les dispos
  • Demander le positionnement
  • Envoyer un "non retenu"
  • Envoyer un devis

En général (à tous les membres visibles) :

  • Envoi catalogue groupé
  • Demande de dispo groupée

Vers l'organisateur :

  • Mail de suivi
  • Confirmation referral
  • Mail post-événement (review)

Éditer tout sans changer de page

N'importe quelle info est modifiable inline :

  • Email/téléphone d'un membre
  • Tags d'un membre ou de la demande
  • Email de l'organisateur
  • Infos du membre referral
  • Images des membres
  • Budget, dates, description de la demande

L'IA intégrée

  • Chat Maxy directement dans la page, pas besoin d'aller sur /chat
  • Proposer un catalogue, Maxy analyse le brief + la knowledge base et suggère les meilleurs membres
  • Dicter un prompt, bouton micro, transcription Whisper, envoi à Maxy
  • Maxy peut aussi "choisir" un membre (même si c'est gâchis de tokens selon l'audit)

Bloc-notes

Un mémo pour que l'équipe écrive ce qu'elle veut. Notes perso, rappels, "plus jamais je rend service à ce client", whatever. Pas analysé par l'IA, juste un pad privé.

Le catalogue public (côté organisateur)

Quand l'équipe envoie le catalogue, l'organisateur reçoit un lien. Sur cette page il peut :

  1. Voir les lieux proposés (recommandés + compatibles)
  2. Choisir un ou plusieurs lieux (pas forcément 1 seul)
  3. Partager le catalogue à quelqu'un d'autre
  4. Demander un nouveau catalogue, ça bloque l'organisateur côté public tant que l'équipe n'a pas cliqué "Nouveau catalogue à jour" dans la demande

Après le choix

Le design du catalogue change : il affiche uniquement les membres choisis, avec un statut ("Événement en préparation", etc.). Les membres non choisis disparaissent.

Après l'événement

L'équipe peut envoyer un mail de review :

  • Note (étoiles 1-5) sur Reciprok en général
  • Note (étoiles 1-5) sur le membre d'accueil
  • 3-4 questions max, rapide à remplir

Le referral : qui a transmis la demande ?

C'est critique pour les commissions. Pour chaque demande, il faut savoir :

  • Qui a transmis l'organisateur ? (quel membre du réseau)
  • C'est la première fois que ce membre nous envoie cet organisateur ? Ou la 2ème, 3ème… ?
  • Ou bien est-ce un contact direct (l'organisateur a trouvé Reciprok tout seul) ?

Pourquoi c'est important : la commission change selon la source. Si un membre nous envoie un nouveau client → taux X. Récurrent → taux Y. Contact direct → pas de commission referral.

Les commissions expliquées simplement

C'est tout bête :

  1. L'organisateur choisit un membre pour son événement
  2. Le membre d'accueil (celui qui a été choisi) verse un pourcentage du montant à Reciprok
  3. Reciprok redistribue une partie de ce pourcentage au membre referral (celui qui a transmis l'organisateur)

Les taux sont configurables :

  • Par membre individuellement
  • Globalement sous conditions
  • Différent si nouveau client vs récurrent
  • Différent si contact direct vs referral

Paiement : liens Stripe envoyés aux membres pour faciliter l'encaissement.

Les disponibilités : le bon paradigme

Ce qui est faux

Remplir un calendrier manuellement. L'équipe ne sait pas les dispos des membres, ce sont eux qui les donnent.

Ce qui est vrai

  1. Depuis une demande, l'équipe envoie un mail/WhatsApp à un membre : "Es-tu dispo pour l'événement X le 12 mai ?"
  2. Le membre clique sur un lien → Disponible / Pas disponible. Fin.
  3. La réponse remonte dans la demande et sur la page de dispo.

Pour les dispos générales (pas liées à une demande) :

  • Le membre dicte ou écrit en langage naturel via son lien perso : "Fermé du 1er au 15 août"
  • L'IA interprète et structure

La page /availability devrait montrer :

  • Les réponses à valider (pas un calendrier à remplir)
  • Filtres par Pool
  • Multi-select pour les confirmations batch

Nouvelle page : la Carte

Afficher les membres d'un Pool sur une carte interactive (coordonnées GPS déjà dans le schema).

  • Filtres par Pool
  • Accessible aussi depuis la page demande ("voir sur la carte")
  • Utile pour les cas "je cherche un resto dans le 8ème", visualisation géographique directe

Le kanban /requests, clarifications

  • Le kanban se met-il à jour tout seul ? Oui, quand on fait avancer une demande via les actions dans la page détail, le statut change et la carte bouge automatiquement dans la bonne colonne.
  • Pourquoi on ne peut pas glisser en arrière ? C'est voulu côté backend (transitions non autorisées). Mais c'est peut-être trop strict, à discuter si on autorise certains retours avec confirmation.

État d'avancement (avril 2026)

ChantierStatutNotes
Schema Pool (entité + FK member/request)✅ Fait7 pools seedés, pool.extraFields pour formulaires dynamiques
Refonte page /requests/[id] (le HUB)✅ V1Catalogue interactif, memo, Maxy drawer, recherche dans pool, lien public persistant
Formulaire création demande dynamique✅ FaitPool obligatoire, champs extra par pool, sélecteur organisateur
Carte Mapbox 3D✅ FaitClusters GPU, filtres pool, fly-to depuis fiche membre, carte sur catalogue public
Système de tickets✅ FaitCRUD + workflow admin validation, catégorisation par section/page, thread commentaires
Mémos sur membres/organisateurs✅ FaitMemoPadGeneric réutilisable, visible par l'IA
Page Settings complète✅ Fait4 tabs : Profil, Apparence, Pools, Intégrations
Catalog public enrichi (choix orga, review)🔲 À faireL'organisateur peut voir + carte, mais pas encore choisir/refuser
Disponibilités = validation réponses members🔲 À faireParadigme actuel = calendrier manuel, à changer vers magic links
Commissions config granulaire + Stripe🔲 À faireLes commissions existent, les liens Stripe non
Search adaptatif par Pool✅ PartielpoolId filter ajouté, mais pas de champs extra dynamiques par pool

Chantiers restants

PrioritéChantierImpact
1Catalogue public enrichi (choix organisateur, demande nouveau catalogue, review post-event)Expérience organisateur
2Disponibilités = validation de réponses members via magic linksRefonte paradigme
3Commissions config granulaire + liens StripeMonétisation
4Search adaptatif avec champs dynamiques par PoolRecherche contextuelle
5Inline editing complet sur la page demande (email/tags/images des membres)UX hub
6Mails par carte membre (dispo, positionnement, non-retenu, devis)Communication
7Formulaire création demande enrichi (référent les champs de l'ancien dashboard)Onboarding

On this page