Cet exemple est basé sur le cas d'usage présenté sur le site https://tierslieux.dokos.io
Mappemonde est un tiers lieu proposant les services suivants:
Nous souhaitons permettre les réservations de créneaux horaires pour notre salle de coworking ainsi que pour nos deux salles et notre imprimante 3D via le bureau de Dokos et via le site web.
Mappemonde sera ouvert de 8h à 18h30 tous les jours et proposera des locations à l'heure, à la demi-journée ou à la journée. Les locations à l'heure et à la journée termineront à 18h, par contre les locations à la demi-journées ne démarreront qu'à 13h30 et se termineront à 18h30.
Nous souhaitons synchroniser toutes ces réservations avec Google Agenda.
Nous souhaitons permettre à nos utilisateurs de régler leurs réservations en ligne par carte bancaire sur le site web.
Nous n'avons pas besoin de configuration particulière pour réserver des créneaux sur le bureau de Dokos, car il s'agit de mettre une heure de début et une heure de fin.
Par contre, nous allons vouloir facturer nos réservation avec des tarifs différents en fonction de la durée de chaque créneau et nous allons vouloir proposer des créneaux fixes sur le portail client.
Il nous faudra donc 3 unités de mesure: Heure, Demi-journée, Jour
Chaque unité de mesure sera ensuite associée à une durée et - au moins - un tarif.
Il n'y a généralement pas de débats sur la durée d'une minute ou d'une heure, par contre certaines unités de mesures peuvent avoir des durées différentes en fonction des lieux.
Par exemple, une demi-journée peut être équivalente à 4 heures à Mappemonde, mais 5 heures dans un tiers-lieu voisin.
Dans Dokos, vous pouvez définir les durées de vos unités de mesure dans les Paramètres du lieu > Unités de mesure.
Indiquez quelle est l'unité de mesure valant 1 minute, cela servira de base au système pour calculer les autres durées.
Dans le cas de Mappemonde, nous allons renseigner 3 unités de mesure dans la table de conversion:
| Unité de mesure | Durée |
|---|---|
| Heure | 1h |
| Demi-journée | 4h |
| Journée | 10h |
On aurait pu également ajouter des unités de mesure plus exotiques, comme par exemple:
| Unité de mesure | Durée |
|---|---|
| Soirée | 4h |
Dans le cas où vous faites des locations de plus longues durées, la table de conversion dédiée permet, par exemple, de paramétrer des unités de mesure spécifiques:
| Unité de mesure source | Quantité | Unité de mesure cible |
|---|---|---|
| 3 Mois | 3 | Mois |
Nous n'avons pas besoin de définir de calendriers pour effectuer une réservation depuis le bureau de Dokos.
Par contre, pour permettre les réservations en ligne, il faut créer un ou plusieurs calendriers qu'on affectera ensuite dans nos ressources réservables.
Pour Mappemonde, nous avons besoin de deux calendriers: un calendrier permettant les réservations de 8h à 18h, à l'heure ou à la journée.
Pour les réservations à la demi-journée, nous souhaitons laisser une pause de 30 minutes le midi donc nous aurons un calendrier de réservation permettant les réservations de demi-journée de 8h à 13h, puis de 13h30 à 18h30.
#### Calendrier par défaut - A l'heure et à la journée
- **Unité de mesure**: Aucune - Ce calendrier sera valable pour toutes les unités de mesure, ce sera notre calendrier par défaut
- **Article**: Aucun - Ce calendrier sera valable pour tous les articles
|Jour|Heure de début|Heure de fin|
|----|--------------|------------|
|Lundi|08:00|18:00|
|Mardi|08:00|18:00|
|Mercredi|08:00|18:00|
|Jeudi|08:00|18:00|
|Vendredi|08:00|18:00|
#### Calendrier à la demi-journée
- **Unité de mesure**: Demi-journée - Ce calendrier ne sera valable que pour les demi-journées
- **Article**: Aucun - Ce calendrier sera valable pour tous les articles
|Jour|Heure de début|Heure de fin|
|----|--------------|------------|
|Lundi|08:00|13:00|
|Lundi|13:30|18:30|
|Mardi|08:00|13:00|
|Mardi|13:30|18:30|
|Mercredi|08:00|13:00|
|Mercredi|13:30|18:30|
|Jeudi|08:00|13:00|
|Jeudi|13:30|18:30|
|Vendredi|08:00|13:00|
|Vendredi|13:30|18:30|
#### 4. Configurer les calendriers Google Agenda
Il faut configurer l'intégration aux services [Google](/v5/dokos/integrations/google) et [créer un agenda](/v5/dokos/integrations/google-calendar) pour chacun de nos services.
Nous aurons donc 3 agendas Google:
- Salle de coworking
- Salle de séminaire
- Salle de réunion
#### 5. Créer une ressource pour chaque service
* Nous aurons donc une ressource réservable **Salle de coworking**, une ressource réservable **Grande salle de réunion - 1er étage** et une ressource réservable **Salle de séminaire - 2ème étage**
* Pour chacune de ces ressources, un article équivalent va être généré: il permettra de facturer notre service.
⚠️ Pour le moment assurez-vous d'avoir un article différent par ressource réservable. C'est le cas quand l'article est créé automatiquement à la création de la ressource.
::callout
[En savoir plus sur les articles](/v5/dokos/parametrage/articles)
::
* Pour la salle de coworking, nous allons autoriser 10 **réservations simultanées**
* Pour chaque ressource, nous allons définir un prix unitaire par unité de mesure, associés avec un calendrier.
Ex.
|Prix Unitaire|Unité de mesure|Calendrier|
|----|--------------|--------------|
|137 €|Demi-journée|Général - Demi-journée|
|238 €|Jour|Général - Heure et Journée|
::callout
Pour ceux qui souhaitent avoir des prix différents en fonction des types de clients, vous pouvez ajouter des prix supplémentaires directement dans la section [Prix de l'article](/v5/dokos/parametrage/prix)
::
* Pour nos 3 services, nous allons ajouter remplir les onglets **Facturation** et **Site Web** pour définir ce qui s'affichera sur les devis/factures et sur le portail web.
* Nous allons également cocher **Publier sur le site web**
Dans les fiches articles associées à nos ressources, nous pouvons:
- Lier chaque service avec son Agenda Google dans la section **Calendrier**.
- Associer une couleur à chaque service pour les retrouver plus facilement dans notre calendrier de réservation.
#### 6. Réserver un créneau horaire
Pour réserver un créneau horaire, rendez-vous dans **Réservation de ressources > Calendrier de réservation** ou utilisez le raccourci **Ctrl+G** puis tapez **Calendrier de réservation**.
Sélectionnez la ressource que vous souhaitez réserver dans le filtre en haut à gauche.
<mermaid>
flowchart TD
A[Ouvrir Calendrier de réservation] --> B[Sélectionner la ressource]
B --> C[Cliquer sur un créneau disponible]
C --> D[Remplir les détails de la réservation]
D --> E[Enregistrer]
</mermaid>
Une fois la ressource sélectionnée, cliquez sur un créneau disponible dans le calendrier pour ouvrir le formulaire de réservation.
Dans le formulaire de réservation, vous pouvez:
- **Définir la durée** : Sélectionnez l'unité de mesure (Heure, Demi-journée, Jour) et ajustez la quantité si nécessaire.
- **Activer le toggle "Créneau entier"** : Si cette option est activée, la réservation occupera automatiquement tout le créneau disponible dans le calendrier, sans laisser d'espaces inutilisés. Par exemple, si vous réservez une demi-journée avec cette option activée, le système bloquera toute la plage horaire correspondante (ex. 8h-12h ou 13h30-17h30) sans permettre d'autres réservations dans cet intervalle.
- **Ajouter des participants** : Si nécessaire, ajoutez des participants à la réservation.
- **Saisir une référence** : Ajoutez une référence pour faciliter le suivi.
::callout
L'option **Créneau entier** est particulièrement utile pour les réservations de salles ou d'espaces où vous souhaitez bloquer toute la plage horaire, évitant ainsi les réservations partielles qui pourraient fragmenter votre calendrier.
::
#### 7. Activer la passerelle de paiement
Nous souhaitons permettre le paiement par carte bancaire, nous allons donc nous créer un compte chez [Stripe](/v5/integrations/payments/stripe) et configurer la [passerelle de paiement](/v5/dokos/comptabilite/passerelles-paiements) correspondante.
Ensuite, dans les paramètres du panier, nous allons sélectionner le compte en Euros de Stripe comme compte passerelle de paiement pour permettre le paiement sur le site web lors des réservations de créneaux.
::demo-link{demo="Mappemonde" path="/app/stripe-settings"}
Voir la configuration de la démo
::
#### 8. Activer le portail
Pour permettre aux utilisateurs de voir leurs réservations sur le portail, vous pouvez activer les redirections automatiques vers le portail client de Bookings dans les **Paramètres de réservation de ressources** > **Portail client**.
Vous y trouverez des éléments de paramétrage liés aux différentes rubriques du portail.
#### 9. Créer une page d'accueil pour notre site web
Vous pouvez utiliser l'application [Frappe Builder](https://frappe.io/builder) pour créer une page d'accueil présentant vos services.
Un lien vers /bookings-ui vous permettra de rediriger vos utilisateurs vers le portail client.
::demo-link{demo="Mappemonde" path="/builder"}
Voir la page d'accueil de la démo
::
::
::