Gestion des profils and Configuration des réservations externes: Difference between pages

From Documentation de la solution web de gestion OpenFlyers
(Difference between pages)
Jump to navigation Jump to search
 
 
Line 1: Line 1:
=Présentation=
=Présentation=
L'objet de cette page est de présenter la '''gestion des profils''' sur la [[Accueil|version 4 d'OpenFlyers]].
Cette page présente le paramétrage du module de réservations externes.


[[File:Profile-management4.png]]
Voir la page [[Utilisation des réservations externes]] pour la présentation et l'utilisation du module.


=Configurer=
==Créer les champs métiers, les profils, le type d'activité et le type de validité==
;Ajouter les champs métiers pour les réservations externes
*Aller dans '''Admin > Structure › Variables › Champs métiers'''
*Pour chaque ligne du tableau ci-dessous :
**Tout en bas du tableau, sur la dernière ligne renseigner les champs avec les valeurs indiquées dans la ligne correspondante
**Cliquer sur le bouton '''Ajouter'''


Les profils attribués par défaut à un utilisateur créé automatiquement sont définis dans '''Admin > Utilisateurs > Paramètres par défaut'''.
Ce tableau présente la liste des champs métiers à créer obligatoirement, en suivant la procédure en-dessous du tableau, pour éviter tout problème lors de l'utilisation du module de réservations externes.


=Définition=
{| class="wikitable"
*Un '''profil''' correspond à un ensemble de '''droits''' qui définissent les actions que peut effectuer un [[Glossaire|utilisateur]] dans l'application OpenFlyers.
|-
*Un utilisateur peut disposer de '''plusieurs profils'''. L'attribution des profils aux utilisateurs se fait par l'intermédiaire du  [[Gestion des utilisateurs|tableau de gestion des utilisateurs]].
! Nom de variable
! Intitulé
! Catégorie
! Type de valeur
! Remplissage obligatoire
! Catégorie liée
! Champ à lier
|-
| externalLastName
| Nom
| Réservation externe
| Chaîne textuelle
| OUI
| Utilisateur
| last_name
|-
| externalFirstName
| Prénom
| Réservation externe
| Chaîne textuelle
| OUI
| Utilisateur
| first_name
|-
| externalCellPhone
| Téléphone portable
| Réservation externe
| Chaîne textuelle
| OUI
| Utilisateur
| cell_phone
|-
| externalEmail
| E-mail
| Réservation externe
| Chaîne textuelle
| OUI
| Utilisateur
| email
|}


''Exemple de profils : administrateur, pilote, formateur, technicien, mécanicien, trésorier, secrétaire.''


=Icônes symbolisant les droits des profils=
Il est possible d'[[#Ajouter-les-champs-métiers-optionnels|ajouter d'autres champs métiers]] selon les besoins afin d'enrichir le formulaire de réservation externe et de collecter ainsi davantage d'informations auprès des utilisateurs effectuant les réservations.
Dans la page '''Admin > Utilisateurs > Profils''', il faut distinguer deux éléments pour comprendre le principe des icônes. Il y a les droits d'un côté et les profils de l'autre.


Les droits constituent les entêtes du tableau. Chaque entête de colonne correspond à un droit.
;Créer un profil pour les utilisateurs effectuant les activités liées aux réservations externes
L’icône [[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] a été attribuée à l'ensemble de ces droits sauf deux :
*Aller dans '''Admin > Utilisateurs > Profils'''
*[[#Profil-non-sélectionnable-par-l'utilisateur|Profil non sélectionnable par l'utilisateur]] de l'onglet '''Généralités''' à laquelle l'icône [[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] à été attribuée
*Cliquer sur le bouton '''Ajouter un profil'''
*[[#Voir-les-noms-sur-les-réservations|Voir les noms sur les réservations]] de l'onglet '''Réservations''' à laquelle l'icône [[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] à été attribuée
*Renseigner le champ '''Nom du profil''' avec le nom souhaité (exemple : "Pilote baptême")
*Cliquer sur le bouton '''Enregistrer'''
*Cliquer sur l'onglet '''Réservations'''
*Cliquer sur la case à cocher '''Planning personnel''' pour ce profil
*Cliquer sur la case à cocher '''Planning individuel visible pour les autres''' pour ce profil
*Aller dans '''Admin > Utilisateurs > Profils plus'''
Pour les profils qui doivent pouvoir voir les lignes de réservations de ces utilisateurs ou modifier les disponibilités de ces utilisateurs :
*colonne '''Profils visibles''', cocher le profil précédemment créé


Les profils correspondent à chaque ligne du tableau. L'icône d'un profil est variable et dépend des droits qui lui sont attribués.
#L'icône d'un profil sera [[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] si le droit [[#Profil-non-sélectionnable-par-l'utilisateur|Profil non sélectionnable par l'utilisateur]] ci-dessus est coché
#L'icône d'un profil sera [[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] si aucun droit n'est attribué au profil à l'exception du droit [[#Voir-les-noms-sur-les-réservations|Voir les noms sur les réservations]] ci-dessus qui peut être coché ou non
#Dans tous les autres cas, l'icône d'un profil sera [[Fichier:Profile-management3.0.x_Userinfo_connected.gif]]


==Définition des icônes représentant des droits==
;Créer un profil pour les utilisateurs externes
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] : Droit qui définit un profil de base.
*Aller dans '''Admin > Utilisateurs > Profils'''
:[[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] : Droit qui rend un profil non sélectionnable par un utilisateur lors de sa connexion.
*Cliquer sur le bouton '''Ajouter un profil'''
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] : Droit qui rend un profil de type "kiosque" (voir [[Kiosque PC]]) permettant de consulter le planning uniquement. Si au moins un droit de base est activé, le profil devient un profil de base.
*Renseigner le champ '''Nom du profil''' avec le nom souhaité (exemple : "Client baptême")
*Cliquer sur le bouton '''Enregistrer'''
''Note : Le profil ne doit avoir aucun droit''


==Définition des icônes attribuées aux profils==
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] : Profil de base
:[[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] : Profil non sélectionnable par un utilisateur lors de sa connexion.
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] : Profil de type "kiosque" (voir [[Kiosque PC]]) permettant de consulter le planning uniquement. Toute modification ou saisie par un utilisateur nécessitera une identification par le biais d'une fenêtre "pop-up" demandant à l'utilisateur son propre identifiant et mot de passe.


=Niveau d'accréditation des droits et des profils=
;Créer un type d'activité
Les niveaux d'accréditation vont de 0 à 6 :
Si nécessaire, il faut créer un type d'activité dédié aux réservations externes :
*0 représente le niveau le plus bas
*Aller dans '''Admin > Types d'activités > Actifs'''
*6 représente le niveau le plus élevé
*Cliquer sur le bouton "+" en haut à droite du tableau '''Liste des types d'activités'''
*Renseigner le champ '''Nom''' avec le nom du type d'activité souhaité (exemple : "Baptême")
*Cliquer sur le bouton '''Enregistrer'''
'''Attention :''' le nom du type d'activité apparait sur l'interface de réservation externe. Afin qu'il s'intègre correctement, sans créer de faute d'orthographe, il doit être un groupe nominal masculin.


Chaque droit dispose d'un niveau d'accréditation qui lui est propre : plus le droit permet de faire des actions pouvant avoir des conséquences sur les données, plus le niveau d'accréditation est élevé.
Exemples :
*Baptême de l'air
*Vol découverte


Chaque profil dispose également d'un niveau d'accréditation. Le niveau d'accréditation d'un profil correspond au niveau d'accréditation le plus élevé des droits détenus par le profil.
Déconseillé :
* Balade découverte


La page '''Admin > Utilisateurs > Profils''' indique les niveaux d'accréditation à la fois des droits et des profils :
*Les droits sont indiqués dans les entêtes de chaque colonne. Le niveau d'accréditation du droit est indiqué en dessous du nom du droit dans un cercle.
*Les profils sont indiqués à chaque ligne du tableau. le niveau d'accréditation du profil est indiqué en dessous du nom du profil dans un cercle.
Le niveau d'accréditation 6 est affiché en inverse vidéo par rapport aux autres niveaux pour le distinguer.


Un gestionnaire disposant le droit de gérer des utilisateurs ne peut attribuer un profil à un utilisateur qui soit plus élevé que le profil le plus élevé qu'il détient lui-même.
;Créer un type de validité pour stocker une preuve d'achat
Il est possible de donner la possibilité aux utilisateurs externes de fournir un document permettant d'attester d'une commande effectuée par ailleurs et donnant le droit d'effectuer une réservation. Ce document est alors stocké dans une validité. Pour ce faire :
*Aller dans '''Admin > Utilisateurs > Types de validités'''.
*Cliquer sur le bouton '''Ajouter un type de validité'''.
*Lui donner un nom comme "Bon d'achat" et cocher '''Associer un document'''.
*Valider en cliquant sur '''Enregistrer'''.
*Aller dans '''Admin > Utilisateurs > Profils plus'''.
*Vérifier que les profils pouvant gérer cette validité ont bien la validité en question dans la liste '''Types de validités que l'utilisateur peut gérer et certifier'''.


