Outil de réservation pour les tiers lieux

De Movilab.org
  • Description en une ligne :

Outil open source de réservation de salle et espace de coworking pour tiers-lieux.

Liste de discussion pour échanger : https://framalistes.org/sympa/subscribe/erptierslieux

  • Description : Création d'une application intégrée à ERPNext permettant de sélectionner des créneaux de réservation de salles depuis le module e-commerce :
  • Salle de réunion
  • Espace de coworking (avec gestion du nombre de personnes limites)
  • Location de machines

Synchronisation avec Google Agenda

Logiciel développé dans sa version 1 ici : https://github.com/dokos-io/shared_place

Démo disponible sur http://magasin.lacoroutine.org

  • Thème Tiers-Lieux
  • Usage fourni Mettre a disposition un outil de facturation et de paiement commun pour les tiers lieux

                     

 

 

Image :

Reservation Erpnext.png



Autres informations :

Liste des Acteurs qui utilisent ou souhaitent utiliser ce Commun Outil de réservation pour les tiers lieux : aucun pour le moment

Cobudget Tilios

cf la FAQ ci dessous pour vos questions

Actualité

  • L'application est en prototypage avec un début de test visible ici
  • Co-financeurs actuels :
    • La Coroutine 1000
    • Opteos 600
    • WIP 500
    • Cofabrik : 800
    • ANIS : 500
    • Hopnwork : 500
    • Réactif Activités : 600
  • TOTAL : 4500
  • Dépenses :
    • 3600 : Développeur d'ErpNext
    • Infogérance : 400
    • Suivi du projet : 500

Fonctionnement

  • Création d'une application intégrée à ERPNext permettant de sélectionner des créneaux de réservation de salles depuis le module e-commerce.
  • Ces développements comprennent la création des types de documents servant de données de base ainsi qu'une interface de réservation, sous forme de calendrier, permettant de sélectionner et de valider son créneau.
  • La synchronisation est possible avec un calendrier de type Google Agenda par exemple.
  • Possibilité de choisir de la réservation de ressource (une machine pour un fablab par exemple). Ces ressources auraient un nombre limité d'utilisateurs (comme une salle). Avec deux cas : La ressource n'est pas liée à une salle (on peut réserver la ressource sans réserver la salle) et l'autre cas la ressource occupe une place de la salle (si la personne réserve la ressource, elle réserve aussi une place du lieu automatiquement).

Coût : 3600€

Co-financeurs actuels : La Coroutine 1000 - Opteos 300 - WIP 500 - Cofabrik 600 - ANIS - 500 - Hopnwork ? - Réactif Activités

ERPNEXT

En plus de permettre la boutique en ligne avec paiement stripe ou autre, Erpnext est aussi une application permettant de gérer la comptabilité, la facturation, les devis, la gestion des membres, etc.... Bref, c'est un ERP avec beaucoup de fonctions activables avec une forte communauté de développeurs, un langage et un code moderne et adaptable sans trop de contrainte, des mises à jour simples et une approche de développement plus libre que chez Odoo.

Le besoin

Les tiers lieux ont besoin de mettre en place un outil permettant de réserver des salles de co-working via une interface en ligne.

Par exemple, aujourd'hui, à La Coroutine, une boutique en ligne permet d'acheter des heures dans des salles de réunion, mais ne permet pas de réserver son créneau en même temps.

Il faut donc que le nouveau système permette à la fois la réservation d'un créneau spécifique, dans l'une des salles disponible, et le règlement du montant correspondant.

Le calendrier sera intégré avec Google Calendrier.

Proposition

La mise en place d'une plateforme de réservation de créneaux en parallèle d'ERPNext nécessitera la création d'une application personnalisée, qui pourra évoluer en parallèle du logiciel standard.

Pour limiter les frais de maintenance futurs de cette application, il est proposé de créer le moins de connexions possibles avec l'API d'ERPNext et d'utiliser au maximum les fonctionnalités standards (gestion des prix, site e-commerce, modèles et variantes d'articles, etc...)

