Reservation Erpnext

De Movilab.org
Aller à : navigation, rechercher

Actualité

  • 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.

Coût : 3000€

Co-financeurs actuels : La Coroutine 500 - Opteos 300 - WIP 500 - TiersLieuxHauts de France  ? - Vous ?

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.

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.