Lorsqu'une plateforme dispose de plus de 3 utilisateurs avec le niveau 6, [[Alertes-de-configuration#La-plateforme-a-plus-de-3-utilisateurs-actifs-avec-un-profil-de-niveau-6.-Les-utilisateurs-concernés-sont-:-XXX|une alerte de configuration est affichée]].
==Paramétrer le module de réservations externes==
;Activer et paramétrer le module des réservations externes
*Aller dans '''Admin > Structure > Paramétrage > Réservations externes'''
*Activer l'interrupteur '''Réservations externes'''
Renseigner les champs suivants avec les paramètres souhaités :
*'''Synchronisation avec une API REST tierce''' (facultatif, voir [[#Interfacer-les-réservations-externes-avec-un-service-web-de-gestion-des-codes-de-référence-de-vente|Interfacer les réservations externes avec un service web de gestion des codes de référence de vente]])
*'''Heure de début (fuseau X)'''
*'''Heure de fin (fuseau X)'''
*'''Durée d'une réservation externes'''
*'''Permettre de choisir la durée d'activité'''
*'''Utiliser la couleur de la 1ère ressource disponible pour chaque créneau''': permet d'activer [[#Coloriser-les-créneaux-disponibles-en-fonction-de-la-1ère-ressource-disponible|Colorisation des créneaux disponibles en fonction de la 1ère ressource disponible]]
*'''Interdire d'effectuer une réservation débutant dans moins de''' (la valeur minimale ne peut être inférieure à la valeur définie dans le [[Configuration-des-réservations-internes#Interdire-d'effectuer-une-réservation-débutant-dans-moins-de|Interdire d'effectuer une réservation débutant dans moins de]] du formulaire de configuration des réservations internes
*'''Interdire d'effectuer une réservation se terminant dans plus de'''
*'''Interdire d'annuler une réservation débutant dans moins de '''
*'''Limitation du nombre de réservations'''
*'''Autoriser uniquement les emails des utilisateurs actifs''': lorsque activé, permet de n'envoyer un email de demande de confirmation qu'aux adresses emails d'un utilisateur actif, c'est à dire pour une adresse email présente en base de données.
*'''Profil utilisateur partie prenante''' : sélectionner le profil créé précédemment ("Pilote baptême" dans l'exemple)
''Note : Si '''Aucun''' est sélectionné, les périodes disponibles pour une réservation externe sont déterminées uniquement en fonction de la disponibilité des ressources''
*'''Filtrer les utilisateurs avec le champ métier''' et '''Filtrer les ressources avec le champ métier''' (voir [[#Filtrer-les-utilisateurs/ressources-prises-en-compte-pour-les-créneaux-horaires-disponibles|Filtrer les utilisateurs/ressources prises en compte pour les créneaux horaires disponibles]])
*'''Profil à affecter aux clients''' : sélectionner le profil créé par précédemment ("Client baptême" dans l'exemple)
*'''Type d'activité à affecter aux réservations''' : sélectionner le type d'activité à affecter aux réservations externes. Exemple : "Baptême".
*'''Demander une pièce jointe et l'enregistrer dans le type de validité suivant ''' : si un type de validité pour stocker une preuve d'achat a été créé dans le paramétrage préliminaire, sélectionner la validité correspondante. Sinon, laisser vide
**Modifier le label associé au champ d'importation de la pièce jointe qui apparait dans l'interface de la saisie des coordonnées en éditant le champ '''Nom du champ pour la pièce jointe'''.
**Préciser si l'import de la pièce jointe est obligatoire ou facultative en sélectionnant l'une des deux options du champ '''Pièce jointe'''.
*'''Enregistrer la référence transmise en paramètre GET en tant que''' (voir [[#Affecter-la-référence-du-bon-d'achat-à-la-réservation-externes|Affecter la référence du bon d'achat à la réservation externes]])
*'''Template de l'e-mail de confirmation de réservation''' (voir l'exemple [[#Template-e-mail-de-confirmation-de-réservation|Template e-mail de confirmation de réservation]])
*'''Personnaliser l'objet de l'e-mail d'annulation de réservation''' (voir l'exemple [[#Template-e-mail-d'annulation-de-réservation|Template e-mail d'annulation de réservation]])
*Cliquer sur le bouton '''Enregistrer'''
*'''Template de l'e-mail d'annulation de réservation''' (voir l'exemple [[#Template-e-mail-d'annulation-de-réservation|Template e-mail d'annulation de réservation]]
*Cliquer sur le bouton '''Enregistrer'''


Lorsqu'un droit de niveau 6 est accordé à un profil, une alerte est générée si cela entraîne plus de 3 utilisateurs de niveau 6.
L'interface des réservations externes ('''Planning > Planning > Réservations externes'''). Devrait désormais afficher un calendrier (vide)


=Profils=
==Associer les ressources et les utilisateurs==
La gestion des profils s'effectue depuis le menu '''Admin > Utilisateurs > Profils'''.
;Ajouter des ressources pouvant être utilisées pour les réservations externes
*Aller dans '''Gestion > Ressources > Actives'''.
*Choisir la ressource à ajouter et cliquer sur l'icône '''modifier'''.
*Cocher '''Peut être utilisé pour les réservations externes''' dans la colonne '''Champs métier'''.
*Valider en appuyant sur le bouton '''Enregistrer'''.


Le nombre d'onglets disponible dépend du paramétrage de la plateforme OpenFlyers. Par exemple, si la gestion des activités est activée, alors l'onglet ''Activités'' est disponible.


==Généralités==
;Ajouter des utilisateurs pouvant être affectés à des réservations externes
*Aller dans '''Gestion > Utilisateurs > Utilisateurs > Actifs'''
*Choisir un utilisateur à ajouter et cliquer sur l'icône '''modifier'''
*Dans la liste '''profil''' sélectionner le profil indiquant que l'utilisateur peut être sur des réservations externes
*Valider en appuyant sur le bouton '''Enregistrer'''
*Aller dans '''Planning > Données > (In)disponibilités''' et indiquer les disponibilités de l'utilisateur


===Profil non sélectionnable par l'utilisateur===


Lors de la connexion et lorsqu'un utilisateur doit faire le choix entre un profil pour se connecter, les [[Bien-débuter-avec-OpenFlyers#Attribuer-les-profils-aux-utilisateurs|profils non sélectionnables]] ne seront pas proposés parmi la liste. Ce droit ne peut pas être attribué à un profil ayant des droits de gestion.
;Gérer les places


===Pas de déconnexion automatique===
Aller dans '''Admin > Utilisateurs > Profils plus''', dans la colonne '''Attribution de place''' :
Ce droit permet d'éviter la [[Connexion#Automatique|déconnexion automatique de la session]] au bout de 10 minutes et étend la connexion à 2 heures.


===Accès visiteur===
* S'assurer que le profil des clients externes puisse s'attribuer une place de pilote ('''place de gauche''') sur les types de ressources concernés par les baptêmes de l'air.
L'accès visiteur permet de [[Kiosque-PC#Créer-un-compte-utilisateur-Visiteur|créer un compte visiteur]] donnant un accès limité destiné à pouvoir être utilisé par n'importe quelle personne.
* S'assurer que le profil des pilotes pouvant effectuer un baptême puisse s'attribuer une place d'instructeur ('''place de droite''') sur les types de ressources concernés par les baptêmes de l'air.


Cet accès permet également de créer un lien vers OpenFlyers avec une connexion automatique en passant les identifiants via l'URL.
=Paramétrages facultatifs=
==Affecter la référence du bon d'achat à la réservation externe==
Il est possible d'affecter le code de la référence du bon d'achat à la réservation externe en fonction de paramètre attribué dans un champ métier réservation.


Si un visiteur [[#Réservation|peut réserver]] - dépend du paramétrage - alors, lors de la création d'une réservation, [[Utilisation-du-planning-de-réservation#Créer-automatiquement-un-utilisateur-en-créant-une-réservation|le système va générer automatiquement un compte utilisateur]] à partir des informations que le visiteur aura saisi. Le visiteur sera connecté automatiquement sur ce nouveau compte.
Voici un exemple de paramétrage permettant d'ajouter le champ métier dédié au stockage de la référence du bon d'achat :
*Aller dans '''Admin > Structure > Variables > Champs métiers'''
Sur la dernier ligne :
*Colonne '''Nom de variable''', renseigner "reference"
*Colonne '''Intitulé''', renseigner "Référence d'achat"
*Colonne '''Catégorie''', sélectionner ''Réservation''
*Colonne '''Type de valeur''', sélectionner ''Chaîne textuelle''
*Cliquer sur le bouton '''Ajouter'''


===Mise à jour de sa date de naissance, de son sexe et de sa nationalité===
*Aller dans '''Admin > Structure > Paramétrage > Réservations externes'''
*Champ '''Enregistrer la référence transmise en paramètre GET en tant que''' : sélectionner le champ préalablement créé '''Référence d'achat (reference)'''
*Cliquer sur le bouton '''Enregistrer'''


Permet à un utilisateur de modifier [[Fiche-personnelle#Mettre-à-jour-sa-date-de-naissance,-sa-nationalité-ou-son-sexe|sa date de naissance, sa nationalité et/ou son sexe dans sa fiche personnelle]].
Cela permet de capturer le code associé au paramètre GET '''reference''' passé dans l'URL permettant d'afficher l'interface de réservations externes et de le stocker dans le champ métier '''Référence d'achat''' lors de l'enregistrement de la réservation.


===Voir ses validités===
Exemple :
<pre>https://localhost/4.0/externalBooking.php?reference=AZERTY</pre>
Permet d'attribuer le code de référence d'achat ''AZERTY'' à la réservation en cours.


Permet d'[[Validités#Consulter-et-gérer-ses-validités-ou-celles-d'un-tiers|accéder à ses validités depuis le planning]].
==[[Champs-métiers#Ajouter-un-champ-métier|Ajouter les champs métiers]] optionnels==


===Ajout et gestion de ses validités===
Il est possible d’ajouter d’autres champs métiers lors de l’utilisation du module de réservations externes, à condition de respecter les exigences suivantes lors de leur [[Champs-métiers#Ajouter-un-champ-métier|création]] :


Permet à un [[Validités#Consulter-et-gérer-ses-validités-ou-celles-d'un-tiers|utilisateur de rajouter/supprimer/mettre à jour ses validités]] qui sont dans la liste [[#Type-de-validité-que-l'utilisateur-peut-gérer|Type de validité que l'utilisateur peut gérer]] et pour la mise à jour, sous réserve que le type de validité dispose d'informations qui peuvent être mises à jour.
* '''Nom du champ''' :  Ajouter le préfixe '''external''' au début du nom pour indiquer qu'il s'agit d'un champ métier externe.
* '''Catégorie''' : Sélectionner '''Réservation externe''' comme catégorie.
* '''Remplissage obligatoire''' : Cocher cette case si le champ doit être complété par l’utilisateur.
* '''Catégorie liée''' : Associer le champ métier à la catégorie correspondante ('''Utilisateur''' / '''Réservation''').
* '''Champ à lier''' : Associer le champ au '''champ métier''' (si celui-ci n'existe pas, il faut le créer) ou bien au '''champ original''' de la catégorie liée, ce champ lié indique l’endroit où la valeur saisie par le client externe est enregistrée.


===Gestion de ses validités détenues===
==Ajouter une règle pour les réservations externes==


Permet à un [[Validités#Consulter-et-gérer-ses-validités-ou-celles-d'un-tiers|utilisateur de mettre à jour/supprimer uniquement les validités]] qui lui sont déjà attribuées et qui sont dans la liste [[#Type-de-validité-que-l'utilisateur-peut-gérer|Type de validité que l'utilisateur peut gérer]] et pour la mise à jour, sous réserve que le type de validité dispose d'informations qui peuvent être mises à jour.
Aller dans '''Admin > Structure > Paramétrage > Réservations internes'''.


===Surpasser les restrictions sur les validités===
Dans '''Régles de saisie XML''' ajouter une règle de la forme suivante :
Permet à un utilisateur de surpasser les [[Connexion#Restriction_d'accès|restrictions d'accès]] dues à des validités expirées, incomplétes ou non certifiées qui sont [[Validités#Contrôle-des-validités-à-la-connexion|appliquées à la connexion]].


Voir le chapitre [[Paramétrage-des-validités#Alerte-à-la-connexion|Alerte à la connexion]] pour le paramétrage des restrictions sur les validités.
<syntaxhighlight lang="xml">
<rule>
    <activityTypeList>
        <activityType><!-- ID de l'activité "baptême de l'air" --></activityType>
    </activityTypeList>
    <resourceTypeList minQty="1" maxQty="1">
        <resourceType>*</resourceType>
    </resourceTypeList>
    <placeList>
        <place index="0" minQty="1" maxQty="1" status="4">
            <profile><!-- ID du profil des clients externes --></profile>
        </place>
        <place index="1" minQty="1" maxQty="1" status="4">
            <profile><!-- ID du profil des pilotes pouvant faire des baptême de l'air --></profile>
        </place>
    </placeList>
</rule>
</syntaxhighlight>


===Editer sa photo===
==Coloriser les créneaux disponibles en fonction de la 1ère ressource disponible==
Le paramètrage suivant permet de définir la couleur de fond en fonction de la couleur de la première ressource disponible dans le tableau des créneaux disponibles des réservations externes:
*[[Gestion-des-ressources#Changer-la-couleur-de-la-ligne-du-planing-de-la-ressource|Changer la couleur de la ligne du planing de la ressource]]
*Aller dans '''Admin > Structure > Paramétrage > Réservations externes'''
*Champ '''Utiliser la couleur de la 1ère ressource disponible pour chaque créneau''' : activer l'interrupteur


Permet à un utilisateur [[Fiche-personnelle#Editer-sa-photo|d'importer ou de supprimer sa photo dans sa fiche personnelle]].
==Configurer la vente des produits externes==
;prérequis
*Avoir [[#Configurer|activé les réservations externes]]


==Réservation==
;procédure
Pour fournir des produits externes à vendre via l'interface de réservation externe, suivre les étapes suivantes :


===Planning personnel===
*Configurer des produits externes
** Aller dans '''Admin > Ventes > Produits > Produits'''
** Cocher la case dans la colonne intitulée '''Produit externe''' pour les produits concernés


Permet de visualiser son propre planning.
*[[Gestion-des-produits-et-des-ventes#Mettre-en-place-une-règle-de-facturation-générale-pour-les-produits|Configurer les règles de facturations]]
**Aller dans '''Admin > Ventes > Facturation > Produits'''
**Modifier/Ajouter une ligne de facturation
**Cocher le produit externe désiré dans la liste située dans la quatrième colonne intitulée '''Produits externes'''
**Cliquer sur '''Enregistrer'''


===Planning individuel visible pour les autres===
*Configurer imputé pour les ventes externes
**Aller dans '''Admin > Structure > Paramétrage > Comptes'''
**Activer l'interrupteur '''Ventes externes''' situé dans la 3ème colonne
**Sélectionner le compte par défaut pour la facturation externe dans le champ '''Compte imputé pour les ventes externes'''
**Sélectionner le type de paiement dans le champ '''Type d'encaissement par internet'''
**Sélectionner la comptabilité dans le champ '''Comptabilité pour le format monétaire'''
**Cliquer sur '''Enregistrer'''


Permet de rendre disponible son planning aux autres utilisateurs.
*[[Champs-métiers#Ajouter-un-champ-métier|Ajouter les champs métiers]] requis pour le processus de paiement
**Aller dans '''Admin > Structure > Variables > Champs métiers'''


===Personnaliser ses ressources visibles===
Ce tableau présente la liste des champs métiers à créer obligatoirement pour éviter tout problème lors de l'utilisation du module de réservations externes avec les ventes externes.
{| class="wikitable"
|-
! Nom de variable
! Intitulé
! Catégorie
! Type de valeur
! Remplissage obligatoire
! Catégorie liée
! Champ à lier
|-
| externalAdresse
| adresse
| Réservation externe
| Chaîne textuelle
| OUI
| Utilisateur
| adress
|-
| externalCity
| Ville
| Réservation externe
| Chaîne textuelle
| OUI
| Utilisateur
| city
|-
| externalZipCode
| code postal
| Réservation externe
| Chaîne textuelle
| OUI
| Utilisateur
| zipcode
|-
| externalCountry
| pays
| Réservation externe
| Chaîne textuelle
| OUI
| Utilisateur
| country
|}


Permet de personnaliser la [[Fiche-personnelle#Paramétrer-les-ressources-et-les-utilisateurs-visibles-sur-le-planning|liste des ressources et utilisateurs visibles dans le planning depuis sa fiche utilisateur]].
==Filtrer les utilisateurs/ressources prises en compte pour les créneaux horaires disponibles==
Il est possible de restreindre les utilisateurs et/ou les ressources en fonction de paramètres attribués dans un champ métier utilisateur/ressource


===Gérer ses disponibilités===
Voici un exemple de paramétrage permettant de prendre en compte les utilisateurs en fonction de leur base géographique d'affectation :
*Aller dans '''Admin > Structure > Variables > Champs métiers'''
Sur la dernier ligne :
*Colonne '''Nom de variable''', renseigner "locationPerson"
*Colonne '''Intitulé''', renseigner "Base géographique"
*Colonne '''Catégorie''', sélectionner ''Utilisateur''
*Colonne '''Type de valeur''', sélectionner ''dbObject:Location''
*Cliquer sur le bouton '''Ajouter'''


Permet la gestion de [[Gestion-des-disponibilités#Gérer-la-disponibilité-des-intervenants|ses propres disponibilités]].
*Aller dans '''Admin > Structure > Paramétrage > Réservations externes'''
*Champ '''Filtrer les utilisateurs avec le champ métier''' : sélectionner le champ préalablement créé '''Base géographique (locationPerson)'''
*Cliquer sur le bouton '''Enregistrer'''


===Gestion des disponibilités des tiers===
Cela permet de ne prendre en compte que les utilisateurs pour lesquels le champ métier ''Base géographique'' correspond au paramètre GET locationPerson passé dans l'URL permettant d'afficher l'interface de réservations externes.


Permet de gérer la [[Gestion-des-disponibilités#Gérer-la-disponibilité-des-intervenants|disponibilité des utilisateurs]].
Exemple :
<pre>https://localhost/4.0/externalBooking.php?locationPerson=LFBD</pre>
Permet de ne prendre en compte que les utilisateurs disponibles ayant dans le champ '''Base géographique''' la valeur ''LFBD (BORDEAUX MERIGNAC)''.


===Etre sur une nouvelle réservation===
==Interfacer les réservations externes avec un service web de gestion des codes de référence de vente==
Permet lors d'une nouvelle réservation, que l'utilisateur disposant du profil concerné soit autorisée à être sur une des places.  
OpenFlyers implémente un interfaçage vers une API REST tierce de gestion des codes qui permet de vérifier si le code de référence renseigné par l'utilisateur ou transmis via l'URL est valide ou non.


Permet entre autre à un utilisateur tiers, de pouvoir effectuer de nouvelles réservations pour un utilisateur disposant du profil concerné et n'ayant pas de droit [[#Réservation-solo|Réservation solo]], [[#Réservation-pour-des-tiers|Réservation pour des tiers]] ou [[#Réservation-avec-un-instructeur|Réservation avec un instructeur]].
Les échanges se font au format JSON.


===Réservation solo===
OpenFlyers renvoie à l'API la date de la réservation, le type de ressource et les coordonnées de la personne en charge de l'activité lors de la prise de réservation externe ou lors de son annulation.


Autorise un utilisateur de réserver une ressource avec lui-même en première place.
Pour interfacer OpenFlyers avec l'API, il faut :
*Aller dans '''Admin > Structure > Paramétrage > Réservations externes'''
*Champ '''Synchronisation avec une API REST tierce''' : activer le '''toggle switch'''.


===Réservation pour des tiers===
Renseigner les champs suivants avec les paramètres souhaités :
*'''URL de l'API REST tierce''' : Assigner le lien de base de l'API
*'''Jeton d'authentification''' : Assigner le Jeton d'authentification de l'API


Autorise la réservation d'une ressource pour un autre utilisateur (en solo et/ou double selon les droits du profil de cet utilisateur tiers).
Une fois que la configuration est faite par OpenFlyers, les opérations suivantes s'effectuent systématiquement :
*Vérification de la validité du code de référence via le lien '''externalBookingWebServiceURL/{code}''' avec la méthode '''GET''', auquel l'API doit répondre en transmettant un JSON sous le format suivant :
<syntaxhighlight lang="javascript">
{
  "validity": true,
  "code": "Code_De_Référence",
  "buyer_name": "Nom_Agence_web",
  "validity_date": "YYYY-MM-DD",
  "video": "true",
  "cancellable": "true",
  "activity_type": 4,
  "booking_duration": "45"
}
</syntaxhighlight>


===Réservation avec un instructeur===
NB:Le code est valide si la valeur de '''validity''' est '''true'''.
*Si la variable '''booking_duration''' est définie et contient une valeur multiple de '''15''', elle sera utilisée à la place du paramètre '''Durée d'une réservation externe'''.
*Si la variable '''activity_type''' est définie et correspond à l'id d'un type d'activité actif, la valeur sera utilisée à la place du paramètre ''' Type d'activité à affecter aux réservations'''.


Autorise la réservation d'une ressource avec une personne en seconde place.


===Réservation de programmes===
*Notification à l'API tierce d'une nouvelle réservation via le lien '''externalBookingWebServiceURL/{code}/activate'''  avec la méthode '''PUT''', en passant les données de requête suivantes :
Autorise [[Planning-(interface-légère)#Positionner-automatiquement-les-activités-d’un-programme-de-formation|le positionnement automatique des activités d’un programme de formation dans le planning]].
<syntaxhighlight lang="javascript">
{
    "date" : "2022-04-05T06:00:00Z", //date de la réservation en format ISO UTC
    "resource_type" : "le type de la ressource utilisée dans la réservation",
    "structure_person_name" : "le nom du pilote",
    "structure_person_email" : "l'email du pilote",
    "structure_person_phone" : "le numéro de téléphone du pilote"
}
</syntaxhighlight>
- En retour l'API doit répondre en cas de succès :
<syntaxhighlight lang="javascript">
{
  "status": true
}
</syntaxhighlight>


===Gestion des disponibilités des ressources===
- En retour l'API doit répondre en cas d'échec :
<syntaxhighlight lang="javascript">
{
  "status": false,
  "error_msg": "le message d'erreur"
}
</syntaxhighlight>


Sur l'ancienne interface, permet de gérer la disponibilité des ressources et de les immobiliser (pour entretien, maintenance, réparation, arrêt d'activité, ...).


Cela se fait comme pour une réservation, une case "immobiliser la ressource" est alors disponible. Sur la frise de réservation, il sera indiqué "Mise en maintenance" pour la période demandée.
*Notification à l'API tierce de l'annulation d'une réservation via le lien '''externalBookingWebServiceURL/{code}/release''' avec la méthode '''PUT'''


===Surpasser l'indisponibilité des instructeurs===  
- En cas de la réussite de la notification, l'API répond :
<syntaxhighlight lang="javascript">
{
  "status": true
}
</syntaxhighlight>


Autorise la réservation d'une ressource avec un instructeur même si celui-ci n'est pas enregistré comme disponible durant la plage horaire de la réservation (Un message d'alerte prévient quand même. Fonction utile pour les instructeurs et le secrétariat).
- En cas d'échec l'API répond :
<syntaxhighlight lang="javascript">
{
  "status": false,
  "error_msg": "le message d'erreur"
}
</syntaxhighlight>


===Surpasser l'indisponibilité des ressources===


Autorise la réservation d'une ressource même si celle-ci n'est pas enregistrée comme disponible durant la plage horaire de la réservation (Un message d'alerte prévient quand même).
'''Exemple de la communication en PHP avec l'API:'''
<syntaxhighlight lang="php">
// Prepare data to send by request
$requestData = array(
    'date'                   => "2022-04-05T06:00:00Z", //date de la réservation en format ISO UTC
    'resource_type'          => 'resource_type',
    'structure_person_name'  => 'pilot_full_name',
    'structure_person_email' => 'pilot_email',
    'structure_person_phone' => 'pilot_cell_phone',
);
// Initialize a curl session
$curl = curl_init();
// Set options
curl_setopt_array($curl, array(
                CURLOPT_URL            => 'externalBookingWebServiceURL/42E390B0D843561F/activate',
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_FOLLOWLOCATION => true,
                CURLOPT_CUSTOMREQUEST  => 'PUT',
                CURLOPT_HTTPHEADER    => array('Content-Type: application/json', 'Authorization: Bearer uqpsildfqtw5o2qq9o45guz3ydfceehb'),
                CURLOPT_SSL_VERIFYPEER => false,
                CURLOPT_POSTFIELDS    => json_encode($requestData),
));
// Execute the curl session
curl_exec($curl);
// Close curl session
curl_close($curl);
</syntaxhighlight>


===Surpasser l'interdiction d'effectuer une réservation dans moins de X temps===
=Templates d'email=
==Template e-mail d'annulation de réservation==
* Définir la template de l'e-mail dans le champ '''Template de l'e-mail d'annulation de réservation''' dans l'interface de paramétrage '''Réservations externes'''.
Exemple de template d'e-mail par défaut:
<pre>
Madame, Monsieur %CLIENT_FULL_NAME,


Autorise la réservation en annulant l'interdiction "d'effectuer une réservation débutant dans moins de" .
Nous sommes au regret de vous informer de l'annulation de votre réservation sur l'appareil %RESOURCE_NAME le %DATE, de %START_TIME à %END_TIME
avec comme pilote %PILOT_FULL_NAME.


===Surpasser la limite de durée minimum===
Cette opération a été effectuée par %AUTHENTICATION_LOGIN


Autorise la réservation en annulant la restriction sur la durée minimum d'une réservation.
Vous pouvez nous contacter par téléphone pour trouver un nouveau créneau disponible.


===Surpasser la limite de durée maximum===
Annuler la réservation&nbsp;: %%BOOKING_CANCEL_URL


Autorise la réservation en annulant la restriction sur la durée maximum d'une réservation.
En vous remerciant par avance pour votre compréhension,


===Surpasser la limite de temps===
Cordialement,
</pre>


Autorise la réservation en annulant la restriction sur la limitation dans le temps des réservations.
* Personnaliser l'objet de l'e-mail dans le champ '''Personnaliser l'objet de l'e-mail d'annulation de réservation''' dans l'interface de paramétrage '''Réservations externes'''.
Exemple de l'objet d'e-mail par défaut:
<pre>Annulation de votre réservation %STRUCTURE_NAME</pre>


===Surpasser la limite de nombre===
*L'e-mail est envoyé immédiatement après l'annulation de la réservation.


Autorise la réservation en annulant la restriction sur le nombre maximum de réservation.
==Template e-mail de confirmation de réservation==
* Définir la template de l'e-mail dans le champ '''Template de l'e-mail de confirmation de réservation''' dans l'interface de paramétrage '''Réservations externes'''.


===Surpasser la réservation par type===
Exemple de template d'e-mail par défaut:
<pre>
Votre %ACTIVITY_TYPE_NAME a été réservé avec succès.


En cas de chevauchement, cela permet de déplacer la réservation sur une autre ressource de type différent.


===Alertable par e-mail pour toute réservation===
Numéro du bon de réservation: %BOOKING_ID
Réservé au nom de: %CLIENT_FULL_NAME
Date: %DATE, de %START_TIME à %END_TIME
Votre pilote: %PILOT_FULL_NAME
Son adresse e-mail: %PILOT_EMAIL
Son numéro de téléphone portable: %PILOT_CELL_PHONE
Votre appareil: %RESOURCE_NAME
Vous recevrez un email de confirmation ou d'annulation de la demande au plus tard %CANCEL_BOOKING_MIN_TIME avant le vol projeté.


Permet la [[Fiche-personnelle#Recevoir-un-e-mail-pour-les-réservations-ayant-pour-activité|notification par e-mail pour toute réservation]].
Annuler la réservation:


===Créer ou modifier une réservation avec une date de début dépassée===
Afin d'annuler votre réservation, veuillez cliquer sur le lien ci-dessous.
<a href="%BOOKING_CANCEL_URL" >Cliquez ici pour annuler.</a>


Autorise à créer ou modifier une réservation dont la date de début est dépassée.
À bientôt!
</pre>
* L'e-mail est envoyé immédiatement après l'enregistrement de la réservation


===Supprimer une réservation avec une date de début dépassée===
==Variables==
 
{| class="wikitable"
Autorise à supprimer une réservation dont la date de début est dépassée.
|-
 
! Nom de la variable
===Voir les noms sur les réservations===
! Valeur de la variable
Permet de visualiser les noms des utilisateurs associés à la réservation.
|-
 
| %ACTIVITY_TYPE_NAME
===Voir les activités sur les réservations===
| Le nom du type d'activité affecté aux réservations.
Permet de [[Planning-(interface-légère)#Affichage-des-activités-sur-les-réservations|visualiser les types d'activités associés à chaque réservation]].
|-
 
| %AUTHENTICATION_LOGIN
===Voir les images des pilotes sur le menu contextuel===
|Le nom + prénom d'utilisateur connecté
Permet de [[Planning-(interface-légère)#Affichage-des-images-des-pilotes-sur-le-menu-contextuel|visualiser images des pilotes associés à chaque réservation sur le menu contextuel]] lorsqu'on survole ou effectue un clic droit sur la réservation.
|-
 
| %BOOKING_CANCEL_URL
===Surpasser les formules de saisie===
| Lien pour annuler la réservation
Permet de surpasser les règles de saisie sur les réservations.
|-
 
| %BOOKING_ID
===Champs additionnels visualisables dans les pop-ups de réservation===
| Le numéro de commande. / L'identifiant de la réservation.
 
|-
Permet de visualiser le contenu des champs additionnels dans la pop-up de réservation.
| %CLIENT_FULL_NAME
 
| Le nom + prénom du client.
==Activités==
|-
 
| %CANCEL_BOOKING_MIN_TIME
===Etre sur une nouvelle ouverture d'activité===
| Le délai minimum avant la réservation pour l'annuler.
Permet lors d'une nouvelle ouverture d'activité, que la personne disposant du profil concerné soit autorisée à être sur une des places.
|-
 
| %DATE
Permet entre autre à une personne tierce, de pouvoir effectuer de nouvelles ouvertures d'activité pour une personne disposant du profil concerné et n'ayant pas le droit [[#Saisie-d'activité-pour-soi-même|Saisie d'activité pour soi-même]] ou [[#Saisie-d'activité-pour-un-tiers|Saisie d'activité pour un tiers]].
| La date de la réservation.
 
|-
===Etre sur une nouvelle fermeture d'activité===
| %END_TIME
Permet lors d'une nouvelle fermeture d'activité, que la personne disposant du profil concerné soit autorisée à être sur une des places.
| L'heure de fin de la réservation.
 
|-
Permet entre autre à une personne tierce, de pouvoir effectuer de nouvelles fermetures d'activité pour une personne disposant du profil concerné et n'ayant pas le droit [[#Saisie-d'activité-pour-soi-même|Saisie d'activité pour soi-même]] ou [[#Saisie-d'activité-pour-un-tiers|Saisie d'activité pour un tiers]].
| %EXTRAFIELDxx
 
| Permet de récupérer le contenu d'un champ métier. xx = numéro d'identifiant du champ métier. Exemple : %EXTRAFIELD35
===Saisie d'activité pour soi-même===
|-
Autorise la saisie des vols et permet aussi à l'utilisateur de voir son carnet de vols.
| %PILOT_EMAIL
 
| L'adresse email du pilote.
Permet également de supprimer ses propres vols depuis son carnet de vol et depuis le [[Carnet-de-route#Modifier-et-supprimer|carnet de route]].
|-
 
| %PILOT_HOME_PHONE
===Saisie d'activité pour un tiers===
| Le numéro de téléphone personnel du pilote.
Autorise la saisie des vols pour des tiers et permet de voir les carnets de vols des utilisateurs.
|-
 
| %PILOT_WORK_PHONE
Permet également de supprimer les vols des tiers depuis le carnet de vol d'un utilisateur et depuis le [[Carnet-de-route#Modifier-et-supprimer|carnet de route]].
| Le numéro de téléphone professionnel du pilote.
 
|-
===Vérifier la saisie des activités et les modifier===
| %PILOT_CELL_PHONE
 
| Le numéro de téléphone portable du pilote.
Permet de voir les carnets de vols des utilisateurs et de pointer les vols (vérification qui entérine un vol et qui rend ainsi sa modification ou suppression impossible), permet ainsi de voir les "vols oubliés" aussi (trous dans les horamètres).
|-
 
| %PILOT_FULL_NAME
===Visualisation du carnet de route===
| Le nom + prénom du pilote.
 
|-
Accorde (ou pas) le droit de visualiser le carnet de route de chaque ressource aéronef.
| %RESOURCE_NAME
 
| Le nom de la ressource réservée.
===Visualisation de son carnet de vol===
|-
 
| %START_TIME
Autorise l'utilisateur à voir son carnet de vol.
| L'heure de début de la réservation.
 
|-
===Visualiser les traces de vol===
|%STRUCTURE_NAME
 
|Le nom de la structure
Permet de [[Interfaçage-OpenFlyers-et-Charterware#Récupération-des-traces-de-vols|visualiser les traces d'un vol]].
|}
 
===Attribution de place===
 
Permet d'attribuer les places auxquelles sont autorisées les utilisateurs de ce profil. Cela impacte sur les listes des utilisateurs qui se nttrouve à la saisie d'une réservation ou d'une activité.
 
Ces listes sont accessibles depuis '''Planning > Planning > Réserver''' et '''Planning > Activités > Saisir une activité'''.
 
La page '''Admin > Type de ressource > Places''' permet de gérer les places d'un type de ressource. Elle permet également de définir qui a le droit d'être sur telle place en cas de restriction de profil.
 
===Alerté par e-mail pour le renouvellement des validités de tous les utilisateurs===
 
Ce droit permet de suivre le renouvellement des validités par les utilisateurs en étant alerté par un [[Envoi-des-emails#E-mail-d'information-des-actions-des-utilisateurs-sur-des-validités|e-maild'information des actions des utilisateurs sur des validités]] à chaque fois qu'un utilisateur renouvelle une validité sélectionnée dans la liste de la cellule '''Alerté par e-mail pour le renouvellement des types de validités'''. Attention : la mise en place de ce droit peut provoquer la réception de nombreux e-mails.
 
==Formations==
===Voir les suivis de formations===
Autorise l'utilisateur à [[Gestion-des-activités#Consulter-le-suivi-de-formation|voir les suivis de formations]] de tous les utilisateurs.
 
===Gestion des formations===
Ce droit permet la [[Gestion-des-formations|gestion des formations]].
 
==Comptes==
 
===Gestion des comptes===
Couplé à d'autres droits, permet de créer et modifier les intitulés des comptes (boutiques, espèces, etc.) ainsi que d'accéder à la comptabilité.
 
Permet lors de la [[Gestion-de-la-comptabilité-côté-utilisateur#Extrait-de-compte|visualisation des écritures]] d'un compte :
*de pouvoir consulter les écritures des comptes affectés
*[[Gestion-de-la-comptabilité-côté-utilisateur#Consulter-une-facture-client-ou-un-reçu-d'encaissement|de pouvoir consulter une facture client ou un reçu]]
*de pouvoir [[Utilisation-de-la-comptabilité#Contrepasser-une-écriture|contrepasser les écritures]]
*de pouvoir [[Utilisation-de-la-comptabilité#Lettrer-des-écritures-comptables|lettrer les écritures]]
 
Permet [[Utilisation-de-la-comptabilité#Importer-un-relevé-bancaire|d'importer des relevés bancaires]]
 
 
Ce droit inclut les droits '''Gestion des types d'encaissements''' et '''Voir les comptes'''.
 
===Voir les comptes===
[[Gestion-de-la-comptabilité-côté-utilisateur#Consulter-son-compte-ou-celui-d'un-tiers|Permet de voir tous les comptes]], de [[Gestion-de-la-comptabilité-côté-utilisateur#Extrait-de-compte|visualiser la liste des mouvements]] et de [[Gestion-de-la-comptabilité-côté-utilisateur#Consulter-une-facture-client-ou-un-reçu-d'encaissement|consulter les factures clients et les reçus]].
 
Couplé au droit [[#Saisir-les-encaissements-pour-les-tiers|Saisir les encaissements pour les tiers]], il permet de saisir un encaissement sur tous comptes. Ce droit inclut les privilèges du droit [[#Voir-les-comptes-utilisateurs|Voir les comptes utilisateurs]].
 
===Voir les comptes utilisateurs===
[[Gestion-de-la-comptabilité-côté-utilisateur#Consulter-son-compte-ou-celui-d'un-tiers|Permet de voir tous les comptes utilisateurs]] et de [[Gestion-de-la-comptabilité-côté-utilisateur#Consulter-une-facture-client-ou-un-reçu-d'encaissement|consulter les factures clients et les reçus]].
 
Couplé au droit [[#Saisir-les-encaissements-pour-les-tiers|Saisir les encaissements pour les tiers]], il permet de saisir un encaissement sur les comptes utilisateurs.
 
===Gestion des comptabilités===
 
permet la gestion des comptabilités
 
===Gestion des types d'encaissements===
 
permet la gestion des types d'encaissements.
 
===Encaisser ses paiements===
 
Permet à l'utilisateur de [[FAQ-comptabilité#Comment-autoriser-un-profil-utilisateur-à-saisir-des-encaissements-pour-lui-même-?|saisir ses propres paiements]], de les modifier ou de les supprimer tant qu'ils n'ont pas été validés. L'utilisateur ne peut pas saisir les types d'encaissements qui sont ''Accessible uniquement aux personnes autorisées à saisir pour les tiers''.
 
===Saisir les encaissements pour les tiers===
 
Permet à l'utilisateur de saisir, modifier ou supprimer, tant qu'ils n'ont pas été validés, les encaissements d'autres utilisateurs ainsi que les encaissements devant être affectés sur des [[Configuration de la comptabilité#Créer_un_compte_comptable|comptes comptables clients autorisés à recevoir de l'argent]].
 
===Modifier la date d'un encaissement, d'un flux ou d'un transfert===
 
autorise la modification de la date d'un encaissement, d'un flux ou d'un transfert s'il peut être modifié
 
===Valider les encaissements===
 
pointage des paiements saisis par les pilotes par exemple (Modification ultérieure de cette saisie impossible, en cas de problème il faudra alors faire l'opération inverse). Permet également la suppression d'encaissement.
 
===Recevoir de l'argent===
 
Permet à un utilisateur d'être sur la liste des paiements remis. Voir la [[Configuration-de-la-comptabilité#Types-d'encaissements|configuration de la ventilation des types d'encaissements]].
 
===Transfert de son compte===
Permet le transfert de compte à compte depuis la page '''Planning > Comptes > Actions > Transférer'''.
 
Les transferts effectués avec ce seul droit (sans le droit [[#Transfert-de-son-compte-sans-validation|Transfert de son compte sans validation]]) depuis cette page sont validés automatiquement.
 
===Transfert de son compte sans validation===
Permet lors d'un transfert de compte à compte, que les flux générés ne soient pas automatiquement validés. Ce droit n'a d'effet que si le droit [[#Transfert-de-son-compte|Transfert de son compte]] est affecté au profil.
 
'''Conseil OpenFlyers :''' Ce droit a été créé à la demande de clients OpenFlyers. Néanmoins, nous en déconseillons son usage. En effet, avec ce droit, un utilisateur qui "donne" de l'argent à un autre utilisateur peut ensuite reprendre sa donation. Or comme le dit l'expression : "[https://fr.wiktionary.org/wiki/donner_c%E2%80%99est_donner,_reprendre_c%E2%80%99est_voler Donner c'est donner, reprendre c'est voler]". L'attribution du seul droit [[#Transfert-de-son-compte|Transfert de son compte]] permet un comportement conforme aux fonctionnalités présentes sur les applications bancaires, à savoir que lorsqu'on effectue un virement ce virement est définitif. Si un utilisateur se trompe dans son virement, alors il faut qu'il demande soit à la personne à qui il a donné de lui rendre le trop-perçu, soit à un gestionnaire de la structure pour qu'elle saisisse une écriture corrective. L'intérêt de procéder ainsi est qu'on conserve visuellement et directement sur les comptes la trace des opérations effectuées.
 
===Saisir tout flux===
Permet de :
*[[Utilisation-de-la-comptabilité#Saisir-un-flux|saisir des flux]] depuis '''Gestion > Comptes > Flux > Saisir'''
*de modifier/supprimer des flux non validés
*de consulter la liste des flux depuis '''Gestion > Comptes > Flux > Valider'''
*de [[Gestion-de-la-comptabilité-côté-utilisateur#Extrait-de-compte|visualiser la liste des mouvements]]
*d'[[Utilisation-de-la-comptabilité#Importer-un-relevé-bancaire|importer des relevés bancaires]]
 
===Valider tout flux===
Permet de valider les flux de la page '''Gestion > Comptes > Flux > Valider'''.
 
Ce droit n'a effet que si le droit [[#Saisir-tout-flux|Saisir tout flux]] est affecté au profil.
 
===Paramétrage de la facturation===
Permet de gérer les règles de [[Facturation-des-clients#Facturation-des-activités|facturation des activités]] et de [[Facturation-des-clients#Facturation-périodique|facturation périodique]].
 
===Saisie des valeurs de facturation===
 
Permet de gérer les variables et leurs valeurs destinés aux règles de facturation
 
===Compte sur lequel un utilisateur peut agir===
 
Permet de définir sur quel compte utilisateur un encaissement ou un transfert peut être réalisé par la personne connectée. Attention : ce droit est pour l'utilisateur connecté et non pas pour l'utilisateur concerné par l'encaissement ou le transfert.
 
===Surpasser la limitation du solde du compte===
 
Permet à un utilisateur disposant de ce droit dans l'un de ses profils de ne pas avoir de [[Connexion#Restriction_d'accès|restriction d'accès]], de saisie de réservation ou de saisie de vol lorsque [[Configuration de la comptabilité#Restriction_d'accès_en_cas_de_solde_insuffisant|une restriction sur les soldes]] est en place. Il aura juste une alerte à la connexion. Ce droit ne permet pas à l'utilisateur concerné X de pouvoir surpasser les restrictions d'un autre utilisateur Y en effectuant par exemple une réservation en son nom alors que Y n'a ni le droit de surpasser ni le solde suffisant.
 
===Surpasser le seuil de [[Gestion-de-la-comptabilité-côté-utilisateur#Transférer-de-l'argent|transfert de compte]]===
 
Permet à un utilisateur disposant de ce droit dans l'un de ses profils de ne pas être bloqué lorsque une [[Configuration-de-la-comptabilité#Paramétrage-général-des-comptabilités|restriction sur les soldes]] est en place et qu'il ne dispose pas d'un solde suffisant.
 
==Ventes==
 
===Gestion globale des ventes===
 
Permet de gérer les produits, la facturation des produits, les stocks et [[Paramétrage-des-validités#Validité-à-vendre|validités à vendre]]. Permet également de modifier/supprimer des achats de produit.
 
===Achat ventes libres===
 
Autorise à acheter tous les produits qui sont en vente libre. Permet également de modifier/supprimer des achats de produit.
 
===Acheter pour les tiers===
Autorise à effectuer/modifier/supprimer des achats de produit pour un tiers.
*Couplé au droit [[#Gestion-des-utilisateurs|Gestion des utilisateurs]], il permet de gérer les [[Paramétrage-des-validités#Validité-à-vendre|validités à vendre]] d'un tiers.
*Couplé au droit [[Gestion-des-profils#Vente-de-produit-sans-tarif|Vente de produit sans tarif]], il permet de vendre des [[Gestion-des-produits-et-des-ventes#Configuration-d'un-produit-non-stocké-sans-tarif-défini|produits sans tarif]].
 
===Vente de produit sans tarif===
Autorise à rendre disponible et à acheter des produits sans tarif. Nécessite le droit [[#Acheter-pour-les-tiers|Acheter pour les tiers]].
 
===Débrayage des ventes de validités===
 
Autorise à ajouter et modifier la date d'expiration d'une [[Validités#Validité-à-vendre|validité à vendre]] sans débiter le compte.
 
==Achats==
 
===Gestion des achats===
Permet la gestion des factures fournisseurs, à en créer, modifier et supprimer.
 
==Admin==
===Gestion du paramétrage===
Ce droit est nécessaire pour accéder aux pages permettant de [[Paramétrage|paramétrer la plateforme]] et fait apparaitre le menu '''Structure''' avec les items :
*[[Données#Accéder-au-tableau-de-conservation-des-données|'''Admin > Structure > Données > Conservation des données''']]
*'''Admin > Structure > Structure > Canaux de communications'''
*[[Configuration#Admin > Structure > Structure > Paramétrage|'''Admin > Structure > Structure > Paramétrage''']]
*[[Configuration#Admin->-Structure->-Structure->-Coordonnées|'''Admin > Structure > Structure > Coordonnées''']]
*'''Admin > Structure > Variables > Définition'''
*'''Admin > Structure > Variables > Actualisation'''
*[[Configuration#Structure->-Champs-métiers|'''Admin > Structure > Variables > Champs métiers''']]
*[[Configuration#Structure->-Export-SQL|'''Admin > Structure > Export SQL > Complet''']]
*[[Utilisation-de-la-comptabilité#Importer-son-modèle-de-facture|'''Admin > Structure > Imports > Templates ODT''']]
 
Ce droit fait également apparaitre des items utiles au paramétrage mais présents dans d'autres menus :
*Couplé au droit [[#Gestion-des-utilisateurs|Gestion des utilisateurs]], dans le menu '''Admin > Utilisateurs''' :
**[[Champs-métiers|'''Admin > Utilisateurs > Champs métiers''']]
**'''Admin > Utilisateurs > Statuts'''
*[[Gestion-des-types-d'activités|'''Admin > Types d'activités > Actifs''']]
*[[Champs-métiers|'''Admin > Types d'activités > Champs métiers''']]
*[[Champs-métiers|'''Ventes > Champs métiers > Champs métiers''']]
 
===Gestion des valeurs===
 
===Gestion des profils===
permet de créer et modifier les profils. Attention, laisser cette autorisation à au moins un profil !
 
===Gestion des utilisateurs===
 
Permet de modifier les caractéristiques, infos et photos des utilisateurs, les désactiver et gérer leurs validités qui ne correspondent pas à des [[Paramétrage-des-validités#Validité-à-vendre|validités à vendre]]. Couplé au droit [[#Acheter-pour-les-tiers|Acheter pour les tiers]], il permet de gérer les [[Paramétrage-des-validités#Validité-à-vendre|validités qui sont à vendre]].
 
===Gestion des ressources===
Permet la gestion complète des types de ressources et des ressources (créer/supprimer/modifier/associer des validités). Autorise également la gestion de navigabilité des ressources aéronefs et la gestion des statuts.
 
Permet d'accéder à [[Gestion-des-documents|la liste des documents]] qui sont associés aux ressources et leur gestion (Ajouter, modifier, supprimer). Permet aussi de gérer la liste des catégories de ces documents.
 
===Gestion des rapports===
Fait apparaître le menu '''[[Gestion-des-rapports|Gestion > Rapports]]''' avec les items :
* '''Gestion > Rapports > Rapports personnalisés > Champs métiers'''
* '''[[Gestion-des-rapports#Configurer-les-rapports-visibles-pour-les-utilisateurs|Gestion > Rapports > Rapports personnalisés > Créer/Modifier]]'''
* '''[[Gestion-des-rapports#Configurer-les-rapports-visibles-pour-les-utilisateurs|Gestion > Rapports > Rapports personnalisés > Visualiser]]'''
* '''Gestion > Rapports > Rapports spécifiques > Activités et coûts'''
* '''[[Gestion-des-rapports#Configurer-les-rapports-visibles-pour-les-utilisateurs|Gestion > Rapports > Bibliothèque]]'''
 
Fait apparaître la [[Gestion-des-rapports#Case-à-cocher-Mémoriser-ce-choix|case à cocher '''Mémoriser ce choix''']].
 
===Voir tous les rapports===
Fait apparaître le menu '''Rapports''' avec les items :
* '''[[Gestion-des-rapports#Configurer-les-rapports-visibles-pour-les-utilisateurs|Rapports personnalisés > Visualiser]]'''
* '''Rapports spécifiques > Vols et coûts'''
 
Cela permet de consulter l'intégralité des rapports, y compris les favoris.
 
Fait apparaître la [[Gestion-des-rapports#Case-à-cocher-Mémoriser-ce-choix|case à cocher '''Mémoriser ce choix''']].
 
===Gestion des logs===
Fait apparaître le menu '''Admin > Logs''' avec les items :
*'''Admin > Logs > Actions effectuées'''
*'''Admin > Logs > Adresses IP bloquées'''
*'''Admin > Logs > Historique d'une réservation'''
*'''Admin > Logs > Identifiants bloqués'''
*'''Admin > Logs > Requête utilisateur en attente'''
 
===Envoyer et suivre les e-mails===
Permet d'accéder à la page [[Mailing|Mailing]] et de [[Suivi-des-emails|suivre les emails]].
 
===Accès aux tableurs===
Permet d'accéder aux fichiers [[Tableurs|tableurs]] depuis le menu.
 
===Gestion des communications===
Permet de gérer les flux d'informations et leurs canaux.
 
=Profils Plus=
*'''Admin > Utilisateurs > Profils plus'''
 
==Ajouter un profil depuis Profils plus==
*Cliquer sur une cellule contenant le caractère '''+'''
*remplissez la cellule puis appuyer sur la touche "Entrée"
*pour valider cliquer sur la disquette à gauche dans la colonne "Actions"
*le nouveau profil est placé à la fin du tableau
 
==Modifier un profil depuis Profils plus==
*Cliquer sur une cellule du profil à modifier
*remplissez la cellule puis appuyer sur la touche "Entrée"
 
==Colonnes du tableau Profils Plus==
===Nom (du profil)===
Nom du profil
 
===Type de compte requis===
Permet de définir les comptes utilisateurs appartenant aux types sélectionnés qui seront créés pour les nouveaux utilisateurs ou ajoutés aux utilisateurs existants à qui on attribuera ce profil
 
===Champ métier visible par le profil sur le formulaire utilisateur ou sur le planning===
Permet d'afficher ou de cacher les [[Champs-métiers|champs métiers]] des formulaires présents dans :
*'''Planning > Données > Personnelles > Affichage et fiche personnelle'''
*'''Gestion > Utilisateurs > Utilisateurs > Actifs'''
*'''Planning > Planning > Réserver'''
 
===Type de validité que l'utilisateur peut gérer pour lui-même===
Permet de sélectionner les types de validités qu'un utilisateur de ce profil peut [[Validités#Consulter-et-gérer-ses-validités-ou-celles-d'un-tiers|ajouter/acheter/mettre/supprimer]] (ex: Licence fédérale, Visite Médicale, Autres licences) pour lui-même. Les validités d'un utilisateur sont accessibles depuis '''Planning > Données > Personnelles > Validités'''.
 
[[Paramétrage-des-validités#Ajouter-un-type-de-validités|Lors de l'ajout d'un type de validité, celui-ci est automatiquement affecté aux profils]].
 
===Types de validités que l'utilisateur peut gérer et certifier===
Permet de sélectionner les types de validités qu'un utilisateur de ce profil peut gérer et certifier.
 
Tous les utilisateurs détenant un profil pouvant certifier un type de validité coché recevront un [[Envoi-des-emails#E-mail-de-demande-de-certification-de-validité|e-mail]] lorsqu'une validité d'un des types choisis sera ajoutée par un utilisateur et [[Validités#Validités-en-attente-de-certification|en attente de certification]].
 
===Contrats non requis===
Voir la définition de [[Paramétrage-des-validités#Validité-contrat|validité-contrat]].
 
Permet de [[Gestion-des-profils#Modifier-un-profil-depuis-Profils-plus|définir]] les [[Paramétrage-des-validités#Validité-contrat|validités-contrats]] qui ne sont pas requises pour certains profils.
 
Les utilisateurs ne disposant que de profils exemptés, ne se verront pas demandés la signature des validités-contrats à la connexion. Tous les autres utilisateurs doivent signer chacun des contrats s'ils disposent d'au moins un profil non-exempté ou si la validité-contrat est requise pour tous les profils.
 
La signature des validités-contrats, se fait juste après l'identification à la connexion. Le formulaire apparait tant qu'il reste au moins un contrat non-signé. L'utilisateur ne peut passer outre ce processus.
 
===Attribution de place===
Permet d'attribuer les places auxquelles sont autorisées les utilisateurs de ce profil. Cela impacte sur les listes des utilisateurs que l'on trouve à la saisie d'une réservation ou d'un vol.
 
Ces listes sont accessibles depuis '''Planning > Planning > Réserver''' et '''Planning > Activités > Saisir une activités'''.
 
La page '''Admin > Type de ressource > Places''' permet de gérer les places d'un type de ressource. Elle permet également de définir qui a le droit d'être sur telle place en cas de restriction de profil.
 
===Profils visibles===
Dans les pages '''Planning > Données > Personnelles > Affichage et fiche personnelle''', '''Gestion > Utilisateurs > Actifs''' et '''Admin > Utilisateurs > Paramètres par défaut''', on peut sélectionner les utilisateurs auxquels on souhaite voir leur planning.
 
La liste des utilisateurs affichés sont ceux possédant un profil ayant les droits [[#Planning-personnel|Planning personnel]] et [[#Planning-individuel-visible-pour-les-autres|Planning individuel visible pour les autres]]. La colonne '''Profils visibles''' permet de restreindre la liste de ces utilisateurs pour ne la limiter qu'aux utilisateurs possédant les profils sélectionnés.
 
'''Attention :''' Il faut attribuer à un profil au moins une place de 1ère rang (numéro de place 0).
 
===Types de ressources visibles===
Dans les pages '''Planning > Données > Personnelles > Affichage et fiche personnelle''', '''Gestion > Utilisateurs > Actifs''' et '''Admin > Utilisateurs > Paramètres par défaut''', on peut sélectionner les ressources dont on souhaite voir le [[Utilisation-du-planning-de-réservation|planning]] ou les rendre disponibles dans les formulaires de saisie de réservation et d'activité.
 
La colonne '''Types de ressources visibles''' permet de restreindre la liste de ces ressources pour ne la limiter qu'aux ressources appartenant aux types de ressources sélectionnés.
 
===Comptabilités visibles===
Permet de sélectionner les comptabilités qui sont visibles pour un profil. De plus, les types de compte et les comptes n'étant pas d'une comptabilité sélectionnée ne seront pas visibles.
 
===Alerté par e-mail pour le renouvellement des validités de tous les utilisateurs===
Ce droit permet de suivre le renouvellement des validités par les utilisateurs en étant alerté par e-mail à chaque fois qu'un utilisateur renouvelle une validité sélectionnée dans la liste de la cellule '''Alerté par e-mail pour le renouvellement des validités de tous les utilisateurs'''. Attention : la mise en place de ce droit peut provoquer la réception de nombreux e-mails.
 
=Utilisation=
==[[Connexion#Choix_du_profil|Choix du profil à la connexion]]==
 
==Ajouter un profil==
 
Depuis l'interface dynamique :
*Cliquer sur l'icône de menu correspondant à la gestion des profils
*[[Tableaux#Ajout-de-ligne|Ajouter une ligne]]
*[[Tableaux#Édition-des-données|Compléter les cellules]]
*L'ajout est [[Tableaux#Enregistrement-d'une-ligne|enregistré]] si les cellules suivantes sont correctement remplies :
**'''Nom du profil''' : la cellule doit être remplie et le nom ne pas avoir déjà été utilisé comme nom de profil.
 
Depuis l'interface légère :
*Aller sur '''Admin > Utilisateurs > Profils'''
*En-dessous du tableau listant les profils, cliquer sur le bouton '''AJOUTER UN PROFIL'''
*Renseigner les droits pour chaque onglet
*Aller sur '''Admin > Utilisateurs > Profils plus'''
*Renseigner les colonnes pour la ligne du profil nouvellement créé
 
===Ajouter un profil qui surpasse la restriction en cas de solde insuffisant===
*Procéder à l'[[Tableaux#Ajout_de_ligne|ajout de ligne dans un tableau]].
*Saisir par exemple comme nom '''Non restreignable'''.
*Toujours dans '''Admin > Utilisateurs > Profils''', onglet '''Généralités''', cocher pour ce profil le droit [[Gestion des profils#Généralités|Profil non sélectionnable par l'utilisateur]].
*Dans l'onglet '''Gestion des comptes''', sélectionner le droit [[#Surpasser-la-limitation-du-solde-du-compte|Surpasser la limitation du solde du compte]] pour le profil concerné
Il suffit ensuite de rajouter ce profil aux utilisateurs concernés.
 
=Créer un profil empêchant tout surpassement=
Il peut être nécessaire d'empêcher un utilisateur de pouvoir réserver ou saisir une activité même en recourant à l'aide d'un tiers qui disposerait de droits permettant de surpasser des restrictions, que cela soit sur des comptes ou sur des validités.
 
Cela peut être le cas, par exemple, pour la détention d'une validité ''Cotisation'' périmée ou lorsque le solde du compte utilisateur est insuffisant (cf. [[Configuration-de-la-comptabilité#Restriction-d'accès-en-cas-de-solde-insuffisant|Restriction d'accès en cas de solde insuffisant]]).
 
Pour mettre en place une telle restriction, il faut :
*[[Gestion-des-profils#Ajouter-un-profil|Ajouter un profil]] en lui attribuant l'ensemble des droits (ne pas oublier la page '''Admin > Utilisateurs > Profils plus'''
*[[Gestion-des-profils#Modifier-un-profil|Modifier le profil]] nouvellement créé
**Si l'utilisateur ne doit pas pouvoir ouvrir un vol : dans l'onglet [[Gestion-des-profils#Activités|Activités]], décocher le droit [[Gestion-des-profils#Etre-sur-une-nouvelle-ouverture-d'activité|Etre sur une nouvelle ouverture d'activité]]
**Si l'utilisateur ne doit pas pouvoir être sur une réservation : dans l'onglet [[Gestion-des-profils#Réservation|Réservation]], décocher les droits [[Gestion-des-profils#Etre-sur-une-nouvelle-réservation|Etre sur une nouvelle réservation]], [[Gestion-des-profils#Réservation-solo|Réservation solo]] et [[Gestion-des-profils#Réservation-avec-un-instructeur|Réservation avec un instructeur]]
 
==Droits particuliers==
*'''GÉNÉRALITÉS / Profil non sélectionnable par l'utilisateur :''' ce droit n'est applicable que si les [[Gestion des utilisateurs|utilisateurs disposant du profil concerné]] possèdent au moins un autre [[Connexion#Sélection_du_profil|profil sélectionnable à la connexion]].
*'''GÉNÉRALITÉS ADMIN / Gestion des profils :''' au moins un profil doit posséder ce droit.
 
==Modifier un profil==
La modification des profils s'effectue selon les règles d'[[Utilisation des tableaux#Édition_des_données#|édition des données d'un tableau]].
 
==Supprimer un profil==
*La suppression d'un profil est possible uniquement si les [[Gestion des utilisateurs|utilisateurs disposant de ce profil]] possèdent aussi au moins un autre profil.
*Procéder à la[[Tableaux#Suppression_de_ligne|suppression de ligne dans un tableau]].
 
==Valeurs par défaut lors de la création d'un profil==
Lors de la création d'un profil, on affecte automatiquement par défaut :
* Tous les '''Profils visibles'''
* Tous les '''Types de ressources visibles'''
* Toutes les '''Comptabilités visibles'''
* Les '''Attribution de place''' correspondants à la première place de chaque type de ressource

Revision as of 13:46, 26 September 2024

Présentation

Cette page présente le paramétrage du module de réservations externes.

Voir la page Utilisation des réservations externes pour la présentation et l'utilisation du module.

Configurer

Créer les champs métiers, les profils, le type d'activité et le type de validité

Ajouter les champs métiers pour les réservations externes
  • Aller dans Admin > Structure › Variables › Champs métiers
  • Pour chaque ligne du tableau ci-dessous :
    • Tout en bas du tableau, sur la dernière ligne renseigner les champs avec les valeurs indiquées dans la ligne correspondante
    • Cliquer sur le bouton Ajouter

Ce tableau présente la liste des champs métiers à créer obligatoirement, en suivant la procédure en-dessous du tableau, pour éviter tout problème lors de l'utilisation du module de réservations externes.

Nom de variable Intitulé Catégorie Type de valeur Remplissage obligatoire Catégorie liée Champ à lier
externalLastName Nom Réservation externe Chaîne textuelle OUI Utilisateur last_name
externalFirstName Prénom Réservation externe Chaîne textuelle OUI Utilisateur first_name
externalCellPhone Téléphone portable Réservation externe Chaîne textuelle OUI Utilisateur cell_phone
externalEmail E-mail Réservation externe Chaîne textuelle OUI Utilisateur email


Il est possible d'ajouter d'autres champs métiers selon les besoins afin d'enrichir le formulaire de réservation externe et de collecter ainsi davantage d'informations auprès des utilisateurs effectuant les réservations.

Créer un profil pour les utilisateurs effectuant les activités liées aux réservations externes
  • Aller dans Admin > Utilisateurs > Profils
  • Cliquer sur le bouton Ajouter un profil
  • Renseigner le champ Nom du profil avec le nom souhaité (exemple : "Pilote baptême")
  • Cliquer sur le bouton Enregistrer
  • Cliquer sur l'onglet Réservations
  • Cliquer sur la case à cocher Planning personnel pour ce profil
  • Cliquer sur la case à cocher Planning individuel visible pour les autres pour ce profil
  • Aller dans Admin > Utilisateurs > Profils plus

Pour les profils qui doivent pouvoir voir les lignes de réservations de ces utilisateurs ou modifier les disponibilités de ces utilisateurs :

  • colonne Profils visibles, cocher le profil précédemment créé


Créer un profil pour les utilisateurs externes
  • Aller dans Admin > Utilisateurs > Profils
  • Cliquer sur le bouton Ajouter un profil
  • Renseigner le champ Nom du profil avec le nom souhaité (exemple : "Client baptême")
  • Cliquer sur le bouton Enregistrer

Note : Le profil ne doit avoir aucun droit


Créer un type d'activité

Si nécessaire, il faut créer un type d'activité dédié aux réservations externes :

  • Aller dans Admin > Types d'activités > Actifs
  • Cliquer sur le bouton "+" en haut à droite du tableau Liste des types d'activités
  • Renseigner le champ Nom avec le nom du type d'activité souhaité (exemple : "Baptême")
  • Cliquer sur le bouton Enregistrer

Attention : le nom du type d'activité apparait sur l'interface de réservation externe. Afin qu'il s'intègre correctement, sans créer de faute d'orthographe, il doit être un groupe nominal masculin.

Exemples :

  • Baptême de l'air
  • Vol découverte

Déconseillé :

  • Balade découverte


Créer un type de validité pour stocker une preuve d'achat

Il est possible de donner la possibilité aux utilisateurs externes de fournir un document permettant d'attester d'une commande effectuée par ailleurs et donnant le droit d'effectuer une réservation. Ce document est alors stocké dans une validité. Pour ce faire :

  • Aller dans Admin > Utilisateurs > Types de validités.
  • Cliquer sur le bouton Ajouter un type de validité.
  • Lui donner un nom comme "Bon d'achat" et cocher Associer un document.
  • Valider en cliquant sur Enregistrer.
  • Aller dans Admin > Utilisateurs > Profils plus.
  • Vérifier que les profils pouvant gérer cette validité ont bien la validité en question dans la liste Types de validités que l'utilisateur peut gérer et certifier.

Paramétrer le module de réservations externes

Activer et paramétrer le module des réservations externes
  • Aller dans Admin > Structure > Paramétrage > Réservations externes
  • Activer l'interrupteur Réservations externes

Renseigner les champs suivants avec les paramètres souhaités :

  • Synchronisation avec une API REST tierce (facultatif, voir Interfacer les réservations externes avec un service web de gestion des codes de référence de vente)
  • Heure de début (fuseau X)
  • Heure de fin (fuseau X)
  • Durée d'une réservation externes
  • Permettre de choisir la durée d'activité
  • Utiliser la couleur de la 1ère ressource disponible pour chaque créneau: permet d'activer Colorisation des créneaux disponibles en fonction de la 1ère ressource disponible
  • Interdire d'effectuer une réservation débutant dans moins de (la valeur minimale ne peut être inférieure à la valeur définie dans le Interdire d'effectuer une réservation débutant dans moins de du formulaire de configuration des réservations internes
  • Interdire d'effectuer une réservation se terminant dans plus de
  • Interdire d'annuler une réservation débutant dans moins de
  • Limitation du nombre de réservations
  • Autoriser uniquement les emails des utilisateurs actifs: lorsque activé, permet de n'envoyer un email de demande de confirmation qu'aux adresses emails d'un utilisateur actif, c'est à dire pour une adresse email présente en base de données.
  • Profil utilisateur partie prenante : sélectionner le profil créé précédemment ("Pilote baptême" dans l'exemple)

Note : Si Aucun est sélectionné, les périodes disponibles pour une réservation externe sont déterminées uniquement en fonction de la disponibilité des ressources

  • Filtrer les utilisateurs avec le champ métier et Filtrer les ressources avec le champ métier (voir Filtrer les utilisateurs/ressources prises en compte pour les créneaux horaires disponibles)
  • Profil à affecter aux clients : sélectionner le profil créé par précédemment ("Client baptême" dans l'exemple)
  • Type d'activité à affecter aux réservations : sélectionner le type d'activité à affecter aux réservations externes. Exemple : "Baptême".
  • Demander une pièce jointe et l'enregistrer dans le type de validité suivant  : si un type de validité pour stocker une preuve d'achat a été créé dans le paramétrage préliminaire, sélectionner la validité correspondante. Sinon, laisser vide
    • Modifier le label associé au champ d'importation de la pièce jointe qui apparait dans l'interface de la saisie des coordonnées en éditant le champ Nom du champ pour la pièce jointe.
    • Préciser si l'import de la pièce jointe est obligatoire ou facultative en sélectionnant l'une des deux options du champ Pièce jointe.
  • Enregistrer la référence transmise en paramètre GET en tant que (voir Affecter la référence du bon d'achat à la réservation externes)
  • Template de l'e-mail de confirmation de réservation (voir l'exemple Template e-mail de confirmation de réservation)
  • Personnaliser l'objet de l'e-mail d'annulation de réservation (voir l'exemple Template e-mail d'annulation de réservation)
  • Cliquer sur le bouton Enregistrer
  • Template de l'e-mail d'annulation de réservation (voir l'exemple Template e-mail d'annulation de réservation
  • Cliquer sur le bouton Enregistrer

L'interface des réservations externes (Planning > Planning > Réservations externes). Devrait désormais afficher un calendrier (vide)

Associer les ressources et les utilisateurs

Ajouter des ressources pouvant être utilisées pour les réservations externes
  • Aller dans Gestion > Ressources > Actives.
  • Choisir la ressource à ajouter et cliquer sur l'icône modifier.
  • Cocher Peut être utilisé pour les réservations externes dans la colonne Champs métier.
  • Valider en appuyant sur le bouton Enregistrer.


Ajouter des utilisateurs pouvant être affectés à des réservations externes
  • Aller dans Gestion > Utilisateurs > Utilisateurs > Actifs
  • Choisir un utilisateur à ajouter et cliquer sur l'icône modifier
  • Dans la liste profil sélectionner le profil indiquant que l'utilisateur peut être sur des réservations externes
  • Valider en appuyant sur le bouton Enregistrer
  • Aller dans Planning > Données > (In)disponibilités et indiquer les disponibilités de l'utilisateur


Gérer les places

Aller dans Admin > Utilisateurs > Profils plus, dans la colonne Attribution de place :

  • S'assurer que le profil des clients externes puisse s'attribuer une place de pilote (place de gauche) sur les types de ressources concernés par les baptêmes de l'air.
  • S'assurer que le profil des pilotes pouvant effectuer un baptême puisse s'attribuer une place d'instructeur (place de droite) sur les types de ressources concernés par les baptêmes de l'air.

Paramétrages facultatifs

Affecter la référence du bon d'achat à la réservation externe

Il est possible d'affecter le code de la référence du bon d'achat à la réservation externe en fonction de paramètre attribué dans un champ métier réservation.

Voici un exemple de paramétrage permettant d'ajouter le champ métier dédié au stockage de la référence du bon d'achat :

  • Aller dans Admin > Structure > Variables > Champs métiers

Sur la dernier ligne :

  • Colonne Nom de variable, renseigner "reference"
  • Colonne Intitulé, renseigner "Référence d'achat"
  • Colonne Catégorie, sélectionner Réservation
  • Colonne Type de valeur, sélectionner Chaîne textuelle
  • Cliquer sur le bouton Ajouter
  • Aller dans Admin > Structure > Paramétrage > Réservations externes
  • Champ Enregistrer la référence transmise en paramètre GET en tant que : sélectionner le champ préalablement créé Référence d'achat (reference)
  • Cliquer sur le bouton Enregistrer

Cela permet de capturer le code associé au paramètre GET reference passé dans l'URL permettant d'afficher l'interface de réservations externes et de le stocker dans le champ métier Référence d'achat lors de l'enregistrement de la réservation.

Exemple :

https://localhost/4.0/externalBooking.php?reference=AZERTY

Permet d'attribuer le code de référence d'achat AZERTY à la réservation en cours.

Ajouter les champs métiers optionnels

Il est possible d’ajouter d’autres champs métiers lors de l’utilisation du module de réservations externes, à condition de respecter les exigences suivantes lors de leur création :

  • Nom du champ : Ajouter le préfixe external au début du nom pour indiquer qu'il s'agit d'un champ métier externe.
  • Catégorie : Sélectionner Réservation externe comme catégorie.
  • Remplissage obligatoire : Cocher cette case si le champ doit être complété par l’utilisateur.
  • Catégorie liée : Associer le champ métier à la catégorie correspondante (Utilisateur / Réservation).
  • Champ à lier : Associer le champ au champ métier (si celui-ci n'existe pas, il faut le créer) ou bien au champ original de la catégorie liée, ce champ lié indique l’endroit où la valeur saisie par le client externe est enregistrée.

Ajouter une règle pour les réservations externes

Aller dans Admin > Structure > Paramétrage > Réservations internes.

Dans Régles de saisie XML ajouter une règle de la forme suivante :

<rule>
    <activityTypeList>
        <activityType><!-- ID de l'activité "baptême de l'air" --></activityType>
    </activityTypeList>
    <resourceTypeList minQty="1" maxQty="1">
        <resourceType>*</resourceType>
    </resourceTypeList>
    <placeList>
        <place index="0" minQty="1" maxQty="1" status="4">
            <profile><!-- ID du profil des clients externes --></profile>
        </place>
        <place index="1" minQty="1" maxQty="1" status="4">
            <profile><!-- ID du profil des pilotes pouvant faire des baptême de l'air --></profile>
        </place>
    </placeList>
</rule>

Coloriser les créneaux disponibles en fonction de la 1ère ressource disponible

Le paramètrage suivant permet de définir la couleur de fond en fonction de la couleur de la première ressource disponible dans le tableau des créneaux disponibles des réservations externes:

Configurer la vente des produits externes

prérequis
procédure

Pour fournir des produits externes à vendre via l'interface de réservation externe, suivre les étapes suivantes :

  • Configurer des produits externes
    • Aller dans Admin > Ventes > Produits > Produits
    • Cocher la case dans la colonne intitulée Produit externe pour les produits concernés
  • Configurer les règles de facturations
    • Aller dans Admin > Ventes > Facturation > Produits
    • Modifier/Ajouter une ligne de facturation
    • Cocher le produit externe désiré dans la liste située dans la quatrième colonne intitulée Produits externes
    • Cliquer sur Enregistrer
  • Configurer imputé pour les ventes externes
    • Aller dans Admin > Structure > Paramétrage > Comptes
    • Activer l'interrupteur Ventes externes situé dans la 3ème colonne
    • Sélectionner le compte par défaut pour la facturation externe dans le champ Compte imputé pour les ventes externes
    • Sélectionner le type de paiement dans le champ Type d'encaissement par internet
    • Sélectionner la comptabilité dans le champ Comptabilité pour le format monétaire
    • Cliquer sur Enregistrer

Ce tableau présente la liste des champs métiers à créer obligatoirement pour éviter tout problème lors de l'utilisation du module de réservations externes avec les ventes externes.

Nom de variable Intitulé Catégorie Type de valeur Remplissage obligatoire Catégorie liée Champ à lier
externalAdresse adresse Réservation externe Chaîne textuelle OUI Utilisateur adress
externalCity Ville Réservation externe Chaîne textuelle OUI Utilisateur city
externalZipCode code postal Réservation externe Chaîne textuelle OUI Utilisateur zipcode
externalCountry pays Réservation externe Chaîne textuelle OUI Utilisateur country

Filtrer les utilisateurs/ressources prises en compte pour les créneaux horaires disponibles

Il est possible de restreindre les utilisateurs et/ou les ressources en fonction de paramètres attribués dans un champ métier utilisateur/ressource

Voici un exemple de paramétrage permettant de prendre en compte les utilisateurs en fonction de leur base géographique d'affectation :

  • Aller dans Admin > Structure > Variables > Champs métiers

Sur la dernier ligne :

  • Colonne Nom de variable, renseigner "locationPerson"
  • Colonne Intitulé, renseigner "Base géographique"
  • Colonne Catégorie, sélectionner Utilisateur
  • Colonne Type de valeur, sélectionner dbObject:Location
  • Cliquer sur le bouton Ajouter
  • Aller dans Admin > Structure > Paramétrage > Réservations externes
  • Champ Filtrer les utilisateurs avec le champ métier : sélectionner le champ préalablement créé Base géographique (locationPerson)
  • Cliquer sur le bouton Enregistrer

Cela permet de ne prendre en compte que les utilisateurs pour lesquels le champ métier Base géographique correspond au paramètre GET locationPerson passé dans l'URL permettant d'afficher l'interface de réservations externes.

Exemple :

https://localhost/4.0/externalBooking.php?locationPerson=LFBD

Permet de ne prendre en compte que les utilisateurs disponibles ayant dans le champ Base géographique la valeur LFBD (BORDEAUX MERIGNAC).

Interfacer les réservations externes avec un service web de gestion des codes de référence de vente

OpenFlyers implémente un interfaçage vers une API REST tierce de gestion des codes qui permet de vérifier si le code de référence renseigné par l'utilisateur ou transmis via l'URL est valide ou non.

Les échanges se font au format JSON.

OpenFlyers renvoie à l'API la date de la réservation, le type de ressource et les coordonnées de la personne en charge de l'activité lors de la prise de réservation externe ou lors de son annulation.

Pour interfacer OpenFlyers avec l'API, il faut :

  • Aller dans Admin > Structure > Paramétrage > Réservations externes
  • Champ Synchronisation avec une API REST tierce : activer le toggle switch.

Renseigner les champs suivants avec les paramètres souhaités :

  • URL de l'API REST tierce : Assigner le lien de base de l'API
  • Jeton d'authentification : Assigner le Jeton d'authentification de l'API

Une fois que la configuration est faite par OpenFlyers, les opérations suivantes s'effectuent systématiquement :

  • Vérification de la validité du code de référence via le lien externalBookingWebServiceURL/{code} avec la méthode GET, auquel l'API doit répondre en transmettant un JSON sous le format suivant :
{
  "validity": true,
  "code": "Code_De_Référence",
  "buyer_name": "Nom_Agence_web",
  "validity_date": "YYYY-MM-DD",
  "video": "true",
  "cancellable": "true",
  "activity_type": 4,
  "booking_duration": "45"
}

NB:Le code est valide si la valeur de validity est true.

  • Si la variable booking_duration est définie et contient une valeur multiple de 15, elle sera utilisée à la place du paramètre Durée d'une réservation externe.
  • Si la variable activity_type est définie et correspond à l'id d'un type d'activité actif, la valeur sera utilisée à la place du paramètre Type d'activité à affecter aux réservations.


  • Notification à l'API tierce d'une nouvelle réservation via le lien externalBookingWebServiceURL/{code}/activate avec la méthode PUT, en passant les données de requête suivantes :
{
    "date" : "2022-04-05T06:00:00Z", //date de la réservation en format ISO UTC 
    "resource_type" : "le type de la ressource utilisée dans la réservation",
    "structure_person_name" : "le nom du pilote",
    "structure_person_email" : "l'email du pilote",
    "structure_person_phone" : "le numéro de téléphone du pilote"
}

- En retour l'API doit répondre en cas de succès :

{
  "status": true
}

- En retour l'API doit répondre en cas d'échec :

{
  "status": false,
  "error_msg": "le message d'erreur"
}


  • Notification à l'API tierce de l'annulation d'une réservation via le lien externalBookingWebServiceURL/{code}/release avec la méthode PUT

- En cas de la réussite de la notification, l'API répond :

{
  "status": true
}

- En cas d'échec l'API répond :

{
  "status": false,
  "error_msg": "le message d'erreur"
}


Exemple de la communication en PHP avec l'API:

// Prepare data to send by request
$requestData = array(
    'date'                   => "2022-04-05T06:00:00Z", //date de la réservation en format ISO UTC 
    'resource_type'          => 'resource_type',
    'structure_person_name'  => 'pilot_full_name',
    'structure_person_email' => 'pilot_email',
    'structure_person_phone' => 'pilot_cell_phone',
);
// Initialize a curl session
$curl = curl_init();
// Set options
curl_setopt_array($curl, array(
                CURLOPT_URL            => 'externalBookingWebServiceURL/42E390B0D843561F/activate',
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_FOLLOWLOCATION => true,
                CURLOPT_CUSTOMREQUEST  => 'PUT',
                CURLOPT_HTTPHEADER     => array('Content-Type: application/json', 'Authorization: Bearer uqpsildfqtw5o2qq9o45guz3ydfceehb'),
                CURLOPT_SSL_VERIFYPEER => false,
                CURLOPT_POSTFIELDS     => json_encode($requestData),
));
// Execute the curl session
curl_exec($curl);
// Close curl session
curl_close($curl);

Templates d'email

Template e-mail d'annulation de réservation

  • Définir la template de l'e-mail dans le champ Template de l'e-mail d'annulation de réservation dans l'interface de paramétrage Réservations externes.

Exemple de template d'e-mail par défaut:

Madame, Monsieur %CLIENT_FULL_NAME,

Nous sommes au regret de vous informer de l'annulation de votre réservation sur l'appareil %RESOURCE_NAME le %DATE, de %START_TIME à %END_TIME
avec comme pilote %PILOT_FULL_NAME.

Cette opération a été effectuée par %AUTHENTICATION_LOGIN

Vous pouvez nous contacter par téléphone pour trouver un nouveau créneau disponible.

Annuler la réservation : %%BOOKING_CANCEL_URL

En vous remerciant par avance pour votre compréhension,

Cordialement,
  • Personnaliser l'objet de l'e-mail dans le champ Personnaliser l'objet de l'e-mail d'annulation de réservation dans l'interface de paramétrage Réservations externes.

Exemple de l'objet d'e-mail par défaut:

Annulation de votre réservation %STRUCTURE_NAME
  • L'e-mail est envoyé immédiatement après l'annulation de la réservation.

Template e-mail de confirmation de réservation

  • Définir la template de l'e-mail dans le champ Template de l'e-mail de confirmation de réservation dans l'interface de paramétrage Réservations externes.

Exemple de template d'e-mail par défaut:

Votre %ACTIVITY_TYPE_NAME a été réservé avec succès.


Numéro du bon de réservation: %BOOKING_ID
Réservé au nom de: %CLIENT_FULL_NAME
Date: %DATE, de %START_TIME à %END_TIME
Votre pilote: %PILOT_FULL_NAME
Son adresse e-mail: %PILOT_EMAIL
Son numéro de téléphone portable: %PILOT_CELL_PHONE
Votre appareil: %RESOURCE_NAME
Vous recevrez un email de confirmation ou d'annulation de la demande au plus tard %CANCEL_BOOKING_MIN_TIME avant le vol projeté.

Annuler la réservation:

Afin d'annuler votre réservation, veuillez cliquer sur le lien ci-dessous.
<a href="%BOOKING_CANCEL_URL" >Cliquez ici pour annuler.</a>

À bientôt!
  • L'e-mail est envoyé immédiatement après l'enregistrement de la réservation

Variables

Nom de la variable Valeur de la variable
%ACTIVITY_TYPE_NAME Le nom du type d'activité affecté aux réservations.
%AUTHENTICATION_LOGIN Le nom + prénom d'utilisateur connecté
%BOOKING_CANCEL_URL Lien pour annuler la réservation
%BOOKING_ID Le numéro de commande. / L'identifiant de la réservation.
%CLIENT_FULL_NAME Le nom + prénom du client.
%CANCEL_BOOKING_MIN_TIME Le délai minimum avant la réservation pour l'annuler.
%DATE La date de la réservation.
%END_TIME L'heure de fin de la réservation.
%EXTRAFIELDxx Permet de récupérer le contenu d'un champ métier. xx = numéro d'identifiant du champ métier. Exemple : %EXTRAFIELD35
%PILOT_EMAIL L'adresse email du pilote.
%PILOT_HOME_PHONE Le numéro de téléphone personnel du pilote.
%PILOT_WORK_PHONE Le numéro de téléphone professionnel du pilote.
%PILOT_CELL_PHONE Le numéro de téléphone portable du pilote.
%PILOT_FULL_NAME Le nom + prénom du pilote.
%RESOURCE_NAME Le nom de la ressource réservée.
%START_TIME L'heure de début de la réservation.
%STRUCTURE_NAME Le nom de la structure