Cela veut dire que l'on peut créer trois types de documents qui n'existent pas dans ERPNext:

  • Un type de document "Salle de travail" (ou similaire) permettant de rentrer les données de base des espaces disponibles (Informations descriptives: taille, localisation, etc..., informations de réservations: horaires de disponibilité par jour d'ouverture, calendrier de non disponibilités, etc... et informations de facturation (liaison avec l'article correspondant dans ERPNext).
  • Un type de document de paramétrage global pour notamment l'ouverture/fermeture des réservations.
  • Un type de document "Réservation de salle" (ou similaire) permettant d'enregistrer les créneaux réservés (et a fortiori les disponibilités) et les utilisateurs concernés.
  • Un type de document "Ressource" (par exemple) permettant de configurer une ressource et de la lier ou non à une salle.

Ces documents seront aussi flexibles et évolutifs que n'importe quel document dans ERPNext et pourront être enrichis par la suite pour ajouter d'autres paramètres (lien avec d'autres tiers lieux, etc...)

La liaison de ces documents avec les articles standards d'ERPNext (pour la facturation) permettra d'utiliser le site e-commerce standard.

Chaque salle sera associée à un modèle d'article avec plusieurs attributs (les heures).

Chaque utilisateur pourra ainsi sélectionner une salle (ici le modèle "Test Item Template A") et ensuite un nombre d'heures (choix du créneau).

Image ErpNext.png

Il faudra cependant modifier le site e-commerce pour ajouter deux éléments :

1. Il faudra modifier le comportement du bouton "Ajouter au panier" et ensuite "Placer la commande" pour ne permettre le passage de la commande que si un créneau correspondant a été sélectionné.

2. Il faudra ajouter un bouton pour permettre le choix d'un créneau sur un calendrier.

Je vous propose d'afficher un calendrier complet similaire à celui-ci:

ImageErpNext2.png

Une autre solution peut consister à afficher une liste de créneaux disponibles par jour.

Suivant vos préférences, le choix de la salle peut se faire dans l'interface e-commerce (au moment du choix de l'article) ou directement dans l'interface de réservation de salle.

L'utilisateur valide ensuite son créneau et peut payer sa commande (Paypal, Stripe, Braintree et GoCardless sont disponibles nativement dans ERPNext).

Au paiement de sa commande, la réservation est confirmée, et on prévoira un mécanisme d'annulation au bout de x minutes pour les commandes restant en attente.

Evidemment certains élements paramétrables sont à ajuster au moment de la première itération. Exemples: choix de la salle et choix de la durée notamment.

Pour récapituler, l'utilisateur pourra: 

1. Choisir une salle (spécifique ou générique en fonction du lieu)

2. Sélectionner une durée et choisir un créneau

3. Payer sa réservation

En référence à notre discussion de l'autre jour: tous les utilisateurs devront nécessairement s'inscrire sur le site e-commerce pour passer une commande.

ERPNext différencie deux types d'utilisateurs: les utilisateurs système et les utilisateur de site web (aucun accès à l'interface d'administration).

Les clients passant commande sur le site seront donc des utilisateurs de site web et ils devront renseigner au moins leur adresse email et un mot de passe.

ERPNext ne permet malheureusement pas de créer un panier en étant anonyme et de renseigner ses données uniquement au passage de la commande.

Pour la liaison avec Google Calendrier, il faut développer un lien avec notre nouveau type de document "Réservation", car l'implémentation actuelle ne permet que de synchroniser le type de document "Evénement" (voir section devis).

Méthode de travail

Je vous propose de travailler de la manière suivante:

1. Dès acceptation du devis, nous définirons ensemble un flux logique pour cette fonctionnalité qui servira de fil conducteur aux développements.

Celui-ci peut contenir une ou deux variantes permettant d'ajuster les développements au fur et à mesure des tests.

2. Livraison d'un premier prototype (non fonctionnel) reprenant le flux logique pour que vous puissiez le tester et le visualiser.

3. Livraison d'un second prototype (semi-fonctionnel) permettant un deuxième ajustement dans le cadre du flux logique définit en 1)

4. Livraison d'une solution de test avec un périmètre fonctionnel figé

