Le calendrier natif
Native est le moteur de réservation propre à Famulor — construit directement dans la plateforme plutôt qu’un produit tiers auquel il faut s’inscrire, et répertorié aux côtés des autres fournisseurs de calendrier dans Aperçu des fournisseurs. Aucun compte externe, aucune clé API, aucun écran de consentement OAuth : définissez un type d’événement avec sa propre disponibilité hebdomadaire, et il est immédiatement prêt à être attribué à un assistant.Native fonctionne avec la même fonctionnalité de forfait Calendar integrations que tous les autres fournisseurs répertoriés dans Aperçu des fournisseurs — ce n’est pas une option payante distincte qui s’ajoute à Cal.com ou Calendly. Votre forfait doit toujours inclure cette fonctionnalité avant que vous puissiez créer un type d’événement ou une intégration, natifs compris. Voir Limitation par le forfait.
check_availability et book_appointment que toute autre intégration, sans API tierce intermédiaire : les créneaux proviennent directement des plages de disponibilité, des marges et des règles de préavis propres au type d’événement. Native est aussi l’un des deux seuls fournisseurs — Acuity est l’autre — dont les assistants peuvent rechercher, annuler et replanifier un rendez-vous existant, et le seul des deux à ne nécessiter aucun compte externe pour cela. Voir Attribution à un assistant pour la liste complète des outils.
Connexions de calendrier
Native fonctionne de façon autonome avec ses seules règles de disponibilité hebdomadaire, ou vous pouvez connecter un vrai calendrier pour que ses plages occupées soient respectées et — pour la plupart des types de connexion — que les réservations confirmées y soient réécrites. Connectez Google Calendar et Outlook sous Booking → Integrations ; ajoutez CalDAV ou un flux ICS sous Booking → Event types → Calendars. Dans tous les cas, sélectionnez la connexion dans le champ Calendars propre au type d’événement pour l’utiliser réellement.Le moteur de réservation intégré
Créez des types d’événements sous Booking dans le tableau de bord (ou via l’API/MCP) :
Nouveau type d’événement — exemple de configuration avant enregistrement
- Name, slug, duration — le slug est unique au sein de l’espace de travail et devient une partie de l’URL de la page de réservation publique affichée dans l’éditeur.
- Weekly availability — plages horaires par jour de la semaine, dans le fuseau horaire du type d’événement, par exemple du lundi au vendredi de 9h à 17h.
- Buffers & rules — marge avant et après chaque réservation, préavis minimum, délai maximal de réservation à l’avance, et incrément des créneaux.
- Calendar sync (facultatif) — associez un calendrier connecté. Les connexions Google, Outlook et CalDAV voient leurs plages occupées déduites des créneaux proposés, et les réservations confirmées y sont réécrites sous forme d’événements de calendrier ; sur Google et Outlook, l’invité est ajouté comme participant, si bien que le fournisseur envoie aussi sa propre invitation. Un flux ICS ne fournit que des plages occupées.
- Nom est toujours obligatoire. Réglez E-mail et Téléphone sur obligatoire ou facultatif dans les questions de réservation. Google Meet et Microsoft Teams exigent toujours l’e-mail pour l’invitation. La page de réservation et l’assistant téléphonique respectent les mêmes exigences.
E-mails de confirmation et calendriers
Choisissez le Lieu avant les questions de réservation. Ouvrez Calendriers à côté pour sélectionner le calendrier des rendez-vous et ceux à vérifier pour les conflits. Ces choix sont enregistrés avec le type d’événement. Dans E-mail de confirmation, choisissez l’expéditeur et personnalisez l’objet et le message. Un champ vide conserve son texte standard. Les variables ⚡ insèrent le nom du client, l’événement, l’entreprise, l’heure, la durée, le lieu et les liens de report ou d’annulation. Les textes personnalisés concernent la confirmation initiale ; les annulations, reports et rappels gardent leurs messages standard. Langue des e-mails fixe la langue de tous les textes standard de ce type d’événement (anglais, allemand, français ou espagnol). Langue du destinataire conserve le comportement par défaut : chaque invité reçoit le texte standard dans la langue de son compte ou de votre espace de travail. Pour ne plus envoyer d’e-mails aux invités, désactivez Envoyer des e-mails aux invités dans l’onglet E-mails invités : aucun e-mail de confirmation, d’annulation, de reprogrammation ni de rappel n’est envoyé aux invités, et ils ne sont pas ajoutés comme participants dans votre agenda Google ou Outlook connecté (ces agendas ne leur envoient donc aucune invitation), mais l’hôte reste averti. Pour les types d’événement Google Meet ou Microsoft Teams, les invités ne reçoivent alors pas le lien de connexion par e-mail. L’expéditeur automatique utilise le SMTP de l’espace de travail ou du revendeur pour ses clients. Les espaces directs admissibles peuvent utiliser le serveur de la plateforme sans SMTP propre. Une adresse vérifiée sélectionnée utilise son propre envoi. En marque blanche, aucun repli vers l’identité de la plateforme n’a lieu si le SMTP manque ou échoue. Google et Outlook envoient l’invitation depuis le compte calendrier connecté. La confirmation utilise votre expéditeur et ne joint pas une deuxième invitation après une invitation réussie du fournisseur. Les réservations autonomes et CalDAV utilisent le fichier calendrier de la confirmation. Sans e-mail facultatif, aucun message n’est envoyé au client ; l’hôte configuré peut toujours être averti.Page de réservation publique et intégration
Chaque type d’événement actif dispose d’une page publique aux couleurs de l’espace de travail, à l’adressehttps://<your-domain>/book/{workspace}/{slug} — aucune connexion requise. Sélectionnez Embed dans la liste des types d’événements, puis choisissez l’une des quatre options : parcours de réservation intégré, bouton pop-up flottant, pop-up ouvert par un élément de votre page, ou lien/bouton compatible avec les e-mails. Des extraits HTML et React sont générés pour l’option choisie, avec un thème clair, sombre ou automatique lorsque cela s’applique.
Le chargeur HTML utilise une clé de réservation neutre et non secrète, et il est servi depuis le même domaine que la page de réservation publique :
Le conteneur inline occupe toute la largeur et la hauteur disponibles. Donnez une hauteur explicite à son parent si le parcours de réservation doit correspondre à une section précise ; sinon, le chargeur applique une hauteur minimale sûre et s’adapte au contenu de réservation.
Les boutons flottants peuvent être placés dans l’un ou l’autre coin inférieur. Les intégrations déclenchées par un élément utilisent des clics délégués : elles fonctionnent donc avec plusieurs éléments correspondants et avec les boutons rendus plus tard par React ou une autre application monopage. Sur les grands écrans, les fenêtres suivent la hauteur mesurée du parcours de réservation et restent centrées verticalement. Sur les petits écrans, elles occupent tout l’écran, respectent les zones sûres, bloquent le défilement de l’arrière-plan et rendent le focus clavier à l’élément déclencheur.
Activez Transmettre les paramètres de la page lorsque le préremplissage ou l’attribution des campagnes doit passer de la page hôte au parcours de réservation. Cette option est désactivée par défaut ; lorsqu’elle est active, les paramètres ressemblant à des données d’authentification sont filtrés. Ne placez jamais de secrets dans une URL.
L’intégration e-mail charge les disponibilités actuelles et permet de sélectionner jusqu’à cinq créneaux. Elle génère du texte simple et des boutons HTML compatibles avec les e-mails ; chaque lien ouvre le formulaire avec le créneau présélectionné. La disponibilité est vérifiée à nouveau avant l’ouverture du formulaire afin qu’un ancien e-mail ne permette jamais de réserver un créneau devenu indisponible.
Sur un domaine de marque blanche vérifié, le chargeur et la page de réservation restent sur ce domaine personnalisé et utilisent son identité visuelle ; les extraits destinés aux clients ne contiennent aucune marque de la plateforme. Les intégrations existantes continuent de fonctionner après le renommage d’un espace de travail, car les anciens identifiants redirigent vers l’URL actuelle.
Gérer les réservations
Ouvrez Booking dans le tableau de bord pour consulter les rendez-vous sous forme de liste. Filtrez avec Upcoming, Unconfirmed, Recurring, Past et Canceled. Ouvrez une ligne pour le détail, l’annulation ou la replanification. Une vue calendrier mois, semaine et jour est également disponible depuis la même barre d’outils. La page de réservation publique est différente : les visiteurs choisissent un jour sur un calendrier mensuel, puis un créneau.Notifications de l’équipe
Connectés à l’app mobile Famulor, les propriétaires, administrateurs et membres de l’espace de travail reçoivent une notification push :- lorsqu’une réservation arrive via la page de réservation, un assistant ou l’API (les réservations que vous créez vous-même dans le tableau de bord ou avec Milian n’en déclenchent pas)
- 15 minutes avant le début d’une réservation
- au début du rendez-vous
Réservation depuis un appel
Connectez le moteur de réservation intégré à un assistant pour que les réservations effectuées en cours d’appel apparaissent dans le même calendrier et soient liées à l’appel concerné. Vous l’attribuez exactement comme un fournisseur externe — voir Attribution à un assistant.Webhooks
Donnez à un type d’événement une Webhook URL, et Famulor la notifie chaque fois qu’une réservation de ce type d’événement est créée, annulée ou replanifiée. Enregistrer l’URL révèle un Webhook signing secret — affiché une seule fois, donc copiez-le avant de quitter la page. Chaque envoi est unPOST de booking.created, booking.cancelled ou booking.rescheduled, signé par un HMAC-SHA256 du corps brut dans X-Famulor-Signature: sha256=<hex digest>. L’objet data contient booking_id, les event_type_id/event_type_slug/event_type_name du type d’événement, invitee (name, email, phone, timezone), start_time et end_time (plus previous_start_time lors d’une replanification), status, source (web, call, api, ou manual pour une réservation faite depuis le tableau de bord ou par Milian), le call_id d’origine lorsque la réservation provient d’un appel, des notes en texte libre, ainsi que les réponses aux questions de réservation configurées, dans chaque webhook de réservation.
Voir Recevoir des webhooks pour un exemple de serveur complet, incluant la vérification de signature.
Vue calendrier
Les rendez-vous n’ont pas à rester une simple liste. Un petit sélecteur à droite de la barre d’outils Réservations permet de basculer entre la liste et un calendrier complet — la liste reste l’affichage par défaut, et le choix effectué est mémorisé sur cet appareil. La liste et le calendrier se mettent à jour en direct dès qu’un rendez-vous est créé, déplacé ou annulé — voir Mises à jour en direct plus bas.
Booking → Bookings : ouvrez cette vue avec l’icône de calendrier. Today, les flèches et le menu Month règlent la période ; le jour sélectionné s’affiche à droite.
En-tête et raccourcis
Le calendrier a sa propre en-tête sur une seule ligne, calquée sur Google Calendar : un bouton Aujourd’hui encadré, des flèches précédent/suivant sans bordure, la période en cours affichée comme un simple titre, un menu déroulant de vue (Jour / Semaine / Mois) contenant une case à cocher Afficher les réservations annulées, et le même sélecteur liste/calendrier tout à droite. Il n’y a plus de bouton d’actualisation séparé — l’en-tête n’en a pas besoin. Lorsque le focus est sur le calendrier (pas dans un champ de texte ni un menu), les raccourcis clavier reprennent ceux de Google Calendar : D, W, M changent de période, T revient à aujourd’hui, J/N et K/P (ou les flèches, focus sur la grille) avancent/reculent d’une période, et C ouvre une nouvelle réservation. Si les raccourcis à une lettre gênent, désactivez-les via la case Raccourcis clavier du menu de vue — le réglage est mémorisé sur cet appareil.Barre latérale et couleurs
Une barre latérale rétractable (ouverte par défaut sur les grands écrans, une icône hamburger au début de l’en-tête l’affiche ou la masque, en feuille sur téléphone) contient un bouton Nouvelle réservation, un mini mois sur lequel cliquer pour aller à n’importe quel jour — avec un point sur les jours ayant des rendez-vous et le jour actuel mis en avant —, une liste Types d’événements avec une case à cocher colorée par type d’événement actif pour filtrer la grille (plusieurs types peuvent être cochés en même temps ; les liens existants pointant vers un seul type continuent de fonctionner), et un champ Créneaux disponibles pour qui choisit le type d’événement dont les créneaux libres sont affichés. Chaque type d’événement actif reçoit automatiquement sa propre couleur parmi un jeu fixe de dix, stable d’une session à l’autre et lisible en clair comme en sombre. Les rendez-vous sont colorés par type d’événement — comme Google colore par calendrier — un rendez-vous annulé affiche une bordure en pointillés, et un rendez-vous terminé ou non honoré apparaît atténué avec un petit repère de statut. Les créneaux libres tiennent toujours compte des rendez-vous existants, d’un calendrier connecté, des délais tampons et du préavis minimum ; un nombre de créneaux libres s’affiche par jour en vue Mois, une disponibilité ombrée en vue Semaine, et une liste de créneaux ouverts à toucher en vue Jour. Toucher un créneau y démarre directement une réservation pour quiconque peut créer des rendez-vous ; les personnes en lecture seule reçoivent à la place un lien vers la page de réservation publique.Réserver en un clic
Cliquez sur un emplacement libre en vue Semaine ou Jour pour ouvrir directement une bulle de création rapide, ancrée à un espace réservé à l’heure cliquée ; en vue Mois, cliquez sur un espace libre du jour (pas sur le numéro du jour ni sur un rendez-vous existant) pour l’ouvrir pour ce jour-là. Le bouton Nouvelle réservation de la barre latérale, le bouton « + » du calendrier et le raccourci C l’ouvrent pour le prochain créneau disponible. Choisissez le type d’événement, une heure parmi les vrais créneaux libres de ce type ou n’importe quelle autre heure future (ou utilisez « Plus d’options » pour le formulaire complet si le type comporte des questions de réservation supplémentaires), puis renseignez le nom de l’invité (toujours requis), l’e-mail et le téléphone (uniquement si le type d’événement les exige) et des notes. Enregistrez : l’invité reçoit l’e-mail de confirmation habituel si une adresse a été fournie — la boîte de dialogue le précise ; le rendez-vous apparaît aussitôt dans le calendrier. Vous pouvez réserver ou déplacer un rendez-vous à n’importe quelle heure future, y compris en dehors des créneaux ouverts du type d’événement ; le calendrier signale alors clairement que cette heure sort des horaires habituels. Les invités sur votre page de réservation publique, et vos assistants en appel, ne voient et ne réservent en revanche toujours que de vrais créneaux libres.Déplacer par glisser-déposer
Faites glisser un rendez-vous confirmé et pas encore commencé vers une nouvelle heure ou un nouveau jour en vue Semaine ou Jour, ou vers un autre jour en vue Mois (en conservant son heure) ; l’heure cible se met à jour en direct pendant le glissement. Au dépôt, une courte confirmation apparaît — « Déplacer le rendez-vous<type d'événement> de <invité> au <jour>, <heure> ? Il recevra un e-mail de mise à jour. » — avant tout envoi. Déposer sur une heure déjà occupée par un autre rendez-vous du même type d’événement, ou dans le passé, est refusé avec un message clair et rien n’est envoyé ; déposer sur une heure en dehors des créneaux ouverts du type d’événement est autorisé et clairement signalé, comme pour la réservation en un clic.
Mises à jour en direct
Il n’y a nulle part de bouton d’actualisation dans le calendrier. Le calendrier et la liste des rendez-vous récupèrent d’eux-mêmes un rendez-vous nouveau, déplacé ou annulé — créé depuis n’importe quel appareil, depuis la page de réservation publique, ou par Milian — avec une brève mise en évidence sur ce qui vient de changer. Cliquez sur un rendez-vous pour ouvrir le même panneau de détails que dans la liste, où vous pouvez le replanifier ou l’annuler. Les rendez-vous annulés restent masqués jusqu’à ce que vous les réaffichiez.Sur téléphone, la vue Mois affiche jusqu’à trois points de couleur par jour ainsi qu’un compteur pour les rendez-vous supplémentaires ; touchez un jour pour voir ses rendez-vous et ses créneaux libres.
Limitation par le forfait
Votre forfait doit inclure Calendar integrations — la même fonctionnalité de forfait qui limite l’accès aux fournisseurs externes sur Calendrier et prise de rendez-vous. Sans elle, vous ne pouvez pas créer de types d’événements, et les pages de réservation publiques n’acceptent pas de nouvelles réservations.API & MCP
Tout ce qui précède est disponible dans l’API REST publique et sous forme d’outils MCP à l’adressehttps://<your-domain>/mcp. Les intégrations de fournisseurs (Cal.com, Calendly, Acuity, eTermin, HighLevel) et l’attribution d’un calendrier à un assistant sont traitées dans Calendrier et prise de rendez-vous. La vue calendrier ci-dessus partage ses données avec les points de terminaison ci-dessous : les rendez-vous via la même liste de réservations que GET /api/v1/bookings/list_bookings, et les créneaux libres via la même consultation par type d’événement que GET /api/v1/booking-event-types/{id}/slots/get_booking_slots.
GET /api/v1/bookings et list_bookings prennent en charge les filtres par type d’événement, source et date — source inclut désormais manual pour les réservations faites depuis le tableau de bord ou par Milian. Utilisez view=upcoming|unconfirmed|recurring|past|cancelled pour retrouver les mêmes vues de réservation que dans le tableau de bord, ou appliquez un filtre status exact ; view et status s’excluent mutuellement.
Créer ou déplacer une réservation via l’API ou MCP doit normalement tomber sur un vrai créneau libre issu de
get_booking_slots, exactement comme sur la page de réservation publique. Passez allow_outside_availability: true à POST /api/v1/bookings, POST /api/v1/bookings/{id}/reschedule, create_booking ou reschedule_booking pour réserver ou déplacer à n’importe quelle heure future à la place, y compris en dehors des créneaux ouverts du type d’événement — la même dérogation que propose le calendrier du tableau de bord. La valeur par défaut est false, les intégrations existantes ne sont donc pas affectées.