5. Itérations jusqu'à livraison d'une la solution prête à être utilisée en production.

Devis

Pour la proposition ci-dessus, la charge de travail estimée est de:

- Création de l'application, des types de documents et des logiques associées : 2 jours de travail

- Création de l'interface de réservation et des logiques associées : 3 jours de travail

Les développements comprennent la création de cas tests pour la maintenance et d'une documentation associée.

- Liaison avec Google Calendrier: Offert.

C'est une amélioration nécessaire du connecteur Google Calendrier qui est aujourd'hui limité à un seul type de document.

Ayant créé ce connecteur, je vais faire les ajustements nécessaires en prenant en compte les besoins de ce projet.

N'hésites pas à me dire quand tu es disponible pour discuter de cette proposition, qui est bien évidemment ajustable.

Il faut également que l'on discute ensemble du planning de livraison que vous envisagez.

Compléments

  • L'idée derrière ma proposition n'est pas de configurer les créneaux de chaque salle, mais uniquement les heures d'ouverture et les durées éventuelles des créneaux. Ensuite ERPNext calcule les créneaux disponibles sur la base de ces deux informations et des créneaux déjà réservés.
    • Exemple: la salle A est ouverte de 9h à 18h du lundi au vendredi. Vous décidez d'autoriser la réservation de créneaux d'1H ou 1/2Journée uniquement. Ces durées sont liées à un montant facturé différent. Si l'utilisateur veut un créneau de 1H un lundi, le système lui proposera 9h-10h / 10h-11h / 11h-12h / 12h-13h / 13h-14h / 14h-15h / 15h-16h / 16-17h / 17h-18h.
      • L'utilisateur a juste à cliquer sur le créneau pour l'ajouter à son panier (une confirmation peut éventuellement être demandée si vous le souhaitez).
      • Si quelqu'un réserve entre temps un créneau de 15h à 16h, ERPNext proposera tous les autres créneaux disponibles sauf celui de 15h à 16h.
      • L'interface permettra de passer facilement d'une durée à une autre (1h vers 1/2 Journée) et on peut permettre d'ajouter plusieurs créneaux ayant la même valeur au panier (exemple: 2x 1h pour un créneau de 2h).
      • On peut ensuite gérer différentes règles tarifaires via différentes unités de mesure dans le système (exemple: 3h sélectionnées d'un coup valent moins cher que 3 x 1h).
  • Aucun problème pour voir la disponibilité et le prix des articles sans s'inscrire. L'inscription est obligatoire à partir du moment où le client veut ajouter des articles au panier, donc pas tout à fait à la fin du processus, mais quasiment. On peut tout à fait laisser l'agenda public également et limiter uniquement la réservation d'un créneau aux inscrits.

FAQ

Que coûte l'installation d'ERPNEXT 

Nous essayons de mutualiser l'hébergement et l'infogérance avec un coût autour de 10€ par mois à priori pour ceux qui sont d'accord pour construire ensemble et participer (en mode contributeur). Pour cela, on a déjà installé l'application sur l'un de nos serveurs et pour le moment hébergé par une association protégeant des "communs" (la LSC). Avec un premier exemple qui est la boutique de la coroutine (boutique.lacoroutine.org). Ce sera plus cher pour ceux qui attendent un service clé en main (en mode plutôt prestataire) et ce sera à définir pour ces derniers. 

Quid d’éventuelles mises à jour ?

Ce coût va comprendre la mise à jour de l'application.

Après on aura sans doute d'autres fonctionnalités à cofinancer pour que ça s'adapte à 100% à nos usages (par exemple, on aimerait améliorer le système de rapprochement bancaire). Quand on sera 20 ou 30 lieux dessus, ce sera beaucoup plus léger à assumer (là on est que 6 à cofinancer pour cette grande première :-))

Quelle est la difficulté de la gestion de cet outil pour des « non-informaticiens », mais des utilisateurs un peu avertis

Je pense qu'une fois pris le pli, elle est assez appropriable. On pense à faire une démo.

L’administration de l’outil est bien gérable à distance ?

Oui, tout est en ligne. En fait Erpnext fait beaucoup de choses déjà en tant qu'ERP (paiement en ligne, comptabilité, facturation, devis, base de données usagers, etc...)

Erpnext inclue le paiement en ligne avec Stripe, paypal etc directement après la commande. Un lien peut aussi être envoyé ensuite par mail avec le lien direct vers le paiement en ligne. On peut aussi ajouter d'autres moyens de paiements.

Hébergement

On propose un hébergement de l'application en mutualisant là aussi les coûts. Au choix :

  • Tarifs contributif (fourchette entre 10 et 20 € / mois) Mais peu de service. Des ateliers d'échanges de pratiques si les gens les organisent entre eux. Si la compagnie des tiers lieux a des subventions pour cela, on pourra déployer du service pour tous.
  • Cofinancement via cobudget des futurs développements comme pour cette première étape
  • Avec des prestataires extérieur (rien encore de formalisé de ce coté)
    • Hébergement avec une qualité de service supérieure au sens où on a le droit à du dépannage avec une plus forte disponibilité avec par exemple pénalités si c'est pas assuré (là où l'association ne contractualise pas ).
    • Et des prestations de service autour de l'application avec formation, accompagnement à la mise en place, etc...

Piste de réflexion : Les prestataires ont une sorte d'agrément par l'association pour certaines activités économiques (par exemple l'amélioration de la qualité de service) car ils ont besoin pour cela d'accès privilégiés à l'hébergement commun (alors que la formation tout le monde peut la faire). Mais ils reversent une partie de leurs CA en contribution à l'association. Cet agrément leur permet aussi d'accéder à des communs partagés entre prestataires (par exemple des réponses à appel d'offre, leurs base de clients, etc... le genre de choses qui n'intéresse pas les lieux mais qui intéresse des gens qui sont dans la posture de prestataire de services).

Veille

Comparatif des solutions pour les tiers lieux

Outil utilisé par la verrière : Php et mysql : reservation.coworking-laverriere.fr Outil de facturation basé sur dolibarr reservation.coworking-laverriere.fr

Possible de fournir le code

Fonctionnement de l'outil de réservation de Mutualab ' A mutualab, ils utilisent google agenda et l'api busy qui permet de récupérer les période libre sur un calendrier

Une fois récupéré, ils scindent la journée en plage horaires et suppriment les plage déjà réservée

La réservation est manuelle (volonté des admins) du coup ça ne fait que poster un message sur slack

A priori, toute la logique se trouve dans le script booking form Voilà le fichier js : https://github.com/Mutualab/mutualab.org/blob/c30dfe509a17fed57e5f79a5a80b3554be7f0284/src/ng/booking-form.js https://github.com/Mutualab/mutualab.org

Si besoin d'un accès au github de la coroutine, dites moi. Avec Cécile, on connait bien. Le site est hébergé par github et est en jekyll



- Solution en pévele Carembault basée sur cyber gestionnaire http://gestionepn.pevelecarembault.fr/ (test / test)


Voir comparatif des outils pour les tiers-lleux


Resources déjà existantes :

https://github.com/la-coroutine/odoo-lacoroutine-workflow

  • Système de gestion de présence de mutualab : https://github.com/Mutualab/simpleticket2
  • Outil propre à la verrière : Voir document
  • Erpnext en cours de mise en place à la cofabrik. Plus libre et simple qu'odoo. Notes générale : Le gros intéret d'erpnext c'est qu'il est customizable sans connaissance web (on clique, comme dans l'esprit Access pour faire des nouveaux documents).

Idée retenue pour l'instant : Erpnext pour tout ce qui est backend de gestion/compta/... et un front comme fabmanager qui balance les factures & co à erpnext (réalisé en exemple sur la boutique en ligne du singe savant (https://github.com/singesavant/salesmonkey) et ça marche très bien. Fabmanager sait aussi faire une facturation légère. Mais pas de compta.

Concernant les rapprochements erpnext sait le faire mais il faut implémenter le backend pour une banque donnée (Le singe savant compte coder cela pour le crédit coop)