<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>https://doc3-fr.openflyers.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jcheng</id>
		<title>Documentation de la solution web de gestion OpenFlyers version 3 - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="https://doc3-fr.openflyers.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jcheng"/>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/Sp%C3%A9cial:Contributions/Jcheng"/>
		<updated>2026-05-24T23:43:02Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Utilisation-de-la-comptabilit%C3%A9&amp;diff=15279</id>
		<title>Utilisation de la comptabilité</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Utilisation-de-la-comptabilit%C3%A9&amp;diff=15279"/>
				<updated>2017-11-28T11:18:42Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Solder les comptes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire la saisie des opérations de [[Comptabilité|comptabilité]].&lt;br /&gt;
&lt;br /&gt;
=Clôturer l'exercice comptable=&lt;br /&gt;
''Attention : la clôture de la comptabilité ne doit être effectuée qu'une fois qu'on est sûr et certain de ne plus avoir à intervenir sur l'exercice à clôturer. Cette opération doit donc être temporisée dans le temps sachant qu'il est tout à fait possible de poursuivre son activité sur l'exercice suivant sans que l'exercice précédent ne soit clôturé.''&lt;br /&gt;
&lt;br /&gt;
OpenFlyers affiche une [[Alertes de configuration#L'exercice_comptable_courant_a_plus_d'un_an|alerte lorsque l'exercice en cours est ouvert depuis 400 jours]].&lt;br /&gt;
&lt;br /&gt;
Avant de clôturer, il faut :&lt;br /&gt;
*Si le bilan est effectué dans OpenFlyers, [[Écritures comptables#Écritures_de_fin_d'exercice_avant_la_clôture_de_la_comptabilité|saisir les écritures de fin d'exercice]]&lt;br /&gt;
*Dans tous les cas, [[#Solder-les-comptes|remettre à 0 les soldes des comptes d'exploitation]].&lt;br /&gt;
*Valider toutes les écritures antérieures à la date de clôture.&lt;br /&gt;
En effet, on ne peut clôturer qu'une période pour laquelle toutes les écritures comptables ont été validées sinon cela engendre [[Alertes-administrateur#Alertes-lors-de-la-clôture-de-la-comptabilité|des alertes]]. Pour cela, il peut être nécessaire de [[#Retrouver-les-écritures-non-validées|retrouver les écritures non validées]]. Il n'est également pas possible de clôturer sur une date future.&lt;br /&gt;
&lt;br /&gt;
Ensuite, pour clôturer :&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Gestion / Export'''.&lt;br /&gt;
*Dans la 2ème partie intitulée '''Gestion de l'exercice comptable''', renseigner le champ '''Date de clôture'''.&lt;br /&gt;
La date de début de nouvel exercice est automatiquement actualisée.&lt;br /&gt;
&lt;br /&gt;
Pour une structure qui a un exercice annuel correspondant à l'année civile les dates devraient être 31/12/XXXX et 01/01/XXXX+1&lt;br /&gt;
*Cliquer sur le bouton '''Clôturer l'exercice puis ouvrir un nouvel exercice'''.&lt;br /&gt;
&lt;br /&gt;
=Exporter la comptabilité=&lt;br /&gt;
''Conseil OpenFlyers : l'export de la comptabilité nécessite au préalable des actions irréversibles comme la validation de l'ensemble des écritures. Pour les personnes débutantes avec cette fonction et qui souhaite pouvoir exporter sans effectuer ces actions irréversibles, il est recommandé de [[Modèle-commercial-et-compte-client-OpenFlyers#Plateforme-supplémentaire-de-test|s'entrainer avec le bac à sable]] en effectuant une recopie de sa plateforme de production.''&lt;br /&gt;
==Actions à effectuer par ordre chronologique==&lt;br /&gt;
OpenFlyers permet d'exporter uniquement les [[Bien débuter avec OpenFlyers#Validation_des_écritures|écritures validées]] et ainsi ne propose par défaut comme période d'export que la période maximum exportable ne contenant que des écritures validées.&lt;br /&gt;
&lt;br /&gt;
Les exports se font généralement à intervalle régulier : tous les mois, tous les trimestres ou tous les ans.&lt;br /&gt;
&lt;br /&gt;
Si vous n'avez pas de logiciel de comptabilité, il est recommandé d'effectuer quand même l'export et de l'archiver sur un support de stockage (disque dur par exemple) pour conservation.&lt;br /&gt;
&lt;br /&gt;
Dans le cas du dernier export d'un exercice comptable donné, il est important de décider avant l'export si tout ou partie des écritures de fin d'exercice doivent être réalisées avant ou après. En général, si l'export sert ensuite à être retravaillé dans un logiciel de comptabilité, alors les écritures de fin d'exercice seront réalisées dans le logiciel de comptabilité et il ne faudra faire le &amp;quot;nettoyage&amp;quot; côté OpenFlyers qu'à l'issue de l'export comptable officiel. Ainsi les points 2 et 3 des &amp;quot;Opérations à effectuer avant tout export&amp;quot; ci-dessous doit être, dans certains cas, réalisé en partie ou en totalité après le point 2 des &amp;quot;Opérations supplémentaires pour l'export de fin d'exercice&amp;quot; ci-dessous.&lt;br /&gt;
&lt;br /&gt;
De plus, si vous utilisez un logiciel de comptabilité uniquement pour le bilan, c'est à dire que les charges sont gérées dans OpenFlyers, alors la clôture dans OpenFlyers doit être faite après la clôture dans ce logiciel de comptabilité. Il est ainsi possible de vérifier que les &amp;quot;A nouveaux&amp;quot; sont identiques dans les 2 logiciels et de corriger dans OpenFlyers si nécessaire. Il existe un [[OF_doc-en:Accounting_exports_3#Carry_forwards|rapport qui permet d'avoir les à nouveaux]].&lt;br /&gt;
&lt;br /&gt;
Prérequis à tout export comptable :&lt;br /&gt;
*[[Configuration de la comptabilité#Comptes_d'export|Attribuer les comptes d'export]] pour ne pas avoir l'alerte &amp;quot;[[#Vous_ne_pouvez_exporter_car_il_y_a_des_comptes_sans_valeur_d'export|Vous ne pouvez exporter car il y a des comptes sans valeur d'export]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Opérations à effectuer pour tout export :&lt;br /&gt;
#[[#Retrouver-les-écritures-non-validées|Retrouver les écritures non validées]] pour [[Bien débuter avec OpenFlyers#Validation_des_écritures|les valider]]&lt;br /&gt;
#[[#Export_de_la_comptabilité|Export de la comptabilité]]&lt;br /&gt;
#[[Import dans un logiciel comptable tiers|import dans un logiciel de comptabilité]]&lt;br /&gt;
&lt;br /&gt;
Opérations supplémentaires pour l'export de fin d'exercice :&lt;br /&gt;
#[[Écritures comptables#Écritures_de_fin_d'exercice_avant_la_clôture_de_la_comptabilité|Écritures de fin d'exercice avant la clôture de l'exercice]] dont le [[#Solder-les-comptes|solde des comptes d'exploitation]]&lt;br /&gt;
#Validation des écritures de fin d'exercice par la [[Utilisation de la comptabilité#Validation_d'un_flux|validation des flux]] correspondant.&lt;br /&gt;
#Ultime export pour stockage [[#Marquer_les_écritures_lors_de_l'export|en marquant les écritures]].&lt;br /&gt;
#[[#Clôturer-l'exercice-comptable|Clôture / ouverture du nouvel exercice comptable]].&lt;br /&gt;
#[[Écritures comptables#Écritures_de_début_d'exercice_après_l'ouverture_de_la_comptabilité|Écritures de début d'exercice après l'ouverture de la comptabilité]].&lt;br /&gt;
&lt;br /&gt;
==Alertes générées lors d'une tentative d'[[Utilisation de la comptabilité#Les_exports_comptables|export comptable]]==&lt;br /&gt;
===Vous ne pouvez exporter car il y a des comptes sans valeur d'export===&lt;br /&gt;
Cette alerte bloquante apparait dans '''Comptes &amp;gt; Gestion / Export''' avec les éléments suivants :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous ne pouvez exporter car il y a des comptes sans valeur d'export&lt;br /&gt;
intitulé de compte X (type de compte Y)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Pour supprimer cette alerte, il faut [[Configuration de la comptabilité#Comptes_d'export|attribuer les comptes d'export manquants]].&lt;br /&gt;
&lt;br /&gt;
==Export de la comptabilité==&lt;br /&gt;
Pour exporter la comptabilité, il faut :&lt;br /&gt;
*Aller côté '''Admin'''&lt;br /&gt;
*Puis '''Comptes &amp;gt; Gestion / Export'''&lt;br /&gt;
3 parties se superposent :&lt;br /&gt;
*'''Solder les comptes'''&lt;br /&gt;
*'''Gestion de l'exercice comptable'''&lt;br /&gt;
*'''Statistiques'''/ '''Export de la comptabilité'''&lt;br /&gt;
Le tableau '''Statistiques''' donne des informations sur les écritures. Sa lecture est indispensable pour vérifier qu'il ne subsiste pas d'écriture non validée antérieures à la fin de la période d'export souhaitée. Si c'est le cas, il faut alors [[#Retrouver-les-écritures-non-validées|trouver les écritures non validées]] et les valider.&lt;br /&gt;
&lt;br /&gt;
Au-dessous du titre apparait la période que l'on souhaite exporter. Attention: la période proposée par défaut correspond à la plus grande période possible et ne correspond donc pas à la période souhaitée. Il faut donc modifier la date de fin.&lt;br /&gt;
&lt;br /&gt;
Exemples :&lt;br /&gt;
*Si on souhaite exporter '''une année civile complète''', alors il faut sélectionner comme date de fin le 31 décembre.&lt;br /&gt;
*Si on souhaite exporter '''un mois''', il faut sélectionner comme date de fin le dernier jour du mois concerné.&lt;br /&gt;
&lt;br /&gt;
Il est également possible de marquer les écritures exportées afin qu'elles ne soient plus ré-exportées. Cependant, à la place de cette zone de saisie, il peut apparaitre la liste des comptes sans [[#Compte_d'export|valeur d'export]] c'est à dire sans le numéro de compte du plan comptable. Dans ce cas, il faut d'abord rechercher le compte concerné dans '''Comptes &amp;gt; Lister les comptes''' puis attribuer au compte concerné une valeur d'export.&lt;br /&gt;
*Cocher ou non '''[[#Marquer_les_écritures_lors_de_l'export|Marquer les écritures]]'''.&lt;br /&gt;
*L'export s'effectue en cliquant sur le bouton '''Exporter''' de la ligne du logiciel vers lequel on souhaite exporter.&lt;br /&gt;
*Il faut ensuite [[Import dans un logiciel comptable tiers|importer dans un logiciel comptable tiers]].&lt;br /&gt;
&lt;br /&gt;
'''Remarques :'''&lt;br /&gt;
*Il n'est possible d'exporter que des écritures validées. Par conséquent s'il subsiste des écritures non validées sur la période d'export souhaité, alors une alerte apparaitra signalant qu'il n'est pas possible d'exporter la période souhaitée.&lt;br /&gt;
*Dans le fichier d'export, les écritures sont triées par numéro de flux.&lt;br /&gt;
&lt;br /&gt;
===Marquer les écritures lors de l'export===&lt;br /&gt;
Lors d'un export comptable, OpenFlyers donne la possibilité de marquer ou non les écritures qui vont être exportées. Cela permet :&lt;br /&gt;
*Soit de pouvoir ré-exporter des écritures déjà exportées (mais non marquées)&lt;br /&gt;
*Soit au contraire de ne plus exporter des écritures dont OpenFlyers sait qu'elles ont déjà été exportées car marquées.&lt;br /&gt;
&lt;br /&gt;
Ce choix se fait dans le formulaire d'export en cochant '''Marquer les écritures (elles ne pourront plus être exportées de nouveau)'''.&lt;br /&gt;
&lt;br /&gt;
Il est conseillé de toujours procéder à un 1er export sans marquer les écritures. Ainsi, si l'export se passe mal, on aura la garantie de pouvoir le refaire.&lt;br /&gt;
&lt;br /&gt;
=Grand livre=&lt;br /&gt;
&lt;br /&gt;
Le [https://fr.wikipedia.org/wiki/Grand_livre grand livre] sert à lister l'ensemble des écritures comptables sur une période donnée. Il  présente pour chaque compte :&lt;br /&gt;
* Le solde initial&lt;br /&gt;
* La liste des écritures&lt;br /&gt;
* Le solde final&lt;br /&gt;
&lt;br /&gt;
Pour y accéder, il faut :&lt;br /&gt;
*Aller côté '''Admin'''&lt;br /&gt;
*Puis '''Comptes &amp;gt; Grand livre'''&lt;br /&gt;
&lt;br /&gt;
'''/!\ Le grand livre n'affiche pas les comptes n'ayant eu aucune écritures comptables sur la période donnée.'''&lt;br /&gt;
&lt;br /&gt;
=Mettre à jour les tarifs=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Ventes &amp;gt; Prix &amp;gt; Actualisation des prix'''&lt;br /&gt;
[[Image:Menu-vente-prix-actualisation-des-prix.png]]&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur le bouton '''Modifier''' en bas du tableau et '''non pas sur l'icône crayon à droite de la ligne de tarif'''.&lt;br /&gt;
[[Image:Tableau-vente-prix-actualisation-de-prix.png]]&lt;br /&gt;
&lt;br /&gt;
*Saisir une nouvelle valeur et la date à partir de laquelle le tarif s'appliquera. Vous pouvez anticiper un changement de tarif. Le tarif s'appliquera à la date du mouvement.&lt;br /&gt;
[[Image:Ajout-nouvelle-valeur-variable-tarif.png]]&lt;br /&gt;
&lt;br /&gt;
'''Attention''': si vous cliquez sur l'icône &amp;quot;Édition&amp;quot; (Crayon dans la colonne action) et que vous modifiez la valeur, alors vous changez le prix de cette période mais vous ne créez pas un nouveau tarif. Vous perdrez toute possibilité de corriger par exemple un vol à une date donnée. &lt;br /&gt;
&lt;br /&gt;
*Si vous avez le message d'erreur &amp;quot;chaque variable doit disposer d'une valeur antérieure à la date de début de l'exercice comptable&amp;quot; cela signifie que la variable ne possède pas de valeur entre la date de début d'exercice (date définie dans '''Admin &amp;gt; Comptes &amp;gt; Gestion &amp;amp; Export''') et la date indiquée. Le programme refuse qu'il y ai un &amp;quot;trou tarifaire&amp;quot; (vols non facturés). &lt;br /&gt;
*Chaque variable utilisée dans les formules de tarification doit avoir une valeur initialisée depuis une date antérieure à la date de début de l'exercice comptable&lt;br /&gt;
&lt;br /&gt;
=Opérations sur les comptes=&lt;br /&gt;
&lt;br /&gt;
==Créer un compte==&lt;br /&gt;
&lt;br /&gt;
===Créer un compte ressource===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte ressource, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressource &amp;gt; Comptes ressource'''.&lt;br /&gt;
*Dans la ligne de la ressource concernée, cliquer sur l'icône check du compte souhaité.&lt;br /&gt;
&lt;br /&gt;
===Créer un compte utilisateur===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte utilisateur, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs&amp;gt; Comptes utilisateur'''.&lt;br /&gt;
*Dans la ligne de l'utilisateur concerné, cliquer sur l'icône check du compte souhaité.&lt;br /&gt;
&lt;br /&gt;
===Créer un compte non-ressource non-utilisateur===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Lister les comptes &amp;gt; Tous les comptes'''.&lt;br /&gt;
*En bas du tableau, remplir la ligne et choisir la catégorie du compte&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
&lt;br /&gt;
==Créer un type de compte==&lt;br /&gt;
&lt;br /&gt;
===Créer un type de compte ressource===&lt;br /&gt;
&lt;br /&gt;
Pour créer un type de compte ressource, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Types de compte actifs''' puis cliquer sur le bouton '''Ajouter un compte'''.&lt;br /&gt;
*Saisir les champs du formulaire et valider .&lt;br /&gt;
&lt;br /&gt;
==Désactiver un compte==&lt;br /&gt;
Pour désactiver un compte qui ne doit plus être utilisé, il faut que :&lt;br /&gt;
* le compte ne doit pas créer de trou dans la comptabilité. C'est à dire que :&lt;br /&gt;
** le [[#Solder_un_compte|solde du compte doit être à 0]]&lt;br /&gt;
** les écritures associées à ce compte doivent être toutes validées&lt;br /&gt;
* le compte ne doit pas être utilisé dans une règle de tarification. Cela concerne directement les comptes et non pas les types de comptes. Ainsi, il est possible de désactiver un compte utilisateur ou un compte ressource alors qu'il existe des règles de tarification qui utilisent le même type de compte que le compte à désactiver.&lt;br /&gt;
* dans le cas d'un compte de type utilisateur, l'utilisateur possédant ce compte ne doit pas être lié à un profil qui requiert le type de compte &lt;br /&gt;
* le compte ne doit pas être utilisé par un type de facture fournisseur&lt;br /&gt;
Ensuite, on peut procéder à sa désactivation en cliquant sur l'icône symbolisant une poubelle sur la ligne de ce compte. Un compte n'ayant jamais eu d'écriture est supprimé au lieu de passer à l'état désactivé.&lt;br /&gt;
&lt;br /&gt;
==Lister les comptes==&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Comptes ressource''' pour obtenir les comptes ressource&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs &amp;gt; Comptes utilisateur''' pour obtenir les comptes utilisateur&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Lister les comptes &amp;gt; Tous les comptes''' pour obtenir les autres comptes.&lt;br /&gt;
&lt;br /&gt;
Dans ces pages, le solde de chaque compte est calculé en prenant les écritures datant du début d'exercice comptable jusqu'à la date et l'heure courante. Ainsi, les écritures comptables avec une date comptable future ne sont pas prises en compte pour le calcul du solde.&lt;br /&gt;
&lt;br /&gt;
=Retrouver les écritures non validées=&lt;br /&gt;
S'il y a beaucoup d'écritures à valider, il faut procéder de façon systématique en parcourant chaque interface de validation :&lt;br /&gt;
*Pour les vols, aller dans '''Admin &amp;gt; Vols &amp;gt; Liste des vols''' puis '''Valider les vols sélectionnés''' pour chaque aéronef.&lt;br /&gt;
*Pour les encaissements, aller dans '''Admin &amp;gt; Comptes &amp;gt; Pointer''' et choisir chaque type de paiement.&lt;br /&gt;
*Pour les transferts, aller dans '''Admin &amp;gt; Comptes &amp;gt; Valider les flux''' puis '''valider les transferts'''.&lt;br /&gt;
*Pour les factures, aller dans '''Admin &amp;gt; Achats &amp;gt; Liste des factures fournisseurs'''.&lt;br /&gt;
*Pour les ventes, aller dans '''Admin &amp;gt; Ventes &amp;gt; Valider les ventes'''. Choisir ses critères de recherche et valider le formulaire. Ensuite cocher les différentes ventes listées puis '''Pointer les entrées sélectionnées'''.&lt;br /&gt;
En procédant ainsi, il ne doit normalement ne pas subsister d'écriture à valider. Cependant, si l'essentiel des écritures a été validé, alors il est plus rapide de rechercher les écritures à valider que de parcourir chaque interface de validation.&lt;br /&gt;
&lt;br /&gt;
Pour rechercher les écritures restantes à valider, il faut :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Gestion / Export'''&lt;br /&gt;
En-dessous du titre '''Statistiques''' figure un tableau :&lt;br /&gt;
&lt;br /&gt;
[[Image:Tableau_statistiques_gestion-export.png]]&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessus, on peut voir à la ligne ''Ecritures non validées'', colonne ''Date de première écriture'' l'horodatage &amp;quot;19/08/2013 14:45&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Cela veut dire qu'il y a au moins une écriture qui date du 19 août 2013 et qui n'a pas été validée.&lt;br /&gt;
&lt;br /&gt;
Pour retrouver cette écriture non validée, il faut :&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Mouvements'''&lt;br /&gt;
*Rechercher l'écriture d'après la date indiquée.&lt;br /&gt;
Son contenu permettra de savoir s'il s'agit d'un vol, d'un encaissement, d'un flux, etc. Si un doute subsiste sur le type d'écriture, il faut cliquer sur l'icône &amp;quot;modifier&amp;quot; de l'écriture considérée afin de se retrouver dans son formulaire d'édition.&lt;br /&gt;
&lt;br /&gt;
Remarques :&lt;br /&gt;
*Le nombre d'écritures non validées indiqué dans le tableau '''Statistiques''' correspond au nombre TOTAL d'écritures non validées. En effet, OpenFlyers sait quand est-ce que vous commencez un exercice mais il ne sait pas quand est-ce que vous voulez qu'il s'arrête. Donc il prend toutes les écritures non validées.&lt;br /&gt;
*OpenFlyers ne permet d'exporter ou de clôturer que la période qui inclut des écritures validées. Dès qu'il rencontre une écriture non validée, il bloque toute action d'export ou de clôture.&lt;br /&gt;
&lt;br /&gt;
=Saisie d'écritures comptables=&lt;br /&gt;
==Saisie d'un flux==&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Saisir un flux'''&lt;br /&gt;
*Sélectionner sur la première ligne de compte, le compte concerné&lt;br /&gt;
*Remplir le champ débit ou crédit selon le cas&lt;br /&gt;
*Sélectionner sur la 2ème ligne un compte de contre-partie&lt;br /&gt;
*Sur cette 2ème ligne, cliquer sur l'icône qui symbolise une balance avec une flèche bleue et intitulé &amp;quot;Equilibrer la dernière ligne&amp;quot;&lt;br /&gt;
*Remplir le champ '''commentaires'''&lt;br /&gt;
*Choisir une date comptable dans le champ '''Date comptable''' en cliquant sur l'icône associée.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
Remarque : La date comptable proposée par défaut correspond à la date comptable du dernier flux saisi. Cela permet de faciliter les [[Comptabilité#Règles_de_saisies_de_la_comptabilité_courante|saisies au vu du relevé de banque]].&lt;br /&gt;
&lt;br /&gt;
==Validation d'un flux==&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Valider les flux'''&lt;br /&gt;
*Cocher dans la 1ère colonne '''Pointer''' les lignes à valider&lt;br /&gt;
*Cliquer sur le bouton '''Valider les flux sélectionnés (cette action est irréversible)'''&lt;br /&gt;
&lt;br /&gt;
==Annuler l'effet d'une écriture comptable==&lt;br /&gt;
Dans le cas où une écriture comptable a été validée, il n'est plus possible de la supprimer pour assurer la [[Comptabilité#Traçabilité_des_écritures|traçabilité des écritures]]. De ce fait, le seul moyen d'en annuler son effet consiste à saisir une écriture opposée. Pour cela, il faut [[#Saisie_d'un_flux|saisir un flux]] en sélectionnant les comptes mis en jeu dans l'écriture à annuler en choisissant de débiter ou créditer du même montant (mais dans le sens opposé) que l'écriture initiale.&lt;br /&gt;
&lt;br /&gt;
Exemple : Un compte A a été débité de 100 € et la contre-partie a été sur un compte B. Pour annuler l'effet de cette écriture, il faut [[#Saisie_d'un_flux|saisir un flux]] qui va créditer le compte A de 100 € et débiter le compte B du même montant.&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'une vente de produit type &amp;quot;pack d'heures&amp;quot;, il ne faut pas oublier d'annuler également les mouvements concernant les crédits d'heures.&lt;br /&gt;
&lt;br /&gt;
Cette solution permet de garder une traçabilité des écritures qui peuvent avoir été saisies par d'autres personnes et surtout qui peuvent affecter des comptes d'utilisateurs.&lt;br /&gt;
&lt;br /&gt;
C'est comme pour un compte bancaire : un banquier ne supprime jamais une écriture sur un compte client. Il passe simplement une nouvelle écriture qui annule l'effet de la précédente.&lt;br /&gt;
&lt;br /&gt;
==[[Écritures comptables#Avoir_clients|Saisie d'un avoir client]]==&lt;br /&gt;
Il faut [[#Saisie_d'un_flux|saisir un flux]] qui va créditer un compte utilisateur/client d'un certain montant et débiter un compte produit &amp;quot;Remise X&amp;quot; du même montant.&lt;br /&gt;
&lt;br /&gt;
==Solder un compte==&lt;br /&gt;
Pour solder un compte, il faut [[#Saisie_d'un_flux|saisir un flux]] avec la particularité que l'on souhaite &amp;quot;ramener le solde à zéro&amp;quot; d'un compte donné. Pour cela, il faut en plus des [[#Saisie_d'un_flux|opérations]] indiquées pour la saisie d'un flux, il faut :&lt;br /&gt;
*dans la première ligne de compte, sélectionner le compte concerné&lt;br /&gt;
*Cliquer sur l'icône qui symbolise une balance intitulé &amp;quot;Ramener le solde à zéro&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de compte de contre-partie dans le cas de la mise à zéro du solde d'un compte ressource : compte de bilan [[Comptabilité#Compte-de-report-à-nouveau|Report à nouveau]]&lt;br /&gt;
&lt;br /&gt;
==Retrouver les flux supprimés sans permission==&lt;br /&gt;
&lt;br /&gt;
Pour retrouver des flux supprimés sans permission, il est possible de consulter les logs. Deux rapports ont été créés pour faciliter cette tâche.&lt;br /&gt;
&lt;br /&gt;
Le premier rapport &amp;quot;[[OF_doc-en::Export_generator_3#People_who_have_deleted_encashments/flows_without_having_the_permission|liste des personnes ayant supprimés des encaissements/flux sans permission]]&amp;quot; permet d'obtenir en outre de la personne, la date de la suppression et le numéro de flux supprimé.&lt;br /&gt;
&lt;br /&gt;
Le second rapport &amp;quot;[[OF_doc-en::Export_generator_3#Historic_of_changes_for_a_specific_encashment/flow|Liste des changements spécifiques à un encaissement/flux]]&amp;quot; permet de connaître les détails d'un flux. Ce rapport est lié au champ additionnel &amp;quot;Numéro de flux&amp;quot; qui doit être préalablement créé.&lt;br /&gt;
&lt;br /&gt;
Pour avoir le détail de tous les flux supprimés, procéder ainsi :&lt;br /&gt;
# Ouvrir deux onglets sur le navigateur.&lt;br /&gt;
# Dans ces onglets, se rendre dans la page qui liste les rapports '''Admin &amp;gt; Rapports &amp;gt; Structure &amp;gt; Visualiser'''.&lt;br /&gt;
# Dans le premier onglet, sélectionner le premier rapport et valider pour avoir la liste des numéros de flux.&lt;br /&gt;
# Copier un numéro de flux (numéro dans la colonne &amp;quot;flowid&amp;quot;).&lt;br /&gt;
# Dans le second onglet, coller le numéro de flux dans le champ destiné. Sélectionner le second rapport et valider pour avoir le détail du flux.&lt;br /&gt;
# Répéter l'opération 4 et 5 pour chaque numéro de flux dont il faut les détails.&lt;br /&gt;
&lt;br /&gt;
=Solder les comptes=&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Gestion / Export'''&lt;br /&gt;
*Dans le formulaire '''Solder les comptes''' :&lt;br /&gt;
*Laisser tous les comptes &amp;quot;Ressources&amp;quot; cochés sauf si certains ne sont pas des comptes d'exploitation&lt;br /&gt;
*La date proposée dans le champ '''A la date du''' doit correspondre au 31 décembre de l'année de l'exercice comptable en cours&lt;br /&gt;
*Dans le champ '''Comptabilité''', sélectionner la comptabilité souhaitée : il faudra effectuer cette opération pour chacune des comptabilités de la plateforme&lt;br /&gt;
*Dans le champ '''Compte de contrepartie''', sélectionner le compte de bilan souhaité, normalement il s'agit du compte '''Report à nouveau (Bilan)''' pour la comptabilité générale&lt;br /&gt;
*Cliquer sur le bouton '''Générer les écritures'''&lt;br /&gt;
&lt;br /&gt;
Ce module génère alors un unique flux qui solde les comptes de charges, de produits et ceux liés aux ressources vers un compte de contrepartie de sorte que ces comptes soient ramenés à 0 à la date sélectionnée.&lt;br /&gt;
&lt;br /&gt;
Seuls les comptes actifs sont pris en compte.&lt;br /&gt;
&lt;br /&gt;
=Factures fournisseurs=&lt;br /&gt;
==Saisie des factures fournisseurs==&lt;br /&gt;
Nous conseillons de se connecter en https à votre plateforme https://openflyers.com/nom-de-plateforme/index.php&lt;br /&gt;
*Depuis la page du planning de réservation, cliquer sur le menu '''Admin''' : [[Image:accueil_espace_client.png]]&lt;br /&gt;
*Cliquer sur le menu '''Achats &amp;gt; Saisie Factures fournisseurs'''.&lt;br /&gt;
*Vous vous retrouvez alors avec le formulaire de saisie suivant :&lt;br /&gt;
[[Image:saisie_facture_fournisseur_vierge.png]]&lt;br /&gt;
&lt;br /&gt;
2 cas peuvent se présenter :&lt;br /&gt;
*Soit [[#Saisie_d'une_facture_fournisseur_dont_le_type_de_facture_est_déjà_enregistré|le type de facture fournisseur correspondant à la facture à saisir est déjà existant]]&lt;br /&gt;
*Soit la facture fournisseur à saisir nécessite la création d'un nouveau type de facture fournisseur. Dans ce cas, il existe plusieurs façons de créer un nouveau type de facture fournisseur dont la possibilité de [[#Saisie_d'une_facture_fournisseur_dont_le_type_est_nouveau|le faire directement en saisissant la facture]].&lt;br /&gt;
&lt;br /&gt;
===Saisie d'une facture fournisseur dont le type de facture est déjà enregistré===&lt;br /&gt;
*Sélectionner le '''type de facture fournisseur''' correspondant à la facture à saisie. Le nombre de champs à renseigner se réduit alors automatiquement :&lt;br /&gt;
[[Image:facture_fournisseur_à_compléter.png]]&lt;br /&gt;
*Reporter sur la facture originale le '''numéro de pointage''' qui apparaît dans le formulaire. Ce numéro de pointage est unique et permet de rapprocher les factures fournisseurs saisies dans OpenFlyers avec leurs originaux.&lt;br /&gt;
*Cocher &amp;quot;'''J'ai bien pris en compte cette valeur et je l'ai reporté sur ma facture'''&amp;quot;. A défaut, si vous validez, le système refusera votre saisie et une alerte apparaitra.&lt;br /&gt;
*Le champ '''Description''' permet d'indiquer toute information utile concernant la facture et d'en faciliter la recherche ultérieure.&lt;br /&gt;
*Indiquer la date de facturation en cliquant sur le calendrier. Il est possible de paramétrer le format d'affichage de la date en allant dans le menu '''Données/Affichage''' puis de modifier le contenu du champ '''fiche personnelle/Patron de format de date'''.&lt;br /&gt;
*Renseigner le '''montant hors taxe'''&lt;br /&gt;
*Renseigner la '''TVA''' (champ visible uniquement si la comptabilité est paramétrée pour la prise en compte de la TVA). Si la TVA est nulle, il faut indiquer 0.&lt;br /&gt;
*Cliquer sur '''Valider''' ou '''Valider et Saisir le suivant''' si vous avez plusieurs factures à saisir à la volée. Dans ce dernier cas, le formulaire de saisie de facture fournisseur s'affiche à nouveau et il faut reprendre les opérations de saisie depuis le début de ce paragraphe.&lt;br /&gt;
&lt;br /&gt;
===Saisie d'une facture fournisseur dont le type est nouveau===&lt;br /&gt;
Lors de la saisie d'un nouveau compte fournisseur, aucun élément n'est renseigné par défaut et le formulaire à la forme suivante :&lt;br /&gt;
&lt;br /&gt;
[[Image:Saisie_facture_fournisseur_vierge.png]]&lt;br /&gt;
&lt;br /&gt;
Plusieurs parties du formulaire peuvent se réduire à partir du moment où dans le champ précédant la partie réductible, l'utilisateur remplace '''Autre...''' par un choix proposé. A contrario, en laissant '''Autre...''' ou '''Associer un nouveau compte''' (dans le cas du premier champ), c'est l'information saisie dans le champ suivant qui sera prise en compte.&lt;br /&gt;
&lt;br /&gt;
La saisie va consister à définir les ventilations comptables associée à ce type de facture fournisseur. A savoir :&lt;br /&gt;
*le fournisseur et son compte fournisseur qui sera crédité du montant des factures associées à ce type de facture fournisseur&lt;br /&gt;
*le compte de charge qui sera débité du montant des factures associées à ce type de facture fournisseur&lt;br /&gt;
*Si la gestion de la TVA est activée, le compte de TVA qui sera débité du montant de la TVA associée à ce type de facture fournisseur&lt;br /&gt;
*De plus, si la gestion des budgets est activée, il est demandé, pour chaque compte (fournisseur, charge et TVA), le budget à associer&lt;br /&gt;
&lt;br /&gt;
*Ainsi, si on doit saisir une facture fournisseur associée à un nouveau type de facture fournisseur, alors il faut laisser '''associer un nouveau compte''' au champ '''Type de facture fournisseur''' et renseigner l'intitulé souhaité pour le type de facture fournisseur dans le champ suivant '''Nom de type de facture'''&lt;br /&gt;
*Ensuite, dans le champ '''Fournisseur''', là aussi, 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le fournisseur à mentionner est déjà dans la liste proposée dans le champ '''Fournisseur''' et auquel cas il faut le sélectionner (et le champ suivant '''Nom du fournisseur''' disparaitra)&lt;br /&gt;
**Soit le fournisseur à mentionner n'est pas déjà dans la liste proposée dans le champ '''Fournisseur''' et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer'''' au fournisseur ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner pour tous les fournisseurs un budget ''Fournisseurs''.&lt;br /&gt;
***Renseigner le champ '''Nom du fournisseur''' qui doit correspondre au fournisseur souhaité&lt;br /&gt;
***Choisir un compte d'export associé au nouveau fournisseur créé :&lt;br /&gt;
****Soit il existe déjà un compte d'export dans le champ '''Compte du fournisseur'''&lt;br /&gt;
****Soit il n'existe pas de compte d'export associable à ce nouveau fournisseur (en général on associe un compte d'export différent pour chaque compte défini dans OpenFlyers) et auquel cas, il faut renseigner le champ '''Compte fournisseur d'export'''. On peut, par exemple, saisir ''401NOMDUFOURNISSEUR'' dans le cas du plan comptable français.&lt;br /&gt;
***Si la gestion des budgets est active, le champ suivant est '''Budget à attribuer''' et OpenFlyers a dû le remplir par défaut avec la même valeur que pour le champ du même nom rattaché au '''Nom du fournisseur'''. Il ne doit pas y avoir besoin de modifier le contenu de ce champ.&lt;br /&gt;
*Dans le champ '''Compte de charge''', 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le compte de charge à associer est déjà dans la liste proposée et auquel cas il faut le sélectionner&lt;br /&gt;
**Soit le compte de charge à associer n'est pas déjà dans la liste proposée et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer''' au compte de charge que l'on crée ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner un budget représentatif du type de facture et ainsi avoir la ventilation de toutes les factures fournisseurs par poste budgétaire&lt;br /&gt;
***Renseigner le champ '''Nom du compte''' avec l'intitulé correspondant au compte de charge à créer&lt;br /&gt;
***Renseigner le champ '''Compte d'export''' avec la valeur du plan comptable correspondante. Pour le plan comptable français, ce sera un compte en 6xx.&lt;br /&gt;
*Si la gestion de la TVA est activée, le champ '''Compte TVA du type de facture''' est présent et 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le compte de TVA à associer à ce type de facture est dans la liste proposée et auquel cas il faut le sélectionner&lt;br /&gt;
**Soit le compte de TVA n'existe pas et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer''' au compte de TVA que l'on crée ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner un budget ''TVA Fournisseur''&lt;br /&gt;
***Renseigner le champ '''Nom de compte TVA'''. Par exemple, dans le cas des factures fournisseurs provenant de France : ''TVA déductible sur autres biens et services''&lt;br /&gt;
***Renseigner le champ '''Compte TVA d'export'''. Par exemple, dans le cas des factures fournisseurs provenant de France : ''445660''.&lt;br /&gt;
*Le reste de la saisie s'effectue comme pour la [[#Saisie_d'une_facture_fournisseur_dont_le_type_de_facture_est_déjà_enregistré|saisie d'une facture fournisseur dont le type de facture est déjà enregistré]].&lt;br /&gt;
&lt;br /&gt;
===Suppression d'une facture fournisseur===&lt;br /&gt;
Pour supprimer une facture fournisseur qui aurait été saisie par erreur, il faut :&lt;br /&gt;
*Aller dans le menu '''Achats/Liste des factures fournisseurs''' ;&lt;br /&gt;
[[Image:achats-liste-des-factures-fournisseurs.png]]&lt;br /&gt;
&lt;br /&gt;
*Rechercher le '''numéro de pointage''' de la facture concernée en ayant pris soin au préalable de sélectionner le mois de la facture (ou l'année complète pour lister l'ensemble des factures) ;&lt;br /&gt;
&lt;br /&gt;
[[Image:numéro-de-pointage.png]]&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur l'icône poubelle associée à la facture concernée.&lt;br /&gt;
&lt;br /&gt;
[[Image:icône-poubelle.png]]&lt;br /&gt;
&lt;br /&gt;
Le numéro de la facture supprimée n'existera plus dans la comptabilité. Il ne sera pas proposé à nouveau lors de la saisie d'une nouvelle facture. Par ailleurs, la numérotation des factures saisies a posteriori de la facture supprimée demeurera inchangée.&lt;br /&gt;
&lt;br /&gt;
===Suppression d'un type de facture fournisseur===&lt;br /&gt;
Pour supprimer un type de facture fournisseur qui aurait été saisi par erreur, il faut :&lt;br /&gt;
&lt;br /&gt;
*Aller dans le menu '''Achats/Types de factures fournisseurs''' ;&lt;br /&gt;
&lt;br /&gt;
[[Image:achats-types-de-factures-fournisseurs.png]]&lt;br /&gt;
&lt;br /&gt;
*Sélectionner le type de fournisseur concerné dans la colonne '''Nom''' ;&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur l'icône poubelle associée à la facture concernée.&lt;br /&gt;
&lt;br /&gt;
[[Image:icône-poubelle.png]]&lt;br /&gt;
&lt;br /&gt;
==Saisie d'un [[Écritures comptables#Paiement_(à_un_fournisseur)|paiement à un fournisseur]]==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Saisir un flux'''&lt;br /&gt;
*Sur la première ligne :&lt;br /&gt;
**dans la colonne '''Compte''' sélectionner le compte du fournisseur&lt;br /&gt;
**dans la colonne '''Débit''' saisir le montant du paiement que vous effectuez. Si vous souhaiter solder le compte du fournisseur, il vous suffit de cliquer sur l'icône représentant une balance et intitulée &amp;quot;Ramener le solde à zéro&amp;quot;&lt;br /&gt;
*Sur la deuxième ligne :&lt;br /&gt;
**dans la colonne '''Compte''' sélectionner le compte bancaire depuis lequel l'argent est débité&lt;br /&gt;
**cliquer sur l'icône représentant une balance avec une flèche bleue et intitulée &amp;quot;Equilibrer la dernière ligne&amp;quot;&lt;br /&gt;
*Dans le champ '''Commentaires''' saisir un texte libre&lt;br /&gt;
*Ne pas oublier de renseigner le champ '''Date comptable'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
&lt;br /&gt;
=Bon de commande et facture clients=&lt;br /&gt;
&lt;br /&gt;
==Visualiser des factures au format PDF==&lt;br /&gt;
Nous conseillons de se connecter en https à votre espace http://openflyers.com/nom-de-plateforme/index.php&lt;br /&gt;
&lt;br /&gt;
OpenFlyers propose par défaut un [[Modèle de facture ODT|modèle de facture]] qui permet d'éditer des factures PDF pour les prestations suivantes :&lt;br /&gt;
*les achats réalisés depuis le gestionnaire des ventes&lt;br /&gt;
**depuis la page du planning de réservation, cliquer sur le menu '''Comptes/Acheter''' ;&lt;br /&gt;
[[Image:comptes-acheter.png]]&lt;br /&gt;
*les validités qui ont été achetées/renouvelées&lt;br /&gt;
*les vols.&lt;br /&gt;
**Aller dans le menu '''Comptes/Etat/Pilote''' et se rendre dans la [[Documentation utilisateur#Colonne_.22Numéro_de_pointage_ou_de_facture.22|colonne numéro de pointage ou de facture]]&lt;br /&gt;
[[Image:comptes-etat-pilote.png]]&lt;br /&gt;
&lt;br /&gt;
==Importer son [[Modèle de facture ODT|modèle de facture]]==&lt;br /&gt;
&lt;br /&gt;
'''/!\ En important un [[Modèle de facture ODT|modèle de facture]], ce sera celui-ci qui va être utilisé pour générer les nouvelles factures au format PDF. Les factures qui ont déjà créées avant la mise en place du nouveau modèle continuera d'appliquer les anciens versions du modèle ou ceux fournis par défaut par OF'''&lt;br /&gt;
&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Configuration &amp;gt; Import de template ODT''' :&lt;br /&gt;
[[Image:configuration-import-de-templates-odt.png]]&lt;br /&gt;
* Préparer le fichier ODT contenant tous les modèles utilisés qui doivent être organisés comme suit :&lt;br /&gt;
*:'''page 1''' : Facture client&lt;br /&gt;
*:'''page 2''' : Duplicata de la facture client&lt;br /&gt;
*Importer  le fichier&lt;br /&gt;
*Cocher '''Facturation client'''&lt;br /&gt;
*Valider&lt;br /&gt;
&lt;br /&gt;
==Calcul du montant HT, de la TVA et du montant TTC==&lt;br /&gt;
&lt;br /&gt;
Les différents montants sont calculés de la sorte :&lt;br /&gt;
* Pour la TVA, on effectue la somme des écritures de débit et de crédit liés aux&lt;br /&gt;
** comptes de catégorie TVA&lt;br /&gt;
** produits de type de vente TVA&lt;br /&gt;
* Pour le montant TTC, on effectue la somme des écritures de débit et de crédit liées aux&lt;br /&gt;
** comptes qui ne sont pas de catégorie TVA&lt;br /&gt;
** produits qui ne sont pas de type de vente TVA&lt;br /&gt;
* Pour le montant HT, on effectue la différence entre la TVA et le montant TTC&lt;br /&gt;
&lt;br /&gt;
==Relevés de factures clients==&lt;br /&gt;
Une facture client est un document unique. Les PDF d'une facture déjà exportée seront générés avec la mention &amp;quot;Duplicata&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formulaire de sélection===&lt;br /&gt;
Ce formulaire permet d'établir une sélection générale de factures clients.&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Rapports &amp;gt; Générique &amp;gt; Relevés de factures clients'''&lt;br /&gt;
*Les champs &amp;quot;A partir du&amp;quot; et &amp;quot;Jusqu'au&amp;quot; permettent d'établir une sélection en fonction des dates de facturation. Pour éviter un temps de chargement trop long, il est conseillé de définir une plage d'un mois maximum.&lt;br /&gt;
*Le champ &amp;quot;Compte client&amp;quot; permet de sélectionner les relevés de factures d'un client particulier&lt;br /&gt;
*Le champ &amp;quot;Types de vols&amp;quot; permet de sélectionner des factures en fonction du type de vol&lt;br /&gt;
*Le champ &amp;quot;Produits non stockés&amp;quot; permet de sélectionner des factures en fonction de la nature du produit&lt;br /&gt;
*Le champ &amp;quot;Validités&amp;quot; permet de sélectionner des factures en fonction des produits de type &amp;quot;validité&amp;quot;&lt;br /&gt;
*Valider pour accéder aux factures à exporter&lt;br /&gt;
&lt;br /&gt;
===Tableau de factures à exporter===&lt;br /&gt;
Ce tableau est le résultat du formulaire. Il liste des factures clients.&lt;br /&gt;
*Sélectionner au cas par cas les factures à exporter&lt;br /&gt;
*Cliquer sur le bouton '''Générer PDF''' en bas du tableau pour générer le PDF des factures sélectionnées&lt;br /&gt;
*Cliquer sur le bouton '''Sauver dans un fichier CSV''' en bas du tableau pour exporter les factures sélectionnées au format CSV&lt;br /&gt;
&lt;br /&gt;
=Gestion des règlements clients=&lt;br /&gt;
==Saisir un encaissement==&lt;br /&gt;
Cf. les [[Écritures comptables#Saisie_d'un_encaissement_(d'un_client)|mouvements associés à un encaissement client]] pour connaitre les mouvements créés lors de la saisie comptable.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' seuls les [[Comptabilité#Comptes_clients|comptes clients]] et les [[Comptabilité#Comptes_utilisateurs|comptes utilisateurs]] peuvent recevoir des encaissements. En effet, comptablement, cela n'a pas de sens de faire un encaissement sur d'autres types de comptes.&lt;br /&gt;
&lt;br /&gt;
*'''Comptes &amp;gt; Approvisionner''' ou '''Admin &amp;gt; Comptes &amp;gt; Encaissements &amp;gt; Saisir un encaissement'''&lt;br /&gt;
*'''Comptes clients''' :&lt;br /&gt;
**Si le payeur est un utilisateur de la plateforme, laisser sélectionné '''Utilisateur'''&lt;br /&gt;
**Sinon, sélectionner '''Non-utilisateur'''&lt;br /&gt;
*'''Date du paiement''' :&lt;br /&gt;
**pour les paiements par chèque on laisse en général la date du jour qui correspond &amp;quot;au mieux&amp;quot; à la date à laquelle l'encaissement sera fait.&lt;br /&gt;
**pour les paiements en espèce on met la date à laquelle les sommes ont été reçus.&lt;br /&gt;
**pour les paiements par virement on met la date du virement.&lt;br /&gt;
*'''Encaissement de l'utilisateur''' : sélectionner le nom de l'utilisateur effectuant le paiement&lt;br /&gt;
ou&lt;br /&gt;
*'''Compte à créditer''' : sélectionner le nom du client &amp;quot;connu&amp;quot; ou à défaut &amp;quot;Clients extérieurs&amp;quot;&lt;br /&gt;
Attention : il faut sélectionner le compte correspondant à celui qui a été facturé et donc débité.&lt;br /&gt;
*'''Montant''' : indiquer le montant du paiement&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' ou le bouton '''VALIDER ET SAISIR LE SUIVANT'''&lt;br /&gt;
&lt;br /&gt;
==Saisir l'encaissement d'un comité d'entreprise ou d'un groupement d'utilisateurs==&lt;br /&gt;
Dans le cas où un comité d'entreprise ou un groupement d'utilisateurs (comme la DGAC dans le cas des contrôleurs aériens) prend en charge tout ou partie du coût d'une activité générée par OpenFlyers, la plateforme est normalement configurée pour que ce soit le compte du CE ou du groupement qui soit automatiquement débité lors de la saisie de l'activité.&lt;br /&gt;
&lt;br /&gt;
De ce fait, saisir dans OpenFlyers un règlement provenant d'une telle entité revient à [[#Saisir_un_encaissement|saisir un encaissement d'un &amp;quot;non-utilisateur&amp;quot; sur son propre compte client]].&lt;br /&gt;
&lt;br /&gt;
==Validation des règlements clients==&lt;br /&gt;
Le comptable, trésorier, secrétaire, etc. doit valider les règlements avant de remettre l'argent à la banque, que la saisie soit faite pas un pilote ou par une personne tierce.&lt;br /&gt;
&lt;br /&gt;
Tant qu'une écriture n'est pas validée, elle apparaît différemment dans les extraits de compte afin de bien signifier que le mouvement n'est pas validé et que le solde du compte est donc susceptible d'être modifié. Une écriture non validée peut être modifiée mais '''Une fois la validation effectuée'''  il n'est plus possible de '''revenir en arrière'''. &lt;br /&gt;
&lt;br /&gt;
En cas d'erreur, le trésorier doit faire une écriture d'annulation et ressaisir le règlement correct.&lt;br /&gt;
&lt;br /&gt;
Pour valider les règlements le trésorier dispose d'une page accessible uniquement avec le droit &amp;quot;'''Valider les encaissements'''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Voici la description de la tâche de validation des règlements par le trésorier :&lt;br /&gt;
*Récupérer les chèques et espèces à valider&lt;br /&gt;
*Classer les chèques par ordre de date.&lt;br /&gt;
*Aller dans la page '''Admin &amp;gt; Comptes &amp;gt; Pointer &amp;gt; Chèques'''&lt;br /&gt;
*Cette pages affiche les règlements que les pilotes ont saisies et qui sont en attente de validation&lt;br /&gt;
*Cocher les règlements dont vous possédez les chèques.&lt;br /&gt;
*Si des règlements ne sont pas dans la liste en attente, le trésorier les ajoute à l'aide d'un bouton prévu à cet effet puis les coche.&lt;br /&gt;
*Si des saisies sont erronées, corrigez-les puis les cocher.&lt;br /&gt;
*Supprimer les saisies inopportunes.&lt;br /&gt;
*Une fois que tout les chèques sont pointés, cliquez sur '''Éditer le bordereau de remise'''.&lt;br /&gt;
*On passe sur la page de la liste de vos règlements validés, faite une vérification&lt;br /&gt;
*Imprimez la bordereau de remise en banque, utilisez le menu de votre navigateur '''Fichier &amp;gt; Imprimer'''.&lt;br /&gt;
*Valider le bordereau. &amp;quot;'''Attention, cette action est irréversible'''&amp;quot;&lt;br /&gt;
*Faire les opérations ci-dessus pour chaque type de règlement&lt;br /&gt;
*Porter les remises en banque&lt;br /&gt;
&lt;br /&gt;
La validation régulière de vos règlements permet de bloquer les modifications par les pilotes et augmente la fiabilité de votre comptabilité&lt;br /&gt;
&lt;br /&gt;
=Cas particuliers=&lt;br /&gt;
==Ecritures manuelles dans le cadre [[Conseils spécifiques pour la comptabilité#Facturation_automatique_à_des_organismes_avec_ou_sans_quotas|d'une facturation automatique à un organisme tiers]]==&lt;br /&gt;
Normalement, le paramétrage d'une plateforme OpenFlyers est effectué pour que les écritures soient automatiquement réalisées lors de la saisie d'une activité.&lt;br /&gt;
&lt;br /&gt;
Cependant, si les écritures ne se sont pas effectuées automatiquement, ne serait-ce que dans le cas où le paramétrage a été mis en place ultérieurement à la saisie d'activité et que ces saisies ont été validées, il est nécessaire d'effectuer la saisie manuelle des flux permettant d'obtenir la [[Facturation des clients#Cascade_d'écritures_comptables|situation comptable souhaitée]].&lt;br /&gt;
&lt;br /&gt;
Ainsi, si l'utilisateur a été intégralement débité du montant de l'activité et qu'il faut simplement saisir une écriture permettant de créditer son compte du montant devant être débité à l'organisme tiers, il suffit de [[#Saisie_d'un_flux|saisir un flux]] qui va créditer son compte du montant concerné et débiter le compte de l'organisme tiers du même montant.&lt;br /&gt;
&lt;br /&gt;
De plus, si une gestion de quota est en place, il faut également corriger le compte de quota de l'utilisateur concerné sur le même modèle d'écriture que pour l'[[Conseils spécifiques pour la comptabilité#Initialisation_du_solde_d'heures_lors_de_la_mise_en_place_des_packs|initialisation d'un quota]] mais en sens opposé (le compte quota de l'utilisateur doit être débité au lieu d'être crédité et inversement pour le compte de bilan correspondant).&lt;br /&gt;
&lt;br /&gt;
==Gestion des baptêmes==&lt;br /&gt;
===Utiliser le [[Configuration de la comptabilité#Gestion_des_baptêmes|paramétrage préconisé des baptêmes]]===&lt;br /&gt;
On appelle dans l'exemple &amp;quot;Clients extérieurs&amp;quot; le compte client qui est utilisé pour les clients baptêmes. La dénomination peut changer d'une configuration à l'autre.&lt;br /&gt;
Lorsqu'un baptême est effectué :&lt;br /&gt;
#Saisir le vol avec comme type de vol &amp;quot;baptême&amp;quot; : le coût du vol au tarif solo est alors débité sur le compte client &amp;quot;Clients extérieurs&amp;quot;.&lt;br /&gt;
#Encaisser le paiement du baptême sur le compte client &amp;quot;Clients extérieurs&amp;quot; (qui est accessible dans le formulaire de saisie des encaissements en sélectionnant comme type d'utilisateur &amp;quot;non utilisateur&amp;quot;).&lt;br /&gt;
Ainsi, le compte client &amp;quot;Clients extérieurs&amp;quot; se retrouvera avec un solde correspondant à la différence entre le prix du baptême payé par le client et le prix du vol solo facturé par OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Il suffit alors de passer une écriture, par exemple tous les mois, tous les trimestres ou tous les ans, entre le compte &amp;quot;Clients extérieurs&amp;quot; et un compte produit (par exemple compte produit &amp;quot;delta baptêmes&amp;quot;) qui va recevoir le solde du compte client &amp;quot;Clients extérieurs&amp;quot; afin de le ramener à 0.&lt;br /&gt;
&lt;br /&gt;
Cas pratique :&lt;br /&gt;
*Tarif solo : 100 €/h&lt;br /&gt;
*Tarif baptême : 60 €&lt;br /&gt;
*Vol effectué de 30 minutes&lt;br /&gt;
&lt;br /&gt;
Alors :&lt;br /&gt;
*En saisissant le vol de 30 minutes en tant que &amp;quot;baptême&amp;quot;, le compte &amp;quot;clients extérieurs&amp;quot; sera débité du montant du tarif solo soit 50 €.&lt;br /&gt;
*En saisissant l'encaissement du paiement de 60 € effectué par le baptisé, le compte &amp;quot;clients extérieurs&amp;quot; sera crédité de 60 €.&lt;br /&gt;
*Il est résulte sur le compte &amp;quot;clients extérieur&amp;quot; un solde positif de 10 €.&lt;br /&gt;
A la fin de l'année, le compte &amp;quot;clients extérieur&amp;quot; aura vu son solde augmenter au fur et à mesure que les baptêmes auront été effectuée. Admettons qu'il se retrouve avec un solde positif de 1210 €. Il faut alors passer un mouvement (via la saisie d'un flux) pour débiter le compte &amp;quot;clients extérieurs&amp;quot; de 1210 € et créditer un compte produit &amp;quot;delta baptêmes&amp;quot; de 1210 €. Ce faisant le solde du compte client &amp;quot;clients extérieurs&amp;quot; est ramené à 0 ce qui est important pour montrer comptablement que personne ne doit de l'argent à l'aéro-club et le gain spécifique aux baptêmes est enregistré dans le compte produit &amp;quot;delta baptêmes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Les taxes==&lt;br /&gt;
===Gérer les taxes d'atterrissage dans OpenFlyers===&lt;br /&gt;
Les taxes d'atterrissages sont facturées à la structure aéronautique qui souvent les débitent sur le compte de ses clients. Voici 2 méthodes pour gérer ces opérations dans OpenFlyers :&lt;br /&gt;
*La méthode la plus simple consiste à partir du principe que les factures des taxes d'atterrissages sont déjà existantes et qu'il s'agit juste de faire payer la personne réellement concernée par la taxe. Pour ce faire, il suffit de saisir un flux en débitant le compte du client du montant de la facture de la taxe d'atterrissage et de créditer un compte produit &amp;quot;taxe d'atterrissage&amp;quot;. Cette méthode est pratique dans le cas où le prix de la taxe n'est jamais le même.&lt;br /&gt;
*Pour les aérodromes dont les taxes sont récurrentes, il peut être intéressant de créer un type de vente pour gérer les taxes. Cette solution n'est pratique que dans le cas où les montants sont constants. Cela permet alors d'éviter d'avoir à saisir à chaque fois le prix de la taxe. L'autre intérêt de cette méthode est qu'elle permet de générer une facture fournisseur au nom de la structure dans le cas où le client le souhaiterait.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15266</id>
		<title>Documentation utilisateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15266"/>
				<updated>2017-07-27T07:29:39Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* E-mail de rappel de réservation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de regrouper les informations utiles pour l'ensemble des utilisateurs finaux d'[[Accueil|OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
=Accès à OpenFlyers=&lt;br /&gt;
==Accéder à une plateforme==&lt;br /&gt;
Pour accéder à une plateforme OpenFlyers, il faut entrer son URL dans un navigateur web.&lt;br /&gt;
&lt;br /&gt;
L'URL est ''http://openflyers.com/plateforme/'', où &amp;quot;plateforme&amp;quot; doit être remplacé par le vrai nom de la plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
==Impossible de se connecter à la plateforme OpenFlyers de sa structure==&lt;br /&gt;
Si vous n'arrivez pas à accéder une plateforme OpenFlyers il faut en rechercher la raison. Voici un certain nombre de questions qui peuvent vous permettre de solutionner votre problème :&lt;br /&gt;
*Accédez-vous à la page d'identification de la plateforme OpenFlyers ?&lt;br /&gt;
**Si non, alors il faut regarder la FAQ [[#Page_indisponible|Page indisponible]]&lt;br /&gt;
*Lorsque vous vous identifiez, avez-vous un message de rejet indiquant que votre identifiant et/ou votre mot de passe ne sont pas corrects ?&lt;br /&gt;
**Si oui, alors le problème peut venir du mot de passe qui a changé. Dans ce cas là, vous pouvez ré-initialiser votre mot de passe en suivant la procédure [[#Réinitialiser-son-mot-de-passe|de réinitialisation de mot de passe]]. Cela peut également venir de votre identifiant qui n'est pas bon. Dans ce cas, il faut demander à la personne en charge de la gestion d'OpenFlyers au sein de votre structure aéronautique&lt;br /&gt;
*Une fois connecté, revenez-vous sur la page d'identification lorsque vous changez de page ?&lt;br /&gt;
**Si oui, alors il faut regarder la [[FAQ-utilisateur#Navigation-dans-OpenFlyers|procédure de gestion des cookies du navigateur]].&lt;br /&gt;
Si vous n'êtes dans aucun des cas répertoriés ci-dessus, alors vous pouvez rapporter votre problème en nous envoyant un e-mail et en décrivant le plus précisément possible le problème que vous rencontrez :&lt;br /&gt;
*Navigateur utilisé&lt;br /&gt;
*Système d'exploitation&lt;br /&gt;
*type de PC, smartphone ou tablette&lt;br /&gt;
*Nom du fournisseur d'accès internet&lt;br /&gt;
*Actions effectuées&lt;br /&gt;
*Message d'erreur s'affichant&lt;br /&gt;
&lt;br /&gt;
==Message d'alerte adresse IP bloquée==&lt;br /&gt;
&lt;br /&gt;
Un message d'alerte signalant que '''l'adresse IP est bloquée''' peut apparaître lorsque vous souhaitez vous connecter. Ce message apparaît lorsque vous avez tenté de vous connecter à plusieurs reprises mais que le couple identifiant / mot de passe est incorrect.&lt;br /&gt;
&lt;br /&gt;
Après avoir attendu le temps indiqué par le message d'alerte, vous pouvez tenter de vous reconnecter en faisant attention [[Wikipedia-fr:Sensibilit%C3%A9_%C3%A0_la_casse|à la casse]].&lt;br /&gt;
&lt;br /&gt;
==Page indisponible==&lt;br /&gt;
Si vous n'arrivez pas à accéder à la plateforme OpenFlyers de votre structure, voici une liste d'actions à effectuer :&lt;br /&gt;
*Redémarrer votre ordinateur&lt;br /&gt;
*Redémarrer la &amp;quot;box&amp;quot; ADSL&lt;br /&gt;
*Si cela ne fonctionne toujours pas, il faut [[#Tester_les_résolutions_DNS|tester les résolutions DNS]].&lt;br /&gt;
&lt;br /&gt;
===Tester les résolutions DNS===&lt;br /&gt;
Pour effectuer les tests suivants, il faut ouvrir une fenêtre &amp;quot;[[#Ouvrir_une_fenêtre_en_ligne_de_commande|en ligne de commandes]]&amp;quot;. En cas de problème, il faut nous rapporter les résultats en ouvrant un rapport de bug sur le [http://bts.openflyers.org BTS]. Pour cela, il est pratique de procéder par [[#Copier/Coller_dans_une_fenêtre_en_ligne_de_commande|copier/coller]].&lt;br /&gt;
*Dans la fenêtre en ligne de commande taper ce qui suit (en remplaçant '''structure''' par le sous-domaine correspondant à votre structure) :&lt;br /&gt;
&amp;lt;bash&amp;gt;ping structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
La réponse normale est pour OpenFlyers 3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of3.openflyers.net [87.98.143.237] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.143.237 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of3.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.143.237&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 2.1 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur8-of21.openflyers.net [87.98.145.26] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.145.26 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur8-of21.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.145.26&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 1.3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of1.openflyers.net [178.33.105.217] avec 32 octets de données :&lt;br /&gt;
 Réponse de 178.33.105.217 : octets=32 temps=41 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of1.openflyers.net&amp;quot; ou &amp;quot;Réponse de 178.33.105.217&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
====Tests plus poussés====&lt;br /&gt;
*Faire un :&lt;br /&gt;
&amp;lt;bash&amp;gt;nslookup structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Et un :&lt;br /&gt;
&amp;lt;bash&amp;gt;tracert structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Faire le test avec '''dig +trace''' :&lt;br /&gt;
&amp;lt;bash&amp;gt;dig +trace structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
Sous Windows, il faudra au préalable récupérer l'utilitaire (par exemple dans un package [http://www.isc.org./downloads bind]). Une fois télécharger le package, il faut copier/coller le programme dig ainsi que les fichiers .dll dans un répertoire commun et se positionner dans ce répertoire depuis la fenêtre en ligne de commandes avec la commande dir '''&amp;quot;nom du chemin du répertoire&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
====Tester les résolutions DNS sous Mac====&lt;br /&gt;
De plus, nous disposons de commandes plus puissantes qui permettent d'avoir d'avantage d'informations :&lt;br /&gt;
*cat /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
===Vérifier la configuration de résolution des DNS===&lt;br /&gt;
====Vérifier la configuration de résolution des DNS sous Windows====&lt;br /&gt;
Si vous avez un problème de résolution DNS sous windows, il peut être utile de vérifier que la résolution DNS est dynamique :&lt;br /&gt;
#Double-cliquer sur la connexion réseau concernée (par exemple le symbole &amp;quot;WIFI&amp;quot;)&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot; dans l'onglet &amp;quot;Général&amp;quot; de l'&amp;quot;Etat de Connexion réseau sans fil&amp;quot; (si WIFI))&lt;br /&gt;
#Sélectionner &amp;quot;Protocole internet TCP/IP&amp;quot;&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot;&lt;br /&gt;
#Vérifier qu'est sélectionné &amp;quot;Obtenir les adresses des serveurs DNS automatiquement&amp;quot;. (si ce n'est pas le cas, modifier).&lt;br /&gt;
#En dernier ressort, [[#Changer de serveur DNS|Changer de serveur DNS]] ou [[#Forcer_les_DNS|Forcer les DNS]].&lt;br /&gt;
&lt;br /&gt;
===Nous communiquer les adresses IP des serveurs DNS===&lt;br /&gt;
====Nous communiquer les adresses IP des serveurs DNS sous Windows====&lt;br /&gt;
#[[#Ouvrir_une_fenêtre_en_ligne_de_commande|Ouvrir une fenêtre en ligne de commande]]&lt;br /&gt;
#Taper : '''ipconfig /all'''&lt;br /&gt;
Les adresses IP des serveurs DNS se trouvent au droit de '''Serveurs DNS'''&lt;br /&gt;
&lt;br /&gt;
===Changer de serveur DNS===&lt;br /&gt;
Si vous rencontrez un problème de résolution de DNS avec votre fournisseur d'accès, vous pouvez changer les serveurs qui effectue la résolution des DNS pour votre accès.&lt;br /&gt;
====Changer de serveur DNS sous Mac====&lt;br /&gt;
*Dans '''Préférences Systèmes''', choisir '''Réseau''', puis une fois la bonne carte réseau sélectionnée, appuyer sur Avancé.&lt;br /&gt;
*Dans la fenêtre qui apparaît, aller sur l'onglet '''DNS''' et dans '''Serveurs DNS''' appuyer sur le + pour ajouter '''8.8.8.8''' et une autre fois pour ajouter '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Il ne reste plus qu'à '''Appliquer''' et à tester.&lt;br /&gt;
&lt;br /&gt;
====Changer de serveur DNS sous Windows XP====&lt;br /&gt;
*'''Démarrer &amp;gt; Connexions''' puis cliquer sur la connexion réseau active (par exemple la connexion WIFI)&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*Sélectionner '''Protocole Internet (TCP/IP)'''&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*En général, en bas de la fenêtre '''Propriétés de Protocole Internet (TCP/IP)''' la configuration active est : '''Obtenir les adresses des serveurs DNS automatiquement'''&lt;br /&gt;
*Cocher '''Utiliser l'adresse de serveur DNS suivante :'''&lt;br /&gt;
*Pour '''Serveur DNS préféré''', saisir '''8.8.8.8'''&lt;br /&gt;
*Pour '''Serveur DNS auxiliaire''', saisir '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''Fermer'''&lt;br /&gt;
&lt;br /&gt;
===Forcer les DNS===&lt;br /&gt;
====Forcer les DNS sous Windows====&lt;br /&gt;
Attention, avec Vista, il faut appliquer une [[#Particularité_avec_Windows_Vista|procédure préalable]].&lt;br /&gt;
*Il est possible de résoudre ce problème de DNS en éditant le fichier C:\WINDOWS\system32\drivers\etc\hosts (avec le bloc-notes) en rajoutant la ligne (il faut remplacer structure par le sous-domaine de la plateforme OpenFlyers de votre structure) :&lt;br /&gt;
**Pour OF 1.3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;178.33.105.217 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 2.1 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.145.26 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.143.237  structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Ensuite, il faut relancer votre PC&lt;br /&gt;
*Une fois la connexion correctement effectuée, il est parfois possible de supprimer cette entrée dans le fichier hosts tout en gardant la connexion.&lt;br /&gt;
&lt;br /&gt;
====Particularité avec Windows Vista====&lt;br /&gt;
*Il faut être administrateur pour pouvoir modifier le fichier hosts.&lt;br /&gt;
*Il faut également copier le fichier hosts sur le bureau pour le modifier puis ensuite le recopier dans le bon répertoire (si on édite directement le fichier hosts depuis (system32\drivers\etc\) on ne peut pas le ré-enregistrer).&lt;br /&gt;
&lt;br /&gt;
====Forcer les DNS sous Mac====&lt;br /&gt;
*lancer Terminal (dans Applications/Utilitaires)&lt;br /&gt;
*taper &amp;quot;sudo nano /etc/hosts&amp;quot; (il demande le mot de passe de l'utilisateur qui a les droits admin sur la machine)&lt;br /&gt;
*Ajouter les entrées sur le modèle de la [[#Forcer_les_DNS_sous_Windows|procédure sous Windows]]&lt;br /&gt;
*Faire controle-o pour enregistrer puis controle-x pour quitter&lt;br /&gt;
*Eventuellement, faire &amp;quot;dscacheutil -flushcache&amp;quot; si le changement n'est pas encore pris en compte.&lt;br /&gt;
&lt;br /&gt;
===Ouvrir une fenêtre en ligne de commande===&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
*Aller dans le menu &amp;quot;Démarrer&amp;quot;&lt;br /&gt;
*Puis Tous les programmes/Accessoires&lt;br /&gt;
*Lancer l'&amp;quot;invite de commandes&amp;quot;&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Sous OSX (mac) il faut lancer un Terminal. Pour cela 2 solutions :&lt;br /&gt;
*Taper &amp;quot;terminal&amp;quot; dans spotlight&lt;br /&gt;
ou&lt;br /&gt;
*lancer l'application qui est dans Applications &amp;gt; Utilitaires.&lt;br /&gt;
&lt;br /&gt;
===Copier/Coller dans une fenêtre en ligne de commande===&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
Vous pouvez faire un copier/coller en utilisant le bouton droit de la souris dans la fenêtre de l'invite de commandes puis en choisissant &amp;quot;sélectionner&amp;quot; et ensuite en appuyant sur le bouton gauche et en le laissant appuyer tout en sélectionnant la zone souhaitée)&lt;br /&gt;
&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Pour faire un copier/coller de ces informations et nous les communiquer, il suffit d'utiliser commande-C dans le terminal.&lt;br /&gt;
&lt;br /&gt;
==Restriction d'accès==&lt;br /&gt;
En fonction de la politique de la structure, le paramétrage d'une plateforme OpenFlyers peut entrainer des restrictions lors de la connexion.  Un message s'affiche, à ce moment là, indiquant les raisons de la restriction et le type de restriction. L'intitulé du profil est inchangé une fois connecté mais les droits associés peuvent être restreints. Par exemple, il peut ne plus être possible d'effectuer une réservation ou d'ouvrir une activité (vol).&lt;br /&gt;
&lt;br /&gt;
Ces restrictions peuvent avoir lieu dans les cas suivants :&lt;br /&gt;
*En cas de solde insuffisant.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Gestion_des_comptes|Surpasser la limitation du solde du compte]]. Lorsque l'utilisateur dispose de ce droit et que l'accès devrait être limité à cause du solde de l'un de ses comptes, un message d'alerte sans restriction s'affiche pour indiquer que son solde de compte est inférieur au seuil requis.&lt;br /&gt;
*En cas de validité obsolète.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Généralités|Surpasser les restrictions sur les validités expirées]]. Lorsque l'utilisateur dispose de ce droit, il n'y a pas de message d'alerte pour lui indiquer que l'absence de telle ou telle validité devrait entrainer la restriction de ses droits.&lt;br /&gt;
&lt;br /&gt;
=Activité=&lt;br /&gt;
==Alertes générées lors de la saisie d'une activité==&lt;br /&gt;
&lt;br /&gt;
===[[Facturation des clients#Alertes_générées_par_le_moteur_de_tarification|Alertes générées par le moteur de tarification]]===&lt;br /&gt;
&lt;br /&gt;
===[[#Alertes_lors_d'une_réservation_ou_une_saisie_de_vol|Alertes générées sur les validités]]===&lt;br /&gt;
&lt;br /&gt;
===L'aéronef est déjà en l'air===&lt;br /&gt;
Si en tentant d'ouvrir le vol d'un aéronef, apparait une alerte rouge '''L'aéronef est déjà en l'air''' cela veut dire qu'un vol a déjà ouvert avec cet aéronef. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===La différence entre le temps de vol calculé et le temps de vol saisi est de : X:XX heure(s)===&lt;br /&gt;
Cette alerte est suivie du message :&lt;br /&gt;
&amp;lt;pre&amp;gt;Veuillez contacter votre administrateur à propos de l'incompatibilité entre votre saisie et la formule du temps de vol choisie pour le type d'aéronef : X&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsque la valeur saisie du temps de vol est incompatible avec la valeur calculée par la [[Formules de calcul#Temps_d'activité|formule de calcul de temps de vol]] définie pour l'aéronef X.&lt;br /&gt;
&lt;br /&gt;
En général elle provient du fait que le temps de vol qui avait été calculé automatiquement dans le formulaire lors de la saisie des champs de compteurs départ/arrivée et/ou des heures de départ/arrivée ont été modifiés manuellement.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une telle erreur apparait, vous devez :&lt;br /&gt;
*Essayer de reprendre la saisie et essayer de comprendre pourquoi vous saisissez mal les valeurs dans les champs concernés&lt;br /&gt;
*Si vous n'arrivez pas à comprendre la raison, contacter sans délai un gestionnaire de votre structure afin qu'il vous explique les erreurs que vous commettez lorsque le problème vient d'une saisie erronée ou qu'il analyser lui-même le problème.&lt;br /&gt;
*Si vous êtes vous-même un gestionnaire de la plateforme, vous devez également pousser l'analyse pour comprendre en quoi votre saisie est incompatible avec la formule de calcul et le cas échéant faire effectuer une modification du paramétrage.&lt;br /&gt;
&lt;br /&gt;
Voir également, comment [[#Forcer_la_saisie_d'une_durée_de_vol_incompatible_avec_sa_formule_de_calcul|saisir un temps de vol qui ne respecte pas la formule de calcul]].&lt;br /&gt;
&lt;br /&gt;
===Le pilote X est déjà en l'air===&lt;br /&gt;
Ce message apparait lorsque vous tentez de saisir un vol en ouverture de vol et que le pilote occupant la position X est déjà enregistré sur un vol ouvert, c'est à dire en l'air.&lt;br /&gt;
&lt;br /&gt;
Cette protection permet de ne pas avoir un utilisateur occupé simultanément sur 2 ressources.&lt;br /&gt;
&lt;br /&gt;
S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Seul le type de vol requis dans le cas de la présence d'un second pilote a été sélectionné, vous devez en sélectionner au moins un autre en plus===&lt;br /&gt;
Lors de la saisie d'un vol, cette alerte s'affiche si la configuration de la plateforme nécessite la saisie d'au moins un type de vol supplémentaire en plus du type de vol obligatoire dans le cas de la présence d'un second pilote.&lt;br /&gt;
&lt;br /&gt;
C'est typiquement le cas pour les vols d'instruction où le paramétrage nécessite généralement de préciser un 2ème type de vol comme &amp;quot;local&amp;quot;, &amp;quot;navigation&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
===Vous êtes actuellement en l'air===&lt;br /&gt;
Si en tentant de saisir un vol, l'alerte '''Vous êtes actuellement en l'air''' apparait cela veut dire qu'il y a déjà un vol d'ouvert à votre nom. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Vous ne pouvez ouvrir un vol avec une date de début dépassée===&lt;br /&gt;
Cette protection empêche d'ouvrir une activité avec un horodatage de début antérieur à l'heure actuelle moins 15 minutes.&lt;br /&gt;
&lt;br /&gt;
En général, pour un tel cas, le souhait n'est pas d'ouvrir une activité mais de fermer une activité. Il faut donc penser à passer le champ '''Etat du vol''' en &amp;quot;Retour de vol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Annuler un vol ouvert==&lt;br /&gt;
*Aller sur le planning&lt;br /&gt;
*Cliquer sur le rectangle sur fond bleu correspondant à l'immatriculation de l'aéronef considéré&lt;br /&gt;
*Cliquer sur le bouton '''Annuler le vol''' tout en bas du formulaire.&lt;br /&gt;
&lt;br /&gt;
==Consulter un vol ouvert==&lt;br /&gt;
Pour pouvoir consulter un vol ouvert d'un tiers, il faut disposer du [[Gestion des profils#Gestion_des_vols|droit de &amp;quot;Saisie d'activité pour un tiers&amp;quot;]].&lt;br /&gt;
*Sur le planning de réservation, cliquer sur le rectangle de l'aéronef considéré qui doit être sur fond bleu pour indiquer que l'aéronef est en l'air.&lt;br /&gt;
&lt;br /&gt;
==Saisie d'un vol==&lt;br /&gt;
*Aller dans '''Vols &amp;gt; Saisir un vol''', remplir le formulaire&lt;br /&gt;
*La saisie d'un vol d'une durée inférieure à 15 minutes déclenchera l'affichage d'un message d'avertissement (en orange). Cliquer sur '''Confirmer la validation''' au dessous de ce message pour saisir définitivement le vol.&lt;br /&gt;
*Après la saisie d'un vol, l'utilisateur est renvoyé sur :&lt;br /&gt;
**Le planning lors d'un vol en ouverture&lt;br /&gt;
**Le formulaire de saisie d'un vol lors d'un nouveau vol en fermeture et que le terrain d'arrivée saisie est différent du terrain par défaut de la structure&lt;br /&gt;
**Dans les autres cas, l'[[Documentation utilisateur#Extrait_de_compte|extrait de compte]] de la personne en première place. Si plusieurs comptes sont impactés, c'est le premier compte impacté de la personne qui est choisi.&lt;br /&gt;
**Si l'utilisateur connecté n'a pas le droit de visualiser le compte concerné, alors c'est le carnet de route qui est affiché.&lt;br /&gt;
&lt;br /&gt;
===Forcer la saisie d'une durée de vol incompatible avec sa formule de calcul===&lt;br /&gt;
Un gestionnaire peut forcer la saisie d'un [[#La_différence_entre_le_temps_de_vol_calculé_et_le_temps_de_vol_saisi_est_de_:_X:XX_heure(s)|temps de vol incompatible avec la formule de calcul]] associée au type d'aéronef pour lequel on souhaite saisir un vol.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il doit :&lt;br /&gt;
*Saisir le vol en modification le compteur arrivé de sorte à obtenir le temps de vol souhaité.&lt;br /&gt;
*[[Gestion des ressources#Changer_la_valeur_du_compteur_en_cours|Changer la valeur du compteur en cours]] de l'aéronef.&lt;br /&gt;
&lt;br /&gt;
Dans le cas où plusieurs vols successifs doivent être saisis, il est alors judicieux de ne mettre à jour le compteur de l'aéronef qu'une que tous les vols ont été saisis.&lt;br /&gt;
&lt;br /&gt;
=Comptabilité=&lt;br /&gt;
&lt;br /&gt;
==Alertes générées lors de la [[Utilisation de la comptabilité#Saisie_d'écritures_comptables|saisie d'écritures comptables]]==&lt;br /&gt;
&lt;br /&gt;
===Les comptes n'ont pas la même comptabilité===&lt;br /&gt;
Cette alerte apparait lors d'une [[Comptabilité#Comptabilités_multiples|comptabilité multiple]] : Le compte débité et le compte crédité doivent être issues de la même comptabilité.&lt;br /&gt;
&lt;br /&gt;
==Créditer son compte utilisateur==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Approvisionner'''&lt;br /&gt;
*Si vous disposez de droit de gestion comptable, choisir dans le champ '''Encaissement de l'utilisateur''' le nom de l'utilisateur concerné&lt;br /&gt;
*Si vous disposez de plusieurs comptes sur lesquels vous pouvez choisir où ventiler votre encaissement, choisir dans le champ '''Compte à créditer''' le nom du compte concerné&lt;br /&gt;
*Dans le champ '''Type de règlement''', sélectionner le type de règlement&lt;br /&gt;
*Si vous effectuez un paiement avec une remise à une personne physique, vous devez préciser le nom de cette personne dans le champ '''Personne qui reçoit'''&lt;br /&gt;
*Dans le champ, montant indiquer le montant de votre paiement.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
Dans le cas où le type de paiement est un paiement par carte bancaire en ligne mis en place par votre structure, alors êtes redirigé sur le terminal de paiement électronique de la banque de votre structure. Il vous faut alors saisir les informations de votre carte bancaire. Il est possible que le terminal de paiement électronique supporte le &amp;quot;[[Wikipedia-fr:3-D_Secure|3-D Secure]]&amp;quot; qui implique un contrôle renforcé. Dans ce cas, c'est votre propre banque qui vous demandera des informations complémentaires pour confirmer que c'est bien vous qui êtes à l'origine de la demande de paiement par carte bancaire.&lt;br /&gt;
&lt;br /&gt;
==Extrait de compte==&lt;br /&gt;
'''OpenFlyers''' offre la possibilité à un utilisateur de consulter des extraits de compte : C'est un rapport permettant de visualiser le détail des écritures comptables effectuées sur une période (une année complète ou un mois d'une année) d'un compte ou de tous les comptes d'une comptabilité donnée. Si la gestion des budgets est activée, il est possible de filtrer l'affichage des écritures selon les budgets.&lt;br /&gt;
&lt;br /&gt;
Dès qu'il y a plus de 50 écritures à afficher pour un extrait de compte, la liste des écritures est paginée pour afficher 50 écritures par page.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est validée, les montants au débit et au crédit sont affichés en noir gras.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est non validée, les montants au débit et au crédit sont affichés en vert gras. En fonction du [[Gestion des profils|profil et de ses droits]], une colonne '''Actions''' peut apparaître avec des icônes pour permettre de modifier ou supprimer une écriture non validée selon [[Gestion-des-écritures-comptables#Types-d'écritures-comptable-générées-par-OpenFlyers|le type d'écriture comptable qui est générée]].&lt;br /&gt;
&lt;br /&gt;
===Colonne &amp;quot;Numéro de pointage ou de facture&amp;quot;===&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_fournisseur|facture fournisseur]], la colonne affiche le numéro de pointage.&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_client|facture client]] et que l'utilisateur dispose du [[Gestion des profils#Gestion_des_comptes|droit de '''Gestion des comptes''']] ou que la facture à afficher lui est destinée :&lt;br /&gt;
**Pour une écriture non-validée, la colonne affiche les icônes [[Fichier:IconHTML.png]] qui amènent aux factures pro-format associées.&lt;br /&gt;
**Pour une écriture validée, la colonne affiche les icônes [[Fichier:IconPDF.png]] qui amène aux factures PDF associées.&lt;br /&gt;
*:Dans le cas contraire, ce sont les numéros des factures qui sont affichés à la place des icônes.&lt;br /&gt;
&lt;br /&gt;
La colonne affiche &amp;quot;--&amp;quot; lorsqu'il s'agit d'une écriture :&lt;br /&gt;
* D'[[Écritures comptables#Saisie_d'un_encaissement_(d'un_client)|encaissement client]].&lt;br /&gt;
* De [[Écritures comptables#Les_4_grands_types_d'écritures|flux]].&lt;br /&gt;
* De [[Écritures comptables#Saisie_d'une_facture_client|facture client]] n'ayant pas de facture associée.&lt;br /&gt;
&lt;br /&gt;
==Imprimer un extrait de compte==&lt;br /&gt;
*Afficher l'extrait de compte souhaité&lt;br /&gt;
*[[Trucs et astuces#Imprimer_avec_un_navigateur|Imprimer avec la commande du navigateur]]&lt;br /&gt;
&lt;br /&gt;
==Transférer de l'argent==&lt;br /&gt;
Selon les droits accordés aux utilisateurs par la structure, il peut être possible d'effectuer un transfert d'argent depuis son compte vers le compte d'un autre utilisateur en suivant la procédure suivante :&lt;br /&gt;
*Aller sur '''Comptes &amp;gt;Transférer'''&lt;br /&gt;
*Dans le champ '''Compte à créditer''' choisir le nom de la personne concernée&lt;br /&gt;
*Dans le champ '''Montant''', saisir le montant que l'on souhaite transférer&lt;br /&gt;
*Remplir éventuellement le champ '''Commentaires'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' : '''Attention''' cette opération est irrévocable et une fois que vous aurez validé, il ne sera pas possible de supprimer le virement. Si vous souhaitez faire annuler l'opération, il faudra contacter la personne recevant l'argent pour qu'elle fasse à son tour un transfert sur votre compte.&lt;br /&gt;
&lt;br /&gt;
=E-mails automatiques=&lt;br /&gt;
==Alertes par e-mail uniquement sur les plateformes de production==&lt;br /&gt;
Les [[Configuration de la comptabilité#Paramétrage_général_des_comptabilités|e-mails d'alertes de solde]] ou de [[#E-mail-de-rappel-de-réservation|rappel des réservations]] ne sont pas envoyés sur les plateformes qui ne sont pas en production afin de ne pas polluer les messageries des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Les différentes notifications d'e-mail de réservation sont paramétrables du côté de [[#Affichage-et-fiche-personnelle|la fiche utilisateur]].&lt;br /&gt;
&lt;br /&gt;
==E-mail d'annulation de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une annulation de réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une annulation de réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est le même que pour l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]].&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Notification d'annulation de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est annulée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les annulations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails d'annulation en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-annulées&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de mise en maintenance==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une mise en maintenance sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une mise en maintenance sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** la ressource mise en maintenance&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de maintenance si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération de maintenance&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
La mise en maintenance pour le type-de-ressource F-ABCD du 01/04/2015 à 08:00 au 01/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Remplacement roue est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-par-e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de notification de réservation==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot;Confirmation d'une nouvelle réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration. Confirmation d'une nouvelle réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Notification de création de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** le type de ressource et la ressource réservés&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en seconde place si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération sur la réservation&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-par-e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ceci est une notification de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-par-e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Rappel d'une réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Rappel d'une réservation sur OpenFlyers sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du corps de l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]] où les dates sont sous le format &amp;quot;JJ/MM/AAAA/MM à HHhMM&amp;quot; et sous le fuseau horaire de l'utilisateur recevant l'e-mail&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail :&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Rappel-des-réservations-par-e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 2015/04/01 à 08h00 au 2015/04/01 à 09h00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Rappel-des-réservations-par-e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pièce jointe de synchronisation des réservations avec un calendrier==&lt;br /&gt;
Sur les plateformes où l'option est activée, tout email de réservation (création, modification et suppression) contient, en pièce jointe, un fichier de synchronisation. Ce fichier permet d'ajouter, modifier ou supprimer la réservation dans une application de gestion de calendrier selon l'opération effectuée sur OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Le fichier, envoyé au format '''ics''', peut être ouvert avec des applications comme '''Microsoft Outlook''', '''Google Calendar''' ou '''iCalendar''' par exemple. Lors de son ouverture, le calendrier sera mis à jour.&lt;br /&gt;
&lt;br /&gt;
Plusieurs informations de la réservation sont attachées à ce fichier :&lt;br /&gt;
*La date et heure de début&lt;br /&gt;
*La date et heure de fin&lt;br /&gt;
*Le lieu (le terrain de départ s'il est renseigné lors de la création de la réservation)&lt;br /&gt;
*La ressource et le nom de la personne en place gauche, constituant le '''nom du fichier'''&lt;br /&gt;
&lt;br /&gt;
Ces différentes informations permettent de définir l'événement dans le calendrier. Ainsi, les dates de début et de fin, le lieu, le nom de la personne et la ressource seront affichés dans l'application de gestion de calendrier.&lt;br /&gt;
&lt;br /&gt;
=Ergonomie=&lt;br /&gt;
==Optimiser la navigation dans OpenFlyers==&lt;br /&gt;
&lt;br /&gt;
===Navigation par onglet===&lt;br /&gt;
Afin d'avoir à disposition les différentes pages dont vous avez besoin pour effectuer une action, il est possible d'afficher chacune d'entre elles dans un [[Wikipedia-fr:Onglet_%28informatique%29|onglet]] du navigateur.&lt;br /&gt;
Lorsque vous effectuez un clic gauche sur un lien situé dans une page donnée pour accéder à une autre page, la page initiale est remplacée par la page de destination. Ce qui rend fastidieux la réalisation des tâches nécessitant un accès répétitif à certaines pages.&lt;br /&gt;
&lt;br /&gt;
===Clic droit et clic molette===&lt;br /&gt;
Afin de gagner en efficacité et en confort d'utilisation, pensez à utiliser les autres boutons de la souris qui vous permettent d'ouvrir une page dans un '''nouvel onglet'''. Pour cela il existe deux méthodes lorsqu'on survole un lien dans un navigateur Internet pour ouvrir la page de destination dans un nouvel onglet :&lt;br /&gt;
*'''Le clic droit :''' il permet d'afficher un menu contextuel qui contient une action nommée « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
*'''Le clic molette :''' il est encore plus efficace que le clic droit, car il correspond directement à l'action « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
&lt;br /&gt;
Normalement le clic molette est configuré pour cette action. Dans le cas contraire, il faut [[Trucs et astuces#Modifier_le_comportement_la_souris|en modifier le comportement]].&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-1.png]]&lt;br /&gt;
&lt;br /&gt;
L'exemple suivant explique comment modifier successivement les validités de plusieurs utilisateurs :&lt;br /&gt;
*Dans un premier onglet, ouvrir le tableau présentant la liste des utilisateurs.&lt;br /&gt;
[[Fichier:OF3.5-clics-2.png]]&lt;br /&gt;
*Effectuer un '''clic droit''' ou '''clic molette''' sur le pictogramme des validités pour déplier un second onglet.&lt;br /&gt;
[[Fichier:OF3.5-clics-3.png]]&lt;br /&gt;
*Effectuer et enregistrer les modifications dans le second onglet, présentant les validités d'un utilisateur.&lt;br /&gt;
[[Fichier:OF3.5-clics-4.jpg]]&lt;br /&gt;
*Replier le second onglet en cliquant sur la croix ou en pressant '''CTRL + W'''.&lt;br /&gt;
[[Fichier:OF3.5-clics-5.png]]&lt;br /&gt;
*Retour au premier onglet, présentant la liste des utilisateurs. Répéter les opérations du 2 au 4 pour les autres utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
Il est possible de naviguer rapidement d'un onglet à l'autre sans utiliser la souris en utilisant simplement les raccourcis clavier : '''CTRL + TAB''' pour avancer d'un onglet ou '''CTRL + SHIFT + TAB''' pour reculer d'un onglet.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-6.png]]&lt;br /&gt;
&lt;br /&gt;
=Fiche utilisateur (Données)=&lt;br /&gt;
==Affichage et fiche personnelle==&lt;br /&gt;
===Affichage du menu contextuel===&lt;br /&gt;
Le menu contextuel et un menu déroulant qui apparait lors du survol d'une réservation ou d'un vol ouvert. Ce menu contextuel peut apparaitre :&lt;br /&gt;
*soit automatiquement&lt;br /&gt;
*soit par un clic droit de la souris&lt;br /&gt;
Ce paramétrage est personnalisable pour chaque utilisateur :&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Cocher ou décocher '''N'afficher la description des réservations qu'avec le bouton droit de la souris''' selon le comportement souhaité&lt;br /&gt;
*Cliquer sur le bouton '''Sauver''' tout en bas du formulaire&lt;br /&gt;
&lt;br /&gt;
===Choisir l'unité de temps===&lt;br /&gt;
Chaque utilisateur peut choisir l'unité de temps qui sert à afficher les heures.&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Choisir dans le champ '''Unité de temps''' parmi :&lt;br /&gt;
**heures minutes&lt;br /&gt;
**heures centièmes&lt;br /&gt;
**heures dixièmes&lt;br /&gt;
*Appuyer sur le bouton '''Sauver'''.&lt;br /&gt;
&lt;br /&gt;
===Etre informé des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]] par email===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par email des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
===Editer sa photo===&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
* L'import ou la suppression d'une photo requiert le droit [[Gestion-des-profils#Généralités|Editer sa photo]]. Ce droit n'est pas nécessaire pour rendre sa photo visible pour tous&lt;br /&gt;
&lt;br /&gt;
===Notification de la maintenance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_mise_en_maintenance|e-mail des réservations de maintenance]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_notification_de_réservation|e-mail des réservations créées ou modifiées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations annulées===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_d'annulation_de_réservation|e-mail des réservations annulées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Rappel des réservations de 2 jours d'avance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin de recevoir ou non par [[#E-mail_de_rappel_de_réservation|e-mail un rappel de réservation]].&lt;br /&gt;
&lt;br /&gt;
Les rappels sont envoyés entre 0h et 6h au fuseau Europe/Paris pour les réservations ayant une ressource d'assignée et débutant entre 2 et 3 jours après.&lt;br /&gt;
&lt;br /&gt;
Les [[#Alertes_par_e-mail_uniquement_sur_les_plateformes_de_production|rappels ne sont effectifs que sur les plateformes en production]].&lt;br /&gt;
&lt;br /&gt;
===Recevoir un e-mail pour toute réservation===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
Lorsque l'utilisateur dispose d'un profil avec le droit [[Gestion des profils#Réservation|Alertable par e-mail pour toute réservation]], apparait une case à cocher '''Recevoir un e-mail pour toute réservation'''.&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par e-mail lorsqu'une nouvelle réservation est créée par n'importe quel utilisateur.&lt;br /&gt;
&lt;br /&gt;
==[[Champs additionnels]]==&lt;br /&gt;
En plus des champs habituels, des [[Champs-additionnels|champs additionnels]] spécifiques à la structure peuvent apparaître dans la fiche personnelle. &lt;br /&gt;
&lt;br /&gt;
Ils sont affichés [[Gestion-des-profils#Champ-additionnel-du-formulaire-utilisateur-visible-par-le-profil|si les droits sont attribués par l'administrateur]] et permettent d'activer des fonctionnalités supplémentaires.&lt;br /&gt;
&lt;br /&gt;
==(In)disponibilités==&lt;br /&gt;
Lorsque vous êtes intervenant (formateur, instructeur, moniteur, mécanicien, etc.), vous pouvez gérer vos disponibilités en allant dans '''Données &amp;gt; (in)disponibilités'''&lt;br /&gt;
&lt;br /&gt;
Il existe deux types de disponibilités :&lt;br /&gt;
:Les disponibilités régulières qui reviennent chaque semaine, par exemple : le lundi de 9h00 à 18h00.&lt;br /&gt;
:Les disponibilités exceptionnelles (ou les indisponibilités exceptionnelles) sont ponctuelles : présent (ou absent) le 1er décembre de 8h00 à 12h00.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez cumuler ces modes pour avoir une flexibilité maximum. &lt;br /&gt;
&lt;br /&gt;
:Exemple :&lt;br /&gt;
::- disponible du Lundi 8 h 00 au Mercredi 19 h 00 en permanent&lt;br /&gt;
::- disponible du Vendredi 8 h 00 au Samedi 19 h 00 en permanent&lt;br /&gt;
::- Absent du 15 Juillet au 30 Juillet pour raison de congé&lt;br /&gt;
:Attention à ne pas créer des incohérences.&lt;br /&gt;
&lt;br /&gt;
De même, si vous faites une pause déjeuner, il faut créer des disponibilités par demi-journées pour chaque jour concerné, en présence régulière en créant une disponibilité tous les jours de 9h à 12h et une disponibilité tous les jours de 14h à 18h (par ex.).&lt;br /&gt;
&lt;br /&gt;
Il est possible de créer une disponibilité permanente : Pour cela, créez une disponibilité régulière sur le même jour, avec une heure de début et de fin identique. Par exemple, disponible du &amp;quot;Lundi 0h00 au Lundi 0h00&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
En cas de problème, affichez la liste des disponibilités et supprimez tous les créneaux puis reconstruisez les disponibilités.&lt;br /&gt;
&lt;br /&gt;
==Réinitialiser son mot de passe==&lt;br /&gt;
Attention, lorsqu'un mot de passe est perdu vous n'avez que trois tentatives possibles pour le retrouver. A la 4ème tentative un compteur exponentiel s'active pour éviter les robots créés par les pirates de tenter d'accéder aux plateformes par des [[Wikipedia-fr:Attaque_par_force_brute|attaques par force brute]].&lt;br /&gt;
&lt;br /&gt;
Par contre, vous pouvez ré-initialiser votre mot de passe depuis la page d'accueil de votre plateforme OpenFlyers :&lt;br /&gt;
*Cliquez sur le lien '''Mot de passe oublié ?'''&lt;br /&gt;
*Dans le formulaire '''Demande de réinitialisation du mot de passe''', remplissez le champ '''Identifiant''' avec votre nom d'utilisateur utilisé pour la connexion sur l'application OpenFlyers&lt;br /&gt;
*Cliquez sur le bouton '''Enregistrer'''&lt;br /&gt;
*Si le nom d'utilisateur est présent en base de données, alors le message suivant doit s'afficher :&lt;br /&gt;
'''Merci, un e-mail a été envoyé à l'adresse du compte nom-utilisateur. Cliquez sur le lien dans l'email afin de poursuivre la réinitialisation du mot de passe.'''&lt;br /&gt;
*Récupérez l'e-mail dans votre messagerie, il s'intitule :&lt;br /&gt;
'''[nom-de-la-plateforme] Demande de réinitialisation du mot de passe à XXhXX (UTC)'''&lt;br /&gt;
et contient les éléments suivants :&lt;br /&gt;
&amp;lt;pre&amp;gt;Jean DUPONT,&lt;br /&gt;
&lt;br /&gt;
Une demande de réinitialisation de mot de passe a été effectué.&lt;br /&gt;
Pour poursuivre l'opération, cliquez ici.&lt;br /&gt;
Si vous n'avez pas fait la demande, veuillez ignorer l'email.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez également saisir ou copier le lien suivant dans votre navigateur internet afin d'accéder à la page de réinitilisalisation de mot de passe :&lt;br /&gt;
http://openflyers.com/nom-de-la-plateforme/index.php?menuAction=password_reset&amp;amp;token=154551560257977557617df&lt;br /&gt;
&lt;br /&gt;
L'équipe OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' L'email est valide uniquement pendant '''une heure''' après la demande de réinitialisation de mot de passe. Passé ce délai, le lien indiqué dans l'email ne sera plus valide. Il sera donc nécessaire de refaire une '''nouvelle demande''' de réinitialisation de mot de passe.&lt;br /&gt;
&lt;br /&gt;
*Cliquez sur la partie du texte correspondant au lien coloré ou copiez dans votre navigateur internet lien contenu à la fin de l'e-mail pour retourner sur la page de réinitialisation de mot de passe&lt;br /&gt;
*Dans le 2ème formulaire intitulé '''Réinitialisation du mot de passe''', renseignez les champs :&lt;br /&gt;
**'''Réinitialisation du mot de passe''' avec votre nouveau mot de passe&lt;br /&gt;
**'''Répétition du mot de passe''' avec la confirmation de votre nouveau mot de passe&lt;br /&gt;
*Cliquez sur le bouton '''Réinitialiser'''&lt;br /&gt;
&lt;br /&gt;
Après avoir réinitialisé votre mot de passe, l'application vous connecte automatiquement en vous redirigeant sur la page du planning.&lt;br /&gt;
&lt;br /&gt;
=Planning=&lt;br /&gt;
==Codes couleurs==&lt;br /&gt;
[[Fichier:Codes couleurs.png]]&lt;br /&gt;
&lt;br /&gt;
==Éphémérides==&lt;br /&gt;
Nous calculons les éphémérides d'après les définitions officielles.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les heures de lever et de coucher du soleil correspondent au passage du centre du soleil sous l'horizon, c'est à dire lorsque le centre du soleil est situé 3 degrés sous l'horizon. En effet, il est considéré, en première approximation que le soleil a un diamètre apparent de 6 degrés.&lt;br /&gt;
&lt;br /&gt;
Les heures du jour et de la nuit aéronautique correspondent au passage du soleil 6 degrés sous l'horizon. Il s'agit de la définition officielle, aussi bien française, qu'internationale (OACI). Notre formule de calcul est validée pour les latitudes inférieures à 65 degrés. Sa précision est de l'ordre de la minute sous des latitudes inférieures à 50 degrés. La précision diminue au fur et à mesure que la latitude augmente, c'est à dire que l'on se rapproche des pôles.&lt;br /&gt;
&lt;br /&gt;
Conséquence du calcul : les résultats trouvés ne correspondent pas à la simple addition de + ou - 30 minutes. Mais il n'a jamais été écrit dans un texte officiel que la journée aéronautique commençait au lever du soleil moins trente minutes, et que la nuit aéronautique commençait au coucher du soleil plus trente minutes. Dans la règlementation française, il est admis d'utiliser + ou - 30 minutes pour faire les calculs sous des latitudes comprises entre 30 et 60 degrés et 15 minutes sous les latitudes inférieures à 30 degrés). Pour l'Europe, voir le [http://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32012R0923&amp;amp;from=EN Règlement n°923/2012 concernant les Standardised European Rules of the Air) - Article 2 - Définition 97]. Pour la France voir la [http://www.developpement-durable.gouv.fr/IMG/pdf/SERA_RCA_consolide.pdf version consolidée des règles de l'air, définition de la &amp;quot;Nuit&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
Mises en garde :&lt;br /&gt;
*Le programme calcule les heures à partir des coordonnées géographiques de l'aérodrome indiqué comme étant la base aéronautique de la plateforme OpenFlyers considérée. Si les heures sont erronées, il faut contacter l'administrateur OpenFlyers de la plateforme afin qu'il vérifie le code OACI renseigné pour la plateforme.&lt;br /&gt;
*Certains pays n'utilisent pas la nuit aéronautique et ne permettent pas le vol en dehors du lever et du coucher du soleil. D'autres pays utilisent d'autres types de définition pour déterminer si le vol est de jour ou de nuit comme notamment une référence à la luminosité réelle mesurée.&lt;br /&gt;
&lt;br /&gt;
Remarque :&lt;br /&gt;
*Si l'utilisateur ne souhaite pas utiliser la définition réelle mais une approximation, comme le fait d'ajouter ou retrancher 30 minutes, il suffit d'effectuer l'opération de calcul à partir des heures de lever ou de coucher du soleil.&lt;br /&gt;
&lt;br /&gt;
=Rapports=&lt;br /&gt;
Tous les rapports sont regroupés sur une même page qui est accessible depuis '''Données &amp;gt; Rapports''' ou côté admin '''Rapports &amp;gt; Structure &amp;gt; Visualiser''' (si on dispose d'un droit spécifique).&lt;br /&gt;
&lt;br /&gt;
Cette page est constituée de 2 parties :&lt;br /&gt;
*Une liste de champs dans le formulaire général&lt;br /&gt;
*Une liste de rapports&lt;br /&gt;
&lt;br /&gt;
Les données qui doivent être saisies dans les champs du formulaire général varient en fonction des rapports.&lt;br /&gt;
&lt;br /&gt;
Les données prises en compte dans les rapports sont affichés dans le titre du rapport au-dessus du tableau de résultat.&lt;br /&gt;
&lt;br /&gt;
Aussi, si on constate que malgré le fait d'avoir préciser une valeur, celle-ci semble ignorer par le rapport, il faut vérifier si cette donnée apparait dans la liste données prises en compte. Si c'est le cas, alors il y a potentiellement un bug. Si ce n'est pas le cas, alors c'est &amp;quot;normal&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
La version 4 d'OpenFlyers proposera une interface différente où on choisira d'abord son rapport et ensuite les données pour les seules variables prises seront demandées.&lt;br /&gt;
&lt;br /&gt;
=Réservations=&lt;br /&gt;
==Immobiliser une ressource==&lt;br /&gt;
Les utilisateurs disposant du droit '''[[Gestion des profils#Réservation|Gestion des disponibilités des ressources]]''' peuvent rendre une ressource indisponible pour un créneau horaire donné. Cela permet d'indiquer aux autres utilisateurs que la ressource considérée n'est pas disponible.&lt;br /&gt;
&lt;br /&gt;
Il n'est pas possible d'avoir plus d'un créneau d'immobilisation sur une même ressource et la même période.&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des validités|Validités]]=&lt;br /&gt;
Un utilisateur peut [[Gestion des profils#Type_de_validité_que_l'utilisateur_peut_gérer|gérer uniquement les validités définies comme telles pour son profil]] en allant dans '''Données &amp;gt; Validités'''.&lt;br /&gt;
&lt;br /&gt;
De plus :&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à ajouter une nouvelle validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à renouveler une validité détenue ou à mettre à jour le '''Code identifiant''', la '''Date d'obtention''', la '''Limite de validité''' (d'une validité non achetable) ou à supprimer une validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]] ou le droit [[Gestion des profils#Généralités|Gestion de ses validités détenues]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à acheter ou renouveler une validité-produit, il doit détenir le droit [[Gestion des profils#Gestionnaire_des_ventes|Achat ventes libres]] et le produit associé à la validité doit être en vente libre.&lt;br /&gt;
&lt;br /&gt;
Pour renouveler une validité détenue, il faut cliquer sur l'icône [[Fichier:Refresh.png]] qui apparaît dans la colonne '''Limite de validité'''.&lt;br /&gt;
&lt;br /&gt;
Remarques :&lt;br /&gt;
*Les validités arrivées à échéance apparaissent sur fond rouge.&lt;br /&gt;
*La mise à jour de la date d'échéance d'une validité réactive automatiquement la cellule de la colonne [[#Données_&amp;gt;_Validités_&amp;gt;_Alertes_?|Alertes ?]].&lt;br /&gt;
*Une validité-produit déjà détenue ne peut pas être supprimée.&lt;br /&gt;
&lt;br /&gt;
==Données &amp;gt; Validités &amp;gt; Alertes ?==&lt;br /&gt;
La colonne '''Alertes ?''' permet à un utilisateur d'activer ou désactiver les rappels à la connexion de ses validités arrivant à expiration ou ayant expirées.&lt;br /&gt;
&lt;br /&gt;
Le champ '''Délai de prévenance en semaines avant chaque échéance''' permet de définir le délai de rappel des validités arrivant à expiration.&lt;br /&gt;
&lt;br /&gt;
==Alertes sur les validités==&lt;br /&gt;
===Alerte à la connexion===&lt;br /&gt;
Les validités contrôlées à la connexion sont uniquement :&lt;br /&gt;
*celles possédées par l'utilisateur qui se connecte et qui sont soumises à échéance&lt;br /&gt;
*les validités à expérience récente.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les validités sans échéance ne sont pas contrôlées.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers affiche un message d'alerte pour les validités dont la date d'échéance est expirée ou va expirer dans un délai inférieur à la période d'alerte définie dans la fiche utilisateur.&lt;br /&gt;
&lt;br /&gt;
L'utilisateur a la possibilité de cliquer sur la case à cocher &amp;quot;Ne plus le rappeler&amp;quot; afin de ne plus avoir de message de rappel. Dans ce cas, lors des connexions ultérieures, il n'aura plus de message de rappel. Il peut cependant réactiver cette alerte en la réactivant dans la colonne &amp;quot;Alertes&amp;quot; de la ligne correspondante dans '''Données &amp;gt; Validités'''. Cette réactivation est automatique lors d'une modification de la validité.&lt;br /&gt;
&lt;br /&gt;
===Alertes lors d'une réservation ou une saisie de vol===&lt;br /&gt;
Les validités périmées apparaissent systématiquement lors de la saisie d'une réservation ou d'un vol comme à la connexion. Leur affichage ne dépend pas du type de ressource. C'est juste un rappel.&lt;br /&gt;
&lt;br /&gt;
Ce rappel est notamment utile lorsqu'une personne effectue une réservation ou une saisie de vol pour le compte d'un tiers. Cela lui permet d'être informé et d'informer ce tiers de sa situation.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15265</id>
		<title>Documentation utilisateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15265"/>
				<updated>2017-07-27T07:28:24Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* E-mail de notification de réservation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de regrouper les informations utiles pour l'ensemble des utilisateurs finaux d'[[Accueil|OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
=Accès à OpenFlyers=&lt;br /&gt;
==Accéder à une plateforme==&lt;br /&gt;
Pour accéder à une plateforme OpenFlyers, il faut entrer son URL dans un navigateur web.&lt;br /&gt;
&lt;br /&gt;
L'URL est ''http://openflyers.com/plateforme/'', où &amp;quot;plateforme&amp;quot; doit être remplacé par le vrai nom de la plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
==Impossible de se connecter à la plateforme OpenFlyers de sa structure==&lt;br /&gt;
Si vous n'arrivez pas à accéder une plateforme OpenFlyers il faut en rechercher la raison. Voici un certain nombre de questions qui peuvent vous permettre de solutionner votre problème :&lt;br /&gt;
*Accédez-vous à la page d'identification de la plateforme OpenFlyers ?&lt;br /&gt;
**Si non, alors il faut regarder la FAQ [[#Page_indisponible|Page indisponible]]&lt;br /&gt;
*Lorsque vous vous identifiez, avez-vous un message de rejet indiquant que votre identifiant et/ou votre mot de passe ne sont pas corrects ?&lt;br /&gt;
**Si oui, alors le problème peut venir du mot de passe qui a changé. Dans ce cas là, vous pouvez ré-initialiser votre mot de passe en suivant la procédure [[#Réinitialiser-son-mot-de-passe|de réinitialisation de mot de passe]]. Cela peut également venir de votre identifiant qui n'est pas bon. Dans ce cas, il faut demander à la personne en charge de la gestion d'OpenFlyers au sein de votre structure aéronautique&lt;br /&gt;
*Une fois connecté, revenez-vous sur la page d'identification lorsque vous changez de page ?&lt;br /&gt;
**Si oui, alors il faut regarder la [[FAQ-utilisateur#Navigation-dans-OpenFlyers|procédure de gestion des cookies du navigateur]].&lt;br /&gt;
Si vous n'êtes dans aucun des cas répertoriés ci-dessus, alors vous pouvez rapporter votre problème en nous envoyant un e-mail et en décrivant le plus précisément possible le problème que vous rencontrez :&lt;br /&gt;
*Navigateur utilisé&lt;br /&gt;
*Système d'exploitation&lt;br /&gt;
*type de PC, smartphone ou tablette&lt;br /&gt;
*Nom du fournisseur d'accès internet&lt;br /&gt;
*Actions effectuées&lt;br /&gt;
*Message d'erreur s'affichant&lt;br /&gt;
&lt;br /&gt;
==Message d'alerte adresse IP bloquée==&lt;br /&gt;
&lt;br /&gt;
Un message d'alerte signalant que '''l'adresse IP est bloquée''' peut apparaître lorsque vous souhaitez vous connecter. Ce message apparaît lorsque vous avez tenté de vous connecter à plusieurs reprises mais que le couple identifiant / mot de passe est incorrect.&lt;br /&gt;
&lt;br /&gt;
Après avoir attendu le temps indiqué par le message d'alerte, vous pouvez tenter de vous reconnecter en faisant attention [[Wikipedia-fr:Sensibilit%C3%A9_%C3%A0_la_casse|à la casse]].&lt;br /&gt;
&lt;br /&gt;
==Page indisponible==&lt;br /&gt;
Si vous n'arrivez pas à accéder à la plateforme OpenFlyers de votre structure, voici une liste d'actions à effectuer :&lt;br /&gt;
*Redémarrer votre ordinateur&lt;br /&gt;
*Redémarrer la &amp;quot;box&amp;quot; ADSL&lt;br /&gt;
*Si cela ne fonctionne toujours pas, il faut [[#Tester_les_résolutions_DNS|tester les résolutions DNS]].&lt;br /&gt;
&lt;br /&gt;
===Tester les résolutions DNS===&lt;br /&gt;
Pour effectuer les tests suivants, il faut ouvrir une fenêtre &amp;quot;[[#Ouvrir_une_fenêtre_en_ligne_de_commande|en ligne de commandes]]&amp;quot;. En cas de problème, il faut nous rapporter les résultats en ouvrant un rapport de bug sur le [http://bts.openflyers.org BTS]. Pour cela, il est pratique de procéder par [[#Copier/Coller_dans_une_fenêtre_en_ligne_de_commande|copier/coller]].&lt;br /&gt;
*Dans la fenêtre en ligne de commande taper ce qui suit (en remplaçant '''structure''' par le sous-domaine correspondant à votre structure) :&lt;br /&gt;
&amp;lt;bash&amp;gt;ping structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
La réponse normale est pour OpenFlyers 3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of3.openflyers.net [87.98.143.237] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.143.237 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of3.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.143.237&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 2.1 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur8-of21.openflyers.net [87.98.145.26] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.145.26 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur8-of21.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.145.26&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 1.3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of1.openflyers.net [178.33.105.217] avec 32 octets de données :&lt;br /&gt;
 Réponse de 178.33.105.217 : octets=32 temps=41 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of1.openflyers.net&amp;quot; ou &amp;quot;Réponse de 178.33.105.217&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
====Tests plus poussés====&lt;br /&gt;
*Faire un :&lt;br /&gt;
&amp;lt;bash&amp;gt;nslookup structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Et un :&lt;br /&gt;
&amp;lt;bash&amp;gt;tracert structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Faire le test avec '''dig +trace''' :&lt;br /&gt;
&amp;lt;bash&amp;gt;dig +trace structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
Sous Windows, il faudra au préalable récupérer l'utilitaire (par exemple dans un package [http://www.isc.org./downloads bind]). Une fois télécharger le package, il faut copier/coller le programme dig ainsi que les fichiers .dll dans un répertoire commun et se positionner dans ce répertoire depuis la fenêtre en ligne de commandes avec la commande dir '''&amp;quot;nom du chemin du répertoire&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
====Tester les résolutions DNS sous Mac====&lt;br /&gt;
De plus, nous disposons de commandes plus puissantes qui permettent d'avoir d'avantage d'informations :&lt;br /&gt;
*cat /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
===Vérifier la configuration de résolution des DNS===&lt;br /&gt;
====Vérifier la configuration de résolution des DNS sous Windows====&lt;br /&gt;
Si vous avez un problème de résolution DNS sous windows, il peut être utile de vérifier que la résolution DNS est dynamique :&lt;br /&gt;
#Double-cliquer sur la connexion réseau concernée (par exemple le symbole &amp;quot;WIFI&amp;quot;)&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot; dans l'onglet &amp;quot;Général&amp;quot; de l'&amp;quot;Etat de Connexion réseau sans fil&amp;quot; (si WIFI))&lt;br /&gt;
#Sélectionner &amp;quot;Protocole internet TCP/IP&amp;quot;&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot;&lt;br /&gt;
#Vérifier qu'est sélectionné &amp;quot;Obtenir les adresses des serveurs DNS automatiquement&amp;quot;. (si ce n'est pas le cas, modifier).&lt;br /&gt;
#En dernier ressort, [[#Changer de serveur DNS|Changer de serveur DNS]] ou [[#Forcer_les_DNS|Forcer les DNS]].&lt;br /&gt;
&lt;br /&gt;
===Nous communiquer les adresses IP des serveurs DNS===&lt;br /&gt;
====Nous communiquer les adresses IP des serveurs DNS sous Windows====&lt;br /&gt;
#[[#Ouvrir_une_fenêtre_en_ligne_de_commande|Ouvrir une fenêtre en ligne de commande]]&lt;br /&gt;
#Taper : '''ipconfig /all'''&lt;br /&gt;
Les adresses IP des serveurs DNS se trouvent au droit de '''Serveurs DNS'''&lt;br /&gt;
&lt;br /&gt;
===Changer de serveur DNS===&lt;br /&gt;
Si vous rencontrez un problème de résolution de DNS avec votre fournisseur d'accès, vous pouvez changer les serveurs qui effectue la résolution des DNS pour votre accès.&lt;br /&gt;
====Changer de serveur DNS sous Mac====&lt;br /&gt;
*Dans '''Préférences Systèmes''', choisir '''Réseau''', puis une fois la bonne carte réseau sélectionnée, appuyer sur Avancé.&lt;br /&gt;
*Dans la fenêtre qui apparaît, aller sur l'onglet '''DNS''' et dans '''Serveurs DNS''' appuyer sur le + pour ajouter '''8.8.8.8''' et une autre fois pour ajouter '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Il ne reste plus qu'à '''Appliquer''' et à tester.&lt;br /&gt;
&lt;br /&gt;
====Changer de serveur DNS sous Windows XP====&lt;br /&gt;
*'''Démarrer &amp;gt; Connexions''' puis cliquer sur la connexion réseau active (par exemple la connexion WIFI)&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*Sélectionner '''Protocole Internet (TCP/IP)'''&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*En général, en bas de la fenêtre '''Propriétés de Protocole Internet (TCP/IP)''' la configuration active est : '''Obtenir les adresses des serveurs DNS automatiquement'''&lt;br /&gt;
*Cocher '''Utiliser l'adresse de serveur DNS suivante :'''&lt;br /&gt;
*Pour '''Serveur DNS préféré''', saisir '''8.8.8.8'''&lt;br /&gt;
*Pour '''Serveur DNS auxiliaire''', saisir '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''Fermer'''&lt;br /&gt;
&lt;br /&gt;
===Forcer les DNS===&lt;br /&gt;
====Forcer les DNS sous Windows====&lt;br /&gt;
Attention, avec Vista, il faut appliquer une [[#Particularité_avec_Windows_Vista|procédure préalable]].&lt;br /&gt;
*Il est possible de résoudre ce problème de DNS en éditant le fichier C:\WINDOWS\system32\drivers\etc\hosts (avec le bloc-notes) en rajoutant la ligne (il faut remplacer structure par le sous-domaine de la plateforme OpenFlyers de votre structure) :&lt;br /&gt;
**Pour OF 1.3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;178.33.105.217 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 2.1 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.145.26 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.143.237  structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Ensuite, il faut relancer votre PC&lt;br /&gt;
*Une fois la connexion correctement effectuée, il est parfois possible de supprimer cette entrée dans le fichier hosts tout en gardant la connexion.&lt;br /&gt;
&lt;br /&gt;
====Particularité avec Windows Vista====&lt;br /&gt;
*Il faut être administrateur pour pouvoir modifier le fichier hosts.&lt;br /&gt;
*Il faut également copier le fichier hosts sur le bureau pour le modifier puis ensuite le recopier dans le bon répertoire (si on édite directement le fichier hosts depuis (system32\drivers\etc\) on ne peut pas le ré-enregistrer).&lt;br /&gt;
&lt;br /&gt;
====Forcer les DNS sous Mac====&lt;br /&gt;
*lancer Terminal (dans Applications/Utilitaires)&lt;br /&gt;
*taper &amp;quot;sudo nano /etc/hosts&amp;quot; (il demande le mot de passe de l'utilisateur qui a les droits admin sur la machine)&lt;br /&gt;
*Ajouter les entrées sur le modèle de la [[#Forcer_les_DNS_sous_Windows|procédure sous Windows]]&lt;br /&gt;
*Faire controle-o pour enregistrer puis controle-x pour quitter&lt;br /&gt;
*Eventuellement, faire &amp;quot;dscacheutil -flushcache&amp;quot; si le changement n'est pas encore pris en compte.&lt;br /&gt;
&lt;br /&gt;
===Ouvrir une fenêtre en ligne de commande===&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
*Aller dans le menu &amp;quot;Démarrer&amp;quot;&lt;br /&gt;
*Puis Tous les programmes/Accessoires&lt;br /&gt;
*Lancer l'&amp;quot;invite de commandes&amp;quot;&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Sous OSX (mac) il faut lancer un Terminal. Pour cela 2 solutions :&lt;br /&gt;
*Taper &amp;quot;terminal&amp;quot; dans spotlight&lt;br /&gt;
ou&lt;br /&gt;
*lancer l'application qui est dans Applications &amp;gt; Utilitaires.&lt;br /&gt;
&lt;br /&gt;
===Copier/Coller dans une fenêtre en ligne de commande===&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
Vous pouvez faire un copier/coller en utilisant le bouton droit de la souris dans la fenêtre de l'invite de commandes puis en choisissant &amp;quot;sélectionner&amp;quot; et ensuite en appuyant sur le bouton gauche et en le laissant appuyer tout en sélectionnant la zone souhaitée)&lt;br /&gt;
&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Pour faire un copier/coller de ces informations et nous les communiquer, il suffit d'utiliser commande-C dans le terminal.&lt;br /&gt;
&lt;br /&gt;
==Restriction d'accès==&lt;br /&gt;
En fonction de la politique de la structure, le paramétrage d'une plateforme OpenFlyers peut entrainer des restrictions lors de la connexion.  Un message s'affiche, à ce moment là, indiquant les raisons de la restriction et le type de restriction. L'intitulé du profil est inchangé une fois connecté mais les droits associés peuvent être restreints. Par exemple, il peut ne plus être possible d'effectuer une réservation ou d'ouvrir une activité (vol).&lt;br /&gt;
&lt;br /&gt;
Ces restrictions peuvent avoir lieu dans les cas suivants :&lt;br /&gt;
*En cas de solde insuffisant.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Gestion_des_comptes|Surpasser la limitation du solde du compte]]. Lorsque l'utilisateur dispose de ce droit et que l'accès devrait être limité à cause du solde de l'un de ses comptes, un message d'alerte sans restriction s'affiche pour indiquer que son solde de compte est inférieur au seuil requis.&lt;br /&gt;
*En cas de validité obsolète.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Généralités|Surpasser les restrictions sur les validités expirées]]. Lorsque l'utilisateur dispose de ce droit, il n'y a pas de message d'alerte pour lui indiquer que l'absence de telle ou telle validité devrait entrainer la restriction de ses droits.&lt;br /&gt;
&lt;br /&gt;
=Activité=&lt;br /&gt;
==Alertes générées lors de la saisie d'une activité==&lt;br /&gt;
&lt;br /&gt;
===[[Facturation des clients#Alertes_générées_par_le_moteur_de_tarification|Alertes générées par le moteur de tarification]]===&lt;br /&gt;
&lt;br /&gt;
===[[#Alertes_lors_d'une_réservation_ou_une_saisie_de_vol|Alertes générées sur les validités]]===&lt;br /&gt;
&lt;br /&gt;
===L'aéronef est déjà en l'air===&lt;br /&gt;
Si en tentant d'ouvrir le vol d'un aéronef, apparait une alerte rouge '''L'aéronef est déjà en l'air''' cela veut dire qu'un vol a déjà ouvert avec cet aéronef. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===La différence entre le temps de vol calculé et le temps de vol saisi est de : X:XX heure(s)===&lt;br /&gt;
Cette alerte est suivie du message :&lt;br /&gt;
&amp;lt;pre&amp;gt;Veuillez contacter votre administrateur à propos de l'incompatibilité entre votre saisie et la formule du temps de vol choisie pour le type d'aéronef : X&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsque la valeur saisie du temps de vol est incompatible avec la valeur calculée par la [[Formules de calcul#Temps_d'activité|formule de calcul de temps de vol]] définie pour l'aéronef X.&lt;br /&gt;
&lt;br /&gt;
En général elle provient du fait que le temps de vol qui avait été calculé automatiquement dans le formulaire lors de la saisie des champs de compteurs départ/arrivée et/ou des heures de départ/arrivée ont été modifiés manuellement.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une telle erreur apparait, vous devez :&lt;br /&gt;
*Essayer de reprendre la saisie et essayer de comprendre pourquoi vous saisissez mal les valeurs dans les champs concernés&lt;br /&gt;
*Si vous n'arrivez pas à comprendre la raison, contacter sans délai un gestionnaire de votre structure afin qu'il vous explique les erreurs que vous commettez lorsque le problème vient d'une saisie erronée ou qu'il analyser lui-même le problème.&lt;br /&gt;
*Si vous êtes vous-même un gestionnaire de la plateforme, vous devez également pousser l'analyse pour comprendre en quoi votre saisie est incompatible avec la formule de calcul et le cas échéant faire effectuer une modification du paramétrage.&lt;br /&gt;
&lt;br /&gt;
Voir également, comment [[#Forcer_la_saisie_d'une_durée_de_vol_incompatible_avec_sa_formule_de_calcul|saisir un temps de vol qui ne respecte pas la formule de calcul]].&lt;br /&gt;
&lt;br /&gt;
===Le pilote X est déjà en l'air===&lt;br /&gt;
Ce message apparait lorsque vous tentez de saisir un vol en ouverture de vol et que le pilote occupant la position X est déjà enregistré sur un vol ouvert, c'est à dire en l'air.&lt;br /&gt;
&lt;br /&gt;
Cette protection permet de ne pas avoir un utilisateur occupé simultanément sur 2 ressources.&lt;br /&gt;
&lt;br /&gt;
S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Seul le type de vol requis dans le cas de la présence d'un second pilote a été sélectionné, vous devez en sélectionner au moins un autre en plus===&lt;br /&gt;
Lors de la saisie d'un vol, cette alerte s'affiche si la configuration de la plateforme nécessite la saisie d'au moins un type de vol supplémentaire en plus du type de vol obligatoire dans le cas de la présence d'un second pilote.&lt;br /&gt;
&lt;br /&gt;
C'est typiquement le cas pour les vols d'instruction où le paramétrage nécessite généralement de préciser un 2ème type de vol comme &amp;quot;local&amp;quot;, &amp;quot;navigation&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
===Vous êtes actuellement en l'air===&lt;br /&gt;
Si en tentant de saisir un vol, l'alerte '''Vous êtes actuellement en l'air''' apparait cela veut dire qu'il y a déjà un vol d'ouvert à votre nom. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Vous ne pouvez ouvrir un vol avec une date de début dépassée===&lt;br /&gt;
Cette protection empêche d'ouvrir une activité avec un horodatage de début antérieur à l'heure actuelle moins 15 minutes.&lt;br /&gt;
&lt;br /&gt;
En général, pour un tel cas, le souhait n'est pas d'ouvrir une activité mais de fermer une activité. Il faut donc penser à passer le champ '''Etat du vol''' en &amp;quot;Retour de vol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Annuler un vol ouvert==&lt;br /&gt;
*Aller sur le planning&lt;br /&gt;
*Cliquer sur le rectangle sur fond bleu correspondant à l'immatriculation de l'aéronef considéré&lt;br /&gt;
*Cliquer sur le bouton '''Annuler le vol''' tout en bas du formulaire.&lt;br /&gt;
&lt;br /&gt;
==Consulter un vol ouvert==&lt;br /&gt;
Pour pouvoir consulter un vol ouvert d'un tiers, il faut disposer du [[Gestion des profils#Gestion_des_vols|droit de &amp;quot;Saisie d'activité pour un tiers&amp;quot;]].&lt;br /&gt;
*Sur le planning de réservation, cliquer sur le rectangle de l'aéronef considéré qui doit être sur fond bleu pour indiquer que l'aéronef est en l'air.&lt;br /&gt;
&lt;br /&gt;
==Saisie d'un vol==&lt;br /&gt;
*Aller dans '''Vols &amp;gt; Saisir un vol''', remplir le formulaire&lt;br /&gt;
*La saisie d'un vol d'une durée inférieure à 15 minutes déclenchera l'affichage d'un message d'avertissement (en orange). Cliquer sur '''Confirmer la validation''' au dessous de ce message pour saisir définitivement le vol.&lt;br /&gt;
*Après la saisie d'un vol, l'utilisateur est renvoyé sur :&lt;br /&gt;
**Le planning lors d'un vol en ouverture&lt;br /&gt;
**Le formulaire de saisie d'un vol lors d'un nouveau vol en fermeture et que le terrain d'arrivée saisie est différent du terrain par défaut de la structure&lt;br /&gt;
**Dans les autres cas, l'[[Documentation utilisateur#Extrait_de_compte|extrait de compte]] de la personne en première place. Si plusieurs comptes sont impactés, c'est le premier compte impacté de la personne qui est choisi.&lt;br /&gt;
**Si l'utilisateur connecté n'a pas le droit de visualiser le compte concerné, alors c'est le carnet de route qui est affiché.&lt;br /&gt;
&lt;br /&gt;
===Forcer la saisie d'une durée de vol incompatible avec sa formule de calcul===&lt;br /&gt;
Un gestionnaire peut forcer la saisie d'un [[#La_différence_entre_le_temps_de_vol_calculé_et_le_temps_de_vol_saisi_est_de_:_X:XX_heure(s)|temps de vol incompatible avec la formule de calcul]] associée au type d'aéronef pour lequel on souhaite saisir un vol.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il doit :&lt;br /&gt;
*Saisir le vol en modification le compteur arrivé de sorte à obtenir le temps de vol souhaité.&lt;br /&gt;
*[[Gestion des ressources#Changer_la_valeur_du_compteur_en_cours|Changer la valeur du compteur en cours]] de l'aéronef.&lt;br /&gt;
&lt;br /&gt;
Dans le cas où plusieurs vols successifs doivent être saisis, il est alors judicieux de ne mettre à jour le compteur de l'aéronef qu'une que tous les vols ont été saisis.&lt;br /&gt;
&lt;br /&gt;
=Comptabilité=&lt;br /&gt;
&lt;br /&gt;
==Alertes générées lors de la [[Utilisation de la comptabilité#Saisie_d'écritures_comptables|saisie d'écritures comptables]]==&lt;br /&gt;
&lt;br /&gt;
===Les comptes n'ont pas la même comptabilité===&lt;br /&gt;
Cette alerte apparait lors d'une [[Comptabilité#Comptabilités_multiples|comptabilité multiple]] : Le compte débité et le compte crédité doivent être issues de la même comptabilité.&lt;br /&gt;
&lt;br /&gt;
==Créditer son compte utilisateur==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Approvisionner'''&lt;br /&gt;
*Si vous disposez de droit de gestion comptable, choisir dans le champ '''Encaissement de l'utilisateur''' le nom de l'utilisateur concerné&lt;br /&gt;
*Si vous disposez de plusieurs comptes sur lesquels vous pouvez choisir où ventiler votre encaissement, choisir dans le champ '''Compte à créditer''' le nom du compte concerné&lt;br /&gt;
*Dans le champ '''Type de règlement''', sélectionner le type de règlement&lt;br /&gt;
*Si vous effectuez un paiement avec une remise à une personne physique, vous devez préciser le nom de cette personne dans le champ '''Personne qui reçoit'''&lt;br /&gt;
*Dans le champ, montant indiquer le montant de votre paiement.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
Dans le cas où le type de paiement est un paiement par carte bancaire en ligne mis en place par votre structure, alors êtes redirigé sur le terminal de paiement électronique de la banque de votre structure. Il vous faut alors saisir les informations de votre carte bancaire. Il est possible que le terminal de paiement électronique supporte le &amp;quot;[[Wikipedia-fr:3-D_Secure|3-D Secure]]&amp;quot; qui implique un contrôle renforcé. Dans ce cas, c'est votre propre banque qui vous demandera des informations complémentaires pour confirmer que c'est bien vous qui êtes à l'origine de la demande de paiement par carte bancaire.&lt;br /&gt;
&lt;br /&gt;
==Extrait de compte==&lt;br /&gt;
'''OpenFlyers''' offre la possibilité à un utilisateur de consulter des extraits de compte : C'est un rapport permettant de visualiser le détail des écritures comptables effectuées sur une période (une année complète ou un mois d'une année) d'un compte ou de tous les comptes d'une comptabilité donnée. Si la gestion des budgets est activée, il est possible de filtrer l'affichage des écritures selon les budgets.&lt;br /&gt;
&lt;br /&gt;
Dès qu'il y a plus de 50 écritures à afficher pour un extrait de compte, la liste des écritures est paginée pour afficher 50 écritures par page.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est validée, les montants au débit et au crédit sont affichés en noir gras.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est non validée, les montants au débit et au crédit sont affichés en vert gras. En fonction du [[Gestion des profils|profil et de ses droits]], une colonne '''Actions''' peut apparaître avec des icônes pour permettre de modifier ou supprimer une écriture non validée selon [[Gestion-des-écritures-comptables#Types-d'écritures-comptable-générées-par-OpenFlyers|le type d'écriture comptable qui est générée]].&lt;br /&gt;
&lt;br /&gt;
===Colonne &amp;quot;Numéro de pointage ou de facture&amp;quot;===&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_fournisseur|facture fournisseur]], la colonne affiche le numéro de pointage.&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_client|facture client]] et que l'utilisateur dispose du [[Gestion des profils#Gestion_des_comptes|droit de '''Gestion des comptes''']] ou que la facture à afficher lui est destinée :&lt;br /&gt;
**Pour une écriture non-validée, la colonne affiche les icônes [[Fichier:IconHTML.png]] qui amènent aux factures pro-format associées.&lt;br /&gt;
**Pour une écriture validée, la colonne affiche les icônes [[Fichier:IconPDF.png]] qui amène aux factures PDF associées.&lt;br /&gt;
*:Dans le cas contraire, ce sont les numéros des factures qui sont affichés à la place des icônes.&lt;br /&gt;
&lt;br /&gt;
La colonne affiche &amp;quot;--&amp;quot; lorsqu'il s'agit d'une écriture :&lt;br /&gt;
* D'[[Écritures comptables#Saisie_d'un_encaissement_(d'un_client)|encaissement client]].&lt;br /&gt;
* De [[Écritures comptables#Les_4_grands_types_d'écritures|flux]].&lt;br /&gt;
* De [[Écritures comptables#Saisie_d'une_facture_client|facture client]] n'ayant pas de facture associée.&lt;br /&gt;
&lt;br /&gt;
==Imprimer un extrait de compte==&lt;br /&gt;
*Afficher l'extrait de compte souhaité&lt;br /&gt;
*[[Trucs et astuces#Imprimer_avec_un_navigateur|Imprimer avec la commande du navigateur]]&lt;br /&gt;
&lt;br /&gt;
==Transférer de l'argent==&lt;br /&gt;
Selon les droits accordés aux utilisateurs par la structure, il peut être possible d'effectuer un transfert d'argent depuis son compte vers le compte d'un autre utilisateur en suivant la procédure suivante :&lt;br /&gt;
*Aller sur '''Comptes &amp;gt;Transférer'''&lt;br /&gt;
*Dans le champ '''Compte à créditer''' choisir le nom de la personne concernée&lt;br /&gt;
*Dans le champ '''Montant''', saisir le montant que l'on souhaite transférer&lt;br /&gt;
*Remplir éventuellement le champ '''Commentaires'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' : '''Attention''' cette opération est irrévocable et une fois que vous aurez validé, il ne sera pas possible de supprimer le virement. Si vous souhaitez faire annuler l'opération, il faudra contacter la personne recevant l'argent pour qu'elle fasse à son tour un transfert sur votre compte.&lt;br /&gt;
&lt;br /&gt;
=E-mails automatiques=&lt;br /&gt;
==Alertes par e-mail uniquement sur les plateformes de production==&lt;br /&gt;
Les [[Configuration de la comptabilité#Paramétrage_général_des_comptabilités|e-mails d'alertes de solde]] ou de [[#E-mail-de-rappel-de-réservation|rappel des réservations]] ne sont pas envoyés sur les plateformes qui ne sont pas en production afin de ne pas polluer les messageries des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Les différentes notifications d'e-mail de réservation sont paramétrables du côté de [[#Affichage-et-fiche-personnelle|la fiche utilisateur]].&lt;br /&gt;
&lt;br /&gt;
==E-mail d'annulation de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une annulation de réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une annulation de réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est le même que pour l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]].&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Notification d'annulation de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est annulée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les annulations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails d'annulation en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-annulées&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de mise en maintenance==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une mise en maintenance sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une mise en maintenance sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** la ressource mise en maintenance&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de maintenance si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération de maintenance&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
La mise en maintenance pour le type-de-ressource F-ABCD du 01/04/2015 à 08:00 au 01/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Remplacement roue est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-par-e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de notification de réservation==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot;Confirmation d'une nouvelle réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration. Confirmation d'une nouvelle réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Notification de création de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** le type de ressource et la ressource réservés&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en seconde place si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération sur la réservation&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-par-e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ceci est une notification de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-par-e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Rappel d'une réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Rappel d'une réservation sur OpenFlyers sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du corps de l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]] où les dates sont sous le format &amp;quot;JJ/MM/AAAA/MM à HHhMM&amp;quot; et sous le fuseau horaire de l'utilisateur recevant l'e-mail&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail :&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 2015/04/01 à 08h00 au 2015/04/01 à 09h00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pièce jointe de synchronisation des réservations avec un calendrier==&lt;br /&gt;
Sur les plateformes où l'option est activée, tout email de réservation (création, modification et suppression) contient, en pièce jointe, un fichier de synchronisation. Ce fichier permet d'ajouter, modifier ou supprimer la réservation dans une application de gestion de calendrier selon l'opération effectuée sur OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Le fichier, envoyé au format '''ics''', peut être ouvert avec des applications comme '''Microsoft Outlook''', '''Google Calendar''' ou '''iCalendar''' par exemple. Lors de son ouverture, le calendrier sera mis à jour.&lt;br /&gt;
&lt;br /&gt;
Plusieurs informations de la réservation sont attachées à ce fichier :&lt;br /&gt;
*La date et heure de début&lt;br /&gt;
*La date et heure de fin&lt;br /&gt;
*Le lieu (le terrain de départ s'il est renseigné lors de la création de la réservation)&lt;br /&gt;
*La ressource et le nom de la personne en place gauche, constituant le '''nom du fichier'''&lt;br /&gt;
&lt;br /&gt;
Ces différentes informations permettent de définir l'événement dans le calendrier. Ainsi, les dates de début et de fin, le lieu, le nom de la personne et la ressource seront affichés dans l'application de gestion de calendrier.&lt;br /&gt;
&lt;br /&gt;
=Ergonomie=&lt;br /&gt;
==Optimiser la navigation dans OpenFlyers==&lt;br /&gt;
&lt;br /&gt;
===Navigation par onglet===&lt;br /&gt;
Afin d'avoir à disposition les différentes pages dont vous avez besoin pour effectuer une action, il est possible d'afficher chacune d'entre elles dans un [[Wikipedia-fr:Onglet_%28informatique%29|onglet]] du navigateur.&lt;br /&gt;
Lorsque vous effectuez un clic gauche sur un lien situé dans une page donnée pour accéder à une autre page, la page initiale est remplacée par la page de destination. Ce qui rend fastidieux la réalisation des tâches nécessitant un accès répétitif à certaines pages.&lt;br /&gt;
&lt;br /&gt;
===Clic droit et clic molette===&lt;br /&gt;
Afin de gagner en efficacité et en confort d'utilisation, pensez à utiliser les autres boutons de la souris qui vous permettent d'ouvrir une page dans un '''nouvel onglet'''. Pour cela il existe deux méthodes lorsqu'on survole un lien dans un navigateur Internet pour ouvrir la page de destination dans un nouvel onglet :&lt;br /&gt;
*'''Le clic droit :''' il permet d'afficher un menu contextuel qui contient une action nommée « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
*'''Le clic molette :''' il est encore plus efficace que le clic droit, car il correspond directement à l'action « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
&lt;br /&gt;
Normalement le clic molette est configuré pour cette action. Dans le cas contraire, il faut [[Trucs et astuces#Modifier_le_comportement_la_souris|en modifier le comportement]].&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-1.png]]&lt;br /&gt;
&lt;br /&gt;
L'exemple suivant explique comment modifier successivement les validités de plusieurs utilisateurs :&lt;br /&gt;
*Dans un premier onglet, ouvrir le tableau présentant la liste des utilisateurs.&lt;br /&gt;
[[Fichier:OF3.5-clics-2.png]]&lt;br /&gt;
*Effectuer un '''clic droit''' ou '''clic molette''' sur le pictogramme des validités pour déplier un second onglet.&lt;br /&gt;
[[Fichier:OF3.5-clics-3.png]]&lt;br /&gt;
*Effectuer et enregistrer les modifications dans le second onglet, présentant les validités d'un utilisateur.&lt;br /&gt;
[[Fichier:OF3.5-clics-4.jpg]]&lt;br /&gt;
*Replier le second onglet en cliquant sur la croix ou en pressant '''CTRL + W'''.&lt;br /&gt;
[[Fichier:OF3.5-clics-5.png]]&lt;br /&gt;
*Retour au premier onglet, présentant la liste des utilisateurs. Répéter les opérations du 2 au 4 pour les autres utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
Il est possible de naviguer rapidement d'un onglet à l'autre sans utiliser la souris en utilisant simplement les raccourcis clavier : '''CTRL + TAB''' pour avancer d'un onglet ou '''CTRL + SHIFT + TAB''' pour reculer d'un onglet.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-6.png]]&lt;br /&gt;
&lt;br /&gt;
=Fiche utilisateur (Données)=&lt;br /&gt;
==Affichage et fiche personnelle==&lt;br /&gt;
===Affichage du menu contextuel===&lt;br /&gt;
Le menu contextuel et un menu déroulant qui apparait lors du survol d'une réservation ou d'un vol ouvert. Ce menu contextuel peut apparaitre :&lt;br /&gt;
*soit automatiquement&lt;br /&gt;
*soit par un clic droit de la souris&lt;br /&gt;
Ce paramétrage est personnalisable pour chaque utilisateur :&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Cocher ou décocher '''N'afficher la description des réservations qu'avec le bouton droit de la souris''' selon le comportement souhaité&lt;br /&gt;
*Cliquer sur le bouton '''Sauver''' tout en bas du formulaire&lt;br /&gt;
&lt;br /&gt;
===Choisir l'unité de temps===&lt;br /&gt;
Chaque utilisateur peut choisir l'unité de temps qui sert à afficher les heures.&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Choisir dans le champ '''Unité de temps''' parmi :&lt;br /&gt;
**heures minutes&lt;br /&gt;
**heures centièmes&lt;br /&gt;
**heures dixièmes&lt;br /&gt;
*Appuyer sur le bouton '''Sauver'''.&lt;br /&gt;
&lt;br /&gt;
===Etre informé des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]] par email===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par email des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
===Editer sa photo===&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
* L'import ou la suppression d'une photo requiert le droit [[Gestion-des-profils#Généralités|Editer sa photo]]. Ce droit n'est pas nécessaire pour rendre sa photo visible pour tous&lt;br /&gt;
&lt;br /&gt;
===Notification de la maintenance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_mise_en_maintenance|e-mail des réservations de maintenance]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_notification_de_réservation|e-mail des réservations créées ou modifiées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations annulées===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_d'annulation_de_réservation|e-mail des réservations annulées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Rappel des réservations de 2 jours d'avance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin de recevoir ou non par [[#E-mail_de_rappel_de_réservation|e-mail un rappel de réservation]].&lt;br /&gt;
&lt;br /&gt;
Les rappels sont envoyés entre 0h et 6h au fuseau Europe/Paris pour les réservations ayant une ressource d'assignée et débutant entre 2 et 3 jours après.&lt;br /&gt;
&lt;br /&gt;
Les [[#Alertes_par_e-mail_uniquement_sur_les_plateformes_de_production|rappels ne sont effectifs que sur les plateformes en production]].&lt;br /&gt;
&lt;br /&gt;
===Recevoir un e-mail pour toute réservation===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
Lorsque l'utilisateur dispose d'un profil avec le droit [[Gestion des profils#Réservation|Alertable par e-mail pour toute réservation]], apparait une case à cocher '''Recevoir un e-mail pour toute réservation'''.&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par e-mail lorsqu'une nouvelle réservation est créée par n'importe quel utilisateur.&lt;br /&gt;
&lt;br /&gt;
==[[Champs additionnels]]==&lt;br /&gt;
En plus des champs habituels, des [[Champs-additionnels|champs additionnels]] spécifiques à la structure peuvent apparaître dans la fiche personnelle. &lt;br /&gt;
&lt;br /&gt;
Ils sont affichés [[Gestion-des-profils#Champ-additionnel-du-formulaire-utilisateur-visible-par-le-profil|si les droits sont attribués par l'administrateur]] et permettent d'activer des fonctionnalités supplémentaires.&lt;br /&gt;
&lt;br /&gt;
==(In)disponibilités==&lt;br /&gt;
Lorsque vous êtes intervenant (formateur, instructeur, moniteur, mécanicien, etc.), vous pouvez gérer vos disponibilités en allant dans '''Données &amp;gt; (in)disponibilités'''&lt;br /&gt;
&lt;br /&gt;
Il existe deux types de disponibilités :&lt;br /&gt;
:Les disponibilités régulières qui reviennent chaque semaine, par exemple : le lundi de 9h00 à 18h00.&lt;br /&gt;
:Les disponibilités exceptionnelles (ou les indisponibilités exceptionnelles) sont ponctuelles : présent (ou absent) le 1er décembre de 8h00 à 12h00.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez cumuler ces modes pour avoir une flexibilité maximum. &lt;br /&gt;
&lt;br /&gt;
:Exemple :&lt;br /&gt;
::- disponible du Lundi 8 h 00 au Mercredi 19 h 00 en permanent&lt;br /&gt;
::- disponible du Vendredi 8 h 00 au Samedi 19 h 00 en permanent&lt;br /&gt;
::- Absent du 15 Juillet au 30 Juillet pour raison de congé&lt;br /&gt;
:Attention à ne pas créer des incohérences.&lt;br /&gt;
&lt;br /&gt;
De même, si vous faites une pause déjeuner, il faut créer des disponibilités par demi-journées pour chaque jour concerné, en présence régulière en créant une disponibilité tous les jours de 9h à 12h et une disponibilité tous les jours de 14h à 18h (par ex.).&lt;br /&gt;
&lt;br /&gt;
Il est possible de créer une disponibilité permanente : Pour cela, créez une disponibilité régulière sur le même jour, avec une heure de début et de fin identique. Par exemple, disponible du &amp;quot;Lundi 0h00 au Lundi 0h00&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
En cas de problème, affichez la liste des disponibilités et supprimez tous les créneaux puis reconstruisez les disponibilités.&lt;br /&gt;
&lt;br /&gt;
==Réinitialiser son mot de passe==&lt;br /&gt;
Attention, lorsqu'un mot de passe est perdu vous n'avez que trois tentatives possibles pour le retrouver. A la 4ème tentative un compteur exponentiel s'active pour éviter les robots créés par les pirates de tenter d'accéder aux plateformes par des [[Wikipedia-fr:Attaque_par_force_brute|attaques par force brute]].&lt;br /&gt;
&lt;br /&gt;
Par contre, vous pouvez ré-initialiser votre mot de passe depuis la page d'accueil de votre plateforme OpenFlyers :&lt;br /&gt;
*Cliquez sur le lien '''Mot de passe oublié ?'''&lt;br /&gt;
*Dans le formulaire '''Demande de réinitialisation du mot de passe''', remplissez le champ '''Identifiant''' avec votre nom d'utilisateur utilisé pour la connexion sur l'application OpenFlyers&lt;br /&gt;
*Cliquez sur le bouton '''Enregistrer'''&lt;br /&gt;
*Si le nom d'utilisateur est présent en base de données, alors le message suivant doit s'afficher :&lt;br /&gt;
'''Merci, un e-mail a été envoyé à l'adresse du compte nom-utilisateur. Cliquez sur le lien dans l'email afin de poursuivre la réinitialisation du mot de passe.'''&lt;br /&gt;
*Récupérez l'e-mail dans votre messagerie, il s'intitule :&lt;br /&gt;
'''[nom-de-la-plateforme] Demande de réinitialisation du mot de passe à XXhXX (UTC)'''&lt;br /&gt;
et contient les éléments suivants :&lt;br /&gt;
&amp;lt;pre&amp;gt;Jean DUPONT,&lt;br /&gt;
&lt;br /&gt;
Une demande de réinitialisation de mot de passe a été effectué.&lt;br /&gt;
Pour poursuivre l'opération, cliquez ici.&lt;br /&gt;
Si vous n'avez pas fait la demande, veuillez ignorer l'email.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez également saisir ou copier le lien suivant dans votre navigateur internet afin d'accéder à la page de réinitilisalisation de mot de passe :&lt;br /&gt;
http://openflyers.com/nom-de-la-plateforme/index.php?menuAction=password_reset&amp;amp;token=154551560257977557617df&lt;br /&gt;
&lt;br /&gt;
L'équipe OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' L'email est valide uniquement pendant '''une heure''' après la demande de réinitialisation de mot de passe. Passé ce délai, le lien indiqué dans l'email ne sera plus valide. Il sera donc nécessaire de refaire une '''nouvelle demande''' de réinitialisation de mot de passe.&lt;br /&gt;
&lt;br /&gt;
*Cliquez sur la partie du texte correspondant au lien coloré ou copiez dans votre navigateur internet lien contenu à la fin de l'e-mail pour retourner sur la page de réinitialisation de mot de passe&lt;br /&gt;
*Dans le 2ème formulaire intitulé '''Réinitialisation du mot de passe''', renseignez les champs :&lt;br /&gt;
**'''Réinitialisation du mot de passe''' avec votre nouveau mot de passe&lt;br /&gt;
**'''Répétition du mot de passe''' avec la confirmation de votre nouveau mot de passe&lt;br /&gt;
*Cliquez sur le bouton '''Réinitialiser'''&lt;br /&gt;
&lt;br /&gt;
Après avoir réinitialisé votre mot de passe, l'application vous connecte automatiquement en vous redirigeant sur la page du planning.&lt;br /&gt;
&lt;br /&gt;
=Planning=&lt;br /&gt;
==Codes couleurs==&lt;br /&gt;
[[Fichier:Codes couleurs.png]]&lt;br /&gt;
&lt;br /&gt;
==Éphémérides==&lt;br /&gt;
Nous calculons les éphémérides d'après les définitions officielles.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les heures de lever et de coucher du soleil correspondent au passage du centre du soleil sous l'horizon, c'est à dire lorsque le centre du soleil est situé 3 degrés sous l'horizon. En effet, il est considéré, en première approximation que le soleil a un diamètre apparent de 6 degrés.&lt;br /&gt;
&lt;br /&gt;
Les heures du jour et de la nuit aéronautique correspondent au passage du soleil 6 degrés sous l'horizon. Il s'agit de la définition officielle, aussi bien française, qu'internationale (OACI). Notre formule de calcul est validée pour les latitudes inférieures à 65 degrés. Sa précision est de l'ordre de la minute sous des latitudes inférieures à 50 degrés. La précision diminue au fur et à mesure que la latitude augmente, c'est à dire que l'on se rapproche des pôles.&lt;br /&gt;
&lt;br /&gt;
Conséquence du calcul : les résultats trouvés ne correspondent pas à la simple addition de + ou - 30 minutes. Mais il n'a jamais été écrit dans un texte officiel que la journée aéronautique commençait au lever du soleil moins trente minutes, et que la nuit aéronautique commençait au coucher du soleil plus trente minutes. Dans la règlementation française, il est admis d'utiliser + ou - 30 minutes pour faire les calculs sous des latitudes comprises entre 30 et 60 degrés et 15 minutes sous les latitudes inférieures à 30 degrés). Pour l'Europe, voir le [http://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32012R0923&amp;amp;from=EN Règlement n°923/2012 concernant les Standardised European Rules of the Air) - Article 2 - Définition 97]. Pour la France voir la [http://www.developpement-durable.gouv.fr/IMG/pdf/SERA_RCA_consolide.pdf version consolidée des règles de l'air, définition de la &amp;quot;Nuit&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
Mises en garde :&lt;br /&gt;
*Le programme calcule les heures à partir des coordonnées géographiques de l'aérodrome indiqué comme étant la base aéronautique de la plateforme OpenFlyers considérée. Si les heures sont erronées, il faut contacter l'administrateur OpenFlyers de la plateforme afin qu'il vérifie le code OACI renseigné pour la plateforme.&lt;br /&gt;
*Certains pays n'utilisent pas la nuit aéronautique et ne permettent pas le vol en dehors du lever et du coucher du soleil. D'autres pays utilisent d'autres types de définition pour déterminer si le vol est de jour ou de nuit comme notamment une référence à la luminosité réelle mesurée.&lt;br /&gt;
&lt;br /&gt;
Remarque :&lt;br /&gt;
*Si l'utilisateur ne souhaite pas utiliser la définition réelle mais une approximation, comme le fait d'ajouter ou retrancher 30 minutes, il suffit d'effectuer l'opération de calcul à partir des heures de lever ou de coucher du soleil.&lt;br /&gt;
&lt;br /&gt;
=Rapports=&lt;br /&gt;
Tous les rapports sont regroupés sur une même page qui est accessible depuis '''Données &amp;gt; Rapports''' ou côté admin '''Rapports &amp;gt; Structure &amp;gt; Visualiser''' (si on dispose d'un droit spécifique).&lt;br /&gt;
&lt;br /&gt;
Cette page est constituée de 2 parties :&lt;br /&gt;
*Une liste de champs dans le formulaire général&lt;br /&gt;
*Une liste de rapports&lt;br /&gt;
&lt;br /&gt;
Les données qui doivent être saisies dans les champs du formulaire général varient en fonction des rapports.&lt;br /&gt;
&lt;br /&gt;
Les données prises en compte dans les rapports sont affichés dans le titre du rapport au-dessus du tableau de résultat.&lt;br /&gt;
&lt;br /&gt;
Aussi, si on constate que malgré le fait d'avoir préciser une valeur, celle-ci semble ignorer par le rapport, il faut vérifier si cette donnée apparait dans la liste données prises en compte. Si c'est le cas, alors il y a potentiellement un bug. Si ce n'est pas le cas, alors c'est &amp;quot;normal&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
La version 4 d'OpenFlyers proposera une interface différente où on choisira d'abord son rapport et ensuite les données pour les seules variables prises seront demandées.&lt;br /&gt;
&lt;br /&gt;
=Réservations=&lt;br /&gt;
==Immobiliser une ressource==&lt;br /&gt;
Les utilisateurs disposant du droit '''[[Gestion des profils#Réservation|Gestion des disponibilités des ressources]]''' peuvent rendre une ressource indisponible pour un créneau horaire donné. Cela permet d'indiquer aux autres utilisateurs que la ressource considérée n'est pas disponible.&lt;br /&gt;
&lt;br /&gt;
Il n'est pas possible d'avoir plus d'un créneau d'immobilisation sur une même ressource et la même période.&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des validités|Validités]]=&lt;br /&gt;
Un utilisateur peut [[Gestion des profils#Type_de_validité_que_l'utilisateur_peut_gérer|gérer uniquement les validités définies comme telles pour son profil]] en allant dans '''Données &amp;gt; Validités'''.&lt;br /&gt;
&lt;br /&gt;
De plus :&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à ajouter une nouvelle validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à renouveler une validité détenue ou à mettre à jour le '''Code identifiant''', la '''Date d'obtention''', la '''Limite de validité''' (d'une validité non achetable) ou à supprimer une validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]] ou le droit [[Gestion des profils#Généralités|Gestion de ses validités détenues]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à acheter ou renouveler une validité-produit, il doit détenir le droit [[Gestion des profils#Gestionnaire_des_ventes|Achat ventes libres]] et le produit associé à la validité doit être en vente libre.&lt;br /&gt;
&lt;br /&gt;
Pour renouveler une validité détenue, il faut cliquer sur l'icône [[Fichier:Refresh.png]] qui apparaît dans la colonne '''Limite de validité'''.&lt;br /&gt;
&lt;br /&gt;
Remarques :&lt;br /&gt;
*Les validités arrivées à échéance apparaissent sur fond rouge.&lt;br /&gt;
*La mise à jour de la date d'échéance d'une validité réactive automatiquement la cellule de la colonne [[#Données_&amp;gt;_Validités_&amp;gt;_Alertes_?|Alertes ?]].&lt;br /&gt;
*Une validité-produit déjà détenue ne peut pas être supprimée.&lt;br /&gt;
&lt;br /&gt;
==Données &amp;gt; Validités &amp;gt; Alertes ?==&lt;br /&gt;
La colonne '''Alertes ?''' permet à un utilisateur d'activer ou désactiver les rappels à la connexion de ses validités arrivant à expiration ou ayant expirées.&lt;br /&gt;
&lt;br /&gt;
Le champ '''Délai de prévenance en semaines avant chaque échéance''' permet de définir le délai de rappel des validités arrivant à expiration.&lt;br /&gt;
&lt;br /&gt;
==Alertes sur les validités==&lt;br /&gt;
===Alerte à la connexion===&lt;br /&gt;
Les validités contrôlées à la connexion sont uniquement :&lt;br /&gt;
*celles possédées par l'utilisateur qui se connecte et qui sont soumises à échéance&lt;br /&gt;
*les validités à expérience récente.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les validités sans échéance ne sont pas contrôlées.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers affiche un message d'alerte pour les validités dont la date d'échéance est expirée ou va expirer dans un délai inférieur à la période d'alerte définie dans la fiche utilisateur.&lt;br /&gt;
&lt;br /&gt;
L'utilisateur a la possibilité de cliquer sur la case à cocher &amp;quot;Ne plus le rappeler&amp;quot; afin de ne plus avoir de message de rappel. Dans ce cas, lors des connexions ultérieures, il n'aura plus de message de rappel. Il peut cependant réactiver cette alerte en la réactivant dans la colonne &amp;quot;Alertes&amp;quot; de la ligne correspondante dans '''Données &amp;gt; Validités'''. Cette réactivation est automatique lors d'une modification de la validité.&lt;br /&gt;
&lt;br /&gt;
===Alertes lors d'une réservation ou une saisie de vol===&lt;br /&gt;
Les validités périmées apparaissent systématiquement lors de la saisie d'une réservation ou d'un vol comme à la connexion. Leur affichage ne dépend pas du type de ressource. C'est juste un rappel.&lt;br /&gt;
&lt;br /&gt;
Ce rappel est notamment utile lorsqu'une personne effectue une réservation ou une saisie de vol pour le compte d'un tiers. Cela lui permet d'être informé et d'informer ce tiers de sa situation.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15264</id>
		<title>Documentation utilisateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15264"/>
				<updated>2017-07-27T07:27:55Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* E-mail de mise en maintenance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de regrouper les informations utiles pour l'ensemble des utilisateurs finaux d'[[Accueil|OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
=Accès à OpenFlyers=&lt;br /&gt;
==Accéder à une plateforme==&lt;br /&gt;
Pour accéder à une plateforme OpenFlyers, il faut entrer son URL dans un navigateur web.&lt;br /&gt;
&lt;br /&gt;
L'URL est ''http://openflyers.com/plateforme/'', où &amp;quot;plateforme&amp;quot; doit être remplacé par le vrai nom de la plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
==Impossible de se connecter à la plateforme OpenFlyers de sa structure==&lt;br /&gt;
Si vous n'arrivez pas à accéder une plateforme OpenFlyers il faut en rechercher la raison. Voici un certain nombre de questions qui peuvent vous permettre de solutionner votre problème :&lt;br /&gt;
*Accédez-vous à la page d'identification de la plateforme OpenFlyers ?&lt;br /&gt;
**Si non, alors il faut regarder la FAQ [[#Page_indisponible|Page indisponible]]&lt;br /&gt;
*Lorsque vous vous identifiez, avez-vous un message de rejet indiquant que votre identifiant et/ou votre mot de passe ne sont pas corrects ?&lt;br /&gt;
**Si oui, alors le problème peut venir du mot de passe qui a changé. Dans ce cas là, vous pouvez ré-initialiser votre mot de passe en suivant la procédure [[#Réinitialiser-son-mot-de-passe|de réinitialisation de mot de passe]]. Cela peut également venir de votre identifiant qui n'est pas bon. Dans ce cas, il faut demander à la personne en charge de la gestion d'OpenFlyers au sein de votre structure aéronautique&lt;br /&gt;
*Une fois connecté, revenez-vous sur la page d'identification lorsque vous changez de page ?&lt;br /&gt;
**Si oui, alors il faut regarder la [[FAQ-utilisateur#Navigation-dans-OpenFlyers|procédure de gestion des cookies du navigateur]].&lt;br /&gt;
Si vous n'êtes dans aucun des cas répertoriés ci-dessus, alors vous pouvez rapporter votre problème en nous envoyant un e-mail et en décrivant le plus précisément possible le problème que vous rencontrez :&lt;br /&gt;
*Navigateur utilisé&lt;br /&gt;
*Système d'exploitation&lt;br /&gt;
*type de PC, smartphone ou tablette&lt;br /&gt;
*Nom du fournisseur d'accès internet&lt;br /&gt;
*Actions effectuées&lt;br /&gt;
*Message d'erreur s'affichant&lt;br /&gt;
&lt;br /&gt;
==Message d'alerte adresse IP bloquée==&lt;br /&gt;
&lt;br /&gt;
Un message d'alerte signalant que '''l'adresse IP est bloquée''' peut apparaître lorsque vous souhaitez vous connecter. Ce message apparaît lorsque vous avez tenté de vous connecter à plusieurs reprises mais que le couple identifiant / mot de passe est incorrect.&lt;br /&gt;
&lt;br /&gt;
Après avoir attendu le temps indiqué par le message d'alerte, vous pouvez tenter de vous reconnecter en faisant attention [[Wikipedia-fr:Sensibilit%C3%A9_%C3%A0_la_casse|à la casse]].&lt;br /&gt;
&lt;br /&gt;
==Page indisponible==&lt;br /&gt;
Si vous n'arrivez pas à accéder à la plateforme OpenFlyers de votre structure, voici une liste d'actions à effectuer :&lt;br /&gt;
*Redémarrer votre ordinateur&lt;br /&gt;
*Redémarrer la &amp;quot;box&amp;quot; ADSL&lt;br /&gt;
*Si cela ne fonctionne toujours pas, il faut [[#Tester_les_résolutions_DNS|tester les résolutions DNS]].&lt;br /&gt;
&lt;br /&gt;
===Tester les résolutions DNS===&lt;br /&gt;
Pour effectuer les tests suivants, il faut ouvrir une fenêtre &amp;quot;[[#Ouvrir_une_fenêtre_en_ligne_de_commande|en ligne de commandes]]&amp;quot;. En cas de problème, il faut nous rapporter les résultats en ouvrant un rapport de bug sur le [http://bts.openflyers.org BTS]. Pour cela, il est pratique de procéder par [[#Copier/Coller_dans_une_fenêtre_en_ligne_de_commande|copier/coller]].&lt;br /&gt;
*Dans la fenêtre en ligne de commande taper ce qui suit (en remplaçant '''structure''' par le sous-domaine correspondant à votre structure) :&lt;br /&gt;
&amp;lt;bash&amp;gt;ping structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
La réponse normale est pour OpenFlyers 3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of3.openflyers.net [87.98.143.237] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.143.237 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of3.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.143.237&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 2.1 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur8-of21.openflyers.net [87.98.145.26] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.145.26 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur8-of21.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.145.26&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 1.3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of1.openflyers.net [178.33.105.217] avec 32 octets de données :&lt;br /&gt;
 Réponse de 178.33.105.217 : octets=32 temps=41 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of1.openflyers.net&amp;quot; ou &amp;quot;Réponse de 178.33.105.217&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
====Tests plus poussés====&lt;br /&gt;
*Faire un :&lt;br /&gt;
&amp;lt;bash&amp;gt;nslookup structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Et un :&lt;br /&gt;
&amp;lt;bash&amp;gt;tracert structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Faire le test avec '''dig +trace''' :&lt;br /&gt;
&amp;lt;bash&amp;gt;dig +trace structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
Sous Windows, il faudra au préalable récupérer l'utilitaire (par exemple dans un package [http://www.isc.org./downloads bind]). Une fois télécharger le package, il faut copier/coller le programme dig ainsi que les fichiers .dll dans un répertoire commun et se positionner dans ce répertoire depuis la fenêtre en ligne de commandes avec la commande dir '''&amp;quot;nom du chemin du répertoire&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
====Tester les résolutions DNS sous Mac====&lt;br /&gt;
De plus, nous disposons de commandes plus puissantes qui permettent d'avoir d'avantage d'informations :&lt;br /&gt;
*cat /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
===Vérifier la configuration de résolution des DNS===&lt;br /&gt;
====Vérifier la configuration de résolution des DNS sous Windows====&lt;br /&gt;
Si vous avez un problème de résolution DNS sous windows, il peut être utile de vérifier que la résolution DNS est dynamique :&lt;br /&gt;
#Double-cliquer sur la connexion réseau concernée (par exemple le symbole &amp;quot;WIFI&amp;quot;)&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot; dans l'onglet &amp;quot;Général&amp;quot; de l'&amp;quot;Etat de Connexion réseau sans fil&amp;quot; (si WIFI))&lt;br /&gt;
#Sélectionner &amp;quot;Protocole internet TCP/IP&amp;quot;&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot;&lt;br /&gt;
#Vérifier qu'est sélectionné &amp;quot;Obtenir les adresses des serveurs DNS automatiquement&amp;quot;. (si ce n'est pas le cas, modifier).&lt;br /&gt;
#En dernier ressort, [[#Changer de serveur DNS|Changer de serveur DNS]] ou [[#Forcer_les_DNS|Forcer les DNS]].&lt;br /&gt;
&lt;br /&gt;
===Nous communiquer les adresses IP des serveurs DNS===&lt;br /&gt;
====Nous communiquer les adresses IP des serveurs DNS sous Windows====&lt;br /&gt;
#[[#Ouvrir_une_fenêtre_en_ligne_de_commande|Ouvrir une fenêtre en ligne de commande]]&lt;br /&gt;
#Taper : '''ipconfig /all'''&lt;br /&gt;
Les adresses IP des serveurs DNS se trouvent au droit de '''Serveurs DNS'''&lt;br /&gt;
&lt;br /&gt;
===Changer de serveur DNS===&lt;br /&gt;
Si vous rencontrez un problème de résolution de DNS avec votre fournisseur d'accès, vous pouvez changer les serveurs qui effectue la résolution des DNS pour votre accès.&lt;br /&gt;
====Changer de serveur DNS sous Mac====&lt;br /&gt;
*Dans '''Préférences Systèmes''', choisir '''Réseau''', puis une fois la bonne carte réseau sélectionnée, appuyer sur Avancé.&lt;br /&gt;
*Dans la fenêtre qui apparaît, aller sur l'onglet '''DNS''' et dans '''Serveurs DNS''' appuyer sur le + pour ajouter '''8.8.8.8''' et une autre fois pour ajouter '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Il ne reste plus qu'à '''Appliquer''' et à tester.&lt;br /&gt;
&lt;br /&gt;
====Changer de serveur DNS sous Windows XP====&lt;br /&gt;
*'''Démarrer &amp;gt; Connexions''' puis cliquer sur la connexion réseau active (par exemple la connexion WIFI)&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*Sélectionner '''Protocole Internet (TCP/IP)'''&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*En général, en bas de la fenêtre '''Propriétés de Protocole Internet (TCP/IP)''' la configuration active est : '''Obtenir les adresses des serveurs DNS automatiquement'''&lt;br /&gt;
*Cocher '''Utiliser l'adresse de serveur DNS suivante :'''&lt;br /&gt;
*Pour '''Serveur DNS préféré''', saisir '''8.8.8.8'''&lt;br /&gt;
*Pour '''Serveur DNS auxiliaire''', saisir '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''Fermer'''&lt;br /&gt;
&lt;br /&gt;
===Forcer les DNS===&lt;br /&gt;
====Forcer les DNS sous Windows====&lt;br /&gt;
Attention, avec Vista, il faut appliquer une [[#Particularité_avec_Windows_Vista|procédure préalable]].&lt;br /&gt;
*Il est possible de résoudre ce problème de DNS en éditant le fichier C:\WINDOWS\system32\drivers\etc\hosts (avec le bloc-notes) en rajoutant la ligne (il faut remplacer structure par le sous-domaine de la plateforme OpenFlyers de votre structure) :&lt;br /&gt;
**Pour OF 1.3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;178.33.105.217 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 2.1 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.145.26 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.143.237  structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Ensuite, il faut relancer votre PC&lt;br /&gt;
*Une fois la connexion correctement effectuée, il est parfois possible de supprimer cette entrée dans le fichier hosts tout en gardant la connexion.&lt;br /&gt;
&lt;br /&gt;
====Particularité avec Windows Vista====&lt;br /&gt;
*Il faut être administrateur pour pouvoir modifier le fichier hosts.&lt;br /&gt;
*Il faut également copier le fichier hosts sur le bureau pour le modifier puis ensuite le recopier dans le bon répertoire (si on édite directement le fichier hosts depuis (system32\drivers\etc\) on ne peut pas le ré-enregistrer).&lt;br /&gt;
&lt;br /&gt;
====Forcer les DNS sous Mac====&lt;br /&gt;
*lancer Terminal (dans Applications/Utilitaires)&lt;br /&gt;
*taper &amp;quot;sudo nano /etc/hosts&amp;quot; (il demande le mot de passe de l'utilisateur qui a les droits admin sur la machine)&lt;br /&gt;
*Ajouter les entrées sur le modèle de la [[#Forcer_les_DNS_sous_Windows|procédure sous Windows]]&lt;br /&gt;
*Faire controle-o pour enregistrer puis controle-x pour quitter&lt;br /&gt;
*Eventuellement, faire &amp;quot;dscacheutil -flushcache&amp;quot; si le changement n'est pas encore pris en compte.&lt;br /&gt;
&lt;br /&gt;
===Ouvrir une fenêtre en ligne de commande===&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
*Aller dans le menu &amp;quot;Démarrer&amp;quot;&lt;br /&gt;
*Puis Tous les programmes/Accessoires&lt;br /&gt;
*Lancer l'&amp;quot;invite de commandes&amp;quot;&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Sous OSX (mac) il faut lancer un Terminal. Pour cela 2 solutions :&lt;br /&gt;
*Taper &amp;quot;terminal&amp;quot; dans spotlight&lt;br /&gt;
ou&lt;br /&gt;
*lancer l'application qui est dans Applications &amp;gt; Utilitaires.&lt;br /&gt;
&lt;br /&gt;
===Copier/Coller dans une fenêtre en ligne de commande===&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
Vous pouvez faire un copier/coller en utilisant le bouton droit de la souris dans la fenêtre de l'invite de commandes puis en choisissant &amp;quot;sélectionner&amp;quot; et ensuite en appuyant sur le bouton gauche et en le laissant appuyer tout en sélectionnant la zone souhaitée)&lt;br /&gt;
&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Pour faire un copier/coller de ces informations et nous les communiquer, il suffit d'utiliser commande-C dans le terminal.&lt;br /&gt;
&lt;br /&gt;
==Restriction d'accès==&lt;br /&gt;
En fonction de la politique de la structure, le paramétrage d'une plateforme OpenFlyers peut entrainer des restrictions lors de la connexion.  Un message s'affiche, à ce moment là, indiquant les raisons de la restriction et le type de restriction. L'intitulé du profil est inchangé une fois connecté mais les droits associés peuvent être restreints. Par exemple, il peut ne plus être possible d'effectuer une réservation ou d'ouvrir une activité (vol).&lt;br /&gt;
&lt;br /&gt;
Ces restrictions peuvent avoir lieu dans les cas suivants :&lt;br /&gt;
*En cas de solde insuffisant.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Gestion_des_comptes|Surpasser la limitation du solde du compte]]. Lorsque l'utilisateur dispose de ce droit et que l'accès devrait être limité à cause du solde de l'un de ses comptes, un message d'alerte sans restriction s'affiche pour indiquer que son solde de compte est inférieur au seuil requis.&lt;br /&gt;
*En cas de validité obsolète.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Généralités|Surpasser les restrictions sur les validités expirées]]. Lorsque l'utilisateur dispose de ce droit, il n'y a pas de message d'alerte pour lui indiquer que l'absence de telle ou telle validité devrait entrainer la restriction de ses droits.&lt;br /&gt;
&lt;br /&gt;
=Activité=&lt;br /&gt;
==Alertes générées lors de la saisie d'une activité==&lt;br /&gt;
&lt;br /&gt;
===[[Facturation des clients#Alertes_générées_par_le_moteur_de_tarification|Alertes générées par le moteur de tarification]]===&lt;br /&gt;
&lt;br /&gt;
===[[#Alertes_lors_d'une_réservation_ou_une_saisie_de_vol|Alertes générées sur les validités]]===&lt;br /&gt;
&lt;br /&gt;
===L'aéronef est déjà en l'air===&lt;br /&gt;
Si en tentant d'ouvrir le vol d'un aéronef, apparait une alerte rouge '''L'aéronef est déjà en l'air''' cela veut dire qu'un vol a déjà ouvert avec cet aéronef. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===La différence entre le temps de vol calculé et le temps de vol saisi est de : X:XX heure(s)===&lt;br /&gt;
Cette alerte est suivie du message :&lt;br /&gt;
&amp;lt;pre&amp;gt;Veuillez contacter votre administrateur à propos de l'incompatibilité entre votre saisie et la formule du temps de vol choisie pour le type d'aéronef : X&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsque la valeur saisie du temps de vol est incompatible avec la valeur calculée par la [[Formules de calcul#Temps_d'activité|formule de calcul de temps de vol]] définie pour l'aéronef X.&lt;br /&gt;
&lt;br /&gt;
En général elle provient du fait que le temps de vol qui avait été calculé automatiquement dans le formulaire lors de la saisie des champs de compteurs départ/arrivée et/ou des heures de départ/arrivée ont été modifiés manuellement.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une telle erreur apparait, vous devez :&lt;br /&gt;
*Essayer de reprendre la saisie et essayer de comprendre pourquoi vous saisissez mal les valeurs dans les champs concernés&lt;br /&gt;
*Si vous n'arrivez pas à comprendre la raison, contacter sans délai un gestionnaire de votre structure afin qu'il vous explique les erreurs que vous commettez lorsque le problème vient d'une saisie erronée ou qu'il analyser lui-même le problème.&lt;br /&gt;
*Si vous êtes vous-même un gestionnaire de la plateforme, vous devez également pousser l'analyse pour comprendre en quoi votre saisie est incompatible avec la formule de calcul et le cas échéant faire effectuer une modification du paramétrage.&lt;br /&gt;
&lt;br /&gt;
Voir également, comment [[#Forcer_la_saisie_d'une_durée_de_vol_incompatible_avec_sa_formule_de_calcul|saisir un temps de vol qui ne respecte pas la formule de calcul]].&lt;br /&gt;
&lt;br /&gt;
===Le pilote X est déjà en l'air===&lt;br /&gt;
Ce message apparait lorsque vous tentez de saisir un vol en ouverture de vol et que le pilote occupant la position X est déjà enregistré sur un vol ouvert, c'est à dire en l'air.&lt;br /&gt;
&lt;br /&gt;
Cette protection permet de ne pas avoir un utilisateur occupé simultanément sur 2 ressources.&lt;br /&gt;
&lt;br /&gt;
S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Seul le type de vol requis dans le cas de la présence d'un second pilote a été sélectionné, vous devez en sélectionner au moins un autre en plus===&lt;br /&gt;
Lors de la saisie d'un vol, cette alerte s'affiche si la configuration de la plateforme nécessite la saisie d'au moins un type de vol supplémentaire en plus du type de vol obligatoire dans le cas de la présence d'un second pilote.&lt;br /&gt;
&lt;br /&gt;
C'est typiquement le cas pour les vols d'instruction où le paramétrage nécessite généralement de préciser un 2ème type de vol comme &amp;quot;local&amp;quot;, &amp;quot;navigation&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
===Vous êtes actuellement en l'air===&lt;br /&gt;
Si en tentant de saisir un vol, l'alerte '''Vous êtes actuellement en l'air''' apparait cela veut dire qu'il y a déjà un vol d'ouvert à votre nom. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Vous ne pouvez ouvrir un vol avec une date de début dépassée===&lt;br /&gt;
Cette protection empêche d'ouvrir une activité avec un horodatage de début antérieur à l'heure actuelle moins 15 minutes.&lt;br /&gt;
&lt;br /&gt;
En général, pour un tel cas, le souhait n'est pas d'ouvrir une activité mais de fermer une activité. Il faut donc penser à passer le champ '''Etat du vol''' en &amp;quot;Retour de vol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Annuler un vol ouvert==&lt;br /&gt;
*Aller sur le planning&lt;br /&gt;
*Cliquer sur le rectangle sur fond bleu correspondant à l'immatriculation de l'aéronef considéré&lt;br /&gt;
*Cliquer sur le bouton '''Annuler le vol''' tout en bas du formulaire.&lt;br /&gt;
&lt;br /&gt;
==Consulter un vol ouvert==&lt;br /&gt;
Pour pouvoir consulter un vol ouvert d'un tiers, il faut disposer du [[Gestion des profils#Gestion_des_vols|droit de &amp;quot;Saisie d'activité pour un tiers&amp;quot;]].&lt;br /&gt;
*Sur le planning de réservation, cliquer sur le rectangle de l'aéronef considéré qui doit être sur fond bleu pour indiquer que l'aéronef est en l'air.&lt;br /&gt;
&lt;br /&gt;
==Saisie d'un vol==&lt;br /&gt;
*Aller dans '''Vols &amp;gt; Saisir un vol''', remplir le formulaire&lt;br /&gt;
*La saisie d'un vol d'une durée inférieure à 15 minutes déclenchera l'affichage d'un message d'avertissement (en orange). Cliquer sur '''Confirmer la validation''' au dessous de ce message pour saisir définitivement le vol.&lt;br /&gt;
*Après la saisie d'un vol, l'utilisateur est renvoyé sur :&lt;br /&gt;
**Le planning lors d'un vol en ouverture&lt;br /&gt;
**Le formulaire de saisie d'un vol lors d'un nouveau vol en fermeture et que le terrain d'arrivée saisie est différent du terrain par défaut de la structure&lt;br /&gt;
**Dans les autres cas, l'[[Documentation utilisateur#Extrait_de_compte|extrait de compte]] de la personne en première place. Si plusieurs comptes sont impactés, c'est le premier compte impacté de la personne qui est choisi.&lt;br /&gt;
**Si l'utilisateur connecté n'a pas le droit de visualiser le compte concerné, alors c'est le carnet de route qui est affiché.&lt;br /&gt;
&lt;br /&gt;
===Forcer la saisie d'une durée de vol incompatible avec sa formule de calcul===&lt;br /&gt;
Un gestionnaire peut forcer la saisie d'un [[#La_différence_entre_le_temps_de_vol_calculé_et_le_temps_de_vol_saisi_est_de_:_X:XX_heure(s)|temps de vol incompatible avec la formule de calcul]] associée au type d'aéronef pour lequel on souhaite saisir un vol.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il doit :&lt;br /&gt;
*Saisir le vol en modification le compteur arrivé de sorte à obtenir le temps de vol souhaité.&lt;br /&gt;
*[[Gestion des ressources#Changer_la_valeur_du_compteur_en_cours|Changer la valeur du compteur en cours]] de l'aéronef.&lt;br /&gt;
&lt;br /&gt;
Dans le cas où plusieurs vols successifs doivent être saisis, il est alors judicieux de ne mettre à jour le compteur de l'aéronef qu'une que tous les vols ont été saisis.&lt;br /&gt;
&lt;br /&gt;
=Comptabilité=&lt;br /&gt;
&lt;br /&gt;
==Alertes générées lors de la [[Utilisation de la comptabilité#Saisie_d'écritures_comptables|saisie d'écritures comptables]]==&lt;br /&gt;
&lt;br /&gt;
===Les comptes n'ont pas la même comptabilité===&lt;br /&gt;
Cette alerte apparait lors d'une [[Comptabilité#Comptabilités_multiples|comptabilité multiple]] : Le compte débité et le compte crédité doivent être issues de la même comptabilité.&lt;br /&gt;
&lt;br /&gt;
==Créditer son compte utilisateur==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Approvisionner'''&lt;br /&gt;
*Si vous disposez de droit de gestion comptable, choisir dans le champ '''Encaissement de l'utilisateur''' le nom de l'utilisateur concerné&lt;br /&gt;
*Si vous disposez de plusieurs comptes sur lesquels vous pouvez choisir où ventiler votre encaissement, choisir dans le champ '''Compte à créditer''' le nom du compte concerné&lt;br /&gt;
*Dans le champ '''Type de règlement''', sélectionner le type de règlement&lt;br /&gt;
*Si vous effectuez un paiement avec une remise à une personne physique, vous devez préciser le nom de cette personne dans le champ '''Personne qui reçoit'''&lt;br /&gt;
*Dans le champ, montant indiquer le montant de votre paiement.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
Dans le cas où le type de paiement est un paiement par carte bancaire en ligne mis en place par votre structure, alors êtes redirigé sur le terminal de paiement électronique de la banque de votre structure. Il vous faut alors saisir les informations de votre carte bancaire. Il est possible que le terminal de paiement électronique supporte le &amp;quot;[[Wikipedia-fr:3-D_Secure|3-D Secure]]&amp;quot; qui implique un contrôle renforcé. Dans ce cas, c'est votre propre banque qui vous demandera des informations complémentaires pour confirmer que c'est bien vous qui êtes à l'origine de la demande de paiement par carte bancaire.&lt;br /&gt;
&lt;br /&gt;
==Extrait de compte==&lt;br /&gt;
'''OpenFlyers''' offre la possibilité à un utilisateur de consulter des extraits de compte : C'est un rapport permettant de visualiser le détail des écritures comptables effectuées sur une période (une année complète ou un mois d'une année) d'un compte ou de tous les comptes d'une comptabilité donnée. Si la gestion des budgets est activée, il est possible de filtrer l'affichage des écritures selon les budgets.&lt;br /&gt;
&lt;br /&gt;
Dès qu'il y a plus de 50 écritures à afficher pour un extrait de compte, la liste des écritures est paginée pour afficher 50 écritures par page.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est validée, les montants au débit et au crédit sont affichés en noir gras.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est non validée, les montants au débit et au crédit sont affichés en vert gras. En fonction du [[Gestion des profils|profil et de ses droits]], une colonne '''Actions''' peut apparaître avec des icônes pour permettre de modifier ou supprimer une écriture non validée selon [[Gestion-des-écritures-comptables#Types-d'écritures-comptable-générées-par-OpenFlyers|le type d'écriture comptable qui est générée]].&lt;br /&gt;
&lt;br /&gt;
===Colonne &amp;quot;Numéro de pointage ou de facture&amp;quot;===&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_fournisseur|facture fournisseur]], la colonne affiche le numéro de pointage.&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_client|facture client]] et que l'utilisateur dispose du [[Gestion des profils#Gestion_des_comptes|droit de '''Gestion des comptes''']] ou que la facture à afficher lui est destinée :&lt;br /&gt;
**Pour une écriture non-validée, la colonne affiche les icônes [[Fichier:IconHTML.png]] qui amènent aux factures pro-format associées.&lt;br /&gt;
**Pour une écriture validée, la colonne affiche les icônes [[Fichier:IconPDF.png]] qui amène aux factures PDF associées.&lt;br /&gt;
*:Dans le cas contraire, ce sont les numéros des factures qui sont affichés à la place des icônes.&lt;br /&gt;
&lt;br /&gt;
La colonne affiche &amp;quot;--&amp;quot; lorsqu'il s'agit d'une écriture :&lt;br /&gt;
* D'[[Écritures comptables#Saisie_d'un_encaissement_(d'un_client)|encaissement client]].&lt;br /&gt;
* De [[Écritures comptables#Les_4_grands_types_d'écritures|flux]].&lt;br /&gt;
* De [[Écritures comptables#Saisie_d'une_facture_client|facture client]] n'ayant pas de facture associée.&lt;br /&gt;
&lt;br /&gt;
==Imprimer un extrait de compte==&lt;br /&gt;
*Afficher l'extrait de compte souhaité&lt;br /&gt;
*[[Trucs et astuces#Imprimer_avec_un_navigateur|Imprimer avec la commande du navigateur]]&lt;br /&gt;
&lt;br /&gt;
==Transférer de l'argent==&lt;br /&gt;
Selon les droits accordés aux utilisateurs par la structure, il peut être possible d'effectuer un transfert d'argent depuis son compte vers le compte d'un autre utilisateur en suivant la procédure suivante :&lt;br /&gt;
*Aller sur '''Comptes &amp;gt;Transférer'''&lt;br /&gt;
*Dans le champ '''Compte à créditer''' choisir le nom de la personne concernée&lt;br /&gt;
*Dans le champ '''Montant''', saisir le montant que l'on souhaite transférer&lt;br /&gt;
*Remplir éventuellement le champ '''Commentaires'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' : '''Attention''' cette opération est irrévocable et une fois que vous aurez validé, il ne sera pas possible de supprimer le virement. Si vous souhaitez faire annuler l'opération, il faudra contacter la personne recevant l'argent pour qu'elle fasse à son tour un transfert sur votre compte.&lt;br /&gt;
&lt;br /&gt;
=E-mails automatiques=&lt;br /&gt;
==Alertes par e-mail uniquement sur les plateformes de production==&lt;br /&gt;
Les [[Configuration de la comptabilité#Paramétrage_général_des_comptabilités|e-mails d'alertes de solde]] ou de [[#E-mail-de-rappel-de-réservation|rappel des réservations]] ne sont pas envoyés sur les plateformes qui ne sont pas en production afin de ne pas polluer les messageries des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Les différentes notifications d'e-mail de réservation sont paramétrables du côté de [[#Affichage-et-fiche-personnelle|la fiche utilisateur]].&lt;br /&gt;
&lt;br /&gt;
==E-mail d'annulation de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une annulation de réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une annulation de réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est le même que pour l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]].&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Notification d'annulation de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est annulée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les annulations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails d'annulation en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-annulées&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de mise en maintenance==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une mise en maintenance sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une mise en maintenance sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** la ressource mise en maintenance&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de maintenance si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération de maintenance&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
La mise en maintenance pour le type-de-ressource F-ABCD du 01/04/2015 à 08:00 au 01/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Remplacement roue est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-par-e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de notification de réservation==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot;Confirmation d'une nouvelle réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration. Confirmation d'une nouvelle réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Notification de création de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** le type de ressource et la ressource réservés&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en seconde place si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération sur la réservation&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-par-e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ceci est une notification de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Rappel d'une réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Rappel d'une réservation sur OpenFlyers sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du corps de l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]] où les dates sont sous le format &amp;quot;JJ/MM/AAAA/MM à HHhMM&amp;quot; et sous le fuseau horaire de l'utilisateur recevant l'e-mail&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail :&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 2015/04/01 à 08h00 au 2015/04/01 à 09h00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pièce jointe de synchronisation des réservations avec un calendrier==&lt;br /&gt;
Sur les plateformes où l'option est activée, tout email de réservation (création, modification et suppression) contient, en pièce jointe, un fichier de synchronisation. Ce fichier permet d'ajouter, modifier ou supprimer la réservation dans une application de gestion de calendrier selon l'opération effectuée sur OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Le fichier, envoyé au format '''ics''', peut être ouvert avec des applications comme '''Microsoft Outlook''', '''Google Calendar''' ou '''iCalendar''' par exemple. Lors de son ouverture, le calendrier sera mis à jour.&lt;br /&gt;
&lt;br /&gt;
Plusieurs informations de la réservation sont attachées à ce fichier :&lt;br /&gt;
*La date et heure de début&lt;br /&gt;
*La date et heure de fin&lt;br /&gt;
*Le lieu (le terrain de départ s'il est renseigné lors de la création de la réservation)&lt;br /&gt;
*La ressource et le nom de la personne en place gauche, constituant le '''nom du fichier'''&lt;br /&gt;
&lt;br /&gt;
Ces différentes informations permettent de définir l'événement dans le calendrier. Ainsi, les dates de début et de fin, le lieu, le nom de la personne et la ressource seront affichés dans l'application de gestion de calendrier.&lt;br /&gt;
&lt;br /&gt;
=Ergonomie=&lt;br /&gt;
==Optimiser la navigation dans OpenFlyers==&lt;br /&gt;
&lt;br /&gt;
===Navigation par onglet===&lt;br /&gt;
Afin d'avoir à disposition les différentes pages dont vous avez besoin pour effectuer une action, il est possible d'afficher chacune d'entre elles dans un [[Wikipedia-fr:Onglet_%28informatique%29|onglet]] du navigateur.&lt;br /&gt;
Lorsque vous effectuez un clic gauche sur un lien situé dans une page donnée pour accéder à une autre page, la page initiale est remplacée par la page de destination. Ce qui rend fastidieux la réalisation des tâches nécessitant un accès répétitif à certaines pages.&lt;br /&gt;
&lt;br /&gt;
===Clic droit et clic molette===&lt;br /&gt;
Afin de gagner en efficacité et en confort d'utilisation, pensez à utiliser les autres boutons de la souris qui vous permettent d'ouvrir une page dans un '''nouvel onglet'''. Pour cela il existe deux méthodes lorsqu'on survole un lien dans un navigateur Internet pour ouvrir la page de destination dans un nouvel onglet :&lt;br /&gt;
*'''Le clic droit :''' il permet d'afficher un menu contextuel qui contient une action nommée « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
*'''Le clic molette :''' il est encore plus efficace que le clic droit, car il correspond directement à l'action « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
&lt;br /&gt;
Normalement le clic molette est configuré pour cette action. Dans le cas contraire, il faut [[Trucs et astuces#Modifier_le_comportement_la_souris|en modifier le comportement]].&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-1.png]]&lt;br /&gt;
&lt;br /&gt;
L'exemple suivant explique comment modifier successivement les validités de plusieurs utilisateurs :&lt;br /&gt;
*Dans un premier onglet, ouvrir le tableau présentant la liste des utilisateurs.&lt;br /&gt;
[[Fichier:OF3.5-clics-2.png]]&lt;br /&gt;
*Effectuer un '''clic droit''' ou '''clic molette''' sur le pictogramme des validités pour déplier un second onglet.&lt;br /&gt;
[[Fichier:OF3.5-clics-3.png]]&lt;br /&gt;
*Effectuer et enregistrer les modifications dans le second onglet, présentant les validités d'un utilisateur.&lt;br /&gt;
[[Fichier:OF3.5-clics-4.jpg]]&lt;br /&gt;
*Replier le second onglet en cliquant sur la croix ou en pressant '''CTRL + W'''.&lt;br /&gt;
[[Fichier:OF3.5-clics-5.png]]&lt;br /&gt;
*Retour au premier onglet, présentant la liste des utilisateurs. Répéter les opérations du 2 au 4 pour les autres utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
Il est possible de naviguer rapidement d'un onglet à l'autre sans utiliser la souris en utilisant simplement les raccourcis clavier : '''CTRL + TAB''' pour avancer d'un onglet ou '''CTRL + SHIFT + TAB''' pour reculer d'un onglet.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-6.png]]&lt;br /&gt;
&lt;br /&gt;
=Fiche utilisateur (Données)=&lt;br /&gt;
==Affichage et fiche personnelle==&lt;br /&gt;
===Affichage du menu contextuel===&lt;br /&gt;
Le menu contextuel et un menu déroulant qui apparait lors du survol d'une réservation ou d'un vol ouvert. Ce menu contextuel peut apparaitre :&lt;br /&gt;
*soit automatiquement&lt;br /&gt;
*soit par un clic droit de la souris&lt;br /&gt;
Ce paramétrage est personnalisable pour chaque utilisateur :&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Cocher ou décocher '''N'afficher la description des réservations qu'avec le bouton droit de la souris''' selon le comportement souhaité&lt;br /&gt;
*Cliquer sur le bouton '''Sauver''' tout en bas du formulaire&lt;br /&gt;
&lt;br /&gt;
===Choisir l'unité de temps===&lt;br /&gt;
Chaque utilisateur peut choisir l'unité de temps qui sert à afficher les heures.&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Choisir dans le champ '''Unité de temps''' parmi :&lt;br /&gt;
**heures minutes&lt;br /&gt;
**heures centièmes&lt;br /&gt;
**heures dixièmes&lt;br /&gt;
*Appuyer sur le bouton '''Sauver'''.&lt;br /&gt;
&lt;br /&gt;
===Etre informé des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]] par email===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par email des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
===Editer sa photo===&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
* L'import ou la suppression d'une photo requiert le droit [[Gestion-des-profils#Généralités|Editer sa photo]]. Ce droit n'est pas nécessaire pour rendre sa photo visible pour tous&lt;br /&gt;
&lt;br /&gt;
===Notification de la maintenance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_mise_en_maintenance|e-mail des réservations de maintenance]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_notification_de_réservation|e-mail des réservations créées ou modifiées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations annulées===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_d'annulation_de_réservation|e-mail des réservations annulées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Rappel des réservations de 2 jours d'avance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin de recevoir ou non par [[#E-mail_de_rappel_de_réservation|e-mail un rappel de réservation]].&lt;br /&gt;
&lt;br /&gt;
Les rappels sont envoyés entre 0h et 6h au fuseau Europe/Paris pour les réservations ayant une ressource d'assignée et débutant entre 2 et 3 jours après.&lt;br /&gt;
&lt;br /&gt;
Les [[#Alertes_par_e-mail_uniquement_sur_les_plateformes_de_production|rappels ne sont effectifs que sur les plateformes en production]].&lt;br /&gt;
&lt;br /&gt;
===Recevoir un e-mail pour toute réservation===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
Lorsque l'utilisateur dispose d'un profil avec le droit [[Gestion des profils#Réservation|Alertable par e-mail pour toute réservation]], apparait une case à cocher '''Recevoir un e-mail pour toute réservation'''.&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par e-mail lorsqu'une nouvelle réservation est créée par n'importe quel utilisateur.&lt;br /&gt;
&lt;br /&gt;
==[[Champs additionnels]]==&lt;br /&gt;
En plus des champs habituels, des [[Champs-additionnels|champs additionnels]] spécifiques à la structure peuvent apparaître dans la fiche personnelle. &lt;br /&gt;
&lt;br /&gt;
Ils sont affichés [[Gestion-des-profils#Champ-additionnel-du-formulaire-utilisateur-visible-par-le-profil|si les droits sont attribués par l'administrateur]] et permettent d'activer des fonctionnalités supplémentaires.&lt;br /&gt;
&lt;br /&gt;
==(In)disponibilités==&lt;br /&gt;
Lorsque vous êtes intervenant (formateur, instructeur, moniteur, mécanicien, etc.), vous pouvez gérer vos disponibilités en allant dans '''Données &amp;gt; (in)disponibilités'''&lt;br /&gt;
&lt;br /&gt;
Il existe deux types de disponibilités :&lt;br /&gt;
:Les disponibilités régulières qui reviennent chaque semaine, par exemple : le lundi de 9h00 à 18h00.&lt;br /&gt;
:Les disponibilités exceptionnelles (ou les indisponibilités exceptionnelles) sont ponctuelles : présent (ou absent) le 1er décembre de 8h00 à 12h00.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez cumuler ces modes pour avoir une flexibilité maximum. &lt;br /&gt;
&lt;br /&gt;
:Exemple :&lt;br /&gt;
::- disponible du Lundi 8 h 00 au Mercredi 19 h 00 en permanent&lt;br /&gt;
::- disponible du Vendredi 8 h 00 au Samedi 19 h 00 en permanent&lt;br /&gt;
::- Absent du 15 Juillet au 30 Juillet pour raison de congé&lt;br /&gt;
:Attention à ne pas créer des incohérences.&lt;br /&gt;
&lt;br /&gt;
De même, si vous faites une pause déjeuner, il faut créer des disponibilités par demi-journées pour chaque jour concerné, en présence régulière en créant une disponibilité tous les jours de 9h à 12h et une disponibilité tous les jours de 14h à 18h (par ex.).&lt;br /&gt;
&lt;br /&gt;
Il est possible de créer une disponibilité permanente : Pour cela, créez une disponibilité régulière sur le même jour, avec une heure de début et de fin identique. Par exemple, disponible du &amp;quot;Lundi 0h00 au Lundi 0h00&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
En cas de problème, affichez la liste des disponibilités et supprimez tous les créneaux puis reconstruisez les disponibilités.&lt;br /&gt;
&lt;br /&gt;
==Réinitialiser son mot de passe==&lt;br /&gt;
Attention, lorsqu'un mot de passe est perdu vous n'avez que trois tentatives possibles pour le retrouver. A la 4ème tentative un compteur exponentiel s'active pour éviter les robots créés par les pirates de tenter d'accéder aux plateformes par des [[Wikipedia-fr:Attaque_par_force_brute|attaques par force brute]].&lt;br /&gt;
&lt;br /&gt;
Par contre, vous pouvez ré-initialiser votre mot de passe depuis la page d'accueil de votre plateforme OpenFlyers :&lt;br /&gt;
*Cliquez sur le lien '''Mot de passe oublié ?'''&lt;br /&gt;
*Dans le formulaire '''Demande de réinitialisation du mot de passe''', remplissez le champ '''Identifiant''' avec votre nom d'utilisateur utilisé pour la connexion sur l'application OpenFlyers&lt;br /&gt;
*Cliquez sur le bouton '''Enregistrer'''&lt;br /&gt;
*Si le nom d'utilisateur est présent en base de données, alors le message suivant doit s'afficher :&lt;br /&gt;
'''Merci, un e-mail a été envoyé à l'adresse du compte nom-utilisateur. Cliquez sur le lien dans l'email afin de poursuivre la réinitialisation du mot de passe.'''&lt;br /&gt;
*Récupérez l'e-mail dans votre messagerie, il s'intitule :&lt;br /&gt;
'''[nom-de-la-plateforme] Demande de réinitialisation du mot de passe à XXhXX (UTC)'''&lt;br /&gt;
et contient les éléments suivants :&lt;br /&gt;
&amp;lt;pre&amp;gt;Jean DUPONT,&lt;br /&gt;
&lt;br /&gt;
Une demande de réinitialisation de mot de passe a été effectué.&lt;br /&gt;
Pour poursuivre l'opération, cliquez ici.&lt;br /&gt;
Si vous n'avez pas fait la demande, veuillez ignorer l'email.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez également saisir ou copier le lien suivant dans votre navigateur internet afin d'accéder à la page de réinitilisalisation de mot de passe :&lt;br /&gt;
http://openflyers.com/nom-de-la-plateforme/index.php?menuAction=password_reset&amp;amp;token=154551560257977557617df&lt;br /&gt;
&lt;br /&gt;
L'équipe OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' L'email est valide uniquement pendant '''une heure''' après la demande de réinitialisation de mot de passe. Passé ce délai, le lien indiqué dans l'email ne sera plus valide. Il sera donc nécessaire de refaire une '''nouvelle demande''' de réinitialisation de mot de passe.&lt;br /&gt;
&lt;br /&gt;
*Cliquez sur la partie du texte correspondant au lien coloré ou copiez dans votre navigateur internet lien contenu à la fin de l'e-mail pour retourner sur la page de réinitialisation de mot de passe&lt;br /&gt;
*Dans le 2ème formulaire intitulé '''Réinitialisation du mot de passe''', renseignez les champs :&lt;br /&gt;
**'''Réinitialisation du mot de passe''' avec votre nouveau mot de passe&lt;br /&gt;
**'''Répétition du mot de passe''' avec la confirmation de votre nouveau mot de passe&lt;br /&gt;
*Cliquez sur le bouton '''Réinitialiser'''&lt;br /&gt;
&lt;br /&gt;
Après avoir réinitialisé votre mot de passe, l'application vous connecte automatiquement en vous redirigeant sur la page du planning.&lt;br /&gt;
&lt;br /&gt;
=Planning=&lt;br /&gt;
==Codes couleurs==&lt;br /&gt;
[[Fichier:Codes couleurs.png]]&lt;br /&gt;
&lt;br /&gt;
==Éphémérides==&lt;br /&gt;
Nous calculons les éphémérides d'après les définitions officielles.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les heures de lever et de coucher du soleil correspondent au passage du centre du soleil sous l'horizon, c'est à dire lorsque le centre du soleil est situé 3 degrés sous l'horizon. En effet, il est considéré, en première approximation que le soleil a un diamètre apparent de 6 degrés.&lt;br /&gt;
&lt;br /&gt;
Les heures du jour et de la nuit aéronautique correspondent au passage du soleil 6 degrés sous l'horizon. Il s'agit de la définition officielle, aussi bien française, qu'internationale (OACI). Notre formule de calcul est validée pour les latitudes inférieures à 65 degrés. Sa précision est de l'ordre de la minute sous des latitudes inférieures à 50 degrés. La précision diminue au fur et à mesure que la latitude augmente, c'est à dire que l'on se rapproche des pôles.&lt;br /&gt;
&lt;br /&gt;
Conséquence du calcul : les résultats trouvés ne correspondent pas à la simple addition de + ou - 30 minutes. Mais il n'a jamais été écrit dans un texte officiel que la journée aéronautique commençait au lever du soleil moins trente minutes, et que la nuit aéronautique commençait au coucher du soleil plus trente minutes. Dans la règlementation française, il est admis d'utiliser + ou - 30 minutes pour faire les calculs sous des latitudes comprises entre 30 et 60 degrés et 15 minutes sous les latitudes inférieures à 30 degrés). Pour l'Europe, voir le [http://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32012R0923&amp;amp;from=EN Règlement n°923/2012 concernant les Standardised European Rules of the Air) - Article 2 - Définition 97]. Pour la France voir la [http://www.developpement-durable.gouv.fr/IMG/pdf/SERA_RCA_consolide.pdf version consolidée des règles de l'air, définition de la &amp;quot;Nuit&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
Mises en garde :&lt;br /&gt;
*Le programme calcule les heures à partir des coordonnées géographiques de l'aérodrome indiqué comme étant la base aéronautique de la plateforme OpenFlyers considérée. Si les heures sont erronées, il faut contacter l'administrateur OpenFlyers de la plateforme afin qu'il vérifie le code OACI renseigné pour la plateforme.&lt;br /&gt;
*Certains pays n'utilisent pas la nuit aéronautique et ne permettent pas le vol en dehors du lever et du coucher du soleil. D'autres pays utilisent d'autres types de définition pour déterminer si le vol est de jour ou de nuit comme notamment une référence à la luminosité réelle mesurée.&lt;br /&gt;
&lt;br /&gt;
Remarque :&lt;br /&gt;
*Si l'utilisateur ne souhaite pas utiliser la définition réelle mais une approximation, comme le fait d'ajouter ou retrancher 30 minutes, il suffit d'effectuer l'opération de calcul à partir des heures de lever ou de coucher du soleil.&lt;br /&gt;
&lt;br /&gt;
=Rapports=&lt;br /&gt;
Tous les rapports sont regroupés sur une même page qui est accessible depuis '''Données &amp;gt; Rapports''' ou côté admin '''Rapports &amp;gt; Structure &amp;gt; Visualiser''' (si on dispose d'un droit spécifique).&lt;br /&gt;
&lt;br /&gt;
Cette page est constituée de 2 parties :&lt;br /&gt;
*Une liste de champs dans le formulaire général&lt;br /&gt;
*Une liste de rapports&lt;br /&gt;
&lt;br /&gt;
Les données qui doivent être saisies dans les champs du formulaire général varient en fonction des rapports.&lt;br /&gt;
&lt;br /&gt;
Les données prises en compte dans les rapports sont affichés dans le titre du rapport au-dessus du tableau de résultat.&lt;br /&gt;
&lt;br /&gt;
Aussi, si on constate que malgré le fait d'avoir préciser une valeur, celle-ci semble ignorer par le rapport, il faut vérifier si cette donnée apparait dans la liste données prises en compte. Si c'est le cas, alors il y a potentiellement un bug. Si ce n'est pas le cas, alors c'est &amp;quot;normal&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
La version 4 d'OpenFlyers proposera une interface différente où on choisira d'abord son rapport et ensuite les données pour les seules variables prises seront demandées.&lt;br /&gt;
&lt;br /&gt;
=Réservations=&lt;br /&gt;
==Immobiliser une ressource==&lt;br /&gt;
Les utilisateurs disposant du droit '''[[Gestion des profils#Réservation|Gestion des disponibilités des ressources]]''' peuvent rendre une ressource indisponible pour un créneau horaire donné. Cela permet d'indiquer aux autres utilisateurs que la ressource considérée n'est pas disponible.&lt;br /&gt;
&lt;br /&gt;
Il n'est pas possible d'avoir plus d'un créneau d'immobilisation sur une même ressource et la même période.&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des validités|Validités]]=&lt;br /&gt;
Un utilisateur peut [[Gestion des profils#Type_de_validité_que_l'utilisateur_peut_gérer|gérer uniquement les validités définies comme telles pour son profil]] en allant dans '''Données &amp;gt; Validités'''.&lt;br /&gt;
&lt;br /&gt;
De plus :&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à ajouter une nouvelle validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à renouveler une validité détenue ou à mettre à jour le '''Code identifiant''', la '''Date d'obtention''', la '''Limite de validité''' (d'une validité non achetable) ou à supprimer une validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]] ou le droit [[Gestion des profils#Généralités|Gestion de ses validités détenues]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à acheter ou renouveler une validité-produit, il doit détenir le droit [[Gestion des profils#Gestionnaire_des_ventes|Achat ventes libres]] et le produit associé à la validité doit être en vente libre.&lt;br /&gt;
&lt;br /&gt;
Pour renouveler une validité détenue, il faut cliquer sur l'icône [[Fichier:Refresh.png]] qui apparaît dans la colonne '''Limite de validité'''.&lt;br /&gt;
&lt;br /&gt;
Remarques :&lt;br /&gt;
*Les validités arrivées à échéance apparaissent sur fond rouge.&lt;br /&gt;
*La mise à jour de la date d'échéance d'une validité réactive automatiquement la cellule de la colonne [[#Données_&amp;gt;_Validités_&amp;gt;_Alertes_?|Alertes ?]].&lt;br /&gt;
*Une validité-produit déjà détenue ne peut pas être supprimée.&lt;br /&gt;
&lt;br /&gt;
==Données &amp;gt; Validités &amp;gt; Alertes ?==&lt;br /&gt;
La colonne '''Alertes ?''' permet à un utilisateur d'activer ou désactiver les rappels à la connexion de ses validités arrivant à expiration ou ayant expirées.&lt;br /&gt;
&lt;br /&gt;
Le champ '''Délai de prévenance en semaines avant chaque échéance''' permet de définir le délai de rappel des validités arrivant à expiration.&lt;br /&gt;
&lt;br /&gt;
==Alertes sur les validités==&lt;br /&gt;
===Alerte à la connexion===&lt;br /&gt;
Les validités contrôlées à la connexion sont uniquement :&lt;br /&gt;
*celles possédées par l'utilisateur qui se connecte et qui sont soumises à échéance&lt;br /&gt;
*les validités à expérience récente.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les validités sans échéance ne sont pas contrôlées.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers affiche un message d'alerte pour les validités dont la date d'échéance est expirée ou va expirer dans un délai inférieur à la période d'alerte définie dans la fiche utilisateur.&lt;br /&gt;
&lt;br /&gt;
L'utilisateur a la possibilité de cliquer sur la case à cocher &amp;quot;Ne plus le rappeler&amp;quot; afin de ne plus avoir de message de rappel. Dans ce cas, lors des connexions ultérieures, il n'aura plus de message de rappel. Il peut cependant réactiver cette alerte en la réactivant dans la colonne &amp;quot;Alertes&amp;quot; de la ligne correspondante dans '''Données &amp;gt; Validités'''. Cette réactivation est automatique lors d'une modification de la validité.&lt;br /&gt;
&lt;br /&gt;
===Alertes lors d'une réservation ou une saisie de vol===&lt;br /&gt;
Les validités périmées apparaissent systématiquement lors de la saisie d'une réservation ou d'un vol comme à la connexion. Leur affichage ne dépend pas du type de ressource. C'est juste un rappel.&lt;br /&gt;
&lt;br /&gt;
Ce rappel est notamment utile lorsqu'une personne effectue une réservation ou une saisie de vol pour le compte d'un tiers. Cela lui permet d'être informé et d'informer ce tiers de sa situation.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15263</id>
		<title>Documentation utilisateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15263"/>
				<updated>2017-07-27T07:27:27Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* E-mail d'annulation de réservation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de regrouper les informations utiles pour l'ensemble des utilisateurs finaux d'[[Accueil|OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
=Accès à OpenFlyers=&lt;br /&gt;
==Accéder à une plateforme==&lt;br /&gt;
Pour accéder à une plateforme OpenFlyers, il faut entrer son URL dans un navigateur web.&lt;br /&gt;
&lt;br /&gt;
L'URL est ''http://openflyers.com/plateforme/'', où &amp;quot;plateforme&amp;quot; doit être remplacé par le vrai nom de la plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
==Impossible de se connecter à la plateforme OpenFlyers de sa structure==&lt;br /&gt;
Si vous n'arrivez pas à accéder une plateforme OpenFlyers il faut en rechercher la raison. Voici un certain nombre de questions qui peuvent vous permettre de solutionner votre problème :&lt;br /&gt;
*Accédez-vous à la page d'identification de la plateforme OpenFlyers ?&lt;br /&gt;
**Si non, alors il faut regarder la FAQ [[#Page_indisponible|Page indisponible]]&lt;br /&gt;
*Lorsque vous vous identifiez, avez-vous un message de rejet indiquant que votre identifiant et/ou votre mot de passe ne sont pas corrects ?&lt;br /&gt;
**Si oui, alors le problème peut venir du mot de passe qui a changé. Dans ce cas là, vous pouvez ré-initialiser votre mot de passe en suivant la procédure [[#Réinitialiser-son-mot-de-passe|de réinitialisation de mot de passe]]. Cela peut également venir de votre identifiant qui n'est pas bon. Dans ce cas, il faut demander à la personne en charge de la gestion d'OpenFlyers au sein de votre structure aéronautique&lt;br /&gt;
*Une fois connecté, revenez-vous sur la page d'identification lorsque vous changez de page ?&lt;br /&gt;
**Si oui, alors il faut regarder la [[FAQ-utilisateur#Navigation-dans-OpenFlyers|procédure de gestion des cookies du navigateur]].&lt;br /&gt;
Si vous n'êtes dans aucun des cas répertoriés ci-dessus, alors vous pouvez rapporter votre problème en nous envoyant un e-mail et en décrivant le plus précisément possible le problème que vous rencontrez :&lt;br /&gt;
*Navigateur utilisé&lt;br /&gt;
*Système d'exploitation&lt;br /&gt;
*type de PC, smartphone ou tablette&lt;br /&gt;
*Nom du fournisseur d'accès internet&lt;br /&gt;
*Actions effectuées&lt;br /&gt;
*Message d'erreur s'affichant&lt;br /&gt;
&lt;br /&gt;
==Message d'alerte adresse IP bloquée==&lt;br /&gt;
&lt;br /&gt;
Un message d'alerte signalant que '''l'adresse IP est bloquée''' peut apparaître lorsque vous souhaitez vous connecter. Ce message apparaît lorsque vous avez tenté de vous connecter à plusieurs reprises mais que le couple identifiant / mot de passe est incorrect.&lt;br /&gt;
&lt;br /&gt;
Après avoir attendu le temps indiqué par le message d'alerte, vous pouvez tenter de vous reconnecter en faisant attention [[Wikipedia-fr:Sensibilit%C3%A9_%C3%A0_la_casse|à la casse]].&lt;br /&gt;
&lt;br /&gt;
==Page indisponible==&lt;br /&gt;
Si vous n'arrivez pas à accéder à la plateforme OpenFlyers de votre structure, voici une liste d'actions à effectuer :&lt;br /&gt;
*Redémarrer votre ordinateur&lt;br /&gt;
*Redémarrer la &amp;quot;box&amp;quot; ADSL&lt;br /&gt;
*Si cela ne fonctionne toujours pas, il faut [[#Tester_les_résolutions_DNS|tester les résolutions DNS]].&lt;br /&gt;
&lt;br /&gt;
===Tester les résolutions DNS===&lt;br /&gt;
Pour effectuer les tests suivants, il faut ouvrir une fenêtre &amp;quot;[[#Ouvrir_une_fenêtre_en_ligne_de_commande|en ligne de commandes]]&amp;quot;. En cas de problème, il faut nous rapporter les résultats en ouvrant un rapport de bug sur le [http://bts.openflyers.org BTS]. Pour cela, il est pratique de procéder par [[#Copier/Coller_dans_une_fenêtre_en_ligne_de_commande|copier/coller]].&lt;br /&gt;
*Dans la fenêtre en ligne de commande taper ce qui suit (en remplaçant '''structure''' par le sous-domaine correspondant à votre structure) :&lt;br /&gt;
&amp;lt;bash&amp;gt;ping structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
La réponse normale est pour OpenFlyers 3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of3.openflyers.net [87.98.143.237] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.143.237 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of3.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.143.237&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 2.1 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur8-of21.openflyers.net [87.98.145.26] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.145.26 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur8-of21.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.145.26&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 1.3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of1.openflyers.net [178.33.105.217] avec 32 octets de données :&lt;br /&gt;
 Réponse de 178.33.105.217 : octets=32 temps=41 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of1.openflyers.net&amp;quot; ou &amp;quot;Réponse de 178.33.105.217&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
====Tests plus poussés====&lt;br /&gt;
*Faire un :&lt;br /&gt;
&amp;lt;bash&amp;gt;nslookup structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Et un :&lt;br /&gt;
&amp;lt;bash&amp;gt;tracert structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Faire le test avec '''dig +trace''' :&lt;br /&gt;
&amp;lt;bash&amp;gt;dig +trace structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
Sous Windows, il faudra au préalable récupérer l'utilitaire (par exemple dans un package [http://www.isc.org./downloads bind]). Une fois télécharger le package, il faut copier/coller le programme dig ainsi que les fichiers .dll dans un répertoire commun et se positionner dans ce répertoire depuis la fenêtre en ligne de commandes avec la commande dir '''&amp;quot;nom du chemin du répertoire&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
====Tester les résolutions DNS sous Mac====&lt;br /&gt;
De plus, nous disposons de commandes plus puissantes qui permettent d'avoir d'avantage d'informations :&lt;br /&gt;
*cat /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
===Vérifier la configuration de résolution des DNS===&lt;br /&gt;
====Vérifier la configuration de résolution des DNS sous Windows====&lt;br /&gt;
Si vous avez un problème de résolution DNS sous windows, il peut être utile de vérifier que la résolution DNS est dynamique :&lt;br /&gt;
#Double-cliquer sur la connexion réseau concernée (par exemple le symbole &amp;quot;WIFI&amp;quot;)&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot; dans l'onglet &amp;quot;Général&amp;quot; de l'&amp;quot;Etat de Connexion réseau sans fil&amp;quot; (si WIFI))&lt;br /&gt;
#Sélectionner &amp;quot;Protocole internet TCP/IP&amp;quot;&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot;&lt;br /&gt;
#Vérifier qu'est sélectionné &amp;quot;Obtenir les adresses des serveurs DNS automatiquement&amp;quot;. (si ce n'est pas le cas, modifier).&lt;br /&gt;
#En dernier ressort, [[#Changer de serveur DNS|Changer de serveur DNS]] ou [[#Forcer_les_DNS|Forcer les DNS]].&lt;br /&gt;
&lt;br /&gt;
===Nous communiquer les adresses IP des serveurs DNS===&lt;br /&gt;
====Nous communiquer les adresses IP des serveurs DNS sous Windows====&lt;br /&gt;
#[[#Ouvrir_une_fenêtre_en_ligne_de_commande|Ouvrir une fenêtre en ligne de commande]]&lt;br /&gt;
#Taper : '''ipconfig /all'''&lt;br /&gt;
Les adresses IP des serveurs DNS se trouvent au droit de '''Serveurs DNS'''&lt;br /&gt;
&lt;br /&gt;
===Changer de serveur DNS===&lt;br /&gt;
Si vous rencontrez un problème de résolution de DNS avec votre fournisseur d'accès, vous pouvez changer les serveurs qui effectue la résolution des DNS pour votre accès.&lt;br /&gt;
====Changer de serveur DNS sous Mac====&lt;br /&gt;
*Dans '''Préférences Systèmes''', choisir '''Réseau''', puis une fois la bonne carte réseau sélectionnée, appuyer sur Avancé.&lt;br /&gt;
*Dans la fenêtre qui apparaît, aller sur l'onglet '''DNS''' et dans '''Serveurs DNS''' appuyer sur le + pour ajouter '''8.8.8.8''' et une autre fois pour ajouter '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Il ne reste plus qu'à '''Appliquer''' et à tester.&lt;br /&gt;
&lt;br /&gt;
====Changer de serveur DNS sous Windows XP====&lt;br /&gt;
*'''Démarrer &amp;gt; Connexions''' puis cliquer sur la connexion réseau active (par exemple la connexion WIFI)&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*Sélectionner '''Protocole Internet (TCP/IP)'''&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*En général, en bas de la fenêtre '''Propriétés de Protocole Internet (TCP/IP)''' la configuration active est : '''Obtenir les adresses des serveurs DNS automatiquement'''&lt;br /&gt;
*Cocher '''Utiliser l'adresse de serveur DNS suivante :'''&lt;br /&gt;
*Pour '''Serveur DNS préféré''', saisir '''8.8.8.8'''&lt;br /&gt;
*Pour '''Serveur DNS auxiliaire''', saisir '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''Fermer'''&lt;br /&gt;
&lt;br /&gt;
===Forcer les DNS===&lt;br /&gt;
====Forcer les DNS sous Windows====&lt;br /&gt;
Attention, avec Vista, il faut appliquer une [[#Particularité_avec_Windows_Vista|procédure préalable]].&lt;br /&gt;
*Il est possible de résoudre ce problème de DNS en éditant le fichier C:\WINDOWS\system32\drivers\etc\hosts (avec le bloc-notes) en rajoutant la ligne (il faut remplacer structure par le sous-domaine de la plateforme OpenFlyers de votre structure) :&lt;br /&gt;
**Pour OF 1.3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;178.33.105.217 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 2.1 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.145.26 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.143.237  structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Ensuite, il faut relancer votre PC&lt;br /&gt;
*Une fois la connexion correctement effectuée, il est parfois possible de supprimer cette entrée dans le fichier hosts tout en gardant la connexion.&lt;br /&gt;
&lt;br /&gt;
====Particularité avec Windows Vista====&lt;br /&gt;
*Il faut être administrateur pour pouvoir modifier le fichier hosts.&lt;br /&gt;
*Il faut également copier le fichier hosts sur le bureau pour le modifier puis ensuite le recopier dans le bon répertoire (si on édite directement le fichier hosts depuis (system32\drivers\etc\) on ne peut pas le ré-enregistrer).&lt;br /&gt;
&lt;br /&gt;
====Forcer les DNS sous Mac====&lt;br /&gt;
*lancer Terminal (dans Applications/Utilitaires)&lt;br /&gt;
*taper &amp;quot;sudo nano /etc/hosts&amp;quot; (il demande le mot de passe de l'utilisateur qui a les droits admin sur la machine)&lt;br /&gt;
*Ajouter les entrées sur le modèle de la [[#Forcer_les_DNS_sous_Windows|procédure sous Windows]]&lt;br /&gt;
*Faire controle-o pour enregistrer puis controle-x pour quitter&lt;br /&gt;
*Eventuellement, faire &amp;quot;dscacheutil -flushcache&amp;quot; si le changement n'est pas encore pris en compte.&lt;br /&gt;
&lt;br /&gt;
===Ouvrir une fenêtre en ligne de commande===&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
*Aller dans le menu &amp;quot;Démarrer&amp;quot;&lt;br /&gt;
*Puis Tous les programmes/Accessoires&lt;br /&gt;
*Lancer l'&amp;quot;invite de commandes&amp;quot;&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Sous OSX (mac) il faut lancer un Terminal. Pour cela 2 solutions :&lt;br /&gt;
*Taper &amp;quot;terminal&amp;quot; dans spotlight&lt;br /&gt;
ou&lt;br /&gt;
*lancer l'application qui est dans Applications &amp;gt; Utilitaires.&lt;br /&gt;
&lt;br /&gt;
===Copier/Coller dans une fenêtre en ligne de commande===&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
Vous pouvez faire un copier/coller en utilisant le bouton droit de la souris dans la fenêtre de l'invite de commandes puis en choisissant &amp;quot;sélectionner&amp;quot; et ensuite en appuyant sur le bouton gauche et en le laissant appuyer tout en sélectionnant la zone souhaitée)&lt;br /&gt;
&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Pour faire un copier/coller de ces informations et nous les communiquer, il suffit d'utiliser commande-C dans le terminal.&lt;br /&gt;
&lt;br /&gt;
==Restriction d'accès==&lt;br /&gt;
En fonction de la politique de la structure, le paramétrage d'une plateforme OpenFlyers peut entrainer des restrictions lors de la connexion.  Un message s'affiche, à ce moment là, indiquant les raisons de la restriction et le type de restriction. L'intitulé du profil est inchangé une fois connecté mais les droits associés peuvent être restreints. Par exemple, il peut ne plus être possible d'effectuer une réservation ou d'ouvrir une activité (vol).&lt;br /&gt;
&lt;br /&gt;
Ces restrictions peuvent avoir lieu dans les cas suivants :&lt;br /&gt;
*En cas de solde insuffisant.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Gestion_des_comptes|Surpasser la limitation du solde du compte]]. Lorsque l'utilisateur dispose de ce droit et que l'accès devrait être limité à cause du solde de l'un de ses comptes, un message d'alerte sans restriction s'affiche pour indiquer que son solde de compte est inférieur au seuil requis.&lt;br /&gt;
*En cas de validité obsolète.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Généralités|Surpasser les restrictions sur les validités expirées]]. Lorsque l'utilisateur dispose de ce droit, il n'y a pas de message d'alerte pour lui indiquer que l'absence de telle ou telle validité devrait entrainer la restriction de ses droits.&lt;br /&gt;
&lt;br /&gt;
=Activité=&lt;br /&gt;
==Alertes générées lors de la saisie d'une activité==&lt;br /&gt;
&lt;br /&gt;
===[[Facturation des clients#Alertes_générées_par_le_moteur_de_tarification|Alertes générées par le moteur de tarification]]===&lt;br /&gt;
&lt;br /&gt;
===[[#Alertes_lors_d'une_réservation_ou_une_saisie_de_vol|Alertes générées sur les validités]]===&lt;br /&gt;
&lt;br /&gt;
===L'aéronef est déjà en l'air===&lt;br /&gt;
Si en tentant d'ouvrir le vol d'un aéronef, apparait une alerte rouge '''L'aéronef est déjà en l'air''' cela veut dire qu'un vol a déjà ouvert avec cet aéronef. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===La différence entre le temps de vol calculé et le temps de vol saisi est de : X:XX heure(s)===&lt;br /&gt;
Cette alerte est suivie du message :&lt;br /&gt;
&amp;lt;pre&amp;gt;Veuillez contacter votre administrateur à propos de l'incompatibilité entre votre saisie et la formule du temps de vol choisie pour le type d'aéronef : X&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsque la valeur saisie du temps de vol est incompatible avec la valeur calculée par la [[Formules de calcul#Temps_d'activité|formule de calcul de temps de vol]] définie pour l'aéronef X.&lt;br /&gt;
&lt;br /&gt;
En général elle provient du fait que le temps de vol qui avait été calculé automatiquement dans le formulaire lors de la saisie des champs de compteurs départ/arrivée et/ou des heures de départ/arrivée ont été modifiés manuellement.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une telle erreur apparait, vous devez :&lt;br /&gt;
*Essayer de reprendre la saisie et essayer de comprendre pourquoi vous saisissez mal les valeurs dans les champs concernés&lt;br /&gt;
*Si vous n'arrivez pas à comprendre la raison, contacter sans délai un gestionnaire de votre structure afin qu'il vous explique les erreurs que vous commettez lorsque le problème vient d'une saisie erronée ou qu'il analyser lui-même le problème.&lt;br /&gt;
*Si vous êtes vous-même un gestionnaire de la plateforme, vous devez également pousser l'analyse pour comprendre en quoi votre saisie est incompatible avec la formule de calcul et le cas échéant faire effectuer une modification du paramétrage.&lt;br /&gt;
&lt;br /&gt;
Voir également, comment [[#Forcer_la_saisie_d'une_durée_de_vol_incompatible_avec_sa_formule_de_calcul|saisir un temps de vol qui ne respecte pas la formule de calcul]].&lt;br /&gt;
&lt;br /&gt;
===Le pilote X est déjà en l'air===&lt;br /&gt;
Ce message apparait lorsque vous tentez de saisir un vol en ouverture de vol et que le pilote occupant la position X est déjà enregistré sur un vol ouvert, c'est à dire en l'air.&lt;br /&gt;
&lt;br /&gt;
Cette protection permet de ne pas avoir un utilisateur occupé simultanément sur 2 ressources.&lt;br /&gt;
&lt;br /&gt;
S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Seul le type de vol requis dans le cas de la présence d'un second pilote a été sélectionné, vous devez en sélectionner au moins un autre en plus===&lt;br /&gt;
Lors de la saisie d'un vol, cette alerte s'affiche si la configuration de la plateforme nécessite la saisie d'au moins un type de vol supplémentaire en plus du type de vol obligatoire dans le cas de la présence d'un second pilote.&lt;br /&gt;
&lt;br /&gt;
C'est typiquement le cas pour les vols d'instruction où le paramétrage nécessite généralement de préciser un 2ème type de vol comme &amp;quot;local&amp;quot;, &amp;quot;navigation&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
===Vous êtes actuellement en l'air===&lt;br /&gt;
Si en tentant de saisir un vol, l'alerte '''Vous êtes actuellement en l'air''' apparait cela veut dire qu'il y a déjà un vol d'ouvert à votre nom. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Vous ne pouvez ouvrir un vol avec une date de début dépassée===&lt;br /&gt;
Cette protection empêche d'ouvrir une activité avec un horodatage de début antérieur à l'heure actuelle moins 15 minutes.&lt;br /&gt;
&lt;br /&gt;
En général, pour un tel cas, le souhait n'est pas d'ouvrir une activité mais de fermer une activité. Il faut donc penser à passer le champ '''Etat du vol''' en &amp;quot;Retour de vol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Annuler un vol ouvert==&lt;br /&gt;
*Aller sur le planning&lt;br /&gt;
*Cliquer sur le rectangle sur fond bleu correspondant à l'immatriculation de l'aéronef considéré&lt;br /&gt;
*Cliquer sur le bouton '''Annuler le vol''' tout en bas du formulaire.&lt;br /&gt;
&lt;br /&gt;
==Consulter un vol ouvert==&lt;br /&gt;
Pour pouvoir consulter un vol ouvert d'un tiers, il faut disposer du [[Gestion des profils#Gestion_des_vols|droit de &amp;quot;Saisie d'activité pour un tiers&amp;quot;]].&lt;br /&gt;
*Sur le planning de réservation, cliquer sur le rectangle de l'aéronef considéré qui doit être sur fond bleu pour indiquer que l'aéronef est en l'air.&lt;br /&gt;
&lt;br /&gt;
==Saisie d'un vol==&lt;br /&gt;
*Aller dans '''Vols &amp;gt; Saisir un vol''', remplir le formulaire&lt;br /&gt;
*La saisie d'un vol d'une durée inférieure à 15 minutes déclenchera l'affichage d'un message d'avertissement (en orange). Cliquer sur '''Confirmer la validation''' au dessous de ce message pour saisir définitivement le vol.&lt;br /&gt;
*Après la saisie d'un vol, l'utilisateur est renvoyé sur :&lt;br /&gt;
**Le planning lors d'un vol en ouverture&lt;br /&gt;
**Le formulaire de saisie d'un vol lors d'un nouveau vol en fermeture et que le terrain d'arrivée saisie est différent du terrain par défaut de la structure&lt;br /&gt;
**Dans les autres cas, l'[[Documentation utilisateur#Extrait_de_compte|extrait de compte]] de la personne en première place. Si plusieurs comptes sont impactés, c'est le premier compte impacté de la personne qui est choisi.&lt;br /&gt;
**Si l'utilisateur connecté n'a pas le droit de visualiser le compte concerné, alors c'est le carnet de route qui est affiché.&lt;br /&gt;
&lt;br /&gt;
===Forcer la saisie d'une durée de vol incompatible avec sa formule de calcul===&lt;br /&gt;
Un gestionnaire peut forcer la saisie d'un [[#La_différence_entre_le_temps_de_vol_calculé_et_le_temps_de_vol_saisi_est_de_:_X:XX_heure(s)|temps de vol incompatible avec la formule de calcul]] associée au type d'aéronef pour lequel on souhaite saisir un vol.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il doit :&lt;br /&gt;
*Saisir le vol en modification le compteur arrivé de sorte à obtenir le temps de vol souhaité.&lt;br /&gt;
*[[Gestion des ressources#Changer_la_valeur_du_compteur_en_cours|Changer la valeur du compteur en cours]] de l'aéronef.&lt;br /&gt;
&lt;br /&gt;
Dans le cas où plusieurs vols successifs doivent être saisis, il est alors judicieux de ne mettre à jour le compteur de l'aéronef qu'une que tous les vols ont été saisis.&lt;br /&gt;
&lt;br /&gt;
=Comptabilité=&lt;br /&gt;
&lt;br /&gt;
==Alertes générées lors de la [[Utilisation de la comptabilité#Saisie_d'écritures_comptables|saisie d'écritures comptables]]==&lt;br /&gt;
&lt;br /&gt;
===Les comptes n'ont pas la même comptabilité===&lt;br /&gt;
Cette alerte apparait lors d'une [[Comptabilité#Comptabilités_multiples|comptabilité multiple]] : Le compte débité et le compte crédité doivent être issues de la même comptabilité.&lt;br /&gt;
&lt;br /&gt;
==Créditer son compte utilisateur==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Approvisionner'''&lt;br /&gt;
*Si vous disposez de droit de gestion comptable, choisir dans le champ '''Encaissement de l'utilisateur''' le nom de l'utilisateur concerné&lt;br /&gt;
*Si vous disposez de plusieurs comptes sur lesquels vous pouvez choisir où ventiler votre encaissement, choisir dans le champ '''Compte à créditer''' le nom du compte concerné&lt;br /&gt;
*Dans le champ '''Type de règlement''', sélectionner le type de règlement&lt;br /&gt;
*Si vous effectuez un paiement avec une remise à une personne physique, vous devez préciser le nom de cette personne dans le champ '''Personne qui reçoit'''&lt;br /&gt;
*Dans le champ, montant indiquer le montant de votre paiement.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
Dans le cas où le type de paiement est un paiement par carte bancaire en ligne mis en place par votre structure, alors êtes redirigé sur le terminal de paiement électronique de la banque de votre structure. Il vous faut alors saisir les informations de votre carte bancaire. Il est possible que le terminal de paiement électronique supporte le &amp;quot;[[Wikipedia-fr:3-D_Secure|3-D Secure]]&amp;quot; qui implique un contrôle renforcé. Dans ce cas, c'est votre propre banque qui vous demandera des informations complémentaires pour confirmer que c'est bien vous qui êtes à l'origine de la demande de paiement par carte bancaire.&lt;br /&gt;
&lt;br /&gt;
==Extrait de compte==&lt;br /&gt;
'''OpenFlyers''' offre la possibilité à un utilisateur de consulter des extraits de compte : C'est un rapport permettant de visualiser le détail des écritures comptables effectuées sur une période (une année complète ou un mois d'une année) d'un compte ou de tous les comptes d'une comptabilité donnée. Si la gestion des budgets est activée, il est possible de filtrer l'affichage des écritures selon les budgets.&lt;br /&gt;
&lt;br /&gt;
Dès qu'il y a plus de 50 écritures à afficher pour un extrait de compte, la liste des écritures est paginée pour afficher 50 écritures par page.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est validée, les montants au débit et au crédit sont affichés en noir gras.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est non validée, les montants au débit et au crédit sont affichés en vert gras. En fonction du [[Gestion des profils|profil et de ses droits]], une colonne '''Actions''' peut apparaître avec des icônes pour permettre de modifier ou supprimer une écriture non validée selon [[Gestion-des-écritures-comptables#Types-d'écritures-comptable-générées-par-OpenFlyers|le type d'écriture comptable qui est générée]].&lt;br /&gt;
&lt;br /&gt;
===Colonne &amp;quot;Numéro de pointage ou de facture&amp;quot;===&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_fournisseur|facture fournisseur]], la colonne affiche le numéro de pointage.&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_client|facture client]] et que l'utilisateur dispose du [[Gestion des profils#Gestion_des_comptes|droit de '''Gestion des comptes''']] ou que la facture à afficher lui est destinée :&lt;br /&gt;
**Pour une écriture non-validée, la colonne affiche les icônes [[Fichier:IconHTML.png]] qui amènent aux factures pro-format associées.&lt;br /&gt;
**Pour une écriture validée, la colonne affiche les icônes [[Fichier:IconPDF.png]] qui amène aux factures PDF associées.&lt;br /&gt;
*:Dans le cas contraire, ce sont les numéros des factures qui sont affichés à la place des icônes.&lt;br /&gt;
&lt;br /&gt;
La colonne affiche &amp;quot;--&amp;quot; lorsqu'il s'agit d'une écriture :&lt;br /&gt;
* D'[[Écritures comptables#Saisie_d'un_encaissement_(d'un_client)|encaissement client]].&lt;br /&gt;
* De [[Écritures comptables#Les_4_grands_types_d'écritures|flux]].&lt;br /&gt;
* De [[Écritures comptables#Saisie_d'une_facture_client|facture client]] n'ayant pas de facture associée.&lt;br /&gt;
&lt;br /&gt;
==Imprimer un extrait de compte==&lt;br /&gt;
*Afficher l'extrait de compte souhaité&lt;br /&gt;
*[[Trucs et astuces#Imprimer_avec_un_navigateur|Imprimer avec la commande du navigateur]]&lt;br /&gt;
&lt;br /&gt;
==Transférer de l'argent==&lt;br /&gt;
Selon les droits accordés aux utilisateurs par la structure, il peut être possible d'effectuer un transfert d'argent depuis son compte vers le compte d'un autre utilisateur en suivant la procédure suivante :&lt;br /&gt;
*Aller sur '''Comptes &amp;gt;Transférer'''&lt;br /&gt;
*Dans le champ '''Compte à créditer''' choisir le nom de la personne concernée&lt;br /&gt;
*Dans le champ '''Montant''', saisir le montant que l'on souhaite transférer&lt;br /&gt;
*Remplir éventuellement le champ '''Commentaires'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' : '''Attention''' cette opération est irrévocable et une fois que vous aurez validé, il ne sera pas possible de supprimer le virement. Si vous souhaitez faire annuler l'opération, il faudra contacter la personne recevant l'argent pour qu'elle fasse à son tour un transfert sur votre compte.&lt;br /&gt;
&lt;br /&gt;
=E-mails automatiques=&lt;br /&gt;
==Alertes par e-mail uniquement sur les plateformes de production==&lt;br /&gt;
Les [[Configuration de la comptabilité#Paramétrage_général_des_comptabilités|e-mails d'alertes de solde]] ou de [[#E-mail-de-rappel-de-réservation|rappel des réservations]] ne sont pas envoyés sur les plateformes qui ne sont pas en production afin de ne pas polluer les messageries des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Les différentes notifications d'e-mail de réservation sont paramétrables du côté de [[#Affichage-et-fiche-personnelle|la fiche utilisateur]].&lt;br /&gt;
&lt;br /&gt;
==E-mail d'annulation de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une annulation de réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une annulation de réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est le même que pour l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]].&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Notification d'annulation de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est annulée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les annulations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails d'annulation en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-annulées&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de mise en maintenance==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une mise en maintenance sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une mise en maintenance sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** la ressource mise en maintenance&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de maintenance si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération de maintenance&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
La mise en maintenance pour le type-de-ressource F-ABCD du 01/04/2015 à 08:00 au 01/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Remplacement roue est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de notification de réservation==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot;Confirmation d'une nouvelle réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration. Confirmation d'une nouvelle réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Notification de création de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** le type de ressource et la ressource réservés&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en seconde place si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération sur la réservation&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-par-e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ceci est une notification de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Rappel d'une réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Rappel d'une réservation sur OpenFlyers sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du corps de l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]] où les dates sont sous le format &amp;quot;JJ/MM/AAAA/MM à HHhMM&amp;quot; et sous le fuseau horaire de l'utilisateur recevant l'e-mail&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail :&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 2015/04/01 à 08h00 au 2015/04/01 à 09h00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pièce jointe de synchronisation des réservations avec un calendrier==&lt;br /&gt;
Sur les plateformes où l'option est activée, tout email de réservation (création, modification et suppression) contient, en pièce jointe, un fichier de synchronisation. Ce fichier permet d'ajouter, modifier ou supprimer la réservation dans une application de gestion de calendrier selon l'opération effectuée sur OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Le fichier, envoyé au format '''ics''', peut être ouvert avec des applications comme '''Microsoft Outlook''', '''Google Calendar''' ou '''iCalendar''' par exemple. Lors de son ouverture, le calendrier sera mis à jour.&lt;br /&gt;
&lt;br /&gt;
Plusieurs informations de la réservation sont attachées à ce fichier :&lt;br /&gt;
*La date et heure de début&lt;br /&gt;
*La date et heure de fin&lt;br /&gt;
*Le lieu (le terrain de départ s'il est renseigné lors de la création de la réservation)&lt;br /&gt;
*La ressource et le nom de la personne en place gauche, constituant le '''nom du fichier'''&lt;br /&gt;
&lt;br /&gt;
Ces différentes informations permettent de définir l'événement dans le calendrier. Ainsi, les dates de début et de fin, le lieu, le nom de la personne et la ressource seront affichés dans l'application de gestion de calendrier.&lt;br /&gt;
&lt;br /&gt;
=Ergonomie=&lt;br /&gt;
==Optimiser la navigation dans OpenFlyers==&lt;br /&gt;
&lt;br /&gt;
===Navigation par onglet===&lt;br /&gt;
Afin d'avoir à disposition les différentes pages dont vous avez besoin pour effectuer une action, il est possible d'afficher chacune d'entre elles dans un [[Wikipedia-fr:Onglet_%28informatique%29|onglet]] du navigateur.&lt;br /&gt;
Lorsque vous effectuez un clic gauche sur un lien situé dans une page donnée pour accéder à une autre page, la page initiale est remplacée par la page de destination. Ce qui rend fastidieux la réalisation des tâches nécessitant un accès répétitif à certaines pages.&lt;br /&gt;
&lt;br /&gt;
===Clic droit et clic molette===&lt;br /&gt;
Afin de gagner en efficacité et en confort d'utilisation, pensez à utiliser les autres boutons de la souris qui vous permettent d'ouvrir une page dans un '''nouvel onglet'''. Pour cela il existe deux méthodes lorsqu'on survole un lien dans un navigateur Internet pour ouvrir la page de destination dans un nouvel onglet :&lt;br /&gt;
*'''Le clic droit :''' il permet d'afficher un menu contextuel qui contient une action nommée « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
*'''Le clic molette :''' il est encore plus efficace que le clic droit, car il correspond directement à l'action « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
&lt;br /&gt;
Normalement le clic molette est configuré pour cette action. Dans le cas contraire, il faut [[Trucs et astuces#Modifier_le_comportement_la_souris|en modifier le comportement]].&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-1.png]]&lt;br /&gt;
&lt;br /&gt;
L'exemple suivant explique comment modifier successivement les validités de plusieurs utilisateurs :&lt;br /&gt;
*Dans un premier onglet, ouvrir le tableau présentant la liste des utilisateurs.&lt;br /&gt;
[[Fichier:OF3.5-clics-2.png]]&lt;br /&gt;
*Effectuer un '''clic droit''' ou '''clic molette''' sur le pictogramme des validités pour déplier un second onglet.&lt;br /&gt;
[[Fichier:OF3.5-clics-3.png]]&lt;br /&gt;
*Effectuer et enregistrer les modifications dans le second onglet, présentant les validités d'un utilisateur.&lt;br /&gt;
[[Fichier:OF3.5-clics-4.jpg]]&lt;br /&gt;
*Replier le second onglet en cliquant sur la croix ou en pressant '''CTRL + W'''.&lt;br /&gt;
[[Fichier:OF3.5-clics-5.png]]&lt;br /&gt;
*Retour au premier onglet, présentant la liste des utilisateurs. Répéter les opérations du 2 au 4 pour les autres utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
Il est possible de naviguer rapidement d'un onglet à l'autre sans utiliser la souris en utilisant simplement les raccourcis clavier : '''CTRL + TAB''' pour avancer d'un onglet ou '''CTRL + SHIFT + TAB''' pour reculer d'un onglet.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-6.png]]&lt;br /&gt;
&lt;br /&gt;
=Fiche utilisateur (Données)=&lt;br /&gt;
==Affichage et fiche personnelle==&lt;br /&gt;
===Affichage du menu contextuel===&lt;br /&gt;
Le menu contextuel et un menu déroulant qui apparait lors du survol d'une réservation ou d'un vol ouvert. Ce menu contextuel peut apparaitre :&lt;br /&gt;
*soit automatiquement&lt;br /&gt;
*soit par un clic droit de la souris&lt;br /&gt;
Ce paramétrage est personnalisable pour chaque utilisateur :&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Cocher ou décocher '''N'afficher la description des réservations qu'avec le bouton droit de la souris''' selon le comportement souhaité&lt;br /&gt;
*Cliquer sur le bouton '''Sauver''' tout en bas du formulaire&lt;br /&gt;
&lt;br /&gt;
===Choisir l'unité de temps===&lt;br /&gt;
Chaque utilisateur peut choisir l'unité de temps qui sert à afficher les heures.&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Choisir dans le champ '''Unité de temps''' parmi :&lt;br /&gt;
**heures minutes&lt;br /&gt;
**heures centièmes&lt;br /&gt;
**heures dixièmes&lt;br /&gt;
*Appuyer sur le bouton '''Sauver'''.&lt;br /&gt;
&lt;br /&gt;
===Etre informé des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]] par email===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par email des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
===Editer sa photo===&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
* L'import ou la suppression d'une photo requiert le droit [[Gestion-des-profils#Généralités|Editer sa photo]]. Ce droit n'est pas nécessaire pour rendre sa photo visible pour tous&lt;br /&gt;
&lt;br /&gt;
===Notification de la maintenance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_mise_en_maintenance|e-mail des réservations de maintenance]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_notification_de_réservation|e-mail des réservations créées ou modifiées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations annulées===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_d'annulation_de_réservation|e-mail des réservations annulées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Rappel des réservations de 2 jours d'avance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin de recevoir ou non par [[#E-mail_de_rappel_de_réservation|e-mail un rappel de réservation]].&lt;br /&gt;
&lt;br /&gt;
Les rappels sont envoyés entre 0h et 6h au fuseau Europe/Paris pour les réservations ayant une ressource d'assignée et débutant entre 2 et 3 jours après.&lt;br /&gt;
&lt;br /&gt;
Les [[#Alertes_par_e-mail_uniquement_sur_les_plateformes_de_production|rappels ne sont effectifs que sur les plateformes en production]].&lt;br /&gt;
&lt;br /&gt;
===Recevoir un e-mail pour toute réservation===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
Lorsque l'utilisateur dispose d'un profil avec le droit [[Gestion des profils#Réservation|Alertable par e-mail pour toute réservation]], apparait une case à cocher '''Recevoir un e-mail pour toute réservation'''.&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par e-mail lorsqu'une nouvelle réservation est créée par n'importe quel utilisateur.&lt;br /&gt;
&lt;br /&gt;
==[[Champs additionnels]]==&lt;br /&gt;
En plus des champs habituels, des [[Champs-additionnels|champs additionnels]] spécifiques à la structure peuvent apparaître dans la fiche personnelle. &lt;br /&gt;
&lt;br /&gt;
Ils sont affichés [[Gestion-des-profils#Champ-additionnel-du-formulaire-utilisateur-visible-par-le-profil|si les droits sont attribués par l'administrateur]] et permettent d'activer des fonctionnalités supplémentaires.&lt;br /&gt;
&lt;br /&gt;
==(In)disponibilités==&lt;br /&gt;
Lorsque vous êtes intervenant (formateur, instructeur, moniteur, mécanicien, etc.), vous pouvez gérer vos disponibilités en allant dans '''Données &amp;gt; (in)disponibilités'''&lt;br /&gt;
&lt;br /&gt;
Il existe deux types de disponibilités :&lt;br /&gt;
:Les disponibilités régulières qui reviennent chaque semaine, par exemple : le lundi de 9h00 à 18h00.&lt;br /&gt;
:Les disponibilités exceptionnelles (ou les indisponibilités exceptionnelles) sont ponctuelles : présent (ou absent) le 1er décembre de 8h00 à 12h00.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez cumuler ces modes pour avoir une flexibilité maximum. &lt;br /&gt;
&lt;br /&gt;
:Exemple :&lt;br /&gt;
::- disponible du Lundi 8 h 00 au Mercredi 19 h 00 en permanent&lt;br /&gt;
::- disponible du Vendredi 8 h 00 au Samedi 19 h 00 en permanent&lt;br /&gt;
::- Absent du 15 Juillet au 30 Juillet pour raison de congé&lt;br /&gt;
:Attention à ne pas créer des incohérences.&lt;br /&gt;
&lt;br /&gt;
De même, si vous faites une pause déjeuner, il faut créer des disponibilités par demi-journées pour chaque jour concerné, en présence régulière en créant une disponibilité tous les jours de 9h à 12h et une disponibilité tous les jours de 14h à 18h (par ex.).&lt;br /&gt;
&lt;br /&gt;
Il est possible de créer une disponibilité permanente : Pour cela, créez une disponibilité régulière sur le même jour, avec une heure de début et de fin identique. Par exemple, disponible du &amp;quot;Lundi 0h00 au Lundi 0h00&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
En cas de problème, affichez la liste des disponibilités et supprimez tous les créneaux puis reconstruisez les disponibilités.&lt;br /&gt;
&lt;br /&gt;
==Réinitialiser son mot de passe==&lt;br /&gt;
Attention, lorsqu'un mot de passe est perdu vous n'avez que trois tentatives possibles pour le retrouver. A la 4ème tentative un compteur exponentiel s'active pour éviter les robots créés par les pirates de tenter d'accéder aux plateformes par des [[Wikipedia-fr:Attaque_par_force_brute|attaques par force brute]].&lt;br /&gt;
&lt;br /&gt;
Par contre, vous pouvez ré-initialiser votre mot de passe depuis la page d'accueil de votre plateforme OpenFlyers :&lt;br /&gt;
*Cliquez sur le lien '''Mot de passe oublié ?'''&lt;br /&gt;
*Dans le formulaire '''Demande de réinitialisation du mot de passe''', remplissez le champ '''Identifiant''' avec votre nom d'utilisateur utilisé pour la connexion sur l'application OpenFlyers&lt;br /&gt;
*Cliquez sur le bouton '''Enregistrer'''&lt;br /&gt;
*Si le nom d'utilisateur est présent en base de données, alors le message suivant doit s'afficher :&lt;br /&gt;
'''Merci, un e-mail a été envoyé à l'adresse du compte nom-utilisateur. Cliquez sur le lien dans l'email afin de poursuivre la réinitialisation du mot de passe.'''&lt;br /&gt;
*Récupérez l'e-mail dans votre messagerie, il s'intitule :&lt;br /&gt;
'''[nom-de-la-plateforme] Demande de réinitialisation du mot de passe à XXhXX (UTC)'''&lt;br /&gt;
et contient les éléments suivants :&lt;br /&gt;
&amp;lt;pre&amp;gt;Jean DUPONT,&lt;br /&gt;
&lt;br /&gt;
Une demande de réinitialisation de mot de passe a été effectué.&lt;br /&gt;
Pour poursuivre l'opération, cliquez ici.&lt;br /&gt;
Si vous n'avez pas fait la demande, veuillez ignorer l'email.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez également saisir ou copier le lien suivant dans votre navigateur internet afin d'accéder à la page de réinitilisalisation de mot de passe :&lt;br /&gt;
http://openflyers.com/nom-de-la-plateforme/index.php?menuAction=password_reset&amp;amp;token=154551560257977557617df&lt;br /&gt;
&lt;br /&gt;
L'équipe OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' L'email est valide uniquement pendant '''une heure''' après la demande de réinitialisation de mot de passe. Passé ce délai, le lien indiqué dans l'email ne sera plus valide. Il sera donc nécessaire de refaire une '''nouvelle demande''' de réinitialisation de mot de passe.&lt;br /&gt;
&lt;br /&gt;
*Cliquez sur la partie du texte correspondant au lien coloré ou copiez dans votre navigateur internet lien contenu à la fin de l'e-mail pour retourner sur la page de réinitialisation de mot de passe&lt;br /&gt;
*Dans le 2ème formulaire intitulé '''Réinitialisation du mot de passe''', renseignez les champs :&lt;br /&gt;
**'''Réinitialisation du mot de passe''' avec votre nouveau mot de passe&lt;br /&gt;
**'''Répétition du mot de passe''' avec la confirmation de votre nouveau mot de passe&lt;br /&gt;
*Cliquez sur le bouton '''Réinitialiser'''&lt;br /&gt;
&lt;br /&gt;
Après avoir réinitialisé votre mot de passe, l'application vous connecte automatiquement en vous redirigeant sur la page du planning.&lt;br /&gt;
&lt;br /&gt;
=Planning=&lt;br /&gt;
==Codes couleurs==&lt;br /&gt;
[[Fichier:Codes couleurs.png]]&lt;br /&gt;
&lt;br /&gt;
==Éphémérides==&lt;br /&gt;
Nous calculons les éphémérides d'après les définitions officielles.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les heures de lever et de coucher du soleil correspondent au passage du centre du soleil sous l'horizon, c'est à dire lorsque le centre du soleil est situé 3 degrés sous l'horizon. En effet, il est considéré, en première approximation que le soleil a un diamètre apparent de 6 degrés.&lt;br /&gt;
&lt;br /&gt;
Les heures du jour et de la nuit aéronautique correspondent au passage du soleil 6 degrés sous l'horizon. Il s'agit de la définition officielle, aussi bien française, qu'internationale (OACI). Notre formule de calcul est validée pour les latitudes inférieures à 65 degrés. Sa précision est de l'ordre de la minute sous des latitudes inférieures à 50 degrés. La précision diminue au fur et à mesure que la latitude augmente, c'est à dire que l'on se rapproche des pôles.&lt;br /&gt;
&lt;br /&gt;
Conséquence du calcul : les résultats trouvés ne correspondent pas à la simple addition de + ou - 30 minutes. Mais il n'a jamais été écrit dans un texte officiel que la journée aéronautique commençait au lever du soleil moins trente minutes, et que la nuit aéronautique commençait au coucher du soleil plus trente minutes. Dans la règlementation française, il est admis d'utiliser + ou - 30 minutes pour faire les calculs sous des latitudes comprises entre 30 et 60 degrés et 15 minutes sous les latitudes inférieures à 30 degrés). Pour l'Europe, voir le [http://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32012R0923&amp;amp;from=EN Règlement n°923/2012 concernant les Standardised European Rules of the Air) - Article 2 - Définition 97]. Pour la France voir la [http://www.developpement-durable.gouv.fr/IMG/pdf/SERA_RCA_consolide.pdf version consolidée des règles de l'air, définition de la &amp;quot;Nuit&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
Mises en garde :&lt;br /&gt;
*Le programme calcule les heures à partir des coordonnées géographiques de l'aérodrome indiqué comme étant la base aéronautique de la plateforme OpenFlyers considérée. Si les heures sont erronées, il faut contacter l'administrateur OpenFlyers de la plateforme afin qu'il vérifie le code OACI renseigné pour la plateforme.&lt;br /&gt;
*Certains pays n'utilisent pas la nuit aéronautique et ne permettent pas le vol en dehors du lever et du coucher du soleil. D'autres pays utilisent d'autres types de définition pour déterminer si le vol est de jour ou de nuit comme notamment une référence à la luminosité réelle mesurée.&lt;br /&gt;
&lt;br /&gt;
Remarque :&lt;br /&gt;
*Si l'utilisateur ne souhaite pas utiliser la définition réelle mais une approximation, comme le fait d'ajouter ou retrancher 30 minutes, il suffit d'effectuer l'opération de calcul à partir des heures de lever ou de coucher du soleil.&lt;br /&gt;
&lt;br /&gt;
=Rapports=&lt;br /&gt;
Tous les rapports sont regroupés sur une même page qui est accessible depuis '''Données &amp;gt; Rapports''' ou côté admin '''Rapports &amp;gt; Structure &amp;gt; Visualiser''' (si on dispose d'un droit spécifique).&lt;br /&gt;
&lt;br /&gt;
Cette page est constituée de 2 parties :&lt;br /&gt;
*Une liste de champs dans le formulaire général&lt;br /&gt;
*Une liste de rapports&lt;br /&gt;
&lt;br /&gt;
Les données qui doivent être saisies dans les champs du formulaire général varient en fonction des rapports.&lt;br /&gt;
&lt;br /&gt;
Les données prises en compte dans les rapports sont affichés dans le titre du rapport au-dessus du tableau de résultat.&lt;br /&gt;
&lt;br /&gt;
Aussi, si on constate que malgré le fait d'avoir préciser une valeur, celle-ci semble ignorer par le rapport, il faut vérifier si cette donnée apparait dans la liste données prises en compte. Si c'est le cas, alors il y a potentiellement un bug. Si ce n'est pas le cas, alors c'est &amp;quot;normal&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
La version 4 d'OpenFlyers proposera une interface différente où on choisira d'abord son rapport et ensuite les données pour les seules variables prises seront demandées.&lt;br /&gt;
&lt;br /&gt;
=Réservations=&lt;br /&gt;
==Immobiliser une ressource==&lt;br /&gt;
Les utilisateurs disposant du droit '''[[Gestion des profils#Réservation|Gestion des disponibilités des ressources]]''' peuvent rendre une ressource indisponible pour un créneau horaire donné. Cela permet d'indiquer aux autres utilisateurs que la ressource considérée n'est pas disponible.&lt;br /&gt;
&lt;br /&gt;
Il n'est pas possible d'avoir plus d'un créneau d'immobilisation sur une même ressource et la même période.&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des validités|Validités]]=&lt;br /&gt;
Un utilisateur peut [[Gestion des profils#Type_de_validité_que_l'utilisateur_peut_gérer|gérer uniquement les validités définies comme telles pour son profil]] en allant dans '''Données &amp;gt; Validités'''.&lt;br /&gt;
&lt;br /&gt;
De plus :&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à ajouter une nouvelle validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à renouveler une validité détenue ou à mettre à jour le '''Code identifiant''', la '''Date d'obtention''', la '''Limite de validité''' (d'une validité non achetable) ou à supprimer une validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]] ou le droit [[Gestion des profils#Généralités|Gestion de ses validités détenues]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à acheter ou renouveler une validité-produit, il doit détenir le droit [[Gestion des profils#Gestionnaire_des_ventes|Achat ventes libres]] et le produit associé à la validité doit être en vente libre.&lt;br /&gt;
&lt;br /&gt;
Pour renouveler une validité détenue, il faut cliquer sur l'icône [[Fichier:Refresh.png]] qui apparaît dans la colonne '''Limite de validité'''.&lt;br /&gt;
&lt;br /&gt;
Remarques :&lt;br /&gt;
*Les validités arrivées à échéance apparaissent sur fond rouge.&lt;br /&gt;
*La mise à jour de la date d'échéance d'une validité réactive automatiquement la cellule de la colonne [[#Données_&amp;gt;_Validités_&amp;gt;_Alertes_?|Alertes ?]].&lt;br /&gt;
*Une validité-produit déjà détenue ne peut pas être supprimée.&lt;br /&gt;
&lt;br /&gt;
==Données &amp;gt; Validités &amp;gt; Alertes ?==&lt;br /&gt;
La colonne '''Alertes ?''' permet à un utilisateur d'activer ou désactiver les rappels à la connexion de ses validités arrivant à expiration ou ayant expirées.&lt;br /&gt;
&lt;br /&gt;
Le champ '''Délai de prévenance en semaines avant chaque échéance''' permet de définir le délai de rappel des validités arrivant à expiration.&lt;br /&gt;
&lt;br /&gt;
==Alertes sur les validités==&lt;br /&gt;
===Alerte à la connexion===&lt;br /&gt;
Les validités contrôlées à la connexion sont uniquement :&lt;br /&gt;
*celles possédées par l'utilisateur qui se connecte et qui sont soumises à échéance&lt;br /&gt;
*les validités à expérience récente.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les validités sans échéance ne sont pas contrôlées.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers affiche un message d'alerte pour les validités dont la date d'échéance est expirée ou va expirer dans un délai inférieur à la période d'alerte définie dans la fiche utilisateur.&lt;br /&gt;
&lt;br /&gt;
L'utilisateur a la possibilité de cliquer sur la case à cocher &amp;quot;Ne plus le rappeler&amp;quot; afin de ne plus avoir de message de rappel. Dans ce cas, lors des connexions ultérieures, il n'aura plus de message de rappel. Il peut cependant réactiver cette alerte en la réactivant dans la colonne &amp;quot;Alertes&amp;quot; de la ligne correspondante dans '''Données &amp;gt; Validités'''. Cette réactivation est automatique lors d'une modification de la validité.&lt;br /&gt;
&lt;br /&gt;
===Alertes lors d'une réservation ou une saisie de vol===&lt;br /&gt;
Les validités périmées apparaissent systématiquement lors de la saisie d'une réservation ou d'un vol comme à la connexion. Leur affichage ne dépend pas du type de ressource. C'est juste un rappel.&lt;br /&gt;
&lt;br /&gt;
Ce rappel est notamment utile lorsqu'une personne effectue une réservation ou une saisie de vol pour le compte d'un tiers. Cela lui permet d'être informé et d'informer ce tiers de sa situation.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15262</id>
		<title>Documentation utilisateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15262"/>
				<updated>2017-07-27T07:23:01Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Rappel des réservations de la journée par email */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de regrouper les informations utiles pour l'ensemble des utilisateurs finaux d'[[Accueil|OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
=Accès à OpenFlyers=&lt;br /&gt;
==Accéder à une plateforme==&lt;br /&gt;
Pour accéder à une plateforme OpenFlyers, il faut entrer son URL dans un navigateur web.&lt;br /&gt;
&lt;br /&gt;
L'URL est ''http://openflyers.com/plateforme/'', où &amp;quot;plateforme&amp;quot; doit être remplacé par le vrai nom de la plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
==Impossible de se connecter à la plateforme OpenFlyers de sa structure==&lt;br /&gt;
Si vous n'arrivez pas à accéder une plateforme OpenFlyers il faut en rechercher la raison. Voici un certain nombre de questions qui peuvent vous permettre de solutionner votre problème :&lt;br /&gt;
*Accédez-vous à la page d'identification de la plateforme OpenFlyers ?&lt;br /&gt;
**Si non, alors il faut regarder la FAQ [[#Page_indisponible|Page indisponible]]&lt;br /&gt;
*Lorsque vous vous identifiez, avez-vous un message de rejet indiquant que votre identifiant et/ou votre mot de passe ne sont pas corrects ?&lt;br /&gt;
**Si oui, alors le problème peut venir du mot de passe qui a changé. Dans ce cas là, vous pouvez ré-initialiser votre mot de passe en suivant la procédure [[#Réinitialiser-son-mot-de-passe|de réinitialisation de mot de passe]]. Cela peut également venir de votre identifiant qui n'est pas bon. Dans ce cas, il faut demander à la personne en charge de la gestion d'OpenFlyers au sein de votre structure aéronautique&lt;br /&gt;
*Une fois connecté, revenez-vous sur la page d'identification lorsque vous changez de page ?&lt;br /&gt;
**Si oui, alors il faut regarder la [[FAQ-utilisateur#Navigation-dans-OpenFlyers|procédure de gestion des cookies du navigateur]].&lt;br /&gt;
Si vous n'êtes dans aucun des cas répertoriés ci-dessus, alors vous pouvez rapporter votre problème en nous envoyant un e-mail et en décrivant le plus précisément possible le problème que vous rencontrez :&lt;br /&gt;
*Navigateur utilisé&lt;br /&gt;
*Système d'exploitation&lt;br /&gt;
*type de PC, smartphone ou tablette&lt;br /&gt;
*Nom du fournisseur d'accès internet&lt;br /&gt;
*Actions effectuées&lt;br /&gt;
*Message d'erreur s'affichant&lt;br /&gt;
&lt;br /&gt;
==Message d'alerte adresse IP bloquée==&lt;br /&gt;
&lt;br /&gt;
Un message d'alerte signalant que '''l'adresse IP est bloquée''' peut apparaître lorsque vous souhaitez vous connecter. Ce message apparaît lorsque vous avez tenté de vous connecter à plusieurs reprises mais que le couple identifiant / mot de passe est incorrect.&lt;br /&gt;
&lt;br /&gt;
Après avoir attendu le temps indiqué par le message d'alerte, vous pouvez tenter de vous reconnecter en faisant attention [[Wikipedia-fr:Sensibilit%C3%A9_%C3%A0_la_casse|à la casse]].&lt;br /&gt;
&lt;br /&gt;
==Page indisponible==&lt;br /&gt;
Si vous n'arrivez pas à accéder à la plateforme OpenFlyers de votre structure, voici une liste d'actions à effectuer :&lt;br /&gt;
*Redémarrer votre ordinateur&lt;br /&gt;
*Redémarrer la &amp;quot;box&amp;quot; ADSL&lt;br /&gt;
*Si cela ne fonctionne toujours pas, il faut [[#Tester_les_résolutions_DNS|tester les résolutions DNS]].&lt;br /&gt;
&lt;br /&gt;
===Tester les résolutions DNS===&lt;br /&gt;
Pour effectuer les tests suivants, il faut ouvrir une fenêtre &amp;quot;[[#Ouvrir_une_fenêtre_en_ligne_de_commande|en ligne de commandes]]&amp;quot;. En cas de problème, il faut nous rapporter les résultats en ouvrant un rapport de bug sur le [http://bts.openflyers.org BTS]. Pour cela, il est pratique de procéder par [[#Copier/Coller_dans_une_fenêtre_en_ligne_de_commande|copier/coller]].&lt;br /&gt;
*Dans la fenêtre en ligne de commande taper ce qui suit (en remplaçant '''structure''' par le sous-domaine correspondant à votre structure) :&lt;br /&gt;
&amp;lt;bash&amp;gt;ping structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
La réponse normale est pour OpenFlyers 3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of3.openflyers.net [87.98.143.237] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.143.237 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of3.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.143.237&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 2.1 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur8-of21.openflyers.net [87.98.145.26] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.145.26 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur8-of21.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.145.26&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 1.3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of1.openflyers.net [178.33.105.217] avec 32 octets de données :&lt;br /&gt;
 Réponse de 178.33.105.217 : octets=32 temps=41 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of1.openflyers.net&amp;quot; ou &amp;quot;Réponse de 178.33.105.217&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
====Tests plus poussés====&lt;br /&gt;
*Faire un :&lt;br /&gt;
&amp;lt;bash&amp;gt;nslookup structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Et un :&lt;br /&gt;
&amp;lt;bash&amp;gt;tracert structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Faire le test avec '''dig +trace''' :&lt;br /&gt;
&amp;lt;bash&amp;gt;dig +trace structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
Sous Windows, il faudra au préalable récupérer l'utilitaire (par exemple dans un package [http://www.isc.org./downloads bind]). Une fois télécharger le package, il faut copier/coller le programme dig ainsi que les fichiers .dll dans un répertoire commun et se positionner dans ce répertoire depuis la fenêtre en ligne de commandes avec la commande dir '''&amp;quot;nom du chemin du répertoire&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
====Tester les résolutions DNS sous Mac====&lt;br /&gt;
De plus, nous disposons de commandes plus puissantes qui permettent d'avoir d'avantage d'informations :&lt;br /&gt;
*cat /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
===Vérifier la configuration de résolution des DNS===&lt;br /&gt;
====Vérifier la configuration de résolution des DNS sous Windows====&lt;br /&gt;
Si vous avez un problème de résolution DNS sous windows, il peut être utile de vérifier que la résolution DNS est dynamique :&lt;br /&gt;
#Double-cliquer sur la connexion réseau concernée (par exemple le symbole &amp;quot;WIFI&amp;quot;)&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot; dans l'onglet &amp;quot;Général&amp;quot; de l'&amp;quot;Etat de Connexion réseau sans fil&amp;quot; (si WIFI))&lt;br /&gt;
#Sélectionner &amp;quot;Protocole internet TCP/IP&amp;quot;&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot;&lt;br /&gt;
#Vérifier qu'est sélectionné &amp;quot;Obtenir les adresses des serveurs DNS automatiquement&amp;quot;. (si ce n'est pas le cas, modifier).&lt;br /&gt;
#En dernier ressort, [[#Changer de serveur DNS|Changer de serveur DNS]] ou [[#Forcer_les_DNS|Forcer les DNS]].&lt;br /&gt;
&lt;br /&gt;
===Nous communiquer les adresses IP des serveurs DNS===&lt;br /&gt;
====Nous communiquer les adresses IP des serveurs DNS sous Windows====&lt;br /&gt;
#[[#Ouvrir_une_fenêtre_en_ligne_de_commande|Ouvrir une fenêtre en ligne de commande]]&lt;br /&gt;
#Taper : '''ipconfig /all'''&lt;br /&gt;
Les adresses IP des serveurs DNS se trouvent au droit de '''Serveurs DNS'''&lt;br /&gt;
&lt;br /&gt;
===Changer de serveur DNS===&lt;br /&gt;
Si vous rencontrez un problème de résolution de DNS avec votre fournisseur d'accès, vous pouvez changer les serveurs qui effectue la résolution des DNS pour votre accès.&lt;br /&gt;
====Changer de serveur DNS sous Mac====&lt;br /&gt;
*Dans '''Préférences Systèmes''', choisir '''Réseau''', puis une fois la bonne carte réseau sélectionnée, appuyer sur Avancé.&lt;br /&gt;
*Dans la fenêtre qui apparaît, aller sur l'onglet '''DNS''' et dans '''Serveurs DNS''' appuyer sur le + pour ajouter '''8.8.8.8''' et une autre fois pour ajouter '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Il ne reste plus qu'à '''Appliquer''' et à tester.&lt;br /&gt;
&lt;br /&gt;
====Changer de serveur DNS sous Windows XP====&lt;br /&gt;
*'''Démarrer &amp;gt; Connexions''' puis cliquer sur la connexion réseau active (par exemple la connexion WIFI)&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*Sélectionner '''Protocole Internet (TCP/IP)'''&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*En général, en bas de la fenêtre '''Propriétés de Protocole Internet (TCP/IP)''' la configuration active est : '''Obtenir les adresses des serveurs DNS automatiquement'''&lt;br /&gt;
*Cocher '''Utiliser l'adresse de serveur DNS suivante :'''&lt;br /&gt;
*Pour '''Serveur DNS préféré''', saisir '''8.8.8.8'''&lt;br /&gt;
*Pour '''Serveur DNS auxiliaire''', saisir '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''Fermer'''&lt;br /&gt;
&lt;br /&gt;
===Forcer les DNS===&lt;br /&gt;
====Forcer les DNS sous Windows====&lt;br /&gt;
Attention, avec Vista, il faut appliquer une [[#Particularité_avec_Windows_Vista|procédure préalable]].&lt;br /&gt;
*Il est possible de résoudre ce problème de DNS en éditant le fichier C:\WINDOWS\system32\drivers\etc\hosts (avec le bloc-notes) en rajoutant la ligne (il faut remplacer structure par le sous-domaine de la plateforme OpenFlyers de votre structure) :&lt;br /&gt;
**Pour OF 1.3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;178.33.105.217 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 2.1 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.145.26 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.143.237  structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Ensuite, il faut relancer votre PC&lt;br /&gt;
*Une fois la connexion correctement effectuée, il est parfois possible de supprimer cette entrée dans le fichier hosts tout en gardant la connexion.&lt;br /&gt;
&lt;br /&gt;
====Particularité avec Windows Vista====&lt;br /&gt;
*Il faut être administrateur pour pouvoir modifier le fichier hosts.&lt;br /&gt;
*Il faut également copier le fichier hosts sur le bureau pour le modifier puis ensuite le recopier dans le bon répertoire (si on édite directement le fichier hosts depuis (system32\drivers\etc\) on ne peut pas le ré-enregistrer).&lt;br /&gt;
&lt;br /&gt;
====Forcer les DNS sous Mac====&lt;br /&gt;
*lancer Terminal (dans Applications/Utilitaires)&lt;br /&gt;
*taper &amp;quot;sudo nano /etc/hosts&amp;quot; (il demande le mot de passe de l'utilisateur qui a les droits admin sur la machine)&lt;br /&gt;
*Ajouter les entrées sur le modèle de la [[#Forcer_les_DNS_sous_Windows|procédure sous Windows]]&lt;br /&gt;
*Faire controle-o pour enregistrer puis controle-x pour quitter&lt;br /&gt;
*Eventuellement, faire &amp;quot;dscacheutil -flushcache&amp;quot; si le changement n'est pas encore pris en compte.&lt;br /&gt;
&lt;br /&gt;
===Ouvrir une fenêtre en ligne de commande===&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
*Aller dans le menu &amp;quot;Démarrer&amp;quot;&lt;br /&gt;
*Puis Tous les programmes/Accessoires&lt;br /&gt;
*Lancer l'&amp;quot;invite de commandes&amp;quot;&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Sous OSX (mac) il faut lancer un Terminal. Pour cela 2 solutions :&lt;br /&gt;
*Taper &amp;quot;terminal&amp;quot; dans spotlight&lt;br /&gt;
ou&lt;br /&gt;
*lancer l'application qui est dans Applications &amp;gt; Utilitaires.&lt;br /&gt;
&lt;br /&gt;
===Copier/Coller dans une fenêtre en ligne de commande===&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
Vous pouvez faire un copier/coller en utilisant le bouton droit de la souris dans la fenêtre de l'invite de commandes puis en choisissant &amp;quot;sélectionner&amp;quot; et ensuite en appuyant sur le bouton gauche et en le laissant appuyer tout en sélectionnant la zone souhaitée)&lt;br /&gt;
&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Pour faire un copier/coller de ces informations et nous les communiquer, il suffit d'utiliser commande-C dans le terminal.&lt;br /&gt;
&lt;br /&gt;
==Restriction d'accès==&lt;br /&gt;
En fonction de la politique de la structure, le paramétrage d'une plateforme OpenFlyers peut entrainer des restrictions lors de la connexion.  Un message s'affiche, à ce moment là, indiquant les raisons de la restriction et le type de restriction. L'intitulé du profil est inchangé une fois connecté mais les droits associés peuvent être restreints. Par exemple, il peut ne plus être possible d'effectuer une réservation ou d'ouvrir une activité (vol).&lt;br /&gt;
&lt;br /&gt;
Ces restrictions peuvent avoir lieu dans les cas suivants :&lt;br /&gt;
*En cas de solde insuffisant.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Gestion_des_comptes|Surpasser la limitation du solde du compte]]. Lorsque l'utilisateur dispose de ce droit et que l'accès devrait être limité à cause du solde de l'un de ses comptes, un message d'alerte sans restriction s'affiche pour indiquer que son solde de compte est inférieur au seuil requis.&lt;br /&gt;
*En cas de validité obsolète.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Généralités|Surpasser les restrictions sur les validités expirées]]. Lorsque l'utilisateur dispose de ce droit, il n'y a pas de message d'alerte pour lui indiquer que l'absence de telle ou telle validité devrait entrainer la restriction de ses droits.&lt;br /&gt;
&lt;br /&gt;
=Activité=&lt;br /&gt;
==Alertes générées lors de la saisie d'une activité==&lt;br /&gt;
&lt;br /&gt;
===[[Facturation des clients#Alertes_générées_par_le_moteur_de_tarification|Alertes générées par le moteur de tarification]]===&lt;br /&gt;
&lt;br /&gt;
===[[#Alertes_lors_d'une_réservation_ou_une_saisie_de_vol|Alertes générées sur les validités]]===&lt;br /&gt;
&lt;br /&gt;
===L'aéronef est déjà en l'air===&lt;br /&gt;
Si en tentant d'ouvrir le vol d'un aéronef, apparait une alerte rouge '''L'aéronef est déjà en l'air''' cela veut dire qu'un vol a déjà ouvert avec cet aéronef. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===La différence entre le temps de vol calculé et le temps de vol saisi est de : X:XX heure(s)===&lt;br /&gt;
Cette alerte est suivie du message :&lt;br /&gt;
&amp;lt;pre&amp;gt;Veuillez contacter votre administrateur à propos de l'incompatibilité entre votre saisie et la formule du temps de vol choisie pour le type d'aéronef : X&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsque la valeur saisie du temps de vol est incompatible avec la valeur calculée par la [[Formules de calcul#Temps_d'activité|formule de calcul de temps de vol]] définie pour l'aéronef X.&lt;br /&gt;
&lt;br /&gt;
En général elle provient du fait que le temps de vol qui avait été calculé automatiquement dans le formulaire lors de la saisie des champs de compteurs départ/arrivée et/ou des heures de départ/arrivée ont été modifiés manuellement.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une telle erreur apparait, vous devez :&lt;br /&gt;
*Essayer de reprendre la saisie et essayer de comprendre pourquoi vous saisissez mal les valeurs dans les champs concernés&lt;br /&gt;
*Si vous n'arrivez pas à comprendre la raison, contacter sans délai un gestionnaire de votre structure afin qu'il vous explique les erreurs que vous commettez lorsque le problème vient d'une saisie erronée ou qu'il analyser lui-même le problème.&lt;br /&gt;
*Si vous êtes vous-même un gestionnaire de la plateforme, vous devez également pousser l'analyse pour comprendre en quoi votre saisie est incompatible avec la formule de calcul et le cas échéant faire effectuer une modification du paramétrage.&lt;br /&gt;
&lt;br /&gt;
Voir également, comment [[#Forcer_la_saisie_d'une_durée_de_vol_incompatible_avec_sa_formule_de_calcul|saisir un temps de vol qui ne respecte pas la formule de calcul]].&lt;br /&gt;
&lt;br /&gt;
===Le pilote X est déjà en l'air===&lt;br /&gt;
Ce message apparait lorsque vous tentez de saisir un vol en ouverture de vol et que le pilote occupant la position X est déjà enregistré sur un vol ouvert, c'est à dire en l'air.&lt;br /&gt;
&lt;br /&gt;
Cette protection permet de ne pas avoir un utilisateur occupé simultanément sur 2 ressources.&lt;br /&gt;
&lt;br /&gt;
S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Seul le type de vol requis dans le cas de la présence d'un second pilote a été sélectionné, vous devez en sélectionner au moins un autre en plus===&lt;br /&gt;
Lors de la saisie d'un vol, cette alerte s'affiche si la configuration de la plateforme nécessite la saisie d'au moins un type de vol supplémentaire en plus du type de vol obligatoire dans le cas de la présence d'un second pilote.&lt;br /&gt;
&lt;br /&gt;
C'est typiquement le cas pour les vols d'instruction où le paramétrage nécessite généralement de préciser un 2ème type de vol comme &amp;quot;local&amp;quot;, &amp;quot;navigation&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
===Vous êtes actuellement en l'air===&lt;br /&gt;
Si en tentant de saisir un vol, l'alerte '''Vous êtes actuellement en l'air''' apparait cela veut dire qu'il y a déjà un vol d'ouvert à votre nom. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Vous ne pouvez ouvrir un vol avec une date de début dépassée===&lt;br /&gt;
Cette protection empêche d'ouvrir une activité avec un horodatage de début antérieur à l'heure actuelle moins 15 minutes.&lt;br /&gt;
&lt;br /&gt;
En général, pour un tel cas, le souhait n'est pas d'ouvrir une activité mais de fermer une activité. Il faut donc penser à passer le champ '''Etat du vol''' en &amp;quot;Retour de vol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Annuler un vol ouvert==&lt;br /&gt;
*Aller sur le planning&lt;br /&gt;
*Cliquer sur le rectangle sur fond bleu correspondant à l'immatriculation de l'aéronef considéré&lt;br /&gt;
*Cliquer sur le bouton '''Annuler le vol''' tout en bas du formulaire.&lt;br /&gt;
&lt;br /&gt;
==Consulter un vol ouvert==&lt;br /&gt;
Pour pouvoir consulter un vol ouvert d'un tiers, il faut disposer du [[Gestion des profils#Gestion_des_vols|droit de &amp;quot;Saisie d'activité pour un tiers&amp;quot;]].&lt;br /&gt;
*Sur le planning de réservation, cliquer sur le rectangle de l'aéronef considéré qui doit être sur fond bleu pour indiquer que l'aéronef est en l'air.&lt;br /&gt;
&lt;br /&gt;
==Saisie d'un vol==&lt;br /&gt;
*Aller dans '''Vols &amp;gt; Saisir un vol''', remplir le formulaire&lt;br /&gt;
*La saisie d'un vol d'une durée inférieure à 15 minutes déclenchera l'affichage d'un message d'avertissement (en orange). Cliquer sur '''Confirmer la validation''' au dessous de ce message pour saisir définitivement le vol.&lt;br /&gt;
*Après la saisie d'un vol, l'utilisateur est renvoyé sur :&lt;br /&gt;
**Le planning lors d'un vol en ouverture&lt;br /&gt;
**Le formulaire de saisie d'un vol lors d'un nouveau vol en fermeture et que le terrain d'arrivée saisie est différent du terrain par défaut de la structure&lt;br /&gt;
**Dans les autres cas, l'[[Documentation utilisateur#Extrait_de_compte|extrait de compte]] de la personne en première place. Si plusieurs comptes sont impactés, c'est le premier compte impacté de la personne qui est choisi.&lt;br /&gt;
**Si l'utilisateur connecté n'a pas le droit de visualiser le compte concerné, alors c'est le carnet de route qui est affiché.&lt;br /&gt;
&lt;br /&gt;
===Forcer la saisie d'une durée de vol incompatible avec sa formule de calcul===&lt;br /&gt;
Un gestionnaire peut forcer la saisie d'un [[#La_différence_entre_le_temps_de_vol_calculé_et_le_temps_de_vol_saisi_est_de_:_X:XX_heure(s)|temps de vol incompatible avec la formule de calcul]] associée au type d'aéronef pour lequel on souhaite saisir un vol.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il doit :&lt;br /&gt;
*Saisir le vol en modification le compteur arrivé de sorte à obtenir le temps de vol souhaité.&lt;br /&gt;
*[[Gestion des ressources#Changer_la_valeur_du_compteur_en_cours|Changer la valeur du compteur en cours]] de l'aéronef.&lt;br /&gt;
&lt;br /&gt;
Dans le cas où plusieurs vols successifs doivent être saisis, il est alors judicieux de ne mettre à jour le compteur de l'aéronef qu'une que tous les vols ont été saisis.&lt;br /&gt;
&lt;br /&gt;
=Comptabilité=&lt;br /&gt;
&lt;br /&gt;
==Alertes générées lors de la [[Utilisation de la comptabilité#Saisie_d'écritures_comptables|saisie d'écritures comptables]]==&lt;br /&gt;
&lt;br /&gt;
===Les comptes n'ont pas la même comptabilité===&lt;br /&gt;
Cette alerte apparait lors d'une [[Comptabilité#Comptabilités_multiples|comptabilité multiple]] : Le compte débité et le compte crédité doivent être issues de la même comptabilité.&lt;br /&gt;
&lt;br /&gt;
==Créditer son compte utilisateur==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Approvisionner'''&lt;br /&gt;
*Si vous disposez de droit de gestion comptable, choisir dans le champ '''Encaissement de l'utilisateur''' le nom de l'utilisateur concerné&lt;br /&gt;
*Si vous disposez de plusieurs comptes sur lesquels vous pouvez choisir où ventiler votre encaissement, choisir dans le champ '''Compte à créditer''' le nom du compte concerné&lt;br /&gt;
*Dans le champ '''Type de règlement''', sélectionner le type de règlement&lt;br /&gt;
*Si vous effectuez un paiement avec une remise à une personne physique, vous devez préciser le nom de cette personne dans le champ '''Personne qui reçoit'''&lt;br /&gt;
*Dans le champ, montant indiquer le montant de votre paiement.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
Dans le cas où le type de paiement est un paiement par carte bancaire en ligne mis en place par votre structure, alors êtes redirigé sur le terminal de paiement électronique de la banque de votre structure. Il vous faut alors saisir les informations de votre carte bancaire. Il est possible que le terminal de paiement électronique supporte le &amp;quot;[[Wikipedia-fr:3-D_Secure|3-D Secure]]&amp;quot; qui implique un contrôle renforcé. Dans ce cas, c'est votre propre banque qui vous demandera des informations complémentaires pour confirmer que c'est bien vous qui êtes à l'origine de la demande de paiement par carte bancaire.&lt;br /&gt;
&lt;br /&gt;
==Extrait de compte==&lt;br /&gt;
'''OpenFlyers''' offre la possibilité à un utilisateur de consulter des extraits de compte : C'est un rapport permettant de visualiser le détail des écritures comptables effectuées sur une période (une année complète ou un mois d'une année) d'un compte ou de tous les comptes d'une comptabilité donnée. Si la gestion des budgets est activée, il est possible de filtrer l'affichage des écritures selon les budgets.&lt;br /&gt;
&lt;br /&gt;
Dès qu'il y a plus de 50 écritures à afficher pour un extrait de compte, la liste des écritures est paginée pour afficher 50 écritures par page.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est validée, les montants au débit et au crédit sont affichés en noir gras.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est non validée, les montants au débit et au crédit sont affichés en vert gras. En fonction du [[Gestion des profils|profil et de ses droits]], une colonne '''Actions''' peut apparaître avec des icônes pour permettre de modifier ou supprimer une écriture non validée selon [[Gestion-des-écritures-comptables#Types-d'écritures-comptable-générées-par-OpenFlyers|le type d'écriture comptable qui est générée]].&lt;br /&gt;
&lt;br /&gt;
===Colonne &amp;quot;Numéro de pointage ou de facture&amp;quot;===&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_fournisseur|facture fournisseur]], la colonne affiche le numéro de pointage.&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_client|facture client]] et que l'utilisateur dispose du [[Gestion des profils#Gestion_des_comptes|droit de '''Gestion des comptes''']] ou que la facture à afficher lui est destinée :&lt;br /&gt;
**Pour une écriture non-validée, la colonne affiche les icônes [[Fichier:IconHTML.png]] qui amènent aux factures pro-format associées.&lt;br /&gt;
**Pour une écriture validée, la colonne affiche les icônes [[Fichier:IconPDF.png]] qui amène aux factures PDF associées.&lt;br /&gt;
*:Dans le cas contraire, ce sont les numéros des factures qui sont affichés à la place des icônes.&lt;br /&gt;
&lt;br /&gt;
La colonne affiche &amp;quot;--&amp;quot; lorsqu'il s'agit d'une écriture :&lt;br /&gt;
* D'[[Écritures comptables#Saisie_d'un_encaissement_(d'un_client)|encaissement client]].&lt;br /&gt;
* De [[Écritures comptables#Les_4_grands_types_d'écritures|flux]].&lt;br /&gt;
* De [[Écritures comptables#Saisie_d'une_facture_client|facture client]] n'ayant pas de facture associée.&lt;br /&gt;
&lt;br /&gt;
==Imprimer un extrait de compte==&lt;br /&gt;
*Afficher l'extrait de compte souhaité&lt;br /&gt;
*[[Trucs et astuces#Imprimer_avec_un_navigateur|Imprimer avec la commande du navigateur]]&lt;br /&gt;
&lt;br /&gt;
==Transférer de l'argent==&lt;br /&gt;
Selon les droits accordés aux utilisateurs par la structure, il peut être possible d'effectuer un transfert d'argent depuis son compte vers le compte d'un autre utilisateur en suivant la procédure suivante :&lt;br /&gt;
*Aller sur '''Comptes &amp;gt;Transférer'''&lt;br /&gt;
*Dans le champ '''Compte à créditer''' choisir le nom de la personne concernée&lt;br /&gt;
*Dans le champ '''Montant''', saisir le montant que l'on souhaite transférer&lt;br /&gt;
*Remplir éventuellement le champ '''Commentaires'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' : '''Attention''' cette opération est irrévocable et une fois que vous aurez validé, il ne sera pas possible de supprimer le virement. Si vous souhaitez faire annuler l'opération, il faudra contacter la personne recevant l'argent pour qu'elle fasse à son tour un transfert sur votre compte.&lt;br /&gt;
&lt;br /&gt;
=E-mails automatiques=&lt;br /&gt;
==Alertes par e-mail uniquement sur les plateformes de production==&lt;br /&gt;
Les [[Configuration de la comptabilité#Paramétrage_général_des_comptabilités|e-mails d'alertes de solde]] ou de [[#E-mail-de-rappel-de-réservation|rappel des réservations]] ne sont pas envoyés sur les plateformes qui ne sont pas en production afin de ne pas polluer les messageries des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Les différentes notifications d'e-mail de réservation sont paramétrables du côté de [[#Affichage-et-fiche-personnelle|la fiche utilisateur]].&lt;br /&gt;
&lt;br /&gt;
==E-mail d'annulation de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une annulation de réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une annulation de réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est le même que pour l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]].&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Notification d'annulation de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est annulée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les annulations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails d'annulation en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_annulées&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de mise en maintenance==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une mise en maintenance sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une mise en maintenance sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** la ressource mise en maintenance&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de maintenance si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération de maintenance&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
La mise en maintenance pour le type-de-ressource F-ABCD du 01/04/2015 à 08:00 au 01/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Remplacement roue est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de notification de réservation==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot;Confirmation d'une nouvelle réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration. Confirmation d'une nouvelle réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Notification de création de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** le type de ressource et la ressource réservés&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en seconde place si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération sur la réservation&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-par-e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ceci est une notification de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Rappel d'une réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Rappel d'une réservation sur OpenFlyers sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du corps de l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]] où les dates sont sous le format &amp;quot;JJ/MM/AAAA/MM à HHhMM&amp;quot; et sous le fuseau horaire de l'utilisateur recevant l'e-mail&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail :&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 2015/04/01 à 08h00 au 2015/04/01 à 09h00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pièce jointe de synchronisation des réservations avec un calendrier==&lt;br /&gt;
Sur les plateformes où l'option est activée, tout email de réservation (création, modification et suppression) contient, en pièce jointe, un fichier de synchronisation. Ce fichier permet d'ajouter, modifier ou supprimer la réservation dans une application de gestion de calendrier selon l'opération effectuée sur OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Le fichier, envoyé au format '''ics''', peut être ouvert avec des applications comme '''Microsoft Outlook''', '''Google Calendar''' ou '''iCalendar''' par exemple. Lors de son ouverture, le calendrier sera mis à jour.&lt;br /&gt;
&lt;br /&gt;
Plusieurs informations de la réservation sont attachées à ce fichier :&lt;br /&gt;
*La date et heure de début&lt;br /&gt;
*La date et heure de fin&lt;br /&gt;
*Le lieu (le terrain de départ s'il est renseigné lors de la création de la réservation)&lt;br /&gt;
*La ressource et le nom de la personne en place gauche, constituant le '''nom du fichier'''&lt;br /&gt;
&lt;br /&gt;
Ces différentes informations permettent de définir l'événement dans le calendrier. Ainsi, les dates de début et de fin, le lieu, le nom de la personne et la ressource seront affichés dans l'application de gestion de calendrier.&lt;br /&gt;
&lt;br /&gt;
=Ergonomie=&lt;br /&gt;
==Optimiser la navigation dans OpenFlyers==&lt;br /&gt;
&lt;br /&gt;
===Navigation par onglet===&lt;br /&gt;
Afin d'avoir à disposition les différentes pages dont vous avez besoin pour effectuer une action, il est possible d'afficher chacune d'entre elles dans un [[Wikipedia-fr:Onglet_%28informatique%29|onglet]] du navigateur.&lt;br /&gt;
Lorsque vous effectuez un clic gauche sur un lien situé dans une page donnée pour accéder à une autre page, la page initiale est remplacée par la page de destination. Ce qui rend fastidieux la réalisation des tâches nécessitant un accès répétitif à certaines pages.&lt;br /&gt;
&lt;br /&gt;
===Clic droit et clic molette===&lt;br /&gt;
Afin de gagner en efficacité et en confort d'utilisation, pensez à utiliser les autres boutons de la souris qui vous permettent d'ouvrir une page dans un '''nouvel onglet'''. Pour cela il existe deux méthodes lorsqu'on survole un lien dans un navigateur Internet pour ouvrir la page de destination dans un nouvel onglet :&lt;br /&gt;
*'''Le clic droit :''' il permet d'afficher un menu contextuel qui contient une action nommée « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
*'''Le clic molette :''' il est encore plus efficace que le clic droit, car il correspond directement à l'action « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
&lt;br /&gt;
Normalement le clic molette est configuré pour cette action. Dans le cas contraire, il faut [[Trucs et astuces#Modifier_le_comportement_la_souris|en modifier le comportement]].&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-1.png]]&lt;br /&gt;
&lt;br /&gt;
L'exemple suivant explique comment modifier successivement les validités de plusieurs utilisateurs :&lt;br /&gt;
*Dans un premier onglet, ouvrir le tableau présentant la liste des utilisateurs.&lt;br /&gt;
[[Fichier:OF3.5-clics-2.png]]&lt;br /&gt;
*Effectuer un '''clic droit''' ou '''clic molette''' sur le pictogramme des validités pour déplier un second onglet.&lt;br /&gt;
[[Fichier:OF3.5-clics-3.png]]&lt;br /&gt;
*Effectuer et enregistrer les modifications dans le second onglet, présentant les validités d'un utilisateur.&lt;br /&gt;
[[Fichier:OF3.5-clics-4.jpg]]&lt;br /&gt;
*Replier le second onglet en cliquant sur la croix ou en pressant '''CTRL + W'''.&lt;br /&gt;
[[Fichier:OF3.5-clics-5.png]]&lt;br /&gt;
*Retour au premier onglet, présentant la liste des utilisateurs. Répéter les opérations du 2 au 4 pour les autres utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
Il est possible de naviguer rapidement d'un onglet à l'autre sans utiliser la souris en utilisant simplement les raccourcis clavier : '''CTRL + TAB''' pour avancer d'un onglet ou '''CTRL + SHIFT + TAB''' pour reculer d'un onglet.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-6.png]]&lt;br /&gt;
&lt;br /&gt;
=Fiche utilisateur (Données)=&lt;br /&gt;
==Affichage et fiche personnelle==&lt;br /&gt;
===Affichage du menu contextuel===&lt;br /&gt;
Le menu contextuel et un menu déroulant qui apparait lors du survol d'une réservation ou d'un vol ouvert. Ce menu contextuel peut apparaitre :&lt;br /&gt;
*soit automatiquement&lt;br /&gt;
*soit par un clic droit de la souris&lt;br /&gt;
Ce paramétrage est personnalisable pour chaque utilisateur :&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Cocher ou décocher '''N'afficher la description des réservations qu'avec le bouton droit de la souris''' selon le comportement souhaité&lt;br /&gt;
*Cliquer sur le bouton '''Sauver''' tout en bas du formulaire&lt;br /&gt;
&lt;br /&gt;
===Choisir l'unité de temps===&lt;br /&gt;
Chaque utilisateur peut choisir l'unité de temps qui sert à afficher les heures.&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Choisir dans le champ '''Unité de temps''' parmi :&lt;br /&gt;
**heures minutes&lt;br /&gt;
**heures centièmes&lt;br /&gt;
**heures dixièmes&lt;br /&gt;
*Appuyer sur le bouton '''Sauver'''.&lt;br /&gt;
&lt;br /&gt;
===Etre informé des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]] par email===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par email des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
===Editer sa photo===&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
* L'import ou la suppression d'une photo requiert le droit [[Gestion-des-profils#Généralités|Editer sa photo]]. Ce droit n'est pas nécessaire pour rendre sa photo visible pour tous&lt;br /&gt;
&lt;br /&gt;
===Notification de la maintenance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_mise_en_maintenance|e-mail des réservations de maintenance]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_notification_de_réservation|e-mail des réservations créées ou modifiées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations annulées===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_d'annulation_de_réservation|e-mail des réservations annulées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Rappel des réservations de 2 jours d'avance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin de recevoir ou non par [[#E-mail_de_rappel_de_réservation|e-mail un rappel de réservation]].&lt;br /&gt;
&lt;br /&gt;
Les rappels sont envoyés entre 0h et 6h au fuseau Europe/Paris pour les réservations ayant une ressource d'assignée et débutant entre 2 et 3 jours après.&lt;br /&gt;
&lt;br /&gt;
Les [[#Alertes_par_e-mail_uniquement_sur_les_plateformes_de_production|rappels ne sont effectifs que sur les plateformes en production]].&lt;br /&gt;
&lt;br /&gt;
===Recevoir un e-mail pour toute réservation===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
Lorsque l'utilisateur dispose d'un profil avec le droit [[Gestion des profils#Réservation|Alertable par e-mail pour toute réservation]], apparait une case à cocher '''Recevoir un e-mail pour toute réservation'''.&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par e-mail lorsqu'une nouvelle réservation est créée par n'importe quel utilisateur.&lt;br /&gt;
&lt;br /&gt;
==[[Champs additionnels]]==&lt;br /&gt;
En plus des champs habituels, des [[Champs-additionnels|champs additionnels]] spécifiques à la structure peuvent apparaître dans la fiche personnelle. &lt;br /&gt;
&lt;br /&gt;
Ils sont affichés [[Gestion-des-profils#Champ-additionnel-du-formulaire-utilisateur-visible-par-le-profil|si les droits sont attribués par l'administrateur]] et permettent d'activer des fonctionnalités supplémentaires.&lt;br /&gt;
&lt;br /&gt;
==(In)disponibilités==&lt;br /&gt;
Lorsque vous êtes intervenant (formateur, instructeur, moniteur, mécanicien, etc.), vous pouvez gérer vos disponibilités en allant dans '''Données &amp;gt; (in)disponibilités'''&lt;br /&gt;
&lt;br /&gt;
Il existe deux types de disponibilités :&lt;br /&gt;
:Les disponibilités régulières qui reviennent chaque semaine, par exemple : le lundi de 9h00 à 18h00.&lt;br /&gt;
:Les disponibilités exceptionnelles (ou les indisponibilités exceptionnelles) sont ponctuelles : présent (ou absent) le 1er décembre de 8h00 à 12h00.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez cumuler ces modes pour avoir une flexibilité maximum. &lt;br /&gt;
&lt;br /&gt;
:Exemple :&lt;br /&gt;
::- disponible du Lundi 8 h 00 au Mercredi 19 h 00 en permanent&lt;br /&gt;
::- disponible du Vendredi 8 h 00 au Samedi 19 h 00 en permanent&lt;br /&gt;
::- Absent du 15 Juillet au 30 Juillet pour raison de congé&lt;br /&gt;
:Attention à ne pas créer des incohérences.&lt;br /&gt;
&lt;br /&gt;
De même, si vous faites une pause déjeuner, il faut créer des disponibilités par demi-journées pour chaque jour concerné, en présence régulière en créant une disponibilité tous les jours de 9h à 12h et une disponibilité tous les jours de 14h à 18h (par ex.).&lt;br /&gt;
&lt;br /&gt;
Il est possible de créer une disponibilité permanente : Pour cela, créez une disponibilité régulière sur le même jour, avec une heure de début et de fin identique. Par exemple, disponible du &amp;quot;Lundi 0h00 au Lundi 0h00&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
En cas de problème, affichez la liste des disponibilités et supprimez tous les créneaux puis reconstruisez les disponibilités.&lt;br /&gt;
&lt;br /&gt;
==Réinitialiser son mot de passe==&lt;br /&gt;
Attention, lorsqu'un mot de passe est perdu vous n'avez que trois tentatives possibles pour le retrouver. A la 4ème tentative un compteur exponentiel s'active pour éviter les robots créés par les pirates de tenter d'accéder aux plateformes par des [[Wikipedia-fr:Attaque_par_force_brute|attaques par force brute]].&lt;br /&gt;
&lt;br /&gt;
Par contre, vous pouvez ré-initialiser votre mot de passe depuis la page d'accueil de votre plateforme OpenFlyers :&lt;br /&gt;
*Cliquez sur le lien '''Mot de passe oublié ?'''&lt;br /&gt;
*Dans le formulaire '''Demande de réinitialisation du mot de passe''', remplissez le champ '''Identifiant''' avec votre nom d'utilisateur utilisé pour la connexion sur l'application OpenFlyers&lt;br /&gt;
*Cliquez sur le bouton '''Enregistrer'''&lt;br /&gt;
*Si le nom d'utilisateur est présent en base de données, alors le message suivant doit s'afficher :&lt;br /&gt;
'''Merci, un e-mail a été envoyé à l'adresse du compte nom-utilisateur. Cliquez sur le lien dans l'email afin de poursuivre la réinitialisation du mot de passe.'''&lt;br /&gt;
*Récupérez l'e-mail dans votre messagerie, il s'intitule :&lt;br /&gt;
'''[nom-de-la-plateforme] Demande de réinitialisation du mot de passe à XXhXX (UTC)'''&lt;br /&gt;
et contient les éléments suivants :&lt;br /&gt;
&amp;lt;pre&amp;gt;Jean DUPONT,&lt;br /&gt;
&lt;br /&gt;
Une demande de réinitialisation de mot de passe a été effectué.&lt;br /&gt;
Pour poursuivre l'opération, cliquez ici.&lt;br /&gt;
Si vous n'avez pas fait la demande, veuillez ignorer l'email.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez également saisir ou copier le lien suivant dans votre navigateur internet afin d'accéder à la page de réinitilisalisation de mot de passe :&lt;br /&gt;
http://openflyers.com/nom-de-la-plateforme/index.php?menuAction=password_reset&amp;amp;token=154551560257977557617df&lt;br /&gt;
&lt;br /&gt;
L'équipe OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' L'email est valide uniquement pendant '''une heure''' après la demande de réinitialisation de mot de passe. Passé ce délai, le lien indiqué dans l'email ne sera plus valide. Il sera donc nécessaire de refaire une '''nouvelle demande''' de réinitialisation de mot de passe.&lt;br /&gt;
&lt;br /&gt;
*Cliquez sur la partie du texte correspondant au lien coloré ou copiez dans votre navigateur internet lien contenu à la fin de l'e-mail pour retourner sur la page de réinitialisation de mot de passe&lt;br /&gt;
*Dans le 2ème formulaire intitulé '''Réinitialisation du mot de passe''', renseignez les champs :&lt;br /&gt;
**'''Réinitialisation du mot de passe''' avec votre nouveau mot de passe&lt;br /&gt;
**'''Répétition du mot de passe''' avec la confirmation de votre nouveau mot de passe&lt;br /&gt;
*Cliquez sur le bouton '''Réinitialiser'''&lt;br /&gt;
&lt;br /&gt;
Après avoir réinitialisé votre mot de passe, l'application vous connecte automatiquement en vous redirigeant sur la page du planning.&lt;br /&gt;
&lt;br /&gt;
=Planning=&lt;br /&gt;
==Codes couleurs==&lt;br /&gt;
[[Fichier:Codes couleurs.png]]&lt;br /&gt;
&lt;br /&gt;
==Éphémérides==&lt;br /&gt;
Nous calculons les éphémérides d'après les définitions officielles.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les heures de lever et de coucher du soleil correspondent au passage du centre du soleil sous l'horizon, c'est à dire lorsque le centre du soleil est situé 3 degrés sous l'horizon. En effet, il est considéré, en première approximation que le soleil a un diamètre apparent de 6 degrés.&lt;br /&gt;
&lt;br /&gt;
Les heures du jour et de la nuit aéronautique correspondent au passage du soleil 6 degrés sous l'horizon. Il s'agit de la définition officielle, aussi bien française, qu'internationale (OACI). Notre formule de calcul est validée pour les latitudes inférieures à 65 degrés. Sa précision est de l'ordre de la minute sous des latitudes inférieures à 50 degrés. La précision diminue au fur et à mesure que la latitude augmente, c'est à dire que l'on se rapproche des pôles.&lt;br /&gt;
&lt;br /&gt;
Conséquence du calcul : les résultats trouvés ne correspondent pas à la simple addition de + ou - 30 minutes. Mais il n'a jamais été écrit dans un texte officiel que la journée aéronautique commençait au lever du soleil moins trente minutes, et que la nuit aéronautique commençait au coucher du soleil plus trente minutes. Dans la règlementation française, il est admis d'utiliser + ou - 30 minutes pour faire les calculs sous des latitudes comprises entre 30 et 60 degrés et 15 minutes sous les latitudes inférieures à 30 degrés). Pour l'Europe, voir le [http://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32012R0923&amp;amp;from=EN Règlement n°923/2012 concernant les Standardised European Rules of the Air) - Article 2 - Définition 97]. Pour la France voir la [http://www.developpement-durable.gouv.fr/IMG/pdf/SERA_RCA_consolide.pdf version consolidée des règles de l'air, définition de la &amp;quot;Nuit&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
Mises en garde :&lt;br /&gt;
*Le programme calcule les heures à partir des coordonnées géographiques de l'aérodrome indiqué comme étant la base aéronautique de la plateforme OpenFlyers considérée. Si les heures sont erronées, il faut contacter l'administrateur OpenFlyers de la plateforme afin qu'il vérifie le code OACI renseigné pour la plateforme.&lt;br /&gt;
*Certains pays n'utilisent pas la nuit aéronautique et ne permettent pas le vol en dehors du lever et du coucher du soleil. D'autres pays utilisent d'autres types de définition pour déterminer si le vol est de jour ou de nuit comme notamment une référence à la luminosité réelle mesurée.&lt;br /&gt;
&lt;br /&gt;
Remarque :&lt;br /&gt;
*Si l'utilisateur ne souhaite pas utiliser la définition réelle mais une approximation, comme le fait d'ajouter ou retrancher 30 minutes, il suffit d'effectuer l'opération de calcul à partir des heures de lever ou de coucher du soleil.&lt;br /&gt;
&lt;br /&gt;
=Rapports=&lt;br /&gt;
Tous les rapports sont regroupés sur une même page qui est accessible depuis '''Données &amp;gt; Rapports''' ou côté admin '''Rapports &amp;gt; Structure &amp;gt; Visualiser''' (si on dispose d'un droit spécifique).&lt;br /&gt;
&lt;br /&gt;
Cette page est constituée de 2 parties :&lt;br /&gt;
*Une liste de champs dans le formulaire général&lt;br /&gt;
*Une liste de rapports&lt;br /&gt;
&lt;br /&gt;
Les données qui doivent être saisies dans les champs du formulaire général varient en fonction des rapports.&lt;br /&gt;
&lt;br /&gt;
Les données prises en compte dans les rapports sont affichés dans le titre du rapport au-dessus du tableau de résultat.&lt;br /&gt;
&lt;br /&gt;
Aussi, si on constate que malgré le fait d'avoir préciser une valeur, celle-ci semble ignorer par le rapport, il faut vérifier si cette donnée apparait dans la liste données prises en compte. Si c'est le cas, alors il y a potentiellement un bug. Si ce n'est pas le cas, alors c'est &amp;quot;normal&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
La version 4 d'OpenFlyers proposera une interface différente où on choisira d'abord son rapport et ensuite les données pour les seules variables prises seront demandées.&lt;br /&gt;
&lt;br /&gt;
=Réservations=&lt;br /&gt;
==Immobiliser une ressource==&lt;br /&gt;
Les utilisateurs disposant du droit '''[[Gestion des profils#Réservation|Gestion des disponibilités des ressources]]''' peuvent rendre une ressource indisponible pour un créneau horaire donné. Cela permet d'indiquer aux autres utilisateurs que la ressource considérée n'est pas disponible.&lt;br /&gt;
&lt;br /&gt;
Il n'est pas possible d'avoir plus d'un créneau d'immobilisation sur une même ressource et la même période.&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des validités|Validités]]=&lt;br /&gt;
Un utilisateur peut [[Gestion des profils#Type_de_validité_que_l'utilisateur_peut_gérer|gérer uniquement les validités définies comme telles pour son profil]] en allant dans '''Données &amp;gt; Validités'''.&lt;br /&gt;
&lt;br /&gt;
De plus :&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à ajouter une nouvelle validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à renouveler une validité détenue ou à mettre à jour le '''Code identifiant''', la '''Date d'obtention''', la '''Limite de validité''' (d'une validité non achetable) ou à supprimer une validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]] ou le droit [[Gestion des profils#Généralités|Gestion de ses validités détenues]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à acheter ou renouveler une validité-produit, il doit détenir le droit [[Gestion des profils#Gestionnaire_des_ventes|Achat ventes libres]] et le produit associé à la validité doit être en vente libre.&lt;br /&gt;
&lt;br /&gt;
Pour renouveler une validité détenue, il faut cliquer sur l'icône [[Fichier:Refresh.png]] qui apparaît dans la colonne '''Limite de validité'''.&lt;br /&gt;
&lt;br /&gt;
Remarques :&lt;br /&gt;
*Les validités arrivées à échéance apparaissent sur fond rouge.&lt;br /&gt;
*La mise à jour de la date d'échéance d'une validité réactive automatiquement la cellule de la colonne [[#Données_&amp;gt;_Validités_&amp;gt;_Alertes_?|Alertes ?]].&lt;br /&gt;
*Une validité-produit déjà détenue ne peut pas être supprimée.&lt;br /&gt;
&lt;br /&gt;
==Données &amp;gt; Validités &amp;gt; Alertes ?==&lt;br /&gt;
La colonne '''Alertes ?''' permet à un utilisateur d'activer ou désactiver les rappels à la connexion de ses validités arrivant à expiration ou ayant expirées.&lt;br /&gt;
&lt;br /&gt;
Le champ '''Délai de prévenance en semaines avant chaque échéance''' permet de définir le délai de rappel des validités arrivant à expiration.&lt;br /&gt;
&lt;br /&gt;
==Alertes sur les validités==&lt;br /&gt;
===Alerte à la connexion===&lt;br /&gt;
Les validités contrôlées à la connexion sont uniquement :&lt;br /&gt;
*celles possédées par l'utilisateur qui se connecte et qui sont soumises à échéance&lt;br /&gt;
*les validités à expérience récente.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les validités sans échéance ne sont pas contrôlées.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers affiche un message d'alerte pour les validités dont la date d'échéance est expirée ou va expirer dans un délai inférieur à la période d'alerte définie dans la fiche utilisateur.&lt;br /&gt;
&lt;br /&gt;
L'utilisateur a la possibilité de cliquer sur la case à cocher &amp;quot;Ne plus le rappeler&amp;quot; afin de ne plus avoir de message de rappel. Dans ce cas, lors des connexions ultérieures, il n'aura plus de message de rappel. Il peut cependant réactiver cette alerte en la réactivant dans la colonne &amp;quot;Alertes&amp;quot; de la ligne correspondante dans '''Données &amp;gt; Validités'''. Cette réactivation est automatique lors d'une modification de la validité.&lt;br /&gt;
&lt;br /&gt;
===Alertes lors d'une réservation ou une saisie de vol===&lt;br /&gt;
Les validités périmées apparaissent systématiquement lors de la saisie d'une réservation ou d'un vol comme à la connexion. Leur affichage ne dépend pas du type de ressource. C'est juste un rappel.&lt;br /&gt;
&lt;br /&gt;
Ce rappel est notamment utile lorsqu'une personne effectue une réservation ou une saisie de vol pour le compte d'un tiers. Cela lui permet d'être informé et d'informer ce tiers de sa situation.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15261</id>
		<title>Documentation utilisateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15261"/>
				<updated>2017-07-27T07:22:38Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Rappel des réservations de 2 jours d'avance par e-mail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de regrouper les informations utiles pour l'ensemble des utilisateurs finaux d'[[Accueil|OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
=Accès à OpenFlyers=&lt;br /&gt;
==Accéder à une plateforme==&lt;br /&gt;
Pour accéder à une plateforme OpenFlyers, il faut entrer son URL dans un navigateur web.&lt;br /&gt;
&lt;br /&gt;
L'URL est ''http://openflyers.com/plateforme/'', où &amp;quot;plateforme&amp;quot; doit être remplacé par le vrai nom de la plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
==Impossible de se connecter à la plateforme OpenFlyers de sa structure==&lt;br /&gt;
Si vous n'arrivez pas à accéder une plateforme OpenFlyers il faut en rechercher la raison. Voici un certain nombre de questions qui peuvent vous permettre de solutionner votre problème :&lt;br /&gt;
*Accédez-vous à la page d'identification de la plateforme OpenFlyers ?&lt;br /&gt;
**Si non, alors il faut regarder la FAQ [[#Page_indisponible|Page indisponible]]&lt;br /&gt;
*Lorsque vous vous identifiez, avez-vous un message de rejet indiquant que votre identifiant et/ou votre mot de passe ne sont pas corrects ?&lt;br /&gt;
**Si oui, alors le problème peut venir du mot de passe qui a changé. Dans ce cas là, vous pouvez ré-initialiser votre mot de passe en suivant la procédure [[#Réinitialiser-son-mot-de-passe|de réinitialisation de mot de passe]]. Cela peut également venir de votre identifiant qui n'est pas bon. Dans ce cas, il faut demander à la personne en charge de la gestion d'OpenFlyers au sein de votre structure aéronautique&lt;br /&gt;
*Une fois connecté, revenez-vous sur la page d'identification lorsque vous changez de page ?&lt;br /&gt;
**Si oui, alors il faut regarder la [[FAQ-utilisateur#Navigation-dans-OpenFlyers|procédure de gestion des cookies du navigateur]].&lt;br /&gt;
Si vous n'êtes dans aucun des cas répertoriés ci-dessus, alors vous pouvez rapporter votre problème en nous envoyant un e-mail et en décrivant le plus précisément possible le problème que vous rencontrez :&lt;br /&gt;
*Navigateur utilisé&lt;br /&gt;
*Système d'exploitation&lt;br /&gt;
*type de PC, smartphone ou tablette&lt;br /&gt;
*Nom du fournisseur d'accès internet&lt;br /&gt;
*Actions effectuées&lt;br /&gt;
*Message d'erreur s'affichant&lt;br /&gt;
&lt;br /&gt;
==Message d'alerte adresse IP bloquée==&lt;br /&gt;
&lt;br /&gt;
Un message d'alerte signalant que '''l'adresse IP est bloquée''' peut apparaître lorsque vous souhaitez vous connecter. Ce message apparaît lorsque vous avez tenté de vous connecter à plusieurs reprises mais que le couple identifiant / mot de passe est incorrect.&lt;br /&gt;
&lt;br /&gt;
Après avoir attendu le temps indiqué par le message d'alerte, vous pouvez tenter de vous reconnecter en faisant attention [[Wikipedia-fr:Sensibilit%C3%A9_%C3%A0_la_casse|à la casse]].&lt;br /&gt;
&lt;br /&gt;
==Page indisponible==&lt;br /&gt;
Si vous n'arrivez pas à accéder à la plateforme OpenFlyers de votre structure, voici une liste d'actions à effectuer :&lt;br /&gt;
*Redémarrer votre ordinateur&lt;br /&gt;
*Redémarrer la &amp;quot;box&amp;quot; ADSL&lt;br /&gt;
*Si cela ne fonctionne toujours pas, il faut [[#Tester_les_résolutions_DNS|tester les résolutions DNS]].&lt;br /&gt;
&lt;br /&gt;
===Tester les résolutions DNS===&lt;br /&gt;
Pour effectuer les tests suivants, il faut ouvrir une fenêtre &amp;quot;[[#Ouvrir_une_fenêtre_en_ligne_de_commande|en ligne de commandes]]&amp;quot;. En cas de problème, il faut nous rapporter les résultats en ouvrant un rapport de bug sur le [http://bts.openflyers.org BTS]. Pour cela, il est pratique de procéder par [[#Copier/Coller_dans_une_fenêtre_en_ligne_de_commande|copier/coller]].&lt;br /&gt;
*Dans la fenêtre en ligne de commande taper ce qui suit (en remplaçant '''structure''' par le sous-domaine correspondant à votre structure) :&lt;br /&gt;
&amp;lt;bash&amp;gt;ping structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
La réponse normale est pour OpenFlyers 3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of3.openflyers.net [87.98.143.237] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.143.237 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of3.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.143.237&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 2.1 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur8-of21.openflyers.net [87.98.145.26] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.145.26 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur8-of21.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.145.26&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 1.3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of1.openflyers.net [178.33.105.217] avec 32 octets de données :&lt;br /&gt;
 Réponse de 178.33.105.217 : octets=32 temps=41 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of1.openflyers.net&amp;quot; ou &amp;quot;Réponse de 178.33.105.217&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
====Tests plus poussés====&lt;br /&gt;
*Faire un :&lt;br /&gt;
&amp;lt;bash&amp;gt;nslookup structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Et un :&lt;br /&gt;
&amp;lt;bash&amp;gt;tracert structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Faire le test avec '''dig +trace''' :&lt;br /&gt;
&amp;lt;bash&amp;gt;dig +trace structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
Sous Windows, il faudra au préalable récupérer l'utilitaire (par exemple dans un package [http://www.isc.org./downloads bind]). Une fois télécharger le package, il faut copier/coller le programme dig ainsi que les fichiers .dll dans un répertoire commun et se positionner dans ce répertoire depuis la fenêtre en ligne de commandes avec la commande dir '''&amp;quot;nom du chemin du répertoire&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
====Tester les résolutions DNS sous Mac====&lt;br /&gt;
De plus, nous disposons de commandes plus puissantes qui permettent d'avoir d'avantage d'informations :&lt;br /&gt;
*cat /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
===Vérifier la configuration de résolution des DNS===&lt;br /&gt;
====Vérifier la configuration de résolution des DNS sous Windows====&lt;br /&gt;
Si vous avez un problème de résolution DNS sous windows, il peut être utile de vérifier que la résolution DNS est dynamique :&lt;br /&gt;
#Double-cliquer sur la connexion réseau concernée (par exemple le symbole &amp;quot;WIFI&amp;quot;)&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot; dans l'onglet &amp;quot;Général&amp;quot; de l'&amp;quot;Etat de Connexion réseau sans fil&amp;quot; (si WIFI))&lt;br /&gt;
#Sélectionner &amp;quot;Protocole internet TCP/IP&amp;quot;&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot;&lt;br /&gt;
#Vérifier qu'est sélectionné &amp;quot;Obtenir les adresses des serveurs DNS automatiquement&amp;quot;. (si ce n'est pas le cas, modifier).&lt;br /&gt;
#En dernier ressort, [[#Changer de serveur DNS|Changer de serveur DNS]] ou [[#Forcer_les_DNS|Forcer les DNS]].&lt;br /&gt;
&lt;br /&gt;
===Nous communiquer les adresses IP des serveurs DNS===&lt;br /&gt;
====Nous communiquer les adresses IP des serveurs DNS sous Windows====&lt;br /&gt;
#[[#Ouvrir_une_fenêtre_en_ligne_de_commande|Ouvrir une fenêtre en ligne de commande]]&lt;br /&gt;
#Taper : '''ipconfig /all'''&lt;br /&gt;
Les adresses IP des serveurs DNS se trouvent au droit de '''Serveurs DNS'''&lt;br /&gt;
&lt;br /&gt;
===Changer de serveur DNS===&lt;br /&gt;
Si vous rencontrez un problème de résolution de DNS avec votre fournisseur d'accès, vous pouvez changer les serveurs qui effectue la résolution des DNS pour votre accès.&lt;br /&gt;
====Changer de serveur DNS sous Mac====&lt;br /&gt;
*Dans '''Préférences Systèmes''', choisir '''Réseau''', puis une fois la bonne carte réseau sélectionnée, appuyer sur Avancé.&lt;br /&gt;
*Dans la fenêtre qui apparaît, aller sur l'onglet '''DNS''' et dans '''Serveurs DNS''' appuyer sur le + pour ajouter '''8.8.8.8''' et une autre fois pour ajouter '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Il ne reste plus qu'à '''Appliquer''' et à tester.&lt;br /&gt;
&lt;br /&gt;
====Changer de serveur DNS sous Windows XP====&lt;br /&gt;
*'''Démarrer &amp;gt; Connexions''' puis cliquer sur la connexion réseau active (par exemple la connexion WIFI)&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*Sélectionner '''Protocole Internet (TCP/IP)'''&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*En général, en bas de la fenêtre '''Propriétés de Protocole Internet (TCP/IP)''' la configuration active est : '''Obtenir les adresses des serveurs DNS automatiquement'''&lt;br /&gt;
*Cocher '''Utiliser l'adresse de serveur DNS suivante :'''&lt;br /&gt;
*Pour '''Serveur DNS préféré''', saisir '''8.8.8.8'''&lt;br /&gt;
*Pour '''Serveur DNS auxiliaire''', saisir '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''Fermer'''&lt;br /&gt;
&lt;br /&gt;
===Forcer les DNS===&lt;br /&gt;
====Forcer les DNS sous Windows====&lt;br /&gt;
Attention, avec Vista, il faut appliquer une [[#Particularité_avec_Windows_Vista|procédure préalable]].&lt;br /&gt;
*Il est possible de résoudre ce problème de DNS en éditant le fichier C:\WINDOWS\system32\drivers\etc\hosts (avec le bloc-notes) en rajoutant la ligne (il faut remplacer structure par le sous-domaine de la plateforme OpenFlyers de votre structure) :&lt;br /&gt;
**Pour OF 1.3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;178.33.105.217 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 2.1 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.145.26 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.143.237  structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Ensuite, il faut relancer votre PC&lt;br /&gt;
*Une fois la connexion correctement effectuée, il est parfois possible de supprimer cette entrée dans le fichier hosts tout en gardant la connexion.&lt;br /&gt;
&lt;br /&gt;
====Particularité avec Windows Vista====&lt;br /&gt;
*Il faut être administrateur pour pouvoir modifier le fichier hosts.&lt;br /&gt;
*Il faut également copier le fichier hosts sur le bureau pour le modifier puis ensuite le recopier dans le bon répertoire (si on édite directement le fichier hosts depuis (system32\drivers\etc\) on ne peut pas le ré-enregistrer).&lt;br /&gt;
&lt;br /&gt;
====Forcer les DNS sous Mac====&lt;br /&gt;
*lancer Terminal (dans Applications/Utilitaires)&lt;br /&gt;
*taper &amp;quot;sudo nano /etc/hosts&amp;quot; (il demande le mot de passe de l'utilisateur qui a les droits admin sur la machine)&lt;br /&gt;
*Ajouter les entrées sur le modèle de la [[#Forcer_les_DNS_sous_Windows|procédure sous Windows]]&lt;br /&gt;
*Faire controle-o pour enregistrer puis controle-x pour quitter&lt;br /&gt;
*Eventuellement, faire &amp;quot;dscacheutil -flushcache&amp;quot; si le changement n'est pas encore pris en compte.&lt;br /&gt;
&lt;br /&gt;
===Ouvrir une fenêtre en ligne de commande===&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
*Aller dans le menu &amp;quot;Démarrer&amp;quot;&lt;br /&gt;
*Puis Tous les programmes/Accessoires&lt;br /&gt;
*Lancer l'&amp;quot;invite de commandes&amp;quot;&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Sous OSX (mac) il faut lancer un Terminal. Pour cela 2 solutions :&lt;br /&gt;
*Taper &amp;quot;terminal&amp;quot; dans spotlight&lt;br /&gt;
ou&lt;br /&gt;
*lancer l'application qui est dans Applications &amp;gt; Utilitaires.&lt;br /&gt;
&lt;br /&gt;
===Copier/Coller dans une fenêtre en ligne de commande===&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
Vous pouvez faire un copier/coller en utilisant le bouton droit de la souris dans la fenêtre de l'invite de commandes puis en choisissant &amp;quot;sélectionner&amp;quot; et ensuite en appuyant sur le bouton gauche et en le laissant appuyer tout en sélectionnant la zone souhaitée)&lt;br /&gt;
&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Pour faire un copier/coller de ces informations et nous les communiquer, il suffit d'utiliser commande-C dans le terminal.&lt;br /&gt;
&lt;br /&gt;
==Restriction d'accès==&lt;br /&gt;
En fonction de la politique de la structure, le paramétrage d'une plateforme OpenFlyers peut entrainer des restrictions lors de la connexion.  Un message s'affiche, à ce moment là, indiquant les raisons de la restriction et le type de restriction. L'intitulé du profil est inchangé une fois connecté mais les droits associés peuvent être restreints. Par exemple, il peut ne plus être possible d'effectuer une réservation ou d'ouvrir une activité (vol).&lt;br /&gt;
&lt;br /&gt;
Ces restrictions peuvent avoir lieu dans les cas suivants :&lt;br /&gt;
*En cas de solde insuffisant.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Gestion_des_comptes|Surpasser la limitation du solde du compte]]. Lorsque l'utilisateur dispose de ce droit et que l'accès devrait être limité à cause du solde de l'un de ses comptes, un message d'alerte sans restriction s'affiche pour indiquer que son solde de compte est inférieur au seuil requis.&lt;br /&gt;
*En cas de validité obsolète.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Généralités|Surpasser les restrictions sur les validités expirées]]. Lorsque l'utilisateur dispose de ce droit, il n'y a pas de message d'alerte pour lui indiquer que l'absence de telle ou telle validité devrait entrainer la restriction de ses droits.&lt;br /&gt;
&lt;br /&gt;
=Activité=&lt;br /&gt;
==Alertes générées lors de la saisie d'une activité==&lt;br /&gt;
&lt;br /&gt;
===[[Facturation des clients#Alertes_générées_par_le_moteur_de_tarification|Alertes générées par le moteur de tarification]]===&lt;br /&gt;
&lt;br /&gt;
===[[#Alertes_lors_d'une_réservation_ou_une_saisie_de_vol|Alertes générées sur les validités]]===&lt;br /&gt;
&lt;br /&gt;
===L'aéronef est déjà en l'air===&lt;br /&gt;
Si en tentant d'ouvrir le vol d'un aéronef, apparait une alerte rouge '''L'aéronef est déjà en l'air''' cela veut dire qu'un vol a déjà ouvert avec cet aéronef. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===La différence entre le temps de vol calculé et le temps de vol saisi est de : X:XX heure(s)===&lt;br /&gt;
Cette alerte est suivie du message :&lt;br /&gt;
&amp;lt;pre&amp;gt;Veuillez contacter votre administrateur à propos de l'incompatibilité entre votre saisie et la formule du temps de vol choisie pour le type d'aéronef : X&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsque la valeur saisie du temps de vol est incompatible avec la valeur calculée par la [[Formules de calcul#Temps_d'activité|formule de calcul de temps de vol]] définie pour l'aéronef X.&lt;br /&gt;
&lt;br /&gt;
En général elle provient du fait que le temps de vol qui avait été calculé automatiquement dans le formulaire lors de la saisie des champs de compteurs départ/arrivée et/ou des heures de départ/arrivée ont été modifiés manuellement.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une telle erreur apparait, vous devez :&lt;br /&gt;
*Essayer de reprendre la saisie et essayer de comprendre pourquoi vous saisissez mal les valeurs dans les champs concernés&lt;br /&gt;
*Si vous n'arrivez pas à comprendre la raison, contacter sans délai un gestionnaire de votre structure afin qu'il vous explique les erreurs que vous commettez lorsque le problème vient d'une saisie erronée ou qu'il analyser lui-même le problème.&lt;br /&gt;
*Si vous êtes vous-même un gestionnaire de la plateforme, vous devez également pousser l'analyse pour comprendre en quoi votre saisie est incompatible avec la formule de calcul et le cas échéant faire effectuer une modification du paramétrage.&lt;br /&gt;
&lt;br /&gt;
Voir également, comment [[#Forcer_la_saisie_d'une_durée_de_vol_incompatible_avec_sa_formule_de_calcul|saisir un temps de vol qui ne respecte pas la formule de calcul]].&lt;br /&gt;
&lt;br /&gt;
===Le pilote X est déjà en l'air===&lt;br /&gt;
Ce message apparait lorsque vous tentez de saisir un vol en ouverture de vol et que le pilote occupant la position X est déjà enregistré sur un vol ouvert, c'est à dire en l'air.&lt;br /&gt;
&lt;br /&gt;
Cette protection permet de ne pas avoir un utilisateur occupé simultanément sur 2 ressources.&lt;br /&gt;
&lt;br /&gt;
S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Seul le type de vol requis dans le cas de la présence d'un second pilote a été sélectionné, vous devez en sélectionner au moins un autre en plus===&lt;br /&gt;
Lors de la saisie d'un vol, cette alerte s'affiche si la configuration de la plateforme nécessite la saisie d'au moins un type de vol supplémentaire en plus du type de vol obligatoire dans le cas de la présence d'un second pilote.&lt;br /&gt;
&lt;br /&gt;
C'est typiquement le cas pour les vols d'instruction où le paramétrage nécessite généralement de préciser un 2ème type de vol comme &amp;quot;local&amp;quot;, &amp;quot;navigation&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
===Vous êtes actuellement en l'air===&lt;br /&gt;
Si en tentant de saisir un vol, l'alerte '''Vous êtes actuellement en l'air''' apparait cela veut dire qu'il y a déjà un vol d'ouvert à votre nom. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Vous ne pouvez ouvrir un vol avec une date de début dépassée===&lt;br /&gt;
Cette protection empêche d'ouvrir une activité avec un horodatage de début antérieur à l'heure actuelle moins 15 minutes.&lt;br /&gt;
&lt;br /&gt;
En général, pour un tel cas, le souhait n'est pas d'ouvrir une activité mais de fermer une activité. Il faut donc penser à passer le champ '''Etat du vol''' en &amp;quot;Retour de vol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Annuler un vol ouvert==&lt;br /&gt;
*Aller sur le planning&lt;br /&gt;
*Cliquer sur le rectangle sur fond bleu correspondant à l'immatriculation de l'aéronef considéré&lt;br /&gt;
*Cliquer sur le bouton '''Annuler le vol''' tout en bas du formulaire.&lt;br /&gt;
&lt;br /&gt;
==Consulter un vol ouvert==&lt;br /&gt;
Pour pouvoir consulter un vol ouvert d'un tiers, il faut disposer du [[Gestion des profils#Gestion_des_vols|droit de &amp;quot;Saisie d'activité pour un tiers&amp;quot;]].&lt;br /&gt;
*Sur le planning de réservation, cliquer sur le rectangle de l'aéronef considéré qui doit être sur fond bleu pour indiquer que l'aéronef est en l'air.&lt;br /&gt;
&lt;br /&gt;
==Saisie d'un vol==&lt;br /&gt;
*Aller dans '''Vols &amp;gt; Saisir un vol''', remplir le formulaire&lt;br /&gt;
*La saisie d'un vol d'une durée inférieure à 15 minutes déclenchera l'affichage d'un message d'avertissement (en orange). Cliquer sur '''Confirmer la validation''' au dessous de ce message pour saisir définitivement le vol.&lt;br /&gt;
*Après la saisie d'un vol, l'utilisateur est renvoyé sur :&lt;br /&gt;
**Le planning lors d'un vol en ouverture&lt;br /&gt;
**Le formulaire de saisie d'un vol lors d'un nouveau vol en fermeture et que le terrain d'arrivée saisie est différent du terrain par défaut de la structure&lt;br /&gt;
**Dans les autres cas, l'[[Documentation utilisateur#Extrait_de_compte|extrait de compte]] de la personne en première place. Si plusieurs comptes sont impactés, c'est le premier compte impacté de la personne qui est choisi.&lt;br /&gt;
**Si l'utilisateur connecté n'a pas le droit de visualiser le compte concerné, alors c'est le carnet de route qui est affiché.&lt;br /&gt;
&lt;br /&gt;
===Forcer la saisie d'une durée de vol incompatible avec sa formule de calcul===&lt;br /&gt;
Un gestionnaire peut forcer la saisie d'un [[#La_différence_entre_le_temps_de_vol_calculé_et_le_temps_de_vol_saisi_est_de_:_X:XX_heure(s)|temps de vol incompatible avec la formule de calcul]] associée au type d'aéronef pour lequel on souhaite saisir un vol.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il doit :&lt;br /&gt;
*Saisir le vol en modification le compteur arrivé de sorte à obtenir le temps de vol souhaité.&lt;br /&gt;
*[[Gestion des ressources#Changer_la_valeur_du_compteur_en_cours|Changer la valeur du compteur en cours]] de l'aéronef.&lt;br /&gt;
&lt;br /&gt;
Dans le cas où plusieurs vols successifs doivent être saisis, il est alors judicieux de ne mettre à jour le compteur de l'aéronef qu'une que tous les vols ont été saisis.&lt;br /&gt;
&lt;br /&gt;
=Comptabilité=&lt;br /&gt;
&lt;br /&gt;
==Alertes générées lors de la [[Utilisation de la comptabilité#Saisie_d'écritures_comptables|saisie d'écritures comptables]]==&lt;br /&gt;
&lt;br /&gt;
===Les comptes n'ont pas la même comptabilité===&lt;br /&gt;
Cette alerte apparait lors d'une [[Comptabilité#Comptabilités_multiples|comptabilité multiple]] : Le compte débité et le compte crédité doivent être issues de la même comptabilité.&lt;br /&gt;
&lt;br /&gt;
==Créditer son compte utilisateur==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Approvisionner'''&lt;br /&gt;
*Si vous disposez de droit de gestion comptable, choisir dans le champ '''Encaissement de l'utilisateur''' le nom de l'utilisateur concerné&lt;br /&gt;
*Si vous disposez de plusieurs comptes sur lesquels vous pouvez choisir où ventiler votre encaissement, choisir dans le champ '''Compte à créditer''' le nom du compte concerné&lt;br /&gt;
*Dans le champ '''Type de règlement''', sélectionner le type de règlement&lt;br /&gt;
*Si vous effectuez un paiement avec une remise à une personne physique, vous devez préciser le nom de cette personne dans le champ '''Personne qui reçoit'''&lt;br /&gt;
*Dans le champ, montant indiquer le montant de votre paiement.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
Dans le cas où le type de paiement est un paiement par carte bancaire en ligne mis en place par votre structure, alors êtes redirigé sur le terminal de paiement électronique de la banque de votre structure. Il vous faut alors saisir les informations de votre carte bancaire. Il est possible que le terminal de paiement électronique supporte le &amp;quot;[[Wikipedia-fr:3-D_Secure|3-D Secure]]&amp;quot; qui implique un contrôle renforcé. Dans ce cas, c'est votre propre banque qui vous demandera des informations complémentaires pour confirmer que c'est bien vous qui êtes à l'origine de la demande de paiement par carte bancaire.&lt;br /&gt;
&lt;br /&gt;
==Extrait de compte==&lt;br /&gt;
'''OpenFlyers''' offre la possibilité à un utilisateur de consulter des extraits de compte : C'est un rapport permettant de visualiser le détail des écritures comptables effectuées sur une période (une année complète ou un mois d'une année) d'un compte ou de tous les comptes d'une comptabilité donnée. Si la gestion des budgets est activée, il est possible de filtrer l'affichage des écritures selon les budgets.&lt;br /&gt;
&lt;br /&gt;
Dès qu'il y a plus de 50 écritures à afficher pour un extrait de compte, la liste des écritures est paginée pour afficher 50 écritures par page.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est validée, les montants au débit et au crédit sont affichés en noir gras.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est non validée, les montants au débit et au crédit sont affichés en vert gras. En fonction du [[Gestion des profils|profil et de ses droits]], une colonne '''Actions''' peut apparaître avec des icônes pour permettre de modifier ou supprimer une écriture non validée selon [[Gestion-des-écritures-comptables#Types-d'écritures-comptable-générées-par-OpenFlyers|le type d'écriture comptable qui est générée]].&lt;br /&gt;
&lt;br /&gt;
===Colonne &amp;quot;Numéro de pointage ou de facture&amp;quot;===&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_fournisseur|facture fournisseur]], la colonne affiche le numéro de pointage.&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_client|facture client]] et que l'utilisateur dispose du [[Gestion des profils#Gestion_des_comptes|droit de '''Gestion des comptes''']] ou que la facture à afficher lui est destinée :&lt;br /&gt;
**Pour une écriture non-validée, la colonne affiche les icônes [[Fichier:IconHTML.png]] qui amènent aux factures pro-format associées.&lt;br /&gt;
**Pour une écriture validée, la colonne affiche les icônes [[Fichier:IconPDF.png]] qui amène aux factures PDF associées.&lt;br /&gt;
*:Dans le cas contraire, ce sont les numéros des factures qui sont affichés à la place des icônes.&lt;br /&gt;
&lt;br /&gt;
La colonne affiche &amp;quot;--&amp;quot; lorsqu'il s'agit d'une écriture :&lt;br /&gt;
* D'[[Écritures comptables#Saisie_d'un_encaissement_(d'un_client)|encaissement client]].&lt;br /&gt;
* De [[Écritures comptables#Les_4_grands_types_d'écritures|flux]].&lt;br /&gt;
* De [[Écritures comptables#Saisie_d'une_facture_client|facture client]] n'ayant pas de facture associée.&lt;br /&gt;
&lt;br /&gt;
==Imprimer un extrait de compte==&lt;br /&gt;
*Afficher l'extrait de compte souhaité&lt;br /&gt;
*[[Trucs et astuces#Imprimer_avec_un_navigateur|Imprimer avec la commande du navigateur]]&lt;br /&gt;
&lt;br /&gt;
==Transférer de l'argent==&lt;br /&gt;
Selon les droits accordés aux utilisateurs par la structure, il peut être possible d'effectuer un transfert d'argent depuis son compte vers le compte d'un autre utilisateur en suivant la procédure suivante :&lt;br /&gt;
*Aller sur '''Comptes &amp;gt;Transférer'''&lt;br /&gt;
*Dans le champ '''Compte à créditer''' choisir le nom de la personne concernée&lt;br /&gt;
*Dans le champ '''Montant''', saisir le montant que l'on souhaite transférer&lt;br /&gt;
*Remplir éventuellement le champ '''Commentaires'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' : '''Attention''' cette opération est irrévocable et une fois que vous aurez validé, il ne sera pas possible de supprimer le virement. Si vous souhaitez faire annuler l'opération, il faudra contacter la personne recevant l'argent pour qu'elle fasse à son tour un transfert sur votre compte.&lt;br /&gt;
&lt;br /&gt;
=E-mails automatiques=&lt;br /&gt;
==Alertes par e-mail uniquement sur les plateformes de production==&lt;br /&gt;
Les [[Configuration de la comptabilité#Paramétrage_général_des_comptabilités|e-mails d'alertes de solde]] ou de [[#E-mail-de-rappel-de-réservation|rappel des réservations]] ne sont pas envoyés sur les plateformes qui ne sont pas en production afin de ne pas polluer les messageries des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Les différentes notifications d'e-mail de réservation sont paramétrables du côté de [[#Affichage-et-fiche-personnelle|la fiche utilisateur]].&lt;br /&gt;
&lt;br /&gt;
==E-mail d'annulation de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une annulation de réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une annulation de réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est le même que pour l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]].&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Notification d'annulation de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est annulée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les annulations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails d'annulation en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_annulées&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de mise en maintenance==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une mise en maintenance sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une mise en maintenance sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** la ressource mise en maintenance&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de maintenance si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération de maintenance&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
La mise en maintenance pour le type-de-ressource F-ABCD du 01/04/2015 à 08:00 au 01/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Remplacement roue est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de notification de réservation==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot;Confirmation d'une nouvelle réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration. Confirmation d'une nouvelle réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Notification de création de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** le type de ressource et la ressource réservés&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en seconde place si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération sur la réservation&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-par-e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ceci est une notification de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Rappel d'une réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Rappel d'une réservation sur OpenFlyers sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du corps de l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]] où les dates sont sous le format &amp;quot;JJ/MM/AAAA/MM à HHhMM&amp;quot; et sous le fuseau horaire de l'utilisateur recevant l'e-mail&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail :&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 2015/04/01 à 08h00 au 2015/04/01 à 09h00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pièce jointe de synchronisation des réservations avec un calendrier==&lt;br /&gt;
Sur les plateformes où l'option est activée, tout email de réservation (création, modification et suppression) contient, en pièce jointe, un fichier de synchronisation. Ce fichier permet d'ajouter, modifier ou supprimer la réservation dans une application de gestion de calendrier selon l'opération effectuée sur OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Le fichier, envoyé au format '''ics''', peut être ouvert avec des applications comme '''Microsoft Outlook''', '''Google Calendar''' ou '''iCalendar''' par exemple. Lors de son ouverture, le calendrier sera mis à jour.&lt;br /&gt;
&lt;br /&gt;
Plusieurs informations de la réservation sont attachées à ce fichier :&lt;br /&gt;
*La date et heure de début&lt;br /&gt;
*La date et heure de fin&lt;br /&gt;
*Le lieu (le terrain de départ s'il est renseigné lors de la création de la réservation)&lt;br /&gt;
*La ressource et le nom de la personne en place gauche, constituant le '''nom du fichier'''&lt;br /&gt;
&lt;br /&gt;
Ces différentes informations permettent de définir l'événement dans le calendrier. Ainsi, les dates de début et de fin, le lieu, le nom de la personne et la ressource seront affichés dans l'application de gestion de calendrier.&lt;br /&gt;
&lt;br /&gt;
=Ergonomie=&lt;br /&gt;
==Optimiser la navigation dans OpenFlyers==&lt;br /&gt;
&lt;br /&gt;
===Navigation par onglet===&lt;br /&gt;
Afin d'avoir à disposition les différentes pages dont vous avez besoin pour effectuer une action, il est possible d'afficher chacune d'entre elles dans un [[Wikipedia-fr:Onglet_%28informatique%29|onglet]] du navigateur.&lt;br /&gt;
Lorsque vous effectuez un clic gauche sur un lien situé dans une page donnée pour accéder à une autre page, la page initiale est remplacée par la page de destination. Ce qui rend fastidieux la réalisation des tâches nécessitant un accès répétitif à certaines pages.&lt;br /&gt;
&lt;br /&gt;
===Clic droit et clic molette===&lt;br /&gt;
Afin de gagner en efficacité et en confort d'utilisation, pensez à utiliser les autres boutons de la souris qui vous permettent d'ouvrir une page dans un '''nouvel onglet'''. Pour cela il existe deux méthodes lorsqu'on survole un lien dans un navigateur Internet pour ouvrir la page de destination dans un nouvel onglet :&lt;br /&gt;
*'''Le clic droit :''' il permet d'afficher un menu contextuel qui contient une action nommée « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
*'''Le clic molette :''' il est encore plus efficace que le clic droit, car il correspond directement à l'action « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
&lt;br /&gt;
Normalement le clic molette est configuré pour cette action. Dans le cas contraire, il faut [[Trucs et astuces#Modifier_le_comportement_la_souris|en modifier le comportement]].&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-1.png]]&lt;br /&gt;
&lt;br /&gt;
L'exemple suivant explique comment modifier successivement les validités de plusieurs utilisateurs :&lt;br /&gt;
*Dans un premier onglet, ouvrir le tableau présentant la liste des utilisateurs.&lt;br /&gt;
[[Fichier:OF3.5-clics-2.png]]&lt;br /&gt;
*Effectuer un '''clic droit''' ou '''clic molette''' sur le pictogramme des validités pour déplier un second onglet.&lt;br /&gt;
[[Fichier:OF3.5-clics-3.png]]&lt;br /&gt;
*Effectuer et enregistrer les modifications dans le second onglet, présentant les validités d'un utilisateur.&lt;br /&gt;
[[Fichier:OF3.5-clics-4.jpg]]&lt;br /&gt;
*Replier le second onglet en cliquant sur la croix ou en pressant '''CTRL + W'''.&lt;br /&gt;
[[Fichier:OF3.5-clics-5.png]]&lt;br /&gt;
*Retour au premier onglet, présentant la liste des utilisateurs. Répéter les opérations du 2 au 4 pour les autres utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
Il est possible de naviguer rapidement d'un onglet à l'autre sans utiliser la souris en utilisant simplement les raccourcis clavier : '''CTRL + TAB''' pour avancer d'un onglet ou '''CTRL + SHIFT + TAB''' pour reculer d'un onglet.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-6.png]]&lt;br /&gt;
&lt;br /&gt;
=Fiche utilisateur (Données)=&lt;br /&gt;
==Affichage et fiche personnelle==&lt;br /&gt;
===Affichage du menu contextuel===&lt;br /&gt;
Le menu contextuel et un menu déroulant qui apparait lors du survol d'une réservation ou d'un vol ouvert. Ce menu contextuel peut apparaitre :&lt;br /&gt;
*soit automatiquement&lt;br /&gt;
*soit par un clic droit de la souris&lt;br /&gt;
Ce paramétrage est personnalisable pour chaque utilisateur :&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Cocher ou décocher '''N'afficher la description des réservations qu'avec le bouton droit de la souris''' selon le comportement souhaité&lt;br /&gt;
*Cliquer sur le bouton '''Sauver''' tout en bas du formulaire&lt;br /&gt;
&lt;br /&gt;
===Choisir l'unité de temps===&lt;br /&gt;
Chaque utilisateur peut choisir l'unité de temps qui sert à afficher les heures.&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Choisir dans le champ '''Unité de temps''' parmi :&lt;br /&gt;
**heures minutes&lt;br /&gt;
**heures centièmes&lt;br /&gt;
**heures dixièmes&lt;br /&gt;
*Appuyer sur le bouton '''Sauver'''.&lt;br /&gt;
&lt;br /&gt;
===Etre informé des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]] par email===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par email des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
===Editer sa photo===&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
* L'import ou la suppression d'une photo requiert le droit [[Gestion-des-profils#Généralités|Editer sa photo]]. Ce droit n'est pas nécessaire pour rendre sa photo visible pour tous&lt;br /&gt;
&lt;br /&gt;
===Notification de la maintenance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_mise_en_maintenance|e-mail des réservations de maintenance]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_notification_de_réservation|e-mail des réservations créées ou modifiées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations annulées===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_d'annulation_de_réservation|e-mail des réservations annulées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Rappel des réservations de 2 jours d'avance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin de recevoir ou non par [[#E-mail_de_rappel_de_réservation|e-mail un rappel de réservation]].&lt;br /&gt;
&lt;br /&gt;
Les rappels sont envoyés entre 0h et 6h au fuseau Europe/Paris pour les réservations ayant une ressource d'assignée et débutant entre 2 et 3 jours après.&lt;br /&gt;
&lt;br /&gt;
Les [[#Alertes_par_e-mail_uniquement_sur_les_plateformes_de_production|rappels ne sont effectifs que sur les plateformes en production]].&lt;br /&gt;
&lt;br /&gt;
===Rappel des réservations de la journée par email===&lt;br /&gt;
&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin de recevoir ou non par [[#E-mail_de_rappel_de_réservation|email un rappel de réservation]].&lt;br /&gt;
&lt;br /&gt;
Les rappels sont envoyés entre 0h et 6h au fuseau Europe/Paris pour les réservations ayant une ressource d'assignée et débutant la veille.&lt;br /&gt;
&lt;br /&gt;
Les [[#Alertes_par_e-mail_uniquement_sur_les_plateformes_de_production|rappels ne sont effectifs que sur les plateformes en production]].&lt;br /&gt;
&lt;br /&gt;
===Recevoir un e-mail pour toute réservation===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
Lorsque l'utilisateur dispose d'un profil avec le droit [[Gestion des profils#Réservation|Alertable par e-mail pour toute réservation]], apparait une case à cocher '''Recevoir un e-mail pour toute réservation'''.&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par e-mail lorsqu'une nouvelle réservation est créée par n'importe quel utilisateur.&lt;br /&gt;
&lt;br /&gt;
==[[Champs additionnels]]==&lt;br /&gt;
En plus des champs habituels, des [[Champs-additionnels|champs additionnels]] spécifiques à la structure peuvent apparaître dans la fiche personnelle. &lt;br /&gt;
&lt;br /&gt;
Ils sont affichés [[Gestion-des-profils#Champ-additionnel-du-formulaire-utilisateur-visible-par-le-profil|si les droits sont attribués par l'administrateur]] et permettent d'activer des fonctionnalités supplémentaires.&lt;br /&gt;
&lt;br /&gt;
==(In)disponibilités==&lt;br /&gt;
Lorsque vous êtes intervenant (formateur, instructeur, moniteur, mécanicien, etc.), vous pouvez gérer vos disponibilités en allant dans '''Données &amp;gt; (in)disponibilités'''&lt;br /&gt;
&lt;br /&gt;
Il existe deux types de disponibilités :&lt;br /&gt;
:Les disponibilités régulières qui reviennent chaque semaine, par exemple : le lundi de 9h00 à 18h00.&lt;br /&gt;
:Les disponibilités exceptionnelles (ou les indisponibilités exceptionnelles) sont ponctuelles : présent (ou absent) le 1er décembre de 8h00 à 12h00.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez cumuler ces modes pour avoir une flexibilité maximum. &lt;br /&gt;
&lt;br /&gt;
:Exemple :&lt;br /&gt;
::- disponible du Lundi 8 h 00 au Mercredi 19 h 00 en permanent&lt;br /&gt;
::- disponible du Vendredi 8 h 00 au Samedi 19 h 00 en permanent&lt;br /&gt;
::- Absent du 15 Juillet au 30 Juillet pour raison de congé&lt;br /&gt;
:Attention à ne pas créer des incohérences.&lt;br /&gt;
&lt;br /&gt;
De même, si vous faites une pause déjeuner, il faut créer des disponibilités par demi-journées pour chaque jour concerné, en présence régulière en créant une disponibilité tous les jours de 9h à 12h et une disponibilité tous les jours de 14h à 18h (par ex.).&lt;br /&gt;
&lt;br /&gt;
Il est possible de créer une disponibilité permanente : Pour cela, créez une disponibilité régulière sur le même jour, avec une heure de début et de fin identique. Par exemple, disponible du &amp;quot;Lundi 0h00 au Lundi 0h00&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
En cas de problème, affichez la liste des disponibilités et supprimez tous les créneaux puis reconstruisez les disponibilités.&lt;br /&gt;
&lt;br /&gt;
==Réinitialiser son mot de passe==&lt;br /&gt;
Attention, lorsqu'un mot de passe est perdu vous n'avez que trois tentatives possibles pour le retrouver. A la 4ème tentative un compteur exponentiel s'active pour éviter les robots créés par les pirates de tenter d'accéder aux plateformes par des [[Wikipedia-fr:Attaque_par_force_brute|attaques par force brute]].&lt;br /&gt;
&lt;br /&gt;
Par contre, vous pouvez ré-initialiser votre mot de passe depuis la page d'accueil de votre plateforme OpenFlyers :&lt;br /&gt;
*Cliquez sur le lien '''Mot de passe oublié ?'''&lt;br /&gt;
*Dans le formulaire '''Demande de réinitialisation du mot de passe''', remplissez le champ '''Identifiant''' avec votre nom d'utilisateur utilisé pour la connexion sur l'application OpenFlyers&lt;br /&gt;
*Cliquez sur le bouton '''Enregistrer'''&lt;br /&gt;
*Si le nom d'utilisateur est présent en base de données, alors le message suivant doit s'afficher :&lt;br /&gt;
'''Merci, un e-mail a été envoyé à l'adresse du compte nom-utilisateur. Cliquez sur le lien dans l'email afin de poursuivre la réinitialisation du mot de passe.'''&lt;br /&gt;
*Récupérez l'e-mail dans votre messagerie, il s'intitule :&lt;br /&gt;
'''[nom-de-la-plateforme] Demande de réinitialisation du mot de passe à XXhXX (UTC)'''&lt;br /&gt;
et contient les éléments suivants :&lt;br /&gt;
&amp;lt;pre&amp;gt;Jean DUPONT,&lt;br /&gt;
&lt;br /&gt;
Une demande de réinitialisation de mot de passe a été effectué.&lt;br /&gt;
Pour poursuivre l'opération, cliquez ici.&lt;br /&gt;
Si vous n'avez pas fait la demande, veuillez ignorer l'email.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez également saisir ou copier le lien suivant dans votre navigateur internet afin d'accéder à la page de réinitilisalisation de mot de passe :&lt;br /&gt;
http://openflyers.com/nom-de-la-plateforme/index.php?menuAction=password_reset&amp;amp;token=154551560257977557617df&lt;br /&gt;
&lt;br /&gt;
L'équipe OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' L'email est valide uniquement pendant '''une heure''' après la demande de réinitialisation de mot de passe. Passé ce délai, le lien indiqué dans l'email ne sera plus valide. Il sera donc nécessaire de refaire une '''nouvelle demande''' de réinitialisation de mot de passe.&lt;br /&gt;
&lt;br /&gt;
*Cliquez sur la partie du texte correspondant au lien coloré ou copiez dans votre navigateur internet lien contenu à la fin de l'e-mail pour retourner sur la page de réinitialisation de mot de passe&lt;br /&gt;
*Dans le 2ème formulaire intitulé '''Réinitialisation du mot de passe''', renseignez les champs :&lt;br /&gt;
**'''Réinitialisation du mot de passe''' avec votre nouveau mot de passe&lt;br /&gt;
**'''Répétition du mot de passe''' avec la confirmation de votre nouveau mot de passe&lt;br /&gt;
*Cliquez sur le bouton '''Réinitialiser'''&lt;br /&gt;
&lt;br /&gt;
Après avoir réinitialisé votre mot de passe, l'application vous connecte automatiquement en vous redirigeant sur la page du planning.&lt;br /&gt;
&lt;br /&gt;
=Planning=&lt;br /&gt;
==Codes couleurs==&lt;br /&gt;
[[Fichier:Codes couleurs.png]]&lt;br /&gt;
&lt;br /&gt;
==Éphémérides==&lt;br /&gt;
Nous calculons les éphémérides d'après les définitions officielles.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les heures de lever et de coucher du soleil correspondent au passage du centre du soleil sous l'horizon, c'est à dire lorsque le centre du soleil est situé 3 degrés sous l'horizon. En effet, il est considéré, en première approximation que le soleil a un diamètre apparent de 6 degrés.&lt;br /&gt;
&lt;br /&gt;
Les heures du jour et de la nuit aéronautique correspondent au passage du soleil 6 degrés sous l'horizon. Il s'agit de la définition officielle, aussi bien française, qu'internationale (OACI). Notre formule de calcul est validée pour les latitudes inférieures à 65 degrés. Sa précision est de l'ordre de la minute sous des latitudes inférieures à 50 degrés. La précision diminue au fur et à mesure que la latitude augmente, c'est à dire que l'on se rapproche des pôles.&lt;br /&gt;
&lt;br /&gt;
Conséquence du calcul : les résultats trouvés ne correspondent pas à la simple addition de + ou - 30 minutes. Mais il n'a jamais été écrit dans un texte officiel que la journée aéronautique commençait au lever du soleil moins trente minutes, et que la nuit aéronautique commençait au coucher du soleil plus trente minutes. Dans la règlementation française, il est admis d'utiliser + ou - 30 minutes pour faire les calculs sous des latitudes comprises entre 30 et 60 degrés et 15 minutes sous les latitudes inférieures à 30 degrés). Pour l'Europe, voir le [http://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32012R0923&amp;amp;from=EN Règlement n°923/2012 concernant les Standardised European Rules of the Air) - Article 2 - Définition 97]. Pour la France voir la [http://www.developpement-durable.gouv.fr/IMG/pdf/SERA_RCA_consolide.pdf version consolidée des règles de l'air, définition de la &amp;quot;Nuit&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
Mises en garde :&lt;br /&gt;
*Le programme calcule les heures à partir des coordonnées géographiques de l'aérodrome indiqué comme étant la base aéronautique de la plateforme OpenFlyers considérée. Si les heures sont erronées, il faut contacter l'administrateur OpenFlyers de la plateforme afin qu'il vérifie le code OACI renseigné pour la plateforme.&lt;br /&gt;
*Certains pays n'utilisent pas la nuit aéronautique et ne permettent pas le vol en dehors du lever et du coucher du soleil. D'autres pays utilisent d'autres types de définition pour déterminer si le vol est de jour ou de nuit comme notamment une référence à la luminosité réelle mesurée.&lt;br /&gt;
&lt;br /&gt;
Remarque :&lt;br /&gt;
*Si l'utilisateur ne souhaite pas utiliser la définition réelle mais une approximation, comme le fait d'ajouter ou retrancher 30 minutes, il suffit d'effectuer l'opération de calcul à partir des heures de lever ou de coucher du soleil.&lt;br /&gt;
&lt;br /&gt;
=Rapports=&lt;br /&gt;
Tous les rapports sont regroupés sur une même page qui est accessible depuis '''Données &amp;gt; Rapports''' ou côté admin '''Rapports &amp;gt; Structure &amp;gt; Visualiser''' (si on dispose d'un droit spécifique).&lt;br /&gt;
&lt;br /&gt;
Cette page est constituée de 2 parties :&lt;br /&gt;
*Une liste de champs dans le formulaire général&lt;br /&gt;
*Une liste de rapports&lt;br /&gt;
&lt;br /&gt;
Les données qui doivent être saisies dans les champs du formulaire général varient en fonction des rapports.&lt;br /&gt;
&lt;br /&gt;
Les données prises en compte dans les rapports sont affichés dans le titre du rapport au-dessus du tableau de résultat.&lt;br /&gt;
&lt;br /&gt;
Aussi, si on constate que malgré le fait d'avoir préciser une valeur, celle-ci semble ignorer par le rapport, il faut vérifier si cette donnée apparait dans la liste données prises en compte. Si c'est le cas, alors il y a potentiellement un bug. Si ce n'est pas le cas, alors c'est &amp;quot;normal&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
La version 4 d'OpenFlyers proposera une interface différente où on choisira d'abord son rapport et ensuite les données pour les seules variables prises seront demandées.&lt;br /&gt;
&lt;br /&gt;
=Réservations=&lt;br /&gt;
==Immobiliser une ressource==&lt;br /&gt;
Les utilisateurs disposant du droit '''[[Gestion des profils#Réservation|Gestion des disponibilités des ressources]]''' peuvent rendre une ressource indisponible pour un créneau horaire donné. Cela permet d'indiquer aux autres utilisateurs que la ressource considérée n'est pas disponible.&lt;br /&gt;
&lt;br /&gt;
Il n'est pas possible d'avoir plus d'un créneau d'immobilisation sur une même ressource et la même période.&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des validités|Validités]]=&lt;br /&gt;
Un utilisateur peut [[Gestion des profils#Type_de_validité_que_l'utilisateur_peut_gérer|gérer uniquement les validités définies comme telles pour son profil]] en allant dans '''Données &amp;gt; Validités'''.&lt;br /&gt;
&lt;br /&gt;
De plus :&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à ajouter une nouvelle validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à renouveler une validité détenue ou à mettre à jour le '''Code identifiant''', la '''Date d'obtention''', la '''Limite de validité''' (d'une validité non achetable) ou à supprimer une validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]] ou le droit [[Gestion des profils#Généralités|Gestion de ses validités détenues]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à acheter ou renouveler une validité-produit, il doit détenir le droit [[Gestion des profils#Gestionnaire_des_ventes|Achat ventes libres]] et le produit associé à la validité doit être en vente libre.&lt;br /&gt;
&lt;br /&gt;
Pour renouveler une validité détenue, il faut cliquer sur l'icône [[Fichier:Refresh.png]] qui apparaît dans la colonne '''Limite de validité'''.&lt;br /&gt;
&lt;br /&gt;
Remarques :&lt;br /&gt;
*Les validités arrivées à échéance apparaissent sur fond rouge.&lt;br /&gt;
*La mise à jour de la date d'échéance d'une validité réactive automatiquement la cellule de la colonne [[#Données_&amp;gt;_Validités_&amp;gt;_Alertes_?|Alertes ?]].&lt;br /&gt;
*Une validité-produit déjà détenue ne peut pas être supprimée.&lt;br /&gt;
&lt;br /&gt;
==Données &amp;gt; Validités &amp;gt; Alertes ?==&lt;br /&gt;
La colonne '''Alertes ?''' permet à un utilisateur d'activer ou désactiver les rappels à la connexion de ses validités arrivant à expiration ou ayant expirées.&lt;br /&gt;
&lt;br /&gt;
Le champ '''Délai de prévenance en semaines avant chaque échéance''' permet de définir le délai de rappel des validités arrivant à expiration.&lt;br /&gt;
&lt;br /&gt;
==Alertes sur les validités==&lt;br /&gt;
===Alerte à la connexion===&lt;br /&gt;
Les validités contrôlées à la connexion sont uniquement :&lt;br /&gt;
*celles possédées par l'utilisateur qui se connecte et qui sont soumises à échéance&lt;br /&gt;
*les validités à expérience récente.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les validités sans échéance ne sont pas contrôlées.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers affiche un message d'alerte pour les validités dont la date d'échéance est expirée ou va expirer dans un délai inférieur à la période d'alerte définie dans la fiche utilisateur.&lt;br /&gt;
&lt;br /&gt;
L'utilisateur a la possibilité de cliquer sur la case à cocher &amp;quot;Ne plus le rappeler&amp;quot; afin de ne plus avoir de message de rappel. Dans ce cas, lors des connexions ultérieures, il n'aura plus de message de rappel. Il peut cependant réactiver cette alerte en la réactivant dans la colonne &amp;quot;Alertes&amp;quot; de la ligne correspondante dans '''Données &amp;gt; Validités'''. Cette réactivation est automatique lors d'une modification de la validité.&lt;br /&gt;
&lt;br /&gt;
===Alertes lors d'une réservation ou une saisie de vol===&lt;br /&gt;
Les validités périmées apparaissent systématiquement lors de la saisie d'une réservation ou d'un vol comme à la connexion. Leur affichage ne dépend pas du type de ressource. C'est juste un rappel.&lt;br /&gt;
&lt;br /&gt;
Ce rappel est notamment utile lorsqu'une personne effectue une réservation ou une saisie de vol pour le compte d'un tiers. Cela lui permet d'être informé et d'informer ce tiers de sa situation.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15259</id>
		<title>Documentation utilisateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15259"/>
				<updated>2017-07-10T08:13:57Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Alerte à la connexion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de regrouper les informations utiles pour l'ensemble des utilisateurs finaux d'[[Accueil|OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
=Accès à OpenFlyers=&lt;br /&gt;
==Accéder à une plateforme==&lt;br /&gt;
Pour accéder à une plateforme OpenFlyers, il faut entrer son URL dans un navigateur web.&lt;br /&gt;
&lt;br /&gt;
L'URL est ''http://openflyers.com/plateforme/'', où &amp;quot;plateforme&amp;quot; doit être remplacé par le vrai nom de la plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
==Impossible de se connecter à la plateforme OpenFlyers de sa structure==&lt;br /&gt;
Si vous n'arrivez pas à accéder une plateforme OpenFlyers il faut en rechercher la raison. Voici un certain nombre de questions qui peuvent vous permettre de solutionner votre problème :&lt;br /&gt;
*Accédez-vous à la page d'identification de la plateforme OpenFlyers ?&lt;br /&gt;
**Si non, alors il faut regarder la FAQ [[#Page_indisponible|Page indisponible]]&lt;br /&gt;
*Lorsque vous vous identifiez, avez-vous un message de rejet indiquant que votre identifiant et/ou votre mot de passe ne sont pas corrects ?&lt;br /&gt;
**Si oui, alors le problème peut venir du mot de passe qui a changé. Dans ce cas là, vous pouvez ré-initialiser votre mot de passe en suivant la procédure [[#Réinitialiser-son-mot-de-passe|de réinitialisation de mot de passe]]. Cela peut également venir de votre identifiant qui n'est pas bon. Dans ce cas, il faut demander à la personne en charge de la gestion d'OpenFlyers au sein de votre structure aéronautique&lt;br /&gt;
*Une fois connecté, revenez-vous sur la page d'identification lorsque vous changez de page ?&lt;br /&gt;
**Si oui, alors il faut regarder la [[FAQ-utilisateur#Navigation-dans-OpenFlyers|procédure de gestion des cookies du navigateur]].&lt;br /&gt;
Si vous n'êtes dans aucun des cas répertoriés ci-dessus, alors vous pouvez rapporter votre problème en nous envoyant un e-mail et en décrivant le plus précisément possible le problème que vous rencontrez :&lt;br /&gt;
*Navigateur utilisé&lt;br /&gt;
*Système d'exploitation&lt;br /&gt;
*type de PC, smartphone ou tablette&lt;br /&gt;
*Nom du fournisseur d'accès internet&lt;br /&gt;
*Actions effectuées&lt;br /&gt;
*Message d'erreur s'affichant&lt;br /&gt;
&lt;br /&gt;
==Message d'alerte adresse IP bloquée==&lt;br /&gt;
&lt;br /&gt;
Un message d'alerte signalant que '''l'adresse IP est bloquée''' peut apparaître lorsque vous souhaitez vous connecter. Ce message apparaît lorsque vous avez tenté de vous connecter à plusieurs reprises mais que le couple identifiant / mot de passe est incorrect.&lt;br /&gt;
&lt;br /&gt;
Après avoir attendu le temps indiqué par le message d'alerte, vous pouvez tenter de vous reconnecter en faisant attention [[Wikipedia-fr:Sensibilit%C3%A9_%C3%A0_la_casse|à la casse]].&lt;br /&gt;
&lt;br /&gt;
==Page indisponible==&lt;br /&gt;
Si vous n'arrivez pas à accéder à la plateforme OpenFlyers de votre structure, voici une liste d'actions à effectuer :&lt;br /&gt;
*Redémarrer votre ordinateur&lt;br /&gt;
*Redémarrer la &amp;quot;box&amp;quot; ADSL&lt;br /&gt;
*Si cela ne fonctionne toujours pas, il faut [[#Tester_les_résolutions_DNS|tester les résolutions DNS]].&lt;br /&gt;
&lt;br /&gt;
===Tester les résolutions DNS===&lt;br /&gt;
Pour effectuer les tests suivants, il faut ouvrir une fenêtre &amp;quot;[[#Ouvrir_une_fenêtre_en_ligne_de_commande|en ligne de commandes]]&amp;quot;. En cas de problème, il faut nous rapporter les résultats en ouvrant un rapport de bug sur le [http://bts.openflyers.org BTS]. Pour cela, il est pratique de procéder par [[#Copier/Coller_dans_une_fenêtre_en_ligne_de_commande|copier/coller]].&lt;br /&gt;
*Dans la fenêtre en ligne de commande taper ce qui suit (en remplaçant '''structure''' par le sous-domaine correspondant à votre structure) :&lt;br /&gt;
&amp;lt;bash&amp;gt;ping structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
La réponse normale est pour OpenFlyers 3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of3.openflyers.net [87.98.143.237] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.143.237 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of3.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.143.237&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 2.1 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur8-of21.openflyers.net [87.98.145.26] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.145.26 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur8-of21.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.145.26&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 1.3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of1.openflyers.net [178.33.105.217] avec 32 octets de données :&lt;br /&gt;
 Réponse de 178.33.105.217 : octets=32 temps=41 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of1.openflyers.net&amp;quot; ou &amp;quot;Réponse de 178.33.105.217&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
====Tests plus poussés====&lt;br /&gt;
*Faire un :&lt;br /&gt;
&amp;lt;bash&amp;gt;nslookup structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Et un :&lt;br /&gt;
&amp;lt;bash&amp;gt;tracert structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Faire le test avec '''dig +trace''' :&lt;br /&gt;
&amp;lt;bash&amp;gt;dig +trace structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
Sous Windows, il faudra au préalable récupérer l'utilitaire (par exemple dans un package [http://www.isc.org./downloads bind]). Une fois télécharger le package, il faut copier/coller le programme dig ainsi que les fichiers .dll dans un répertoire commun et se positionner dans ce répertoire depuis la fenêtre en ligne de commandes avec la commande dir '''&amp;quot;nom du chemin du répertoire&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
====Tester les résolutions DNS sous Mac====&lt;br /&gt;
De plus, nous disposons de commandes plus puissantes qui permettent d'avoir d'avantage d'informations :&lt;br /&gt;
*cat /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
===Vérifier la configuration de résolution des DNS===&lt;br /&gt;
====Vérifier la configuration de résolution des DNS sous Windows====&lt;br /&gt;
Si vous avez un problème de résolution DNS sous windows, il peut être utile de vérifier que la résolution DNS est dynamique :&lt;br /&gt;
#Double-cliquer sur la connexion réseau concernée (par exemple le symbole &amp;quot;WIFI&amp;quot;)&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot; dans l'onglet &amp;quot;Général&amp;quot; de l'&amp;quot;Etat de Connexion réseau sans fil&amp;quot; (si WIFI))&lt;br /&gt;
#Sélectionner &amp;quot;Protocole internet TCP/IP&amp;quot;&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot;&lt;br /&gt;
#Vérifier qu'est sélectionné &amp;quot;Obtenir les adresses des serveurs DNS automatiquement&amp;quot;. (si ce n'est pas le cas, modifier).&lt;br /&gt;
#En dernier ressort, [[#Changer de serveur DNS|Changer de serveur DNS]] ou [[#Forcer_les_DNS|Forcer les DNS]].&lt;br /&gt;
&lt;br /&gt;
===Nous communiquer les adresses IP des serveurs DNS===&lt;br /&gt;
====Nous communiquer les adresses IP des serveurs DNS sous Windows====&lt;br /&gt;
#[[#Ouvrir_une_fenêtre_en_ligne_de_commande|Ouvrir une fenêtre en ligne de commande]]&lt;br /&gt;
#Taper : '''ipconfig /all'''&lt;br /&gt;
Les adresses IP des serveurs DNS se trouvent au droit de '''Serveurs DNS'''&lt;br /&gt;
&lt;br /&gt;
===Changer de serveur DNS===&lt;br /&gt;
Si vous rencontrez un problème de résolution de DNS avec votre fournisseur d'accès, vous pouvez changer les serveurs qui effectue la résolution des DNS pour votre accès.&lt;br /&gt;
====Changer de serveur DNS sous Mac====&lt;br /&gt;
*Dans '''Préférences Systèmes''', choisir '''Réseau''', puis une fois la bonne carte réseau sélectionnée, appuyer sur Avancé.&lt;br /&gt;
*Dans la fenêtre qui apparaît, aller sur l'onglet '''DNS''' et dans '''Serveurs DNS''' appuyer sur le + pour ajouter '''8.8.8.8''' et une autre fois pour ajouter '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Il ne reste plus qu'à '''Appliquer''' et à tester.&lt;br /&gt;
&lt;br /&gt;
====Changer de serveur DNS sous Windows XP====&lt;br /&gt;
*'''Démarrer &amp;gt; Connexions''' puis cliquer sur la connexion réseau active (par exemple la connexion WIFI)&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*Sélectionner '''Protocole Internet (TCP/IP)'''&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*En général, en bas de la fenêtre '''Propriétés de Protocole Internet (TCP/IP)''' la configuration active est : '''Obtenir les adresses des serveurs DNS automatiquement'''&lt;br /&gt;
*Cocher '''Utiliser l'adresse de serveur DNS suivante :'''&lt;br /&gt;
*Pour '''Serveur DNS préféré''', saisir '''8.8.8.8'''&lt;br /&gt;
*Pour '''Serveur DNS auxiliaire''', saisir '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''Fermer'''&lt;br /&gt;
&lt;br /&gt;
===Forcer les DNS===&lt;br /&gt;
====Forcer les DNS sous Windows====&lt;br /&gt;
Attention, avec Vista, il faut appliquer une [[#Particularité_avec_Windows_Vista|procédure préalable]].&lt;br /&gt;
*Il est possible de résoudre ce problème de DNS en éditant le fichier C:\WINDOWS\system32\drivers\etc\hosts (avec le bloc-notes) en rajoutant la ligne (il faut remplacer structure par le sous-domaine de la plateforme OpenFlyers de votre structure) :&lt;br /&gt;
**Pour OF 1.3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;178.33.105.217 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 2.1 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.145.26 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.143.237  structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Ensuite, il faut relancer votre PC&lt;br /&gt;
*Une fois la connexion correctement effectuée, il est parfois possible de supprimer cette entrée dans le fichier hosts tout en gardant la connexion.&lt;br /&gt;
&lt;br /&gt;
====Particularité avec Windows Vista====&lt;br /&gt;
*Il faut être administrateur pour pouvoir modifier le fichier hosts.&lt;br /&gt;
*Il faut également copier le fichier hosts sur le bureau pour le modifier puis ensuite le recopier dans le bon répertoire (si on édite directement le fichier hosts depuis (system32\drivers\etc\) on ne peut pas le ré-enregistrer).&lt;br /&gt;
&lt;br /&gt;
====Forcer les DNS sous Mac====&lt;br /&gt;
*lancer Terminal (dans Applications/Utilitaires)&lt;br /&gt;
*taper &amp;quot;sudo nano /etc/hosts&amp;quot; (il demande le mot de passe de l'utilisateur qui a les droits admin sur la machine)&lt;br /&gt;
*Ajouter les entrées sur le modèle de la [[#Forcer_les_DNS_sous_Windows|procédure sous Windows]]&lt;br /&gt;
*Faire controle-o pour enregistrer puis controle-x pour quitter&lt;br /&gt;
*Eventuellement, faire &amp;quot;dscacheutil -flushcache&amp;quot; si le changement n'est pas encore pris en compte.&lt;br /&gt;
&lt;br /&gt;
===Ouvrir une fenêtre en ligne de commande===&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
*Aller dans le menu &amp;quot;Démarrer&amp;quot;&lt;br /&gt;
*Puis Tous les programmes/Accessoires&lt;br /&gt;
*Lancer l'&amp;quot;invite de commandes&amp;quot;&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Sous OSX (mac) il faut lancer un Terminal. Pour cela 2 solutions :&lt;br /&gt;
*Taper &amp;quot;terminal&amp;quot; dans spotlight&lt;br /&gt;
ou&lt;br /&gt;
*lancer l'application qui est dans Applications &amp;gt; Utilitaires.&lt;br /&gt;
&lt;br /&gt;
===Copier/Coller dans une fenêtre en ligne de commande===&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
Vous pouvez faire un copier/coller en utilisant le bouton droit de la souris dans la fenêtre de l'invite de commandes puis en choisissant &amp;quot;sélectionner&amp;quot; et ensuite en appuyant sur le bouton gauche et en le laissant appuyer tout en sélectionnant la zone souhaitée)&lt;br /&gt;
&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Pour faire un copier/coller de ces informations et nous les communiquer, il suffit d'utiliser commande-C dans le terminal.&lt;br /&gt;
&lt;br /&gt;
==Restriction d'accès==&lt;br /&gt;
En fonction de la politique de la structure, le paramétrage d'une plateforme OpenFlyers peut entrainer des restrictions lors de la connexion.  Un message s'affiche, à ce moment là, indiquant les raisons de la restriction et le type de restriction. L'intitulé du profil est inchangé une fois connecté mais les droits associés peuvent être restreints. Par exemple, il peut ne plus être possible d'effectuer une réservation ou d'ouvrir une activité (vol).&lt;br /&gt;
&lt;br /&gt;
Ces restrictions peuvent avoir lieu dans les cas suivants :&lt;br /&gt;
*En cas de solde insuffisant.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Gestion_des_comptes|Surpasser la limitation du solde du compte]]. Lorsque l'utilisateur dispose de ce droit et que l'accès devrait être limité à cause du solde de l'un de ses comptes, un message d'alerte sans restriction s'affiche pour indiquer que son solde de compte est inférieur au seuil requis.&lt;br /&gt;
*En cas de validité obsolète.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Généralités|Surpasser les restrictions sur les validités expirées]]. Lorsque l'utilisateur dispose de ce droit, il n'y a pas de message d'alerte pour lui indiquer que l'absence de telle ou telle validité devrait entrainer la restriction de ses droits.&lt;br /&gt;
&lt;br /&gt;
=Activité=&lt;br /&gt;
==Alertes générées lors de la saisie d'une activité==&lt;br /&gt;
&lt;br /&gt;
===[[Facturation des clients#Alertes_générées_par_le_moteur_de_tarification|Alertes générées par le moteur de tarification]]===&lt;br /&gt;
&lt;br /&gt;
===[[#Alertes_lors_d'une_réservation_ou_une_saisie_de_vol|Alertes générées sur les validités]]===&lt;br /&gt;
&lt;br /&gt;
===L'aéronef est déjà en l'air===&lt;br /&gt;
Si en tentant d'ouvrir le vol d'un aéronef, apparait une alerte rouge '''L'aéronef est déjà en l'air''' cela veut dire qu'un vol a déjà ouvert avec cet aéronef. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===La différence entre le temps de vol calculé et le temps de vol saisi est de : X:XX heure(s)===&lt;br /&gt;
Cette alerte est suivie du message :&lt;br /&gt;
&amp;lt;pre&amp;gt;Veuillez contacter votre administrateur à propos de l'incompatibilité entre votre saisie et la formule du temps de vol choisie pour le type d'aéronef : X&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsque la valeur saisie du temps de vol est incompatible avec la valeur calculée par la [[Formules de calcul#Temps_d'activité|formule de calcul de temps de vol]] définie pour l'aéronef X.&lt;br /&gt;
&lt;br /&gt;
En général elle provient du fait que le temps de vol qui avait été calculé automatiquement dans le formulaire lors de la saisie des champs de compteurs départ/arrivée et/ou des heures de départ/arrivée ont été modifiés manuellement.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une telle erreur apparait, vous devez :&lt;br /&gt;
*Essayer de reprendre la saisie et essayer de comprendre pourquoi vous saisissez mal les valeurs dans les champs concernés&lt;br /&gt;
*Si vous n'arrivez pas à comprendre la raison, contacter sans délai un gestionnaire de votre structure afin qu'il vous explique les erreurs que vous commettez lorsque le problème vient d'une saisie erronée ou qu'il analyser lui-même le problème.&lt;br /&gt;
*Si vous êtes vous-même un gestionnaire de la plateforme, vous devez également pousser l'analyse pour comprendre en quoi votre saisie est incompatible avec la formule de calcul et le cas échéant faire effectuer une modification du paramétrage.&lt;br /&gt;
&lt;br /&gt;
Voir également, comment [[#Forcer_la_saisie_d'une_durée_de_vol_incompatible_avec_sa_formule_de_calcul|saisir un temps de vol qui ne respecte pas la formule de calcul]].&lt;br /&gt;
&lt;br /&gt;
===Le pilote X est déjà en l'air===&lt;br /&gt;
Ce message apparait lorsque vous tentez de saisir un vol en ouverture de vol et que le pilote occupant la position X est déjà enregistré sur un vol ouvert, c'est à dire en l'air.&lt;br /&gt;
&lt;br /&gt;
Cette protection permet de ne pas avoir un utilisateur occupé simultanément sur 2 ressources.&lt;br /&gt;
&lt;br /&gt;
S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Seul le type de vol requis dans le cas de la présence d'un second pilote a été sélectionné, vous devez en sélectionner au moins un autre en plus===&lt;br /&gt;
Lors de la saisie d'un vol, cette alerte s'affiche si la configuration de la plateforme nécessite la saisie d'au moins un type de vol supplémentaire en plus du type de vol obligatoire dans le cas de la présence d'un second pilote.&lt;br /&gt;
&lt;br /&gt;
C'est typiquement le cas pour les vols d'instruction où le paramétrage nécessite généralement de préciser un 2ème type de vol comme &amp;quot;local&amp;quot;, &amp;quot;navigation&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
===Vous êtes actuellement en l'air===&lt;br /&gt;
Si en tentant de saisir un vol, l'alerte '''Vous êtes actuellement en l'air''' apparait cela veut dire qu'il y a déjà un vol d'ouvert à votre nom. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Vous ne pouvez ouvrir un vol avec une date de début dépassée===&lt;br /&gt;
Cette protection empêche d'ouvrir une activité avec un horodatage de début antérieur à l'heure actuelle moins 15 minutes.&lt;br /&gt;
&lt;br /&gt;
En général, pour un tel cas, le souhait n'est pas d'ouvrir une activité mais de fermer une activité. Il faut donc penser à passer le champ '''Etat du vol''' en &amp;quot;Retour de vol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Annuler un vol ouvert==&lt;br /&gt;
*Aller sur le planning&lt;br /&gt;
*Cliquer sur le rectangle sur fond bleu correspondant à l'immatriculation de l'aéronef considéré&lt;br /&gt;
*Cliquer sur le bouton '''Annuler le vol''' tout en bas du formulaire.&lt;br /&gt;
&lt;br /&gt;
==Consulter un vol ouvert==&lt;br /&gt;
Pour pouvoir consulter un vol ouvert d'un tiers, il faut disposer du [[Gestion des profils#Gestion_des_vols|droit de &amp;quot;Saisie d'activité pour un tiers&amp;quot;]].&lt;br /&gt;
*Sur le planning de réservation, cliquer sur le rectangle de l'aéronef considéré qui doit être sur fond bleu pour indiquer que l'aéronef est en l'air.&lt;br /&gt;
&lt;br /&gt;
==Saisie d'un vol==&lt;br /&gt;
*Aller dans '''Vols &amp;gt; Saisir un vol''', remplir le formulaire&lt;br /&gt;
*La saisie d'un vol d'une durée inférieure à 15 minutes déclenchera l'affichage d'un message d'avertissement (en orange). Cliquer sur '''Confirmer la validation''' au dessous de ce message pour saisir définitivement le vol.&lt;br /&gt;
*Après la saisie d'un vol, l'utilisateur est renvoyé sur :&lt;br /&gt;
**Le planning lors d'un vol en ouverture&lt;br /&gt;
**Le formulaire de saisie d'un vol lors d'un nouveau vol en fermeture et que le terrain d'arrivée saisie est différent du terrain par défaut de la structure&lt;br /&gt;
**Dans les autres cas, l'[[Documentation utilisateur#Extrait_de_compte|extrait de compte]] de la personne en première place. Si plusieurs comptes sont impactés, c'est le premier compte impacté de la personne qui est choisi.&lt;br /&gt;
**Si l'utilisateur connecté n'a pas le droit de visualiser le compte concerné, alors c'est le carnet de route qui est affiché.&lt;br /&gt;
&lt;br /&gt;
===Forcer la saisie d'une durée de vol incompatible avec sa formule de calcul===&lt;br /&gt;
Un gestionnaire peut forcer la saisie d'un [[#La_différence_entre_le_temps_de_vol_calculé_et_le_temps_de_vol_saisi_est_de_:_X:XX_heure(s)|temps de vol incompatible avec la formule de calcul]] associée au type d'aéronef pour lequel on souhaite saisir un vol.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il doit :&lt;br /&gt;
*Saisir le vol en modification le compteur arrivé de sorte à obtenir le temps de vol souhaité.&lt;br /&gt;
*[[Gestion des ressources#Changer_la_valeur_du_compteur_en_cours|Changer la valeur du compteur en cours]] de l'aéronef.&lt;br /&gt;
&lt;br /&gt;
Dans le cas où plusieurs vols successifs doivent être saisis, il est alors judicieux de ne mettre à jour le compteur de l'aéronef qu'une que tous les vols ont été saisis.&lt;br /&gt;
&lt;br /&gt;
=Comptabilité=&lt;br /&gt;
&lt;br /&gt;
==Alertes générées lors de la [[Utilisation de la comptabilité#Saisie_d'écritures_comptables|saisie d'écritures comptables]]==&lt;br /&gt;
&lt;br /&gt;
===Les comptes n'ont pas la même comptabilité===&lt;br /&gt;
Cette alerte apparait lors d'une [[Comptabilité#Comptabilités_multiples|comptabilité multiple]] : Le compte débité et le compte crédité doivent être issues de la même comptabilité.&lt;br /&gt;
&lt;br /&gt;
==Créditer son compte utilisateur==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Approvisionner'''&lt;br /&gt;
*Si vous disposez de droit de gestion comptable, choisir dans le champ '''Encaissement de l'utilisateur''' le nom de l'utilisateur concerné&lt;br /&gt;
*Si vous disposez de plusieurs comptes sur lesquels vous pouvez choisir où ventiler votre encaissement, choisir dans le champ '''Compte à créditer''' le nom du compte concerné&lt;br /&gt;
*Dans le champ '''Type de règlement''', sélectionner le type de règlement&lt;br /&gt;
*Si vous effectuez un paiement avec une remise à une personne physique, vous devez préciser le nom de cette personne dans le champ '''Personne qui reçoit'''&lt;br /&gt;
*Dans le champ, montant indiquer le montant de votre paiement.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
Dans le cas où le type de paiement est un paiement par carte bancaire en ligne mis en place par votre structure, alors êtes redirigé sur le terminal de paiement électronique de la banque de votre structure. Il vous faut alors saisir les informations de votre carte bancaire. Il est possible que le terminal de paiement électronique supporte le &amp;quot;[[Wikipedia-fr:3-D_Secure|3-D Secure]]&amp;quot; qui implique un contrôle renforcé. Dans ce cas, c'est votre propre banque qui vous demandera des informations complémentaires pour confirmer que c'est bien vous qui êtes à l'origine de la demande de paiement par carte bancaire.&lt;br /&gt;
&lt;br /&gt;
==Extrait de compte==&lt;br /&gt;
'''OpenFlyers''' offre la possibilité à un utilisateur de consulter des extraits de compte : C'est un rapport permettant de visualiser le détail des écritures comptables effectuées sur une période (une année complète ou un mois d'une année) d'un compte ou de tous les comptes d'une comptabilité donnée. Si la gestion des budgets est activée, il est possible de filtrer l'affichage des écritures selon les budgets.&lt;br /&gt;
&lt;br /&gt;
Dès qu'il y a plus de 50 écritures à afficher pour un extrait de compte, la liste des écritures est paginée pour afficher 50 écritures par page.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est validée, les montants au débit et au crédit sont affichés en noir gras.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est non validée, les montants au débit et au crédit sont affichés en vert gras. En fonction du [[Gestion des profils|profil et de ses droits]], une colonne '''Actions''' peut apparaître avec des icônes pour permettre de modifier ou supprimer une écriture non validée selon [[Gestion-des-écritures-comptables#Types-d'écritures-comptable-générées-par-OpenFlyers|le type d'écriture comptable qui est générée]].&lt;br /&gt;
&lt;br /&gt;
===Colonne &amp;quot;Numéro de pointage ou de facture&amp;quot;===&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_fournisseur|facture fournisseur]], la colonne affiche le numéro de pointage.&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_client|facture client]] et que l'utilisateur dispose du [[Gestion des profils#Gestion_des_comptes|droit de '''Gestion des comptes''']] ou que la facture à afficher lui est destinée :&lt;br /&gt;
**Pour une écriture non-validée, la colonne affiche les icônes [[Fichier:IconHTML.png]] qui amènent aux factures pro-format associées.&lt;br /&gt;
**Pour une écriture validée, la colonne affiche les icônes [[Fichier:IconPDF.png]] qui amène aux factures PDF associées.&lt;br /&gt;
*:Dans le cas contraire, ce sont les numéros des factures qui sont affichés à la place des icônes.&lt;br /&gt;
&lt;br /&gt;
La colonne affiche &amp;quot;--&amp;quot; lorsqu'il s'agit d'une écriture :&lt;br /&gt;
* D'[[Écritures comptables#Saisie_d'un_encaissement_(d'un_client)|encaissement client]].&lt;br /&gt;
* De [[Écritures comptables#Les_4_grands_types_d'écritures|flux]].&lt;br /&gt;
* De [[Écritures comptables#Saisie_d'une_facture_client|facture client]] n'ayant pas de facture associée.&lt;br /&gt;
&lt;br /&gt;
==Imprimer un extrait de compte==&lt;br /&gt;
*Afficher l'extrait de compte souhaité&lt;br /&gt;
*[[Trucs et astuces#Imprimer_avec_un_navigateur|Imprimer avec la commande du navigateur]]&lt;br /&gt;
&lt;br /&gt;
==Transférer de l'argent==&lt;br /&gt;
Selon les droits accordés aux utilisateurs par la structure, il peut être possible d'effectuer un transfert d'argent depuis son compte vers le compte d'un autre utilisateur en suivant la procédure suivante :&lt;br /&gt;
*Aller sur '''Comptes &amp;gt;Transférer'''&lt;br /&gt;
*Dans le champ '''Compte à créditer''' choisir le nom de la personne concernée&lt;br /&gt;
*Dans le champ '''Montant''', saisir le montant que l'on souhaite transférer&lt;br /&gt;
*Remplir éventuellement le champ '''Commentaires'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' : '''Attention''' cette opération est irrévocable et une fois que vous aurez validé, il ne sera pas possible de supprimer le virement. Si vous souhaitez faire annuler l'opération, il faudra contacter la personne recevant l'argent pour qu'elle fasse à son tour un transfert sur votre compte.&lt;br /&gt;
&lt;br /&gt;
=E-mails automatiques=&lt;br /&gt;
==Alertes par e-mail uniquement sur les plateformes de production==&lt;br /&gt;
Les [[Configuration de la comptabilité#Paramétrage_général_des_comptabilités|e-mails d'alertes de solde]] ou de [[#E-mail-de-rappel-de-réservation|rappel des réservations]] ne sont pas envoyés sur les plateformes qui ne sont pas en production afin de ne pas polluer les messageries des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Les différentes notifications d'e-mail de réservation sont paramétrables du côté de [[#Affichage-et-fiche-personnelle|la fiche utilisateur]].&lt;br /&gt;
&lt;br /&gt;
==E-mail d'annulation de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une annulation de réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une annulation de réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est le même que pour l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]].&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Notification d'annulation de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est annulée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les annulations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails d'annulation en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_annulées&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de mise en maintenance==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une mise en maintenance sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une mise en maintenance sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** la ressource mise en maintenance&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de maintenance si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération de maintenance&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
La mise en maintenance pour le type-de-ressource F-ABCD du 01/04/2015 à 08:00 au 01/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Remplacement roue est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de notification de réservation==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot;Confirmation d'une nouvelle réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration. Confirmation d'une nouvelle réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Notification de création de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** le type de ressource et la ressource réservés&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en seconde place si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération sur la réservation&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-par-e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ceci est une notification de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Rappel d'une réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Rappel d'une réservation sur OpenFlyers sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du corps de l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]] où les dates sont sous le format &amp;quot;JJ/MM/AAAA/MM à HHhMM&amp;quot; et sous le fuseau horaire de l'utilisateur recevant l'e-mail&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail :&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 2015/04/01 à 08h00 au 2015/04/01 à 09h00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pièce jointe de synchronisation des réservations avec un calendrier==&lt;br /&gt;
Sur les plateformes où l'option est activée, tout email de réservation (création, modification et suppression) contient, en pièce jointe, un fichier de synchronisation. Ce fichier permet d'ajouter, modifier ou supprimer la réservation dans une application de gestion de calendrier selon l'opération effectuée sur OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Le fichier, envoyé au format '''ics''', peut être ouvert avec des applications comme '''Microsoft Outlook''', '''Google Calendar''' ou '''iCalendar''' par exemple. Lors de son ouverture, le calendrier sera mis à jour.&lt;br /&gt;
&lt;br /&gt;
Plusieurs informations de la réservation sont attachées à ce fichier :&lt;br /&gt;
*La date et heure de début&lt;br /&gt;
*La date et heure de fin&lt;br /&gt;
*Le lieu (le terrain de départ s'il est renseigné lors de la création de la réservation)&lt;br /&gt;
*La ressource et le nom de la personne en place gauche, constituant le '''nom du fichier'''&lt;br /&gt;
&lt;br /&gt;
Ces différentes informations permettent de définir l'événement dans le calendrier. Ainsi, les dates de début et de fin, le lieu, le nom de la personne et la ressource seront affichés dans l'application de gestion de calendrier.&lt;br /&gt;
&lt;br /&gt;
=Ergonomie=&lt;br /&gt;
==Optimiser la navigation dans OpenFlyers==&lt;br /&gt;
&lt;br /&gt;
===Navigation par onglet===&lt;br /&gt;
Afin d'avoir à disposition les différentes pages dont vous avez besoin pour effectuer une action, il est possible d'afficher chacune d'entre elles dans un [[Wikipedia-fr:Onglet_%28informatique%29|onglet]] du navigateur.&lt;br /&gt;
Lorsque vous effectuez un clic gauche sur un lien situé dans une page donnée pour accéder à une autre page, la page initiale est remplacée par la page de destination. Ce qui rend fastidieux la réalisation des tâches nécessitant un accès répétitif à certaines pages.&lt;br /&gt;
&lt;br /&gt;
===Clic droit et clic molette===&lt;br /&gt;
Afin de gagner en efficacité et en confort d'utilisation, pensez à utiliser les autres boutons de la souris qui vous permettent d'ouvrir une page dans un '''nouvel onglet'''. Pour cela il existe deux méthodes lorsqu'on survole un lien dans un navigateur Internet pour ouvrir la page de destination dans un nouvel onglet :&lt;br /&gt;
*'''Le clic droit :''' il permet d'afficher un menu contextuel qui contient une action nommée « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
*'''Le clic molette :''' il est encore plus efficace que le clic droit, car il correspond directement à l'action « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
&lt;br /&gt;
Normalement le clic molette est configuré pour cette action. Dans le cas contraire, il faut [[Trucs et astuces#Modifier_le_comportement_la_souris|en modifier le comportement]].&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-1.png]]&lt;br /&gt;
&lt;br /&gt;
L'exemple suivant explique comment modifier successivement les validités de plusieurs utilisateurs :&lt;br /&gt;
*Dans un premier onglet, ouvrir le tableau présentant la liste des utilisateurs.&lt;br /&gt;
[[Fichier:OF3.5-clics-2.png]]&lt;br /&gt;
*Effectuer un '''clic droit''' ou '''clic molette''' sur le pictogramme des validités pour déplier un second onglet.&lt;br /&gt;
[[Fichier:OF3.5-clics-3.png]]&lt;br /&gt;
*Effectuer et enregistrer les modifications dans le second onglet, présentant les validités d'un utilisateur.&lt;br /&gt;
[[Fichier:OF3.5-clics-4.jpg]]&lt;br /&gt;
*Replier le second onglet en cliquant sur la croix ou en pressant '''CTRL + W'''.&lt;br /&gt;
[[Fichier:OF3.5-clics-5.png]]&lt;br /&gt;
*Retour au premier onglet, présentant la liste des utilisateurs. Répéter les opérations du 2 au 4 pour les autres utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
Il est possible de naviguer rapidement d'un onglet à l'autre sans utiliser la souris en utilisant simplement les raccourcis clavier : '''CTRL + TAB''' pour avancer d'un onglet ou '''CTRL + SHIFT + TAB''' pour reculer d'un onglet.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-6.png]]&lt;br /&gt;
&lt;br /&gt;
=Fiche utilisateur (Données)=&lt;br /&gt;
==Affichage et fiche personnelle==&lt;br /&gt;
===Affichage du menu contextuel===&lt;br /&gt;
Le menu contextuel et un menu déroulant qui apparait lors du survol d'une réservation ou d'un vol ouvert. Ce menu contextuel peut apparaitre :&lt;br /&gt;
*soit automatiquement&lt;br /&gt;
*soit par un clic droit de la souris&lt;br /&gt;
Ce paramétrage est personnalisable pour chaque utilisateur :&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Cocher ou décocher '''N'afficher la description des réservations qu'avec le bouton droit de la souris''' selon le comportement souhaité&lt;br /&gt;
*Cliquer sur le bouton '''Sauver''' tout en bas du formulaire&lt;br /&gt;
&lt;br /&gt;
===Choisir l'unité de temps===&lt;br /&gt;
Chaque utilisateur peut choisir l'unité de temps qui sert à afficher les heures.&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Choisir dans le champ '''Unité de temps''' parmi :&lt;br /&gt;
**heures minutes&lt;br /&gt;
**heures centièmes&lt;br /&gt;
**heures dixièmes&lt;br /&gt;
*Appuyer sur le bouton '''Sauver'''.&lt;br /&gt;
&lt;br /&gt;
===Etre informé des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]] par email===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par email des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
===Editer sa photo===&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
* L'import ou la suppression d'une photo requiert le droit [[Gestion-des-profils#Généralités|Editer sa photo]]. Ce droit n'est pas nécessaire pour rendre sa photo visible pour tous&lt;br /&gt;
&lt;br /&gt;
===Notification de la maintenance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_mise_en_maintenance|e-mail des réservations de maintenance]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_notification_de_réservation|e-mail des réservations créées ou modifiées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations annulées===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_d'annulation_de_réservation|e-mail des réservations annulées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Rappel des réservations de 2 jours d'avance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin de recevoir ou non par [[#E-mail_de_rappel_de_réservation|e-mail un rappel de réservation]].&lt;br /&gt;
&lt;br /&gt;
Les rappels sont envoyés entre 0h et 6h au fuseau Europe/Paris pour les réservations ayant une ressource d'assignée et débutant entre 2 et 3 jours après.&lt;br /&gt;
&lt;br /&gt;
Les [[#Alertes_par_e-mail_uniquement_sur_les_plateformes_de_production|rappels ne sont effectifs que sur les plateformes en production]].&lt;br /&gt;
&lt;br /&gt;
===Recevoir un e-mail pour toute réservation===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
Lorsque l'utilisateur dispose d'un profil avec le droit [[Gestion des profils#Réservation|Alertable par e-mail pour toute réservation]], apparait une case à cocher '''Recevoir un e-mail pour toute réservation'''.&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par e-mail lorsqu'une nouvelle réservation est créée par n'importe quel utilisateur.&lt;br /&gt;
&lt;br /&gt;
==[[Champs additionnels]]==&lt;br /&gt;
En plus des champs habituels, des [[Champs-additionnels|champs additionnels]] spécifiques à la structure peuvent apparaître dans la fiche personnelle. &lt;br /&gt;
&lt;br /&gt;
Ils sont affichés [[Gestion-des-profils#Champ-additionnel-du-formulaire-utilisateur-visible-par-le-profil|si les droits sont attribués par l'administrateur]] et permettent d'activer des fonctionnalités supplémentaires.&lt;br /&gt;
&lt;br /&gt;
==(In)disponibilités==&lt;br /&gt;
Lorsque vous êtes intervenant (formateur, instructeur, moniteur, mécanicien, etc.), vous pouvez gérer vos disponibilités en allant dans '''Données &amp;gt; (in)disponibilités'''&lt;br /&gt;
&lt;br /&gt;
Il existe deux types de disponibilités :&lt;br /&gt;
:Les disponibilités régulières qui reviennent chaque semaine, par exemple : le lundi de 9h00 à 18h00.&lt;br /&gt;
:Les disponibilités exceptionnelles (ou les indisponibilités exceptionnelles) sont ponctuelles : présent (ou absent) le 1er décembre de 8h00 à 12h00.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez cumuler ces modes pour avoir une flexibilité maximum. &lt;br /&gt;
&lt;br /&gt;
:Exemple :&lt;br /&gt;
::- disponible du Lundi 8 h 00 au Mercredi 19 h 00 en permanent&lt;br /&gt;
::- disponible du Vendredi 8 h 00 au Samedi 19 h 00 en permanent&lt;br /&gt;
::- Absent du 15 Juillet au 30 Juillet pour raison de congé&lt;br /&gt;
:Attention à ne pas créer des incohérences.&lt;br /&gt;
&lt;br /&gt;
De même, si vous faites une pause déjeuner, il faut créer des disponibilités par demi-journées pour chaque jour concerné, en présence régulière en créant une disponibilité tous les jours de 9h à 12h et une disponibilité tous les jours de 14h à 18h (par ex.).&lt;br /&gt;
&lt;br /&gt;
Il est possible de créer une disponibilité permanente : Pour cela, créez une disponibilité régulière sur le même jour, avec une heure de début et de fin identique. Par exemple, disponible du &amp;quot;Lundi 0h00 au Lundi 0h00&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
En cas de problème, affichez la liste des disponibilités et supprimez tous les créneaux puis reconstruisez les disponibilités.&lt;br /&gt;
&lt;br /&gt;
==Réinitialiser son mot de passe==&lt;br /&gt;
Attention, lorsqu'un mot de passe est perdu vous n'avez que trois tentatives possibles pour le retrouver. A la 4ème tentative un compteur exponentiel s'active pour éviter les robots créés par les pirates de tenter d'accéder aux plateformes par des [[Wikipedia-fr:Attaque_par_force_brute|attaques par force brute]].&lt;br /&gt;
&lt;br /&gt;
Par contre, vous pouvez ré-initialiser votre mot de passe depuis la page d'accueil de votre plateforme OpenFlyers :&lt;br /&gt;
*Cliquez sur le lien '''Mot de passe oublié ?'''&lt;br /&gt;
*Dans le formulaire '''Demande de réinitialisation du mot de passe''', remplissez le champ '''Identifiant''' avec votre nom d'utilisateur utilisé pour la connexion sur l'application OpenFlyers&lt;br /&gt;
*Cliquez sur le bouton '''Enregistrer'''&lt;br /&gt;
*Si le nom d'utilisateur est présent en base de données, alors le message suivant doit s'afficher :&lt;br /&gt;
'''Merci, un e-mail a été envoyé à l'adresse du compte nom-utilisateur. Cliquez sur le lien dans l'email afin de poursuivre la réinitialisation du mot de passe.'''&lt;br /&gt;
*Récupérez l'e-mail dans votre messagerie, il s'intitule :&lt;br /&gt;
'''[nom-de-la-plateforme] Demande de réinitialisation du mot de passe à XXhXX (UTC)'''&lt;br /&gt;
et contient les éléments suivants :&lt;br /&gt;
&amp;lt;pre&amp;gt;Jean DUPONT,&lt;br /&gt;
&lt;br /&gt;
Une demande de réinitialisation de mot de passe a été effectué.&lt;br /&gt;
Pour poursuivre l'opération, cliquez ici.&lt;br /&gt;
Si vous n'avez pas fait la demande, veuillez ignorer l'email.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez également saisir ou copier le lien suivant dans votre navigateur internet afin d'accéder à la page de réinitilisalisation de mot de passe :&lt;br /&gt;
http://openflyers.com/nom-de-la-plateforme/index.php?menuAction=password_reset&amp;amp;token=154551560257977557617df&lt;br /&gt;
&lt;br /&gt;
L'équipe OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' L'email est valide uniquement pendant '''une heure''' après la demande de réinitialisation de mot de passe. Passé ce délai, le lien indiqué dans l'email ne sera plus valide. Il sera donc nécessaire de refaire une '''nouvelle demande''' de réinitialisation de mot de passe.&lt;br /&gt;
&lt;br /&gt;
*Cliquez sur la partie du texte correspondant au lien coloré ou copiez dans votre navigateur internet lien contenu à la fin de l'e-mail pour retourner sur la page de réinitialisation de mot de passe&lt;br /&gt;
*Dans le 2ème formulaire intitulé '''Réinitialisation du mot de passe''', renseignez les champs :&lt;br /&gt;
**'''Réinitialisation du mot de passe''' avec votre nouveau mot de passe&lt;br /&gt;
**'''Répétition du mot de passe''' avec la confirmation de votre nouveau mot de passe&lt;br /&gt;
*Cliquez sur le bouton '''Réinitialiser'''&lt;br /&gt;
&lt;br /&gt;
Après avoir réinitialisé votre mot de passe, l'application vous connecte automatiquement en vous redirigeant sur la page du planning.&lt;br /&gt;
&lt;br /&gt;
=Planning=&lt;br /&gt;
==Codes couleurs==&lt;br /&gt;
[[Fichier:Codes couleurs.png]]&lt;br /&gt;
&lt;br /&gt;
==Éphémérides==&lt;br /&gt;
Nous calculons les éphémérides d'après les définitions officielles.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les heures de lever et de coucher du soleil correspondent au passage du centre du soleil sous l'horizon, c'est à dire lorsque le centre du soleil est situé 3 degrés sous l'horizon. En effet, il est considéré, en première approximation que le soleil a un diamètre apparent de 6 degrés.&lt;br /&gt;
&lt;br /&gt;
Les heures du jour et de la nuit aéronautique correspondent au passage du soleil 6 degrés sous l'horizon. Il s'agit de la définition officielle, aussi bien française, qu'internationale (OACI). Notre formule de calcul est validée pour les latitudes inférieures à 65 degrés. Sa précision est de l'ordre de la minute sous des latitudes inférieures à 50 degrés. La précision diminue au fur et à mesure que la latitude augmente, c'est à dire que l'on se rapproche des pôles.&lt;br /&gt;
&lt;br /&gt;
Conséquence du calcul : les résultats trouvés ne correspondent pas à la simple addition de + ou - 30 minutes. Mais il n'a jamais été écrit dans un texte officiel que la journée aéronautique commençait au lever du soleil moins trente minutes, et que la nuit aéronautique commençait au coucher du soleil plus trente minutes. Dans la règlementation française, il est admis d'utiliser + ou - 30 minutes pour faire les calculs sous des latitudes comprises entre 30 et 60 degrés et 15 minutes sous les latitudes inférieures à 30 degrés). Pour l'Europe, voir le [http://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32012R0923&amp;amp;from=EN Règlement n°923/2012 concernant les Standardised European Rules of the Air) - Article 2 - Définition 97]. Pour la France voir la [http://www.developpement-durable.gouv.fr/IMG/pdf/SERA_RCA_consolide.pdf version consolidée des règles de l'air, définition de la &amp;quot;Nuit&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
Mises en garde :&lt;br /&gt;
*Le programme calcule les heures à partir des coordonnées géographiques de l'aérodrome indiqué comme étant la base aéronautique de la plateforme OpenFlyers considérée. Si les heures sont erronées, il faut contacter l'administrateur OpenFlyers de la plateforme afin qu'il vérifie le code OACI renseigné pour la plateforme.&lt;br /&gt;
*Certains pays n'utilisent pas la nuit aéronautique et ne permettent pas le vol en dehors du lever et du coucher du soleil. D'autres pays utilisent d'autres types de définition pour déterminer si le vol est de jour ou de nuit comme notamment une référence à la luminosité réelle mesurée.&lt;br /&gt;
&lt;br /&gt;
Remarque :&lt;br /&gt;
*Si l'utilisateur ne souhaite pas utiliser la définition réelle mais une approximation, comme le fait d'ajouter ou retrancher 30 minutes, il suffit d'effectuer l'opération de calcul à partir des heures de lever ou de coucher du soleil.&lt;br /&gt;
&lt;br /&gt;
=Rapports=&lt;br /&gt;
Tous les rapports sont regroupés sur une même page qui est accessible depuis '''Données &amp;gt; Rapports''' ou côté admin '''Rapports &amp;gt; Structure &amp;gt; Visualiser''' (si on dispose d'un droit spécifique).&lt;br /&gt;
&lt;br /&gt;
Cette page est constituée de 2 parties :&lt;br /&gt;
*Une liste de champs dans le formulaire général&lt;br /&gt;
*Une liste de rapports&lt;br /&gt;
&lt;br /&gt;
Les données qui doivent être saisies dans les champs du formulaire général varient en fonction des rapports.&lt;br /&gt;
&lt;br /&gt;
Les données prises en compte dans les rapports sont affichés dans le titre du rapport au-dessus du tableau de résultat.&lt;br /&gt;
&lt;br /&gt;
Aussi, si on constate que malgré le fait d'avoir préciser une valeur, celle-ci semble ignorer par le rapport, il faut vérifier si cette donnée apparait dans la liste données prises en compte. Si c'est le cas, alors il y a potentiellement un bug. Si ce n'est pas le cas, alors c'est &amp;quot;normal&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
La version 4 d'OpenFlyers proposera une interface différente où on choisira d'abord son rapport et ensuite les données pour les seules variables prises seront demandées.&lt;br /&gt;
&lt;br /&gt;
=Réservations=&lt;br /&gt;
==Immobiliser une ressource==&lt;br /&gt;
Les utilisateurs disposant du droit '''[[Gestion des profils#Réservation|Gestion des disponibilités des ressources]]''' peuvent rendre une ressource indisponible pour un créneau horaire donné. Cela permet d'indiquer aux autres utilisateurs que la ressource considérée n'est pas disponible.&lt;br /&gt;
&lt;br /&gt;
Il n'est pas possible d'avoir plus d'un créneau d'immobilisation sur une même ressource et la même période.&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des validités|Validités]]=&lt;br /&gt;
Un utilisateur peut [[Gestion des profils#Type_de_validité_que_l'utilisateur_peut_gérer|gérer uniquement les validités définies comme telles pour son profil]] en allant dans '''Données &amp;gt; Validités'''.&lt;br /&gt;
&lt;br /&gt;
De plus :&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à ajouter une nouvelle validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à renouveler une validité détenue ou à mettre à jour le '''Code identifiant''', la '''Date d'obtention''', la '''Limite de validité''' (d'une validité non achetable) ou à supprimer une validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]] ou le droit [[Gestion des profils#Généralités|Gestion de ses validités détenues]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à acheter ou renouveler une validité-produit, il doit détenir le droit [[Gestion des profils#Gestionnaire_des_ventes|Achat ventes libres]] et le produit associé à la validité doit être en vente libre.&lt;br /&gt;
&lt;br /&gt;
Pour renouveler une validité détenue, il faut cliquer sur l'icône [[Fichier:Refresh.png]] qui apparaît dans la colonne '''Limite de validité'''.&lt;br /&gt;
&lt;br /&gt;
Remarques :&lt;br /&gt;
*Les validités arrivées à échéance apparaissent sur fond rouge.&lt;br /&gt;
*La mise à jour de la date d'échéance d'une validité réactive automatiquement la cellule de la colonne [[#Données_&amp;gt;_Validités_&amp;gt;_Alertes_?|Alertes ?]].&lt;br /&gt;
*Une validité-produit déjà détenue ne peut pas être supprimée.&lt;br /&gt;
&lt;br /&gt;
==Données &amp;gt; Validités &amp;gt; Alertes ?==&lt;br /&gt;
La colonne '''Alertes ?''' permet à un utilisateur d'activer ou désactiver les rappels à la connexion de ses validités arrivant à expiration ou ayant expirées.&lt;br /&gt;
&lt;br /&gt;
Le champ '''Délai de prévenance en semaines avant chaque échéance''' permet de définir le délai de rappel des validités arrivant à expiration.&lt;br /&gt;
&lt;br /&gt;
==Alertes sur les validités==&lt;br /&gt;
===Alerte à la connexion===&lt;br /&gt;
Les validités contrôlées à la connexion sont uniquement :&lt;br /&gt;
*celles possédées par l'utilisateur qui se connecte et qui sont soumises à échéance&lt;br /&gt;
*les validités à expérience récente.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les validités sans échéance ne sont pas contrôlées.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers affiche un message d'alerte pour les validités dont la date d'échéance est expirée ou va expirer dans un délai inférieur à la période d'alerte définie dans la fiche utilisateur.&lt;br /&gt;
&lt;br /&gt;
L'utilisateur a la possibilité de cliquer sur la case à cocher &amp;quot;Ne plus le rappeler&amp;quot; afin de ne plus avoir de message de rappel. Dans ce cas, lors des connexions ultérieures, il n'aura plus de message de rappel. Il peut cependant réactiver cette alerte en la réactivant dans la colonne &amp;quot;Alertes&amp;quot; de la ligne correspondante dans '''Données &amp;gt; Validités'''. Cette réactivation est automatique lors d'une modification de la validité.&lt;br /&gt;
&lt;br /&gt;
===Alertes lors d'une réservation ou une saisie de vol===&lt;br /&gt;
Les validités périmées apparaissent systématiquement lors de la saisie d'une réservation ou d'un vol comme à la connexion. Leur affichage ne dépend pas du type de ressource. C'est juste un rappel.&lt;br /&gt;
&lt;br /&gt;
Ce rappel est notamment utile lorsqu'une personne effectue une réservation ou une saisie de vol pour le compte d'un tiers. Cela lui permet d'être informé et d'informer ce tiers de sa situation.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Structure-de-la-base-de-donn%C3%A9es&amp;diff=15254</id>
		<title>Structure de la base de données</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Structure-de-la-base-de-donn%C3%A9es&amp;diff=15254"/>
				<updated>2017-06-08T12:14:01Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Table flight */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Structure=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;--&lt;br /&gt;
-- Table structure for table `account`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `creation_date` date DEFAULT NULL,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `export_account` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `owner_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `payment_allowed` tinyint(1) DEFAULT '0',&lt;br /&gt;
  `budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `accounting_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `deactivated_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_owner_id` (`owner_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of account';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_entry` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flow_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `account_date` datetime DEFAULT NULL,&lt;br /&gt;
  `registration_date` datetime DEFAULT NULL,&lt;br /&gt;
  `account_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `payment_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `payment_description` text,&lt;br /&gt;
  `person_delivery_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` text,&lt;br /&gt;
  `validated` int(1) DEFAULT '0',&lt;br /&gt;
  `exported` int(1) DEFAULT '0',&lt;br /&gt;
  `budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_account_date` (`account_date`),&lt;br /&gt;
  KEY `idx_flow_id` (`flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of account entries';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT '1',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `accounting_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `export_account_pattern` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_type_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_type_profile` (&lt;br /&gt;
  `account_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`account_type_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Linked account type\r\nfield and profile';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `accounting`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `accounting` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `symbol` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `format` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `decimal_precision` int(10) unsigned DEFAULT '2',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `accounting_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `accounting_profile` (&lt;br /&gt;
  `accounting_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`accounting_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `ref_date` datetime DEFAULT NULL,&lt;br /&gt;
  `ref_hours` int(11) DEFAULT NULL,&lt;br /&gt;
  `inspection_date` date DEFAULT NULL,&lt;br /&gt;
  `inspection_time` int(11) DEFAULT NULL,&lt;br /&gt;
  `interval_visit` int(11) unsigned DEFAULT '30000',&lt;br /&gt;
  `tolerance_time` int(11) unsigned DEFAULT '6000',&lt;br /&gt;
  `last_counter` int(11) DEFAULT NULL,&lt;br /&gt;
  `time_alert1` int(11) DEFAULT '6000',&lt;br /&gt;
  `time_alert2` int(11) DEFAULT '0',&lt;br /&gt;
  `time_alert3` int(11) DEFAULT '0',&lt;br /&gt;
  `day_alert1` smallint(3) DEFAULT '15',&lt;br /&gt;
  `day_alert2` smallint(3) DEFAULT '0',&lt;br /&gt;
  `day_alert3` smallint(3) DEFAULT '8',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='ALL AIRCRAFTS OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `flight_time_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter_state` tinyint(2) NOT NULL DEFAULT '-1',&lt;br /&gt;
  `tolerance` int(11) DEFAULT '0',&lt;br /&gt;
  `autonomy` int(11) DEFAULT '5990',&lt;br /&gt;
  `digit_counter_number` tinyint(1) unsigned NOT NULL DEFAULT '4',&lt;br /&gt;
  `true_air_speed` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Types of aircraft';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_allowed_status`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_allowed_status` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `place_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `status_id` int(10) DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of allowed functions for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_mandatory_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_mandatory_flight_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0'&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of compulsory flight type for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_uncomp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_uncomp_flight_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0'&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of uncompatible flight type for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_validity_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `check_num` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`aircraft_type_id`,`validity_type_id`,`check_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Types of qualif required for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `balance`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `balance` (&lt;br /&gt;
  `account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `balance_date_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  PRIMARY KEY (`account_id`,`balance_date_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `balance_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `balance_date` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `balance_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `booking`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `booking` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `end_date` datetime DEFAULT NULL,&lt;br /&gt;
  `resource_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `slot_type` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `instructor_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `free_seats` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `departure_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `arrival_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='RECORDS ALL THE SLOTS OF ALL AIRCRAFTS OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `booking_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `booking_account_entry` (&lt;br /&gt;
  `booking_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`booking_id`,`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `budget`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `budget` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `group_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `export_code` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `budget_group`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `budget_group` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `club`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `club` (&lt;br /&gt;
  `id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `info_cell` text,&lt;br /&gt;
  `logo` longblob,&lt;br /&gt;
  `logo_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `logo_ext` varchar(25) DEFAULT NULL,&lt;br /&gt;
  `logo_size` int(11) DEFAULT NULL,&lt;br /&gt;
  `first_hour_displayed` time DEFAULT NULL,&lt;br /&gt;
  `last_hour_displayed` time DEFAULT NULL,&lt;br /&gt;
  `usual_profiles` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `icao` varchar(6) DEFAULT NULL,&lt;br /&gt;
  `default_slot_range` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `min_slot_range` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `twilight_range` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `mailing_list_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `mailing_list_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `club_site_url` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `default_timezone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `lang` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `admin_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  `default_view_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `address` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `zipcode` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `city` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `state` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `country` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `fax` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `default_notification` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `welcome_cell` text,&lt;br /&gt;
  `business` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='DESCRIPTION OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `criteria`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `criteria` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `predicate` text,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `dsn` varchar(20) NOT NULL DEFAULT 'customer',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `criteria_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `criteria_profile` (&lt;br /&gt;
  `criteria_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`criteria_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `customer_bill_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `customer_bill_entry` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flow_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_entry_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `owner_category` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `owner_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `customer_bill_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  `unit_price` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `bill_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_account_entry_id` (`account_entry_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `customer_bill_file`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `customer_bill_file` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `file_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` longblob,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `default_display`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `default_display` (&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `display_key` varchar(255) NOT NULL DEFAULT '',&lt;br /&gt;
  `display_value` text,&lt;br /&gt;
  PRIMARY KEY (`person_id`,`display_key`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `default_multi_display`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `default_multi_display` (&lt;br /&gt;
  `resource_type` char(30) NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `display_value` text,&lt;br /&gt;
  PRIMARY KEY (`resource_type`,`person_id`,`resource_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `email_sent`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `email_sent` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `message_id` varchar(150) NOT NULL,&lt;br /&gt;
  `sender` varchar(255) NOT NULL,&lt;br /&gt;
  `title` varchar(255) NOT NULL,&lt;br /&gt;
  `category` tinyint(3) unsigned NOT NULL,&lt;br /&gt;
  `category_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `message_id_UNIQUE` (`message_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `email_sent_recipient`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `email_sent_recipient` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `email_sent_id` bigint(20) unsigned NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `recipient_type` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `smtp_status_category` varchar(30) DEFAULT NULL,&lt;br /&gt;
  `email_status` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `update_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `email_sent_id_idx` (`email_sent_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `exceptionnal_inst_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `exceptionnal_inst_date` (&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `end_date` datetime DEFAULT NULL,&lt;br /&gt;
  `presence` tinyint(1) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `value_type` varchar(40) DEFAULT NULL,&lt;br /&gt;
  `category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `dsn` varchar(20) DEFAULT NULL,&lt;br /&gt;
  `compulsory_fill` tinyint(1) DEFAULT '0',&lt;br /&gt;
  `linked_category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `linked_extra_field_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `linked_field_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `max_display` int(10) DEFAULT '-1',&lt;br /&gt;
  `formula` text,&lt;br /&gt;
  `default_value` text,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `variable` (`variable`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of extra form field';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field_content`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field_content` (&lt;br /&gt;
  `category_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  PRIMARY KEY (`category_id`,`extra_field_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Content of extra form field';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field_profile` (&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `booking_popup_display_4_profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`extra_field_id`,`booking_popup_display_4_profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `facebook`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `facebook` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `category` int(10) unsigned NOT NULL,&lt;br /&gt;
  `owner_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `small` blob,&lt;br /&gt;
  `original` mediumblob NOT NULL,&lt;br /&gt;
  `label` text,&lt;br /&gt;
  `description` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB5 DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_icao`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_icao` (&lt;br /&gt;
  `icao` varchar(6) NOT NULL DEFAULT '',&lt;br /&gt;
  PRIMARY KEY (`icao`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='favorite airfield list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_report`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_report` (&lt;br /&gt;
  `report_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`report_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_report_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_report_profile` (&lt;br /&gt;
  `report_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`report_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_aircraft_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_aircraft_type` (&lt;br /&gt;
  `fhp_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `aircraft_type_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`aircraft_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='flight hour pricing aircraft type list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_flight_type` (&lt;br /&gt;
  `fhp_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `excluded` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`flight_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='flight hour pricing flight type list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_profile` (&lt;br /&gt;
  `fhp_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `place_num` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`profile_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `file`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `file` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` mediumblob,&lt;br /&gt;
  `file_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `aircraft_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `duration` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `people_onboard` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `departure_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `arrival_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `counter_departure` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `counter_arrival` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `landing_number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `airborne` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `validated` tinyint(3) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_account_entry` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_entry_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`flight_id`,`account_entry_id`),&lt;br /&gt;
  KEY `idx_account_entry_id` (`account_entry_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_hours_pricing`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_hours_pricing` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `price_formula` text,&lt;br /&gt;
  `left_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `right_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `left_account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `right_account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `credit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `debit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `sale_trigger_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `query` text,&lt;br /&gt;
  `variable_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `extra_field_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `debit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty_formula` text,&lt;br /&gt;
  `unit_price_formula` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight hours pricing formula';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_pilot`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_pilot` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `pilot_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `status_id` int(10) DEFAULT NULL,&lt;br /&gt;
  `num` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`flight_id`,`pilot_id`,`num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of crew for each flight';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_tank_qty`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_tank_qty` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `tank_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `quantity` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `after_flight` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `pay_type` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_track`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_track` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `track_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`track_id`,`flight_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Link between flight and track';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_type` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_type_mandatory_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_type_mandatory_validity_type` (&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`flight_type_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of mandatory qualification for each flight type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `import`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `import` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) NOT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `import_file_type` varchar(255) NOT NULL DEFAULT 'csv-comma-CRLF',&lt;br /&gt;
  `match_query` text,&lt;br /&gt;
  `uptodate_test_query` text,&lt;br /&gt;
  `update_query` text,&lt;br /&gt;
  `update_activated` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `hash_password` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `sync_task_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `ip_stopped`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `ip_stopped` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `ip` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='BLACKLISTED IP';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `journal`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `journal` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `date_log` datetime DEFAULT NULL,&lt;br /&gt;
  `rights` text,&lt;br /&gt;
  `rights2` text,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_date_log` (`date_log`),&lt;br /&gt;
  KEY `idx_action` (`action`(8))&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_alert`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_alert` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `alert_date` datetime DEFAULT NULL,&lt;br /&gt;
  `status` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Key alerts';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_assignment`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_assignment` (&lt;br /&gt;
  `key_id` tinyint(2) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `key_name` tinytext,&lt;br /&gt;
  `aircraft_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `key_state` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `key_word` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`key_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_host`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_host` (&lt;br /&gt;
  `id` tinyint(2) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `timeout` tinyint(2) unsigned NOT NULL DEFAULT '10',&lt;br /&gt;
  `num_key` tinyint(2) unsigned NOT NULL DEFAULT '8',&lt;br /&gt;
  `ipkey` varchar(50) DEFAULT NULL,&lt;br /&gt;
  `httpport` varchar(4) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_log`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_log` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `log_date` datetime DEFAULT NULL,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `message` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `key_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `xmlrpc` int(10) unsigned NOT NULL,&lt;br /&gt;
  `error` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Key logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `location`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `location` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(64) NOT NULL,&lt;br /&gt;
  `icao_name` varchar(6) DEFAULT NULL,&lt;br /&gt;
  `latitude` double DEFAULT NULL,&lt;br /&gt;
  `longitude` double DEFAULT NULL,&lt;br /&gt;
  `altitude` int(7) DEFAULT NULL,&lt;br /&gt;
  `weather_station` int(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `asked_counter` bigint(20) NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `icao_name` (`icao_name`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='airfields coord';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `log`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `log` (&lt;br /&gt;
  `journal_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `table_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `field_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `field_value` varchar(255) DEFAULT NULL,&lt;br /&gt;
  KEY `journal_id` (`journal_id`),&lt;br /&gt;
  KEY `idx_field_value` (`field_value`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='part of logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `logger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `logger` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `serial_number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `color` varchar(20) NOT NULL DEFAULT 'red',&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `order_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Logger parameters';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `login_stopped`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `login_stopped` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter` tinyint(3) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='BLACKLISTED LOGIN';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `parent_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `m_component_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `resource_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  `serial_number` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `brandnew_date` datetime DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `parent_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_type_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `m_classification_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `is_maintenance_check` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `manufacturer` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `manufacturer_reference` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `part_number` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `periodicity` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `tolerance` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `calendar_periodicity` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `calendar_tolerance` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component_type_parentality`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component_type_parentality` (&lt;br /&gt;
  `m_component_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `m_component_type_parent_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`m_component_type_id`,`m_component_type_parent_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_history`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_history` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `m_component_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `install_date` datetime DEFAULT NULL,&lt;br /&gt;
  `remove_date` datetime DEFAULT NULL,&lt;br /&gt;
  `total_hours_on_install` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_hours` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_date` datetime DEFAULT NULL,&lt;br /&gt;
  `threshold_date_locked` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_hours_locked` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_operation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_operation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  `m_component_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `map_logger_monitoring`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `map_logger_monitoring` (&lt;br /&gt;
  `record_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `count_data` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`record_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='link between flight and track';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `map_track`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `map_track` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `record_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_data` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_time` datetime DEFAULT NULL,&lt;br /&gt;
  `latitude_max` double DEFAULT NULL,&lt;br /&gt;
  `longitude_max` double DEFAULT NULL,&lt;br /&gt;
  `latitude_min` double DEFAULT NULL,&lt;br /&gt;
  `longitude_min` double DEFAULT NULL,&lt;br /&gt;
  `visible` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB0 DEFAULT CHARSET=latin1 COMMENT='Tracks split from GDR';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `nationality`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `nationality` (&lt;br /&gt;
  `code` char(2) NOT NULL DEFAULT '',&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`code`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `parameter`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `parameter` (&lt;br /&gt;
  `code` varchar(255) NOT NULL DEFAULT '',&lt;br /&gt;
  `key_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `enabled` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `int_value` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `char_value` text,&lt;br /&gt;
  PRIMARY KEY (`code`,`key_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='APPLICATION PARAMETERS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `payment_distribution`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `payment_distribution` (&lt;br /&gt;
  `payment_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_club_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_delivery` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `member_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `treasury_budget_id` int(10) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `payment_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `payment_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `text_field_label` text,&lt;br /&gt;
  `supplier` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `only_admin` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `person`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `person` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `hash_password` varchar(255) NOT NULL,&lt;br /&gt;
  `first_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `last_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `profile` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `view_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `view_width` tinyint(3) unsigned NOT NULL DEFAULT '12',&lt;br /&gt;
  `view_height` tinyint(4) unsigned NOT NULL DEFAULT '30',&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `timezone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `address` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `zipcode` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `city` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `state` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `country` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `home_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `work_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `cell_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `lang` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `notification` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT '1',&lt;br /&gt;
  `birthdate` datetime DEFAULT '0000-00-00 00:00:00',&lt;br /&gt;
  `sex` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `nationality` char(2) DEFAULT NULL,&lt;br /&gt;
  `total_flight_time` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `date_total_flight_time` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `idx_name` (`name`)&lt;br /&gt;
) ENGINE=InnoDB68 DEFAULT CHARSET=latin1 COMMENT='used for authentication';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `person_awaiting_activation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `person_awaiting_activation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `ip` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `code` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `expiration_date` datetime DEFAULT NULL,&lt;br /&gt;
  `used` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `product`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `product` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `free_sale` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `locked` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `variable_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `sale_type` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `permits` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `permits2` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `permits3` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_accounting_notification`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_accounting_notification` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `accounting_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`accounting_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_extra_field_join`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_extra_field_join` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`extra_field_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_profile_view`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_profile_view` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `viewable_profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`viewable_profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_required_account_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_required_account_type` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`account_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_resource_type_place`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_resource_type_place` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `place_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`resource_type_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_resource_type_view`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_resource_type_view` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `viewable_resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`viewable_resource_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_validity_type_join`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_validity_type_join` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_validity_type_notification`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_validity_type_notification` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `psp_return`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `psp_return` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `psp_transaction_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `bank_answer` text,&lt;br /&gt;
  `bank_misc` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `psp_transaction`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `psp_transaction` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `credit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `transaction_date` datetime NOT NULL,&lt;br /&gt;
  `amount` float NOT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `payment_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `state` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `token` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `regular_presence_inst_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `regular_presence_inst_date` (&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_day` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `end_day` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_hour` time DEFAULT NULL,&lt;br /&gt;
  `end_hour` time DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `resource_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `non_bookable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `virtual` tinyint(10) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` int(10) unsigned NOT NULL,&lt;br /&gt;
  `seats_available` int(11) DEFAULT '-1',&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  `max_booking_duration` int(10) DEFAULT '-1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource_type_place_tag`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource_type_place_tag` (&lt;br /&gt;
  `resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `place_num` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `place_tag` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`resource_type_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_2_stock`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_2_stock` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `stock_variation_qty_per_sale` float NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_2_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_2_validity_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `new_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `update_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `validity_type_id` (`validity_type_id`),&lt;br /&gt;
  KEY `idx_product` (`product_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `price_formula` text,&lt;br /&gt;
  `debit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `credit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_account_type` int(10) unsigned NOT NULL,&lt;br /&gt;
  `credit_account_type` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(10) DEFAULT NULL,&lt;br /&gt;
  `variable_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `debit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty_formula` text,&lt;br /&gt;
  `unit_price_formula` text,&lt;br /&gt;
  `added_product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing_product`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing_product` (&lt;br /&gt;
  `sale_pricing_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `product_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`sale_pricing_id`,`product_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing_profile` (&lt;br /&gt;
  `sale_pricing_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`sale_pricing_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_trigger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_trigger` (&lt;br /&gt;
  `id` int(10) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `event` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `locked` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `spreadsheet_parameter`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `spreadsheet_parameter` (&lt;br /&gt;
  `file_number` int(10) NOT NULL,&lt;br /&gt;
  `spreadsheet_key` varchar(255) NOT NULL,&lt;br /&gt;
  `spreadsheet_value` varchar(255) NOT NULL,&lt;br /&gt;
  `file_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `google_url` varchar(255) NOT NULL,&lt;br /&gt;
  `file_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`file_number`,`spreadsheet_key`,`spreadsheet_value`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `statistic`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `statistic` (&lt;br /&gt;
  `name` varchar(255) NOT NULL,&lt;br /&gt;
  `of_version` tinyint(3) NOT NULL DEFAULT '0',&lt;br /&gt;
  `value` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  PRIMARY KEY (`name`,`of_version`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `status`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `status` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `abbrev` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of functions for pilot';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `stock_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_level`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_level` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `qty` float NOT NULL DEFAULT '0',&lt;br /&gt;
  `stock_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_variation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_variation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `qty` float NOT NULL DEFAULT '0',&lt;br /&gt;
  `variation_date` datetime DEFAULT NULL,&lt;br /&gt;
  `validated` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_variation_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_variation_account_entry` (&lt;br /&gt;
  `product_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `stock_variation_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`product_id`,`stock_variation_id`,`account_entry_flow_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `supplier_bill_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `bill_date` date DEFAULT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `ordinal` int(10) unsigned NOT NULL,&lt;br /&gt;
  `validated` tinyint(1) DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill_account_entry` (&lt;br /&gt;
  `supplier_bill_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`supplier_bill_id`,`account_entry_flow_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `supplier_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `vat_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `supplier_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `vat_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `table_trigger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `table_trigger` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `monitored_table` varchar(255) NOT NULL,&lt;br /&gt;
  `trigger_formula` varchar(255) NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `tank`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `tank` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `tank_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `unit_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `max_quantity` decimal(15,2) DEFAULT '-1.00',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `track_record`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `track_record` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `box_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `in_progress` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT '0000-00-00 00:00:00',&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `datechsys_track_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_box_id` (`box_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `track_record_data`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `track_record_data` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `record_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `record_date` datetime DEFAULT NULL,&lt;br /&gt;
  `longitude` double DEFAULT NULL,&lt;br /&gt;
  `latitude` double DEFAULT NULL,&lt;br /&gt;
  `altitude` int(7) DEFAULT NULL,&lt;br /&gt;
  `speed` double DEFAULT NULL,&lt;br /&gt;
  `track` int(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `acc_x` int(6) DEFAULT NULL,&lt;br /&gt;
  `acc_y` int(6) DEFAULT NULL,&lt;br /&gt;
  `acc_z` int(6) DEFAULT NULL,&lt;br /&gt;
  `pressure` int(5) unsigned DEFAULT NULL,&lt;br /&gt;
  `battery_level` int(4) unsigned DEFAULT NULL,&lt;br /&gt;
  `gps_fix` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `receive_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_record_id` (`record_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `uncomp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `uncomp_flight_type` (&lt;br /&gt;
  `id1` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `id2` int(10) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of sales';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `validity`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `validity` (&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` date DEFAULT NULL,&lt;br /&gt;
  `no_alert` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `ident_value` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `grant_date` date DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`person_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='QUALIFICATIONS OF EACH MEMBER';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `validity_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `time_limitation` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `ident_value_enable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `grant_date_enable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `mandatory` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `experience_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `alert_on_login` int(10) DEFAULT '-2',&lt;br /&gt;
  `mandatory_access_control` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='QUALIFICATIONS LIST';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `variable`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `variable` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `value_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `variable_value`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `variable_value` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable_id` int(11) NOT NULL,&lt;br /&gt;
  `assign_value` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  `start_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB1 DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `web_feed`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `web_feed` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `channel_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `publication_date` datetime NOT NULL,&lt;br /&gt;
  `title` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `web_feed_channel`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `web_feed_channel` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
&lt;br /&gt;
==Table booking==&lt;br /&gt;
&lt;br /&gt;
Le contenu du champ ''aircraft_id'' de la table ''booking'' peut être nul. Dans ce cas, c'est une ancienne réservation effectuée sur une ressource non-existante ou qui n'existe plus; aussi nommé réservation orpheline.&lt;br /&gt;
&lt;br /&gt;
==Table flight==&lt;br /&gt;
&lt;br /&gt;
*airborne :&lt;br /&gt;
**0: Pas en l'air ou fermeture de vol : Le pilote a terminé le vol.&lt;br /&gt;
**1: En l'air ou ouverture de vol : Le pilote remplit le vol avant de voler.&lt;br /&gt;
&lt;br /&gt;
==Champs cachés==&lt;br /&gt;
&lt;br /&gt;
Les champs suivants ne peuvent être exportés and ne doivent pas être inclus dans une requête SELECT. De plus, un &amp;quot;SELECT *&amp;quot; n'est possivle quand une des tables  contient un champ caché :&lt;br /&gt;
*Table club:&lt;br /&gt;
**name&lt;br /&gt;
**info_cell&lt;br /&gt;
**logo&lt;br /&gt;
**logo_name&lt;br /&gt;
**logo_ext&lt;br /&gt;
**logo_size&lt;br /&gt;
**first_hour_displayed&lt;br /&gt;
**last_hour_displayed&lt;br /&gt;
**usual_profiles&lt;br /&gt;
**default_slot_range&lt;br /&gt;
**min_slot_range&lt;br /&gt;
**twilight_range&lt;br /&gt;
**mailing_list_name&lt;br /&gt;
**mailing_list_type&lt;br /&gt;
**default_timezone&lt;br /&gt;
**lang&lt;br /&gt;
**admin_num&lt;br /&gt;
**mail_from_address&lt;br /&gt;
**default_view_type&lt;br /&gt;
**address&lt;br /&gt;
**zipcode&lt;br /&gt;
**city&lt;br /&gt;
**state&lt;br /&gt;
**country&lt;br /&gt;
**phone&lt;br /&gt;
**fax&lt;br /&gt;
**email&lt;br /&gt;
**default_notification&lt;br /&gt;
**welcome_cell&lt;br /&gt;
&lt;br /&gt;
*Table journal: Tous les champs&lt;br /&gt;
*Table log: Tous les champs&lt;br /&gt;
*Table parameter: Tous les champs&lt;br /&gt;
&lt;br /&gt;
*Table person:&lt;br /&gt;
**hash_password&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exemple de requêtes non autorisées :&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT * FROM club;&lt;br /&gt;
&lt;br /&gt;
SELECT hash_password FROM person;&lt;br /&gt;
&lt;br /&gt;
SELECT person.id, validity.*&lt;br /&gt;
FROM person&lt;br /&gt;
LEFT JOIN validity ON (person.id=validity.person_id);&amp;lt;/sql&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Structure-de-la-base-de-donn%C3%A9es&amp;diff=15253</id>
		<title>Structure de la base de données</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Structure-de-la-base-de-donn%C3%A9es&amp;diff=15253"/>
				<updated>2017-06-08T12:12:57Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Champs cachés */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Structure=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;--&lt;br /&gt;
-- Table structure for table `account`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `creation_date` date DEFAULT NULL,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `export_account` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `owner_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `payment_allowed` tinyint(1) DEFAULT '0',&lt;br /&gt;
  `budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `accounting_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `deactivated_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_owner_id` (`owner_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of account';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_entry` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flow_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `account_date` datetime DEFAULT NULL,&lt;br /&gt;
  `registration_date` datetime DEFAULT NULL,&lt;br /&gt;
  `account_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `payment_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `payment_description` text,&lt;br /&gt;
  `person_delivery_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` text,&lt;br /&gt;
  `validated` int(1) DEFAULT '0',&lt;br /&gt;
  `exported` int(1) DEFAULT '0',&lt;br /&gt;
  `budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_account_date` (`account_date`),&lt;br /&gt;
  KEY `idx_flow_id` (`flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of account entries';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT '1',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `accounting_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `export_account_pattern` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_type_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_type_profile` (&lt;br /&gt;
  `account_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`account_type_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Linked account type\r\nfield and profile';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `accounting`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `accounting` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `symbol` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `format` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `decimal_precision` int(10) unsigned DEFAULT '2',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `accounting_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `accounting_profile` (&lt;br /&gt;
  `accounting_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`accounting_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `ref_date` datetime DEFAULT NULL,&lt;br /&gt;
  `ref_hours` int(11) DEFAULT NULL,&lt;br /&gt;
  `inspection_date` date DEFAULT NULL,&lt;br /&gt;
  `inspection_time` int(11) DEFAULT NULL,&lt;br /&gt;
  `interval_visit` int(11) unsigned DEFAULT '30000',&lt;br /&gt;
  `tolerance_time` int(11) unsigned DEFAULT '6000',&lt;br /&gt;
  `last_counter` int(11) DEFAULT NULL,&lt;br /&gt;
  `time_alert1` int(11) DEFAULT '6000',&lt;br /&gt;
  `time_alert2` int(11) DEFAULT '0',&lt;br /&gt;
  `time_alert3` int(11) DEFAULT '0',&lt;br /&gt;
  `day_alert1` smallint(3) DEFAULT '15',&lt;br /&gt;
  `day_alert2` smallint(3) DEFAULT '0',&lt;br /&gt;
  `day_alert3` smallint(3) DEFAULT '8',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='ALL AIRCRAFTS OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `flight_time_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter_state` tinyint(2) NOT NULL DEFAULT '-1',&lt;br /&gt;
  `tolerance` int(11) DEFAULT '0',&lt;br /&gt;
  `autonomy` int(11) DEFAULT '5990',&lt;br /&gt;
  `digit_counter_number` tinyint(1) unsigned NOT NULL DEFAULT '4',&lt;br /&gt;
  `true_air_speed` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Types of aircraft';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_allowed_status`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_allowed_status` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `place_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `status_id` int(10) DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of allowed functions for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_mandatory_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_mandatory_flight_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0'&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of compulsory flight type for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_uncomp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_uncomp_flight_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0'&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of uncompatible flight type for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_validity_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `check_num` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`aircraft_type_id`,`validity_type_id`,`check_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Types of qualif required for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `balance`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `balance` (&lt;br /&gt;
  `account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `balance_date_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  PRIMARY KEY (`account_id`,`balance_date_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `balance_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `balance_date` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `balance_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `booking`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `booking` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `end_date` datetime DEFAULT NULL,&lt;br /&gt;
  `resource_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `slot_type` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `instructor_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `free_seats` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `departure_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `arrival_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='RECORDS ALL THE SLOTS OF ALL AIRCRAFTS OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `booking_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `booking_account_entry` (&lt;br /&gt;
  `booking_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`booking_id`,`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `budget`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `budget` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `group_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `export_code` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `budget_group`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `budget_group` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `club`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `club` (&lt;br /&gt;
  `id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `info_cell` text,&lt;br /&gt;
  `logo` longblob,&lt;br /&gt;
  `logo_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `logo_ext` varchar(25) DEFAULT NULL,&lt;br /&gt;
  `logo_size` int(11) DEFAULT NULL,&lt;br /&gt;
  `first_hour_displayed` time DEFAULT NULL,&lt;br /&gt;
  `last_hour_displayed` time DEFAULT NULL,&lt;br /&gt;
  `usual_profiles` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `icao` varchar(6) DEFAULT NULL,&lt;br /&gt;
  `default_slot_range` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `min_slot_range` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `twilight_range` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `mailing_list_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `mailing_list_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `club_site_url` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `default_timezone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `lang` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `admin_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  `default_view_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `address` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `zipcode` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `city` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `state` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `country` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `fax` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `default_notification` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `welcome_cell` text,&lt;br /&gt;
  `business` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='DESCRIPTION OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `criteria`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `criteria` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `predicate` text,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `dsn` varchar(20) NOT NULL DEFAULT 'customer',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `criteria_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `criteria_profile` (&lt;br /&gt;
  `criteria_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`criteria_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `customer_bill_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `customer_bill_entry` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flow_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_entry_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `owner_category` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `owner_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `customer_bill_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  `unit_price` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `bill_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_account_entry_id` (`account_entry_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `customer_bill_file`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `customer_bill_file` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `file_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` longblob,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `default_display`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `default_display` (&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `display_key` varchar(255) NOT NULL DEFAULT '',&lt;br /&gt;
  `display_value` text,&lt;br /&gt;
  PRIMARY KEY (`person_id`,`display_key`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `default_multi_display`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `default_multi_display` (&lt;br /&gt;
  `resource_type` char(30) NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `display_value` text,&lt;br /&gt;
  PRIMARY KEY (`resource_type`,`person_id`,`resource_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `email_sent`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `email_sent` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `message_id` varchar(150) NOT NULL,&lt;br /&gt;
  `sender` varchar(255) NOT NULL,&lt;br /&gt;
  `title` varchar(255) NOT NULL,&lt;br /&gt;
  `category` tinyint(3) unsigned NOT NULL,&lt;br /&gt;
  `category_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `message_id_UNIQUE` (`message_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `email_sent_recipient`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `email_sent_recipient` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `email_sent_id` bigint(20) unsigned NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `recipient_type` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `smtp_status_category` varchar(30) DEFAULT NULL,&lt;br /&gt;
  `email_status` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `update_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `email_sent_id_idx` (`email_sent_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `exceptionnal_inst_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `exceptionnal_inst_date` (&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `end_date` datetime DEFAULT NULL,&lt;br /&gt;
  `presence` tinyint(1) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `value_type` varchar(40) DEFAULT NULL,&lt;br /&gt;
  `category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `dsn` varchar(20) DEFAULT NULL,&lt;br /&gt;
  `compulsory_fill` tinyint(1) DEFAULT '0',&lt;br /&gt;
  `linked_category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `linked_extra_field_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `linked_field_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `max_display` int(10) DEFAULT '-1',&lt;br /&gt;
  `formula` text,&lt;br /&gt;
  `default_value` text,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `variable` (`variable`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of extra form field';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field_content`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field_content` (&lt;br /&gt;
  `category_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  PRIMARY KEY (`category_id`,`extra_field_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Content of extra form field';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field_profile` (&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `booking_popup_display_4_profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`extra_field_id`,`booking_popup_display_4_profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `facebook`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `facebook` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `category` int(10) unsigned NOT NULL,&lt;br /&gt;
  `owner_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `small` blob,&lt;br /&gt;
  `original` mediumblob NOT NULL,&lt;br /&gt;
  `label` text,&lt;br /&gt;
  `description` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB5 DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_icao`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_icao` (&lt;br /&gt;
  `icao` varchar(6) NOT NULL DEFAULT '',&lt;br /&gt;
  PRIMARY KEY (`icao`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='favorite airfield list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_report`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_report` (&lt;br /&gt;
  `report_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`report_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_report_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_report_profile` (&lt;br /&gt;
  `report_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`report_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_aircraft_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_aircraft_type` (&lt;br /&gt;
  `fhp_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `aircraft_type_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`aircraft_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='flight hour pricing aircraft type list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_flight_type` (&lt;br /&gt;
  `fhp_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `excluded` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`flight_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='flight hour pricing flight type list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_profile` (&lt;br /&gt;
  `fhp_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `place_num` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`profile_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `file`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `file` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` mediumblob,&lt;br /&gt;
  `file_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `aircraft_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `duration` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `people_onboard` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `departure_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `arrival_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `counter_departure` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `counter_arrival` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `landing_number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `airborne` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `validated` tinyint(3) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_account_entry` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_entry_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`flight_id`,`account_entry_id`),&lt;br /&gt;
  KEY `idx_account_entry_id` (`account_entry_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_hours_pricing`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_hours_pricing` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `price_formula` text,&lt;br /&gt;
  `left_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `right_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `left_account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `right_account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `credit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `debit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `sale_trigger_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `query` text,&lt;br /&gt;
  `variable_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `extra_field_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `debit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty_formula` text,&lt;br /&gt;
  `unit_price_formula` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight hours pricing formula';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_pilot`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_pilot` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `pilot_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `status_id` int(10) DEFAULT NULL,&lt;br /&gt;
  `num` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`flight_id`,`pilot_id`,`num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of crew for each flight';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_tank_qty`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_tank_qty` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `tank_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `quantity` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `after_flight` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `pay_type` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_track`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_track` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `track_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`track_id`,`flight_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Link between flight and track';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_type` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_type_mandatory_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_type_mandatory_validity_type` (&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`flight_type_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of mandatory qualification for each flight type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `import`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `import` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) NOT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `import_file_type` varchar(255) NOT NULL DEFAULT 'csv-comma-CRLF',&lt;br /&gt;
  `match_query` text,&lt;br /&gt;
  `uptodate_test_query` text,&lt;br /&gt;
  `update_query` text,&lt;br /&gt;
  `update_activated` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `hash_password` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `sync_task_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `ip_stopped`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `ip_stopped` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `ip` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='BLACKLISTED IP';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `journal`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `journal` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `date_log` datetime DEFAULT NULL,&lt;br /&gt;
  `rights` text,&lt;br /&gt;
  `rights2` text,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_date_log` (`date_log`),&lt;br /&gt;
  KEY `idx_action` (`action`(8))&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_alert`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_alert` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `alert_date` datetime DEFAULT NULL,&lt;br /&gt;
  `status` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Key alerts';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_assignment`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_assignment` (&lt;br /&gt;
  `key_id` tinyint(2) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `key_name` tinytext,&lt;br /&gt;
  `aircraft_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `key_state` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `key_word` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`key_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_host`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_host` (&lt;br /&gt;
  `id` tinyint(2) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `timeout` tinyint(2) unsigned NOT NULL DEFAULT '10',&lt;br /&gt;
  `num_key` tinyint(2) unsigned NOT NULL DEFAULT '8',&lt;br /&gt;
  `ipkey` varchar(50) DEFAULT NULL,&lt;br /&gt;
  `httpport` varchar(4) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_log`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_log` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `log_date` datetime DEFAULT NULL,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `message` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `key_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `xmlrpc` int(10) unsigned NOT NULL,&lt;br /&gt;
  `error` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Key logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `location`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `location` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(64) NOT NULL,&lt;br /&gt;
  `icao_name` varchar(6) DEFAULT NULL,&lt;br /&gt;
  `latitude` double DEFAULT NULL,&lt;br /&gt;
  `longitude` double DEFAULT NULL,&lt;br /&gt;
  `altitude` int(7) DEFAULT NULL,&lt;br /&gt;
  `weather_station` int(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `asked_counter` bigint(20) NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `icao_name` (`icao_name`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='airfields coord';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `log`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `log` (&lt;br /&gt;
  `journal_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `table_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `field_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `field_value` varchar(255) DEFAULT NULL,&lt;br /&gt;
  KEY `journal_id` (`journal_id`),&lt;br /&gt;
  KEY `idx_field_value` (`field_value`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='part of logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `logger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `logger` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `serial_number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `color` varchar(20) NOT NULL DEFAULT 'red',&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `order_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Logger parameters';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `login_stopped`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `login_stopped` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter` tinyint(3) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='BLACKLISTED LOGIN';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `parent_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `m_component_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `resource_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  `serial_number` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `brandnew_date` datetime DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `parent_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_type_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `m_classification_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `is_maintenance_check` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `manufacturer` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `manufacturer_reference` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `part_number` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `periodicity` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `tolerance` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `calendar_periodicity` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `calendar_tolerance` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component_type_parentality`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component_type_parentality` (&lt;br /&gt;
  `m_component_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `m_component_type_parent_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`m_component_type_id`,`m_component_type_parent_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_history`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_history` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `m_component_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `install_date` datetime DEFAULT NULL,&lt;br /&gt;
  `remove_date` datetime DEFAULT NULL,&lt;br /&gt;
  `total_hours_on_install` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_hours` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_date` datetime DEFAULT NULL,&lt;br /&gt;
  `threshold_date_locked` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_hours_locked` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_operation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_operation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  `m_component_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `map_logger_monitoring`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `map_logger_monitoring` (&lt;br /&gt;
  `record_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `count_data` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`record_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='link between flight and track';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `map_track`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `map_track` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `record_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_data` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_time` datetime DEFAULT NULL,&lt;br /&gt;
  `latitude_max` double DEFAULT NULL,&lt;br /&gt;
  `longitude_max` double DEFAULT NULL,&lt;br /&gt;
  `latitude_min` double DEFAULT NULL,&lt;br /&gt;
  `longitude_min` double DEFAULT NULL,&lt;br /&gt;
  `visible` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB0 DEFAULT CHARSET=latin1 COMMENT='Tracks split from GDR';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `nationality`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `nationality` (&lt;br /&gt;
  `code` char(2) NOT NULL DEFAULT '',&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`code`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `parameter`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `parameter` (&lt;br /&gt;
  `code` varchar(255) NOT NULL DEFAULT '',&lt;br /&gt;
  `key_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `enabled` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `int_value` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `char_value` text,&lt;br /&gt;
  PRIMARY KEY (`code`,`key_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='APPLICATION PARAMETERS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `payment_distribution`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `payment_distribution` (&lt;br /&gt;
  `payment_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_club_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_delivery` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `member_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `treasury_budget_id` int(10) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `payment_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `payment_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `text_field_label` text,&lt;br /&gt;
  `supplier` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `only_admin` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `person`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `person` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `hash_password` varchar(255) NOT NULL,&lt;br /&gt;
  `first_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `last_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `profile` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `view_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `view_width` tinyint(3) unsigned NOT NULL DEFAULT '12',&lt;br /&gt;
  `view_height` tinyint(4) unsigned NOT NULL DEFAULT '30',&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `timezone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `address` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `zipcode` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `city` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `state` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `country` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `home_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `work_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `cell_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `lang` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `notification` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT '1',&lt;br /&gt;
  `birthdate` datetime DEFAULT '0000-00-00 00:00:00',&lt;br /&gt;
  `sex` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `nationality` char(2) DEFAULT NULL,&lt;br /&gt;
  `total_flight_time` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `date_total_flight_time` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `idx_name` (`name`)&lt;br /&gt;
) ENGINE=InnoDB68 DEFAULT CHARSET=latin1 COMMENT='used for authentication';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `person_awaiting_activation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `person_awaiting_activation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `ip` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `code` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `expiration_date` datetime DEFAULT NULL,&lt;br /&gt;
  `used` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `product`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `product` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `free_sale` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `locked` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `variable_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `sale_type` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `permits` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `permits2` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `permits3` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_accounting_notification`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_accounting_notification` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `accounting_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`accounting_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_extra_field_join`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_extra_field_join` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`extra_field_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_profile_view`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_profile_view` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `viewable_profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`viewable_profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_required_account_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_required_account_type` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`account_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_resource_type_place`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_resource_type_place` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `place_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`resource_type_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_resource_type_view`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_resource_type_view` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `viewable_resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`viewable_resource_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_validity_type_join`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_validity_type_join` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_validity_type_notification`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_validity_type_notification` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `psp_return`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `psp_return` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `psp_transaction_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `bank_answer` text,&lt;br /&gt;
  `bank_misc` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `psp_transaction`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `psp_transaction` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `credit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `transaction_date` datetime NOT NULL,&lt;br /&gt;
  `amount` float NOT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `payment_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `state` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `token` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `regular_presence_inst_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `regular_presence_inst_date` (&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_day` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `end_day` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_hour` time DEFAULT NULL,&lt;br /&gt;
  `end_hour` time DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `resource_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `non_bookable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `virtual` tinyint(10) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` int(10) unsigned NOT NULL,&lt;br /&gt;
  `seats_available` int(11) DEFAULT '-1',&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  `max_booking_duration` int(10) DEFAULT '-1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource_type_place_tag`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource_type_place_tag` (&lt;br /&gt;
  `resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `place_num` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `place_tag` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`resource_type_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_2_stock`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_2_stock` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `stock_variation_qty_per_sale` float NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_2_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_2_validity_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `new_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `update_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `validity_type_id` (`validity_type_id`),&lt;br /&gt;
  KEY `idx_product` (`product_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `price_formula` text,&lt;br /&gt;
  `debit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `credit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_account_type` int(10) unsigned NOT NULL,&lt;br /&gt;
  `credit_account_type` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(10) DEFAULT NULL,&lt;br /&gt;
  `variable_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `debit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty_formula` text,&lt;br /&gt;
  `unit_price_formula` text,&lt;br /&gt;
  `added_product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing_product`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing_product` (&lt;br /&gt;
  `sale_pricing_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `product_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`sale_pricing_id`,`product_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing_profile` (&lt;br /&gt;
  `sale_pricing_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`sale_pricing_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_trigger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_trigger` (&lt;br /&gt;
  `id` int(10) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `event` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `locked` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `spreadsheet_parameter`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `spreadsheet_parameter` (&lt;br /&gt;
  `file_number` int(10) NOT NULL,&lt;br /&gt;
  `spreadsheet_key` varchar(255) NOT NULL,&lt;br /&gt;
  `spreadsheet_value` varchar(255) NOT NULL,&lt;br /&gt;
  `file_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `google_url` varchar(255) NOT NULL,&lt;br /&gt;
  `file_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`file_number`,`spreadsheet_key`,`spreadsheet_value`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `statistic`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `statistic` (&lt;br /&gt;
  `name` varchar(255) NOT NULL,&lt;br /&gt;
  `of_version` tinyint(3) NOT NULL DEFAULT '0',&lt;br /&gt;
  `value` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  PRIMARY KEY (`name`,`of_version`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `status`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `status` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `abbrev` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of functions for pilot';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `stock_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_level`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_level` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `qty` float NOT NULL DEFAULT '0',&lt;br /&gt;
  `stock_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_variation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_variation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `qty` float NOT NULL DEFAULT '0',&lt;br /&gt;
  `variation_date` datetime DEFAULT NULL,&lt;br /&gt;
  `validated` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_variation_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_variation_account_entry` (&lt;br /&gt;
  `product_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `stock_variation_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`product_id`,`stock_variation_id`,`account_entry_flow_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `supplier_bill_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `bill_date` date DEFAULT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `ordinal` int(10) unsigned NOT NULL,&lt;br /&gt;
  `validated` tinyint(1) DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill_account_entry` (&lt;br /&gt;
  `supplier_bill_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`supplier_bill_id`,`account_entry_flow_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `supplier_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `vat_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `supplier_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `vat_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `table_trigger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `table_trigger` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `monitored_table` varchar(255) NOT NULL,&lt;br /&gt;
  `trigger_formula` varchar(255) NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `tank`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `tank` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `tank_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `unit_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `max_quantity` decimal(15,2) DEFAULT '-1.00',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `track_record`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `track_record` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `box_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `in_progress` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT '0000-00-00 00:00:00',&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `datechsys_track_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_box_id` (`box_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `track_record_data`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `track_record_data` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `record_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `record_date` datetime DEFAULT NULL,&lt;br /&gt;
  `longitude` double DEFAULT NULL,&lt;br /&gt;
  `latitude` double DEFAULT NULL,&lt;br /&gt;
  `altitude` int(7) DEFAULT NULL,&lt;br /&gt;
  `speed` double DEFAULT NULL,&lt;br /&gt;
  `track` int(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `acc_x` int(6) DEFAULT NULL,&lt;br /&gt;
  `acc_y` int(6) DEFAULT NULL,&lt;br /&gt;
  `acc_z` int(6) DEFAULT NULL,&lt;br /&gt;
  `pressure` int(5) unsigned DEFAULT NULL,&lt;br /&gt;
  `battery_level` int(4) unsigned DEFAULT NULL,&lt;br /&gt;
  `gps_fix` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `receive_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_record_id` (`record_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `uncomp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `uncomp_flight_type` (&lt;br /&gt;
  `id1` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `id2` int(10) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of sales';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `validity`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `validity` (&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` date DEFAULT NULL,&lt;br /&gt;
  `no_alert` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `ident_value` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `grant_date` date DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`person_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='QUALIFICATIONS OF EACH MEMBER';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `validity_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `time_limitation` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `ident_value_enable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `grant_date_enable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `mandatory` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `experience_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `alert_on_login` int(10) DEFAULT '-2',&lt;br /&gt;
  `mandatory_access_control` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='QUALIFICATIONS LIST';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `variable`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `variable` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `value_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `variable_value`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `variable_value` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable_id` int(11) NOT NULL,&lt;br /&gt;
  `assign_value` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  `start_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB1 DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `web_feed`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `web_feed` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `channel_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `publication_date` datetime NOT NULL,&lt;br /&gt;
  `title` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `web_feed_channel`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `web_feed_channel` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
&lt;br /&gt;
==Table booking==&lt;br /&gt;
&lt;br /&gt;
Le contenu du champ ''aircraft_id'' de la table ''booking'' peut être nul. Dans ce cas, c'est une ancienne réservation effectuée sur une ressource non-existante ou qui n'existe plus; aussi nommé réservation orpheline.&lt;br /&gt;
&lt;br /&gt;
==Table flight==&lt;br /&gt;
&lt;br /&gt;
*airborne :&lt;br /&gt;
**0: Pas en l'air ou fermeture de vol : Le pilote a terminé le vol.&lt;br /&gt;
**1: En l'air ou ouverture de vol : Le pilot remplit le vol avant de voler.&lt;br /&gt;
&lt;br /&gt;
==Champs cachés==&lt;br /&gt;
&lt;br /&gt;
Les champs suivants ne peuvent être exportés and ne doivent pas être inclus dans une requête SELECT. De plus, un &amp;quot;SELECT *&amp;quot; n'est possivle quand une des tables  contient un champ caché :&lt;br /&gt;
*Table club:&lt;br /&gt;
**name&lt;br /&gt;
**info_cell&lt;br /&gt;
**logo&lt;br /&gt;
**logo_name&lt;br /&gt;
**logo_ext&lt;br /&gt;
**logo_size&lt;br /&gt;
**first_hour_displayed&lt;br /&gt;
**last_hour_displayed&lt;br /&gt;
**usual_profiles&lt;br /&gt;
**default_slot_range&lt;br /&gt;
**min_slot_range&lt;br /&gt;
**twilight_range&lt;br /&gt;
**mailing_list_name&lt;br /&gt;
**mailing_list_type&lt;br /&gt;
**default_timezone&lt;br /&gt;
**lang&lt;br /&gt;
**admin_num&lt;br /&gt;
**mail_from_address&lt;br /&gt;
**default_view_type&lt;br /&gt;
**address&lt;br /&gt;
**zipcode&lt;br /&gt;
**city&lt;br /&gt;
**state&lt;br /&gt;
**country&lt;br /&gt;
**phone&lt;br /&gt;
**fax&lt;br /&gt;
**email&lt;br /&gt;
**default_notification&lt;br /&gt;
**welcome_cell&lt;br /&gt;
&lt;br /&gt;
*Table journal: Tous les champs&lt;br /&gt;
*Table log: Tous les champs&lt;br /&gt;
*Table parameter: Tous les champs&lt;br /&gt;
&lt;br /&gt;
*Table person:&lt;br /&gt;
**hash_password&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exemple de requêtes non autorisées :&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT * FROM club;&lt;br /&gt;
&lt;br /&gt;
SELECT hash_password FROM person;&lt;br /&gt;
&lt;br /&gt;
SELECT person.id, validity.*&lt;br /&gt;
FROM person&lt;br /&gt;
LEFT JOIN validity ON (person.id=validity.person_id);&amp;lt;/sql&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Structure-de-la-base-de-donn%C3%A9es&amp;diff=15252</id>
		<title>Structure de la base de données</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Structure-de-la-base-de-donn%C3%A9es&amp;diff=15252"/>
				<updated>2017-06-08T12:11:01Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Table flight */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Structure=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;--&lt;br /&gt;
-- Table structure for table `account`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `creation_date` date DEFAULT NULL,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `export_account` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `owner_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `payment_allowed` tinyint(1) DEFAULT '0',&lt;br /&gt;
  `budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `accounting_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `deactivated_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_owner_id` (`owner_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of account';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_entry` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flow_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `account_date` datetime DEFAULT NULL,&lt;br /&gt;
  `registration_date` datetime DEFAULT NULL,&lt;br /&gt;
  `account_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `payment_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `payment_description` text,&lt;br /&gt;
  `person_delivery_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` text,&lt;br /&gt;
  `validated` int(1) DEFAULT '0',&lt;br /&gt;
  `exported` int(1) DEFAULT '0',&lt;br /&gt;
  `budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_account_date` (`account_date`),&lt;br /&gt;
  KEY `idx_flow_id` (`flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of account entries';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT '1',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `accounting_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `export_account_pattern` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_type_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_type_profile` (&lt;br /&gt;
  `account_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`account_type_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Linked account type\r\nfield and profile';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `accounting`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `accounting` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `symbol` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `format` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `decimal_precision` int(10) unsigned DEFAULT '2',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `accounting_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `accounting_profile` (&lt;br /&gt;
  `accounting_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`accounting_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `ref_date` datetime DEFAULT NULL,&lt;br /&gt;
  `ref_hours` int(11) DEFAULT NULL,&lt;br /&gt;
  `inspection_date` date DEFAULT NULL,&lt;br /&gt;
  `inspection_time` int(11) DEFAULT NULL,&lt;br /&gt;
  `interval_visit` int(11) unsigned DEFAULT '30000',&lt;br /&gt;
  `tolerance_time` int(11) unsigned DEFAULT '6000',&lt;br /&gt;
  `last_counter` int(11) DEFAULT NULL,&lt;br /&gt;
  `time_alert1` int(11) DEFAULT '6000',&lt;br /&gt;
  `time_alert2` int(11) DEFAULT '0',&lt;br /&gt;
  `time_alert3` int(11) DEFAULT '0',&lt;br /&gt;
  `day_alert1` smallint(3) DEFAULT '15',&lt;br /&gt;
  `day_alert2` smallint(3) DEFAULT '0',&lt;br /&gt;
  `day_alert3` smallint(3) DEFAULT '8',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='ALL AIRCRAFTS OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `flight_time_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter_state` tinyint(2) NOT NULL DEFAULT '-1',&lt;br /&gt;
  `tolerance` int(11) DEFAULT '0',&lt;br /&gt;
  `autonomy` int(11) DEFAULT '5990',&lt;br /&gt;
  `digit_counter_number` tinyint(1) unsigned NOT NULL DEFAULT '4',&lt;br /&gt;
  `true_air_speed` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Types of aircraft';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_allowed_status`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_allowed_status` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `place_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `status_id` int(10) DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of allowed functions for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_mandatory_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_mandatory_flight_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0'&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of compulsory flight type for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_uncomp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_uncomp_flight_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0'&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of uncompatible flight type for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_validity_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `check_num` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`aircraft_type_id`,`validity_type_id`,`check_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Types of qualif required for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `balance`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `balance` (&lt;br /&gt;
  `account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `balance_date_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  PRIMARY KEY (`account_id`,`balance_date_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `balance_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `balance_date` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `balance_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `booking`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `booking` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `end_date` datetime DEFAULT NULL,&lt;br /&gt;
  `resource_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `slot_type` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `instructor_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `free_seats` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `departure_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `arrival_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='RECORDS ALL THE SLOTS OF ALL AIRCRAFTS OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `booking_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `booking_account_entry` (&lt;br /&gt;
  `booking_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`booking_id`,`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `budget`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `budget` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `group_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `export_code` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `budget_group`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `budget_group` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `club`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `club` (&lt;br /&gt;
  `id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `info_cell` text,&lt;br /&gt;
  `logo` longblob,&lt;br /&gt;
  `logo_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `logo_ext` varchar(25) DEFAULT NULL,&lt;br /&gt;
  `logo_size` int(11) DEFAULT NULL,&lt;br /&gt;
  `first_hour_displayed` time DEFAULT NULL,&lt;br /&gt;
  `last_hour_displayed` time DEFAULT NULL,&lt;br /&gt;
  `usual_profiles` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `icao` varchar(6) DEFAULT NULL,&lt;br /&gt;
  `default_slot_range` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `min_slot_range` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `twilight_range` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `mailing_list_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `mailing_list_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `club_site_url` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `default_timezone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `lang` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `admin_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  `default_view_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `address` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `zipcode` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `city` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `state` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `country` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `fax` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `default_notification` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `welcome_cell` text,&lt;br /&gt;
  `business` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='DESCRIPTION OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `criteria`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `criteria` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `predicate` text,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `dsn` varchar(20) NOT NULL DEFAULT 'customer',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `criteria_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `criteria_profile` (&lt;br /&gt;
  `criteria_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`criteria_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `customer_bill_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `customer_bill_entry` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flow_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_entry_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `owner_category` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `owner_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `customer_bill_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  `unit_price` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `bill_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_account_entry_id` (`account_entry_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `customer_bill_file`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `customer_bill_file` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `file_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` longblob,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `default_display`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `default_display` (&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `display_key` varchar(255) NOT NULL DEFAULT '',&lt;br /&gt;
  `display_value` text,&lt;br /&gt;
  PRIMARY KEY (`person_id`,`display_key`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `default_multi_display`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `default_multi_display` (&lt;br /&gt;
  `resource_type` char(30) NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `display_value` text,&lt;br /&gt;
  PRIMARY KEY (`resource_type`,`person_id`,`resource_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `email_sent`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `email_sent` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `message_id` varchar(150) NOT NULL,&lt;br /&gt;
  `sender` varchar(255) NOT NULL,&lt;br /&gt;
  `title` varchar(255) NOT NULL,&lt;br /&gt;
  `category` tinyint(3) unsigned NOT NULL,&lt;br /&gt;
  `category_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `message_id_UNIQUE` (`message_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `email_sent_recipient`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `email_sent_recipient` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `email_sent_id` bigint(20) unsigned NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `recipient_type` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `smtp_status_category` varchar(30) DEFAULT NULL,&lt;br /&gt;
  `email_status` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `update_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `email_sent_id_idx` (`email_sent_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `exceptionnal_inst_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `exceptionnal_inst_date` (&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `end_date` datetime DEFAULT NULL,&lt;br /&gt;
  `presence` tinyint(1) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `value_type` varchar(40) DEFAULT NULL,&lt;br /&gt;
  `category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `dsn` varchar(20) DEFAULT NULL,&lt;br /&gt;
  `compulsory_fill` tinyint(1) DEFAULT '0',&lt;br /&gt;
  `linked_category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `linked_extra_field_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `linked_field_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `max_display` int(10) DEFAULT '-1',&lt;br /&gt;
  `formula` text,&lt;br /&gt;
  `default_value` text,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `variable` (`variable`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of extra form field';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field_content`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field_content` (&lt;br /&gt;
  `category_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  PRIMARY KEY (`category_id`,`extra_field_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Content of extra form field';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field_profile` (&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `booking_popup_display_4_profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`extra_field_id`,`booking_popup_display_4_profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `facebook`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `facebook` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `category` int(10) unsigned NOT NULL,&lt;br /&gt;
  `owner_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `small` blob,&lt;br /&gt;
  `original` mediumblob NOT NULL,&lt;br /&gt;
  `label` text,&lt;br /&gt;
  `description` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB5 DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_icao`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_icao` (&lt;br /&gt;
  `icao` varchar(6) NOT NULL DEFAULT '',&lt;br /&gt;
  PRIMARY KEY (`icao`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='favorite airfield list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_report`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_report` (&lt;br /&gt;
  `report_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`report_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_report_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_report_profile` (&lt;br /&gt;
  `report_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`report_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_aircraft_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_aircraft_type` (&lt;br /&gt;
  `fhp_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `aircraft_type_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`aircraft_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='flight hour pricing aircraft type list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_flight_type` (&lt;br /&gt;
  `fhp_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `excluded` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`flight_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='flight hour pricing flight type list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_profile` (&lt;br /&gt;
  `fhp_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `place_num` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`profile_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `file`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `file` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` mediumblob,&lt;br /&gt;
  `file_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `aircraft_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `duration` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `people_onboard` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `departure_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `arrival_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `counter_departure` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `counter_arrival` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `landing_number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `airborne` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `validated` tinyint(3) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_account_entry` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_entry_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`flight_id`,`account_entry_id`),&lt;br /&gt;
  KEY `idx_account_entry_id` (`account_entry_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_hours_pricing`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_hours_pricing` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `price_formula` text,&lt;br /&gt;
  `left_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `right_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `left_account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `right_account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `credit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `debit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `sale_trigger_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `query` text,&lt;br /&gt;
  `variable_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `extra_field_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `debit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty_formula` text,&lt;br /&gt;
  `unit_price_formula` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight hours pricing formula';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_pilot`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_pilot` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `pilot_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `status_id` int(10) DEFAULT NULL,&lt;br /&gt;
  `num` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`flight_id`,`pilot_id`,`num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of crew for each flight';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_tank_qty`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_tank_qty` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `tank_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `quantity` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `after_flight` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `pay_type` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_track`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_track` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `track_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`track_id`,`flight_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Link between flight and track';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_type` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_type_mandatory_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_type_mandatory_validity_type` (&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`flight_type_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of mandatory qualification for each flight type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `import`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `import` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) NOT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `import_file_type` varchar(255) NOT NULL DEFAULT 'csv-comma-CRLF',&lt;br /&gt;
  `match_query` text,&lt;br /&gt;
  `uptodate_test_query` text,&lt;br /&gt;
  `update_query` text,&lt;br /&gt;
  `update_activated` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `hash_password` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `sync_task_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `ip_stopped`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `ip_stopped` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `ip` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='BLACKLISTED IP';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `journal`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `journal` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `date_log` datetime DEFAULT NULL,&lt;br /&gt;
  `rights` text,&lt;br /&gt;
  `rights2` text,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_date_log` (`date_log`),&lt;br /&gt;
  KEY `idx_action` (`action`(8))&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_alert`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_alert` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `alert_date` datetime DEFAULT NULL,&lt;br /&gt;
  `status` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Key alerts';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_assignment`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_assignment` (&lt;br /&gt;
  `key_id` tinyint(2) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `key_name` tinytext,&lt;br /&gt;
  `aircraft_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `key_state` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `key_word` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`key_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_host`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_host` (&lt;br /&gt;
  `id` tinyint(2) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `timeout` tinyint(2) unsigned NOT NULL DEFAULT '10',&lt;br /&gt;
  `num_key` tinyint(2) unsigned NOT NULL DEFAULT '8',&lt;br /&gt;
  `ipkey` varchar(50) DEFAULT NULL,&lt;br /&gt;
  `httpport` varchar(4) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_log`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_log` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `log_date` datetime DEFAULT NULL,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `message` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `key_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `xmlrpc` int(10) unsigned NOT NULL,&lt;br /&gt;
  `error` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Key logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `location`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `location` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(64) NOT NULL,&lt;br /&gt;
  `icao_name` varchar(6) DEFAULT NULL,&lt;br /&gt;
  `latitude` double DEFAULT NULL,&lt;br /&gt;
  `longitude` double DEFAULT NULL,&lt;br /&gt;
  `altitude` int(7) DEFAULT NULL,&lt;br /&gt;
  `weather_station` int(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `asked_counter` bigint(20) NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `icao_name` (`icao_name`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='airfields coord';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `log`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `log` (&lt;br /&gt;
  `journal_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `table_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `field_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `field_value` varchar(255) DEFAULT NULL,&lt;br /&gt;
  KEY `journal_id` (`journal_id`),&lt;br /&gt;
  KEY `idx_field_value` (`field_value`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='part of logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `logger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `logger` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `serial_number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `color` varchar(20) NOT NULL DEFAULT 'red',&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `order_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Logger parameters';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `login_stopped`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `login_stopped` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter` tinyint(3) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='BLACKLISTED LOGIN';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `parent_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `m_component_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `resource_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  `serial_number` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `brandnew_date` datetime DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `parent_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_type_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `m_classification_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `is_maintenance_check` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `manufacturer` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `manufacturer_reference` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `part_number` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `periodicity` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `tolerance` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `calendar_periodicity` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `calendar_tolerance` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component_type_parentality`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component_type_parentality` (&lt;br /&gt;
  `m_component_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `m_component_type_parent_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`m_component_type_id`,`m_component_type_parent_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_history`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_history` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `m_component_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `install_date` datetime DEFAULT NULL,&lt;br /&gt;
  `remove_date` datetime DEFAULT NULL,&lt;br /&gt;
  `total_hours_on_install` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_hours` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_date` datetime DEFAULT NULL,&lt;br /&gt;
  `threshold_date_locked` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_hours_locked` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_operation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_operation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  `m_component_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `map_logger_monitoring`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `map_logger_monitoring` (&lt;br /&gt;
  `record_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `count_data` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`record_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='link between flight and track';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `map_track`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `map_track` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `record_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_data` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_time` datetime DEFAULT NULL,&lt;br /&gt;
  `latitude_max` double DEFAULT NULL,&lt;br /&gt;
  `longitude_max` double DEFAULT NULL,&lt;br /&gt;
  `latitude_min` double DEFAULT NULL,&lt;br /&gt;
  `longitude_min` double DEFAULT NULL,&lt;br /&gt;
  `visible` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB0 DEFAULT CHARSET=latin1 COMMENT='Tracks split from GDR';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `nationality`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `nationality` (&lt;br /&gt;
  `code` char(2) NOT NULL DEFAULT '',&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`code`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `parameter`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `parameter` (&lt;br /&gt;
  `code` varchar(255) NOT NULL DEFAULT '',&lt;br /&gt;
  `key_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `enabled` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `int_value` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `char_value` text,&lt;br /&gt;
  PRIMARY KEY (`code`,`key_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='APPLICATION PARAMETERS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `payment_distribution`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `payment_distribution` (&lt;br /&gt;
  `payment_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_club_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_delivery` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `member_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `treasury_budget_id` int(10) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `payment_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `payment_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `text_field_label` text,&lt;br /&gt;
  `supplier` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `only_admin` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `person`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `person` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `hash_password` varchar(255) NOT NULL,&lt;br /&gt;
  `first_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `last_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `profile` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `view_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `view_width` tinyint(3) unsigned NOT NULL DEFAULT '12',&lt;br /&gt;
  `view_height` tinyint(4) unsigned NOT NULL DEFAULT '30',&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `timezone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `address` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `zipcode` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `city` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `state` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `country` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `home_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `work_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `cell_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `lang` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `notification` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT '1',&lt;br /&gt;
  `birthdate` datetime DEFAULT '0000-00-00 00:00:00',&lt;br /&gt;
  `sex` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `nationality` char(2) DEFAULT NULL,&lt;br /&gt;
  `total_flight_time` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `date_total_flight_time` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `idx_name` (`name`)&lt;br /&gt;
) ENGINE=InnoDB68 DEFAULT CHARSET=latin1 COMMENT='used for authentication';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `person_awaiting_activation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `person_awaiting_activation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `ip` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `code` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `expiration_date` datetime DEFAULT NULL,&lt;br /&gt;
  `used` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `product`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `product` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `free_sale` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `locked` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `variable_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `sale_type` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `permits` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `permits2` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `permits3` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_accounting_notification`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_accounting_notification` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `accounting_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`accounting_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_extra_field_join`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_extra_field_join` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`extra_field_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_profile_view`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_profile_view` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `viewable_profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`viewable_profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_required_account_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_required_account_type` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`account_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_resource_type_place`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_resource_type_place` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `place_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`resource_type_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_resource_type_view`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_resource_type_view` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `viewable_resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`viewable_resource_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_validity_type_join`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_validity_type_join` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_validity_type_notification`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_validity_type_notification` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `psp_return`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `psp_return` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `psp_transaction_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `bank_answer` text,&lt;br /&gt;
  `bank_misc` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `psp_transaction`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `psp_transaction` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `credit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `transaction_date` datetime NOT NULL,&lt;br /&gt;
  `amount` float NOT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `payment_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `state` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `token` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `regular_presence_inst_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `regular_presence_inst_date` (&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_day` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `end_day` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_hour` time DEFAULT NULL,&lt;br /&gt;
  `end_hour` time DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `resource_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `non_bookable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `virtual` tinyint(10) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` int(10) unsigned NOT NULL,&lt;br /&gt;
  `seats_available` int(11) DEFAULT '-1',&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  `max_booking_duration` int(10) DEFAULT '-1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource_type_place_tag`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource_type_place_tag` (&lt;br /&gt;
  `resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `place_num` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `place_tag` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`resource_type_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_2_stock`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_2_stock` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `stock_variation_qty_per_sale` float NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_2_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_2_validity_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `new_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `update_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `validity_type_id` (`validity_type_id`),&lt;br /&gt;
  KEY `idx_product` (`product_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `price_formula` text,&lt;br /&gt;
  `debit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `credit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_account_type` int(10) unsigned NOT NULL,&lt;br /&gt;
  `credit_account_type` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(10) DEFAULT NULL,&lt;br /&gt;
  `variable_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `debit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty_formula` text,&lt;br /&gt;
  `unit_price_formula` text,&lt;br /&gt;
  `added_product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing_product`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing_product` (&lt;br /&gt;
  `sale_pricing_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `product_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`sale_pricing_id`,`product_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing_profile` (&lt;br /&gt;
  `sale_pricing_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`sale_pricing_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_trigger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_trigger` (&lt;br /&gt;
  `id` int(10) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `event` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `locked` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `spreadsheet_parameter`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `spreadsheet_parameter` (&lt;br /&gt;
  `file_number` int(10) NOT NULL,&lt;br /&gt;
  `spreadsheet_key` varchar(255) NOT NULL,&lt;br /&gt;
  `spreadsheet_value` varchar(255) NOT NULL,&lt;br /&gt;
  `file_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `google_url` varchar(255) NOT NULL,&lt;br /&gt;
  `file_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`file_number`,`spreadsheet_key`,`spreadsheet_value`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `statistic`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `statistic` (&lt;br /&gt;
  `name` varchar(255) NOT NULL,&lt;br /&gt;
  `of_version` tinyint(3) NOT NULL DEFAULT '0',&lt;br /&gt;
  `value` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  PRIMARY KEY (`name`,`of_version`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `status`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `status` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `abbrev` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of functions for pilot';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `stock_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_level`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_level` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `qty` float NOT NULL DEFAULT '0',&lt;br /&gt;
  `stock_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_variation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_variation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `qty` float NOT NULL DEFAULT '0',&lt;br /&gt;
  `variation_date` datetime DEFAULT NULL,&lt;br /&gt;
  `validated` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_variation_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_variation_account_entry` (&lt;br /&gt;
  `product_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `stock_variation_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`product_id`,`stock_variation_id`,`account_entry_flow_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `supplier_bill_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `bill_date` date DEFAULT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `ordinal` int(10) unsigned NOT NULL,&lt;br /&gt;
  `validated` tinyint(1) DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill_account_entry` (&lt;br /&gt;
  `supplier_bill_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`supplier_bill_id`,`account_entry_flow_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `supplier_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `vat_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `supplier_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `vat_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `table_trigger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `table_trigger` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `monitored_table` varchar(255) NOT NULL,&lt;br /&gt;
  `trigger_formula` varchar(255) NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `tank`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `tank` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `tank_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `unit_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `max_quantity` decimal(15,2) DEFAULT '-1.00',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `track_record`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `track_record` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `box_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `in_progress` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT '0000-00-00 00:00:00',&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `datechsys_track_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_box_id` (`box_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `track_record_data`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `track_record_data` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `record_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `record_date` datetime DEFAULT NULL,&lt;br /&gt;
  `longitude` double DEFAULT NULL,&lt;br /&gt;
  `latitude` double DEFAULT NULL,&lt;br /&gt;
  `altitude` int(7) DEFAULT NULL,&lt;br /&gt;
  `speed` double DEFAULT NULL,&lt;br /&gt;
  `track` int(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `acc_x` int(6) DEFAULT NULL,&lt;br /&gt;
  `acc_y` int(6) DEFAULT NULL,&lt;br /&gt;
  `acc_z` int(6) DEFAULT NULL,&lt;br /&gt;
  `pressure` int(5) unsigned DEFAULT NULL,&lt;br /&gt;
  `battery_level` int(4) unsigned DEFAULT NULL,&lt;br /&gt;
  `gps_fix` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `receive_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_record_id` (`record_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `uncomp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `uncomp_flight_type` (&lt;br /&gt;
  `id1` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `id2` int(10) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of sales';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `validity`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `validity` (&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` date DEFAULT NULL,&lt;br /&gt;
  `no_alert` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `ident_value` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `grant_date` date DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`person_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='QUALIFICATIONS OF EACH MEMBER';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `validity_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `time_limitation` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `ident_value_enable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `grant_date_enable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `mandatory` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `experience_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `alert_on_login` int(10) DEFAULT '-2',&lt;br /&gt;
  `mandatory_access_control` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='QUALIFICATIONS LIST';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `variable`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `variable` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `value_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `variable_value`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `variable_value` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable_id` int(11) NOT NULL,&lt;br /&gt;
  `assign_value` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  `start_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB1 DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `web_feed`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `web_feed` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `channel_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `publication_date` datetime NOT NULL,&lt;br /&gt;
  `title` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `web_feed_channel`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `web_feed_channel` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
&lt;br /&gt;
==Table booking==&lt;br /&gt;
&lt;br /&gt;
Le contenu du champ ''aircraft_id'' de la table ''booking'' peut être nul. Dans ce cas, c'est une ancienne réservation effectuée sur une ressource non-existante ou qui n'existe plus; aussi nommé réservation orpheline.&lt;br /&gt;
&lt;br /&gt;
==Table flight==&lt;br /&gt;
&lt;br /&gt;
*airborne :&lt;br /&gt;
**0: Pas en l'air ou fermeture de vol : Le pilote a terminé le vol.&lt;br /&gt;
**1: En l'air ou ouverture de vol : Le pilot remplit le vol avant de voler.&lt;br /&gt;
&lt;br /&gt;
==Champs cachés==&lt;br /&gt;
&lt;br /&gt;
Following fields can not be exported and should not be in included in SELECT statement. Moreover, SELECT with wild-card * is not possible when there is one table including hidden fields:&lt;br /&gt;
*Table club:&lt;br /&gt;
**name&lt;br /&gt;
**info_cell&lt;br /&gt;
**logo&lt;br /&gt;
**logo_name&lt;br /&gt;
**logo_ext&lt;br /&gt;
**logo_size&lt;br /&gt;
**first_hour_displayed&lt;br /&gt;
**last_hour_displayed&lt;br /&gt;
**usual_profiles&lt;br /&gt;
**default_slot_range&lt;br /&gt;
**min_slot_range&lt;br /&gt;
**twilight_range&lt;br /&gt;
**mailing_list_name&lt;br /&gt;
**mailing_list_type&lt;br /&gt;
**default_timezone&lt;br /&gt;
**lang&lt;br /&gt;
**admin_num&lt;br /&gt;
**mail_from_address&lt;br /&gt;
**default_view_type&lt;br /&gt;
**address&lt;br /&gt;
**zipcode&lt;br /&gt;
**city&lt;br /&gt;
**state&lt;br /&gt;
**country&lt;br /&gt;
**phone&lt;br /&gt;
**fax&lt;br /&gt;
**email&lt;br /&gt;
**default_notification&lt;br /&gt;
**welcome_cell&lt;br /&gt;
&lt;br /&gt;
*Table journal: all fields&lt;br /&gt;
*Table log: all fields&lt;br /&gt;
*Table parameter: all fields&lt;br /&gt;
&lt;br /&gt;
*Table person:&lt;br /&gt;
**hash_password&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of unallowed queries :&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT * FROM club;&lt;br /&gt;
&lt;br /&gt;
SELECT hash_password FROM person;&lt;br /&gt;
&lt;br /&gt;
SELECT person.id, validity.*&lt;br /&gt;
FROM person&lt;br /&gt;
LEFT JOIN validity ON (person.id=validity.person_id);&amp;lt;/sql&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Structure-de-la-base-de-donn%C3%A9es&amp;diff=15251</id>
		<title>Structure de la base de données</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Structure-de-la-base-de-donn%C3%A9es&amp;diff=15251"/>
				<updated>2017-06-08T12:01:43Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Table booking */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Structure=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;--&lt;br /&gt;
-- Table structure for table `account`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `creation_date` date DEFAULT NULL,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `export_account` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `owner_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `payment_allowed` tinyint(1) DEFAULT '0',&lt;br /&gt;
  `budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `accounting_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `deactivated_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_owner_id` (`owner_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of account';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_entry` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flow_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `account_date` datetime DEFAULT NULL,&lt;br /&gt;
  `registration_date` datetime DEFAULT NULL,&lt;br /&gt;
  `account_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `payment_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `payment_description` text,&lt;br /&gt;
  `person_delivery_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` text,&lt;br /&gt;
  `validated` int(1) DEFAULT '0',&lt;br /&gt;
  `exported` int(1) DEFAULT '0',&lt;br /&gt;
  `budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_account_date` (`account_date`),&lt;br /&gt;
  KEY `idx_flow_id` (`flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of account entries';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT '1',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `accounting_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `export_account_pattern` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_type_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_type_profile` (&lt;br /&gt;
  `account_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`account_type_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Linked account type\r\nfield and profile';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `accounting`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `accounting` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `symbol` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `format` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `decimal_precision` int(10) unsigned DEFAULT '2',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `accounting_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `accounting_profile` (&lt;br /&gt;
  `accounting_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`accounting_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `ref_date` datetime DEFAULT NULL,&lt;br /&gt;
  `ref_hours` int(11) DEFAULT NULL,&lt;br /&gt;
  `inspection_date` date DEFAULT NULL,&lt;br /&gt;
  `inspection_time` int(11) DEFAULT NULL,&lt;br /&gt;
  `interval_visit` int(11) unsigned DEFAULT '30000',&lt;br /&gt;
  `tolerance_time` int(11) unsigned DEFAULT '6000',&lt;br /&gt;
  `last_counter` int(11) DEFAULT NULL,&lt;br /&gt;
  `time_alert1` int(11) DEFAULT '6000',&lt;br /&gt;
  `time_alert2` int(11) DEFAULT '0',&lt;br /&gt;
  `time_alert3` int(11) DEFAULT '0',&lt;br /&gt;
  `day_alert1` smallint(3) DEFAULT '15',&lt;br /&gt;
  `day_alert2` smallint(3) DEFAULT '0',&lt;br /&gt;
  `day_alert3` smallint(3) DEFAULT '8',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='ALL AIRCRAFTS OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `flight_time_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter_state` tinyint(2) NOT NULL DEFAULT '-1',&lt;br /&gt;
  `tolerance` int(11) DEFAULT '0',&lt;br /&gt;
  `autonomy` int(11) DEFAULT '5990',&lt;br /&gt;
  `digit_counter_number` tinyint(1) unsigned NOT NULL DEFAULT '4',&lt;br /&gt;
  `true_air_speed` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Types of aircraft';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_allowed_status`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_allowed_status` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `place_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `status_id` int(10) DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of allowed functions for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_mandatory_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_mandatory_flight_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0'&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of compulsory flight type for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_uncomp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_uncomp_flight_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0'&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of uncompatible flight type for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_validity_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `check_num` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`aircraft_type_id`,`validity_type_id`,`check_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Types of qualif required for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `balance`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `balance` (&lt;br /&gt;
  `account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `balance_date_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  PRIMARY KEY (`account_id`,`balance_date_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `balance_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `balance_date` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `balance_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `booking`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `booking` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `end_date` datetime DEFAULT NULL,&lt;br /&gt;
  `resource_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `slot_type` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `instructor_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `free_seats` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `departure_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `arrival_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='RECORDS ALL THE SLOTS OF ALL AIRCRAFTS OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `booking_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `booking_account_entry` (&lt;br /&gt;
  `booking_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`booking_id`,`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `budget`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `budget` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `group_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `export_code` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `budget_group`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `budget_group` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `club`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `club` (&lt;br /&gt;
  `id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `info_cell` text,&lt;br /&gt;
  `logo` longblob,&lt;br /&gt;
  `logo_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `logo_ext` varchar(25) DEFAULT NULL,&lt;br /&gt;
  `logo_size` int(11) DEFAULT NULL,&lt;br /&gt;
  `first_hour_displayed` time DEFAULT NULL,&lt;br /&gt;
  `last_hour_displayed` time DEFAULT NULL,&lt;br /&gt;
  `usual_profiles` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `icao` varchar(6) DEFAULT NULL,&lt;br /&gt;
  `default_slot_range` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `min_slot_range` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `twilight_range` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `mailing_list_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `mailing_list_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `club_site_url` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `default_timezone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `lang` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `admin_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  `default_view_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `address` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `zipcode` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `city` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `state` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `country` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `fax` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `default_notification` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `welcome_cell` text,&lt;br /&gt;
  `business` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='DESCRIPTION OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `criteria`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `criteria` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `predicate` text,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `dsn` varchar(20) NOT NULL DEFAULT 'customer',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `criteria_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `criteria_profile` (&lt;br /&gt;
  `criteria_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`criteria_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `customer_bill_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `customer_bill_entry` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flow_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_entry_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `owner_category` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `owner_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `customer_bill_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  `unit_price` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `bill_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_account_entry_id` (`account_entry_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `customer_bill_file`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `customer_bill_file` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `file_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` longblob,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `default_display`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `default_display` (&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `display_key` varchar(255) NOT NULL DEFAULT '',&lt;br /&gt;
  `display_value` text,&lt;br /&gt;
  PRIMARY KEY (`person_id`,`display_key`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `default_multi_display`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `default_multi_display` (&lt;br /&gt;
  `resource_type` char(30) NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `display_value` text,&lt;br /&gt;
  PRIMARY KEY (`resource_type`,`person_id`,`resource_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `email_sent`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `email_sent` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `message_id` varchar(150) NOT NULL,&lt;br /&gt;
  `sender` varchar(255) NOT NULL,&lt;br /&gt;
  `title` varchar(255) NOT NULL,&lt;br /&gt;
  `category` tinyint(3) unsigned NOT NULL,&lt;br /&gt;
  `category_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `message_id_UNIQUE` (`message_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `email_sent_recipient`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `email_sent_recipient` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `email_sent_id` bigint(20) unsigned NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `recipient_type` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `smtp_status_category` varchar(30) DEFAULT NULL,&lt;br /&gt;
  `email_status` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `update_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `email_sent_id_idx` (`email_sent_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `exceptionnal_inst_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `exceptionnal_inst_date` (&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `end_date` datetime DEFAULT NULL,&lt;br /&gt;
  `presence` tinyint(1) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `value_type` varchar(40) DEFAULT NULL,&lt;br /&gt;
  `category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `dsn` varchar(20) DEFAULT NULL,&lt;br /&gt;
  `compulsory_fill` tinyint(1) DEFAULT '0',&lt;br /&gt;
  `linked_category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `linked_extra_field_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `linked_field_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `max_display` int(10) DEFAULT '-1',&lt;br /&gt;
  `formula` text,&lt;br /&gt;
  `default_value` text,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `variable` (`variable`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of extra form field';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field_content`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field_content` (&lt;br /&gt;
  `category_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  PRIMARY KEY (`category_id`,`extra_field_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Content of extra form field';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field_profile` (&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `booking_popup_display_4_profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`extra_field_id`,`booking_popup_display_4_profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `facebook`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `facebook` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `category` int(10) unsigned NOT NULL,&lt;br /&gt;
  `owner_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `small` blob,&lt;br /&gt;
  `original` mediumblob NOT NULL,&lt;br /&gt;
  `label` text,&lt;br /&gt;
  `description` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB5 DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_icao`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_icao` (&lt;br /&gt;
  `icao` varchar(6) NOT NULL DEFAULT '',&lt;br /&gt;
  PRIMARY KEY (`icao`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='favorite airfield list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_report`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_report` (&lt;br /&gt;
  `report_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`report_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_report_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_report_profile` (&lt;br /&gt;
  `report_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`report_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_aircraft_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_aircraft_type` (&lt;br /&gt;
  `fhp_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `aircraft_type_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`aircraft_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='flight hour pricing aircraft type list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_flight_type` (&lt;br /&gt;
  `fhp_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `excluded` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`flight_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='flight hour pricing flight type list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_profile` (&lt;br /&gt;
  `fhp_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `place_num` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`profile_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `file`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `file` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` mediumblob,&lt;br /&gt;
  `file_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `aircraft_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `duration` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `people_onboard` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `departure_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `arrival_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `counter_departure` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `counter_arrival` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `landing_number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `airborne` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `validated` tinyint(3) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_account_entry` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_entry_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`flight_id`,`account_entry_id`),&lt;br /&gt;
  KEY `idx_account_entry_id` (`account_entry_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_hours_pricing`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_hours_pricing` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `price_formula` text,&lt;br /&gt;
  `left_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `right_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `left_account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `right_account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `credit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `debit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `sale_trigger_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `query` text,&lt;br /&gt;
  `variable_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `extra_field_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `debit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty_formula` text,&lt;br /&gt;
  `unit_price_formula` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight hours pricing formula';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_pilot`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_pilot` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `pilot_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `status_id` int(10) DEFAULT NULL,&lt;br /&gt;
  `num` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`flight_id`,`pilot_id`,`num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of crew for each flight';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_tank_qty`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_tank_qty` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `tank_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `quantity` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `after_flight` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `pay_type` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_track`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_track` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `track_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`track_id`,`flight_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Link between flight and track';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_type` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_type_mandatory_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_type_mandatory_validity_type` (&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`flight_type_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of mandatory qualification for each flight type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `import`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `import` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) NOT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `import_file_type` varchar(255) NOT NULL DEFAULT 'csv-comma-CRLF',&lt;br /&gt;
  `match_query` text,&lt;br /&gt;
  `uptodate_test_query` text,&lt;br /&gt;
  `update_query` text,&lt;br /&gt;
  `update_activated` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `hash_password` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `sync_task_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `ip_stopped`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `ip_stopped` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `ip` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='BLACKLISTED IP';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `journal`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `journal` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `date_log` datetime DEFAULT NULL,&lt;br /&gt;
  `rights` text,&lt;br /&gt;
  `rights2` text,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_date_log` (`date_log`),&lt;br /&gt;
  KEY `idx_action` (`action`(8))&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_alert`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_alert` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `alert_date` datetime DEFAULT NULL,&lt;br /&gt;
  `status` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Key alerts';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_assignment`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_assignment` (&lt;br /&gt;
  `key_id` tinyint(2) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `key_name` tinytext,&lt;br /&gt;
  `aircraft_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `key_state` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `key_word` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`key_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_host`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_host` (&lt;br /&gt;
  `id` tinyint(2) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `timeout` tinyint(2) unsigned NOT NULL DEFAULT '10',&lt;br /&gt;
  `num_key` tinyint(2) unsigned NOT NULL DEFAULT '8',&lt;br /&gt;
  `ipkey` varchar(50) DEFAULT NULL,&lt;br /&gt;
  `httpport` varchar(4) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_log`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_log` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `log_date` datetime DEFAULT NULL,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `message` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `key_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `xmlrpc` int(10) unsigned NOT NULL,&lt;br /&gt;
  `error` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Key logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `location`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `location` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(64) NOT NULL,&lt;br /&gt;
  `icao_name` varchar(6) DEFAULT NULL,&lt;br /&gt;
  `latitude` double DEFAULT NULL,&lt;br /&gt;
  `longitude` double DEFAULT NULL,&lt;br /&gt;
  `altitude` int(7) DEFAULT NULL,&lt;br /&gt;
  `weather_station` int(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `asked_counter` bigint(20) NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `icao_name` (`icao_name`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='airfields coord';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `log`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `log` (&lt;br /&gt;
  `journal_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `table_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `field_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `field_value` varchar(255) DEFAULT NULL,&lt;br /&gt;
  KEY `journal_id` (`journal_id`),&lt;br /&gt;
  KEY `idx_field_value` (`field_value`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='part of logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `logger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `logger` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `serial_number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `color` varchar(20) NOT NULL DEFAULT 'red',&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `order_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Logger parameters';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `login_stopped`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `login_stopped` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter` tinyint(3) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='BLACKLISTED LOGIN';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `parent_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `m_component_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `resource_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  `serial_number` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `brandnew_date` datetime DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `parent_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_type_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `m_classification_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `is_maintenance_check` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `manufacturer` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `manufacturer_reference` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `part_number` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `periodicity` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `tolerance` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `calendar_periodicity` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `calendar_tolerance` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component_type_parentality`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component_type_parentality` (&lt;br /&gt;
  `m_component_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `m_component_type_parent_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`m_component_type_id`,`m_component_type_parent_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_history`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_history` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `m_component_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `install_date` datetime DEFAULT NULL,&lt;br /&gt;
  `remove_date` datetime DEFAULT NULL,&lt;br /&gt;
  `total_hours_on_install` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_hours` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_date` datetime DEFAULT NULL,&lt;br /&gt;
  `threshold_date_locked` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_hours_locked` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_operation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_operation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  `m_component_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `map_logger_monitoring`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `map_logger_monitoring` (&lt;br /&gt;
  `record_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `count_data` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`record_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='link between flight and track';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `map_track`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `map_track` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `record_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_data` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_time` datetime DEFAULT NULL,&lt;br /&gt;
  `latitude_max` double DEFAULT NULL,&lt;br /&gt;
  `longitude_max` double DEFAULT NULL,&lt;br /&gt;
  `latitude_min` double DEFAULT NULL,&lt;br /&gt;
  `longitude_min` double DEFAULT NULL,&lt;br /&gt;
  `visible` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB0 DEFAULT CHARSET=latin1 COMMENT='Tracks split from GDR';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `nationality`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `nationality` (&lt;br /&gt;
  `code` char(2) NOT NULL DEFAULT '',&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`code`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `parameter`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `parameter` (&lt;br /&gt;
  `code` varchar(255) NOT NULL DEFAULT '',&lt;br /&gt;
  `key_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `enabled` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `int_value` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `char_value` text,&lt;br /&gt;
  PRIMARY KEY (`code`,`key_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='APPLICATION PARAMETERS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `payment_distribution`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `payment_distribution` (&lt;br /&gt;
  `payment_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_club_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_delivery` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `member_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `treasury_budget_id` int(10) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `payment_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `payment_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `text_field_label` text,&lt;br /&gt;
  `supplier` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `only_admin` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `person`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `person` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `hash_password` varchar(255) NOT NULL,&lt;br /&gt;
  `first_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `last_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `profile` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `view_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `view_width` tinyint(3) unsigned NOT NULL DEFAULT '12',&lt;br /&gt;
  `view_height` tinyint(4) unsigned NOT NULL DEFAULT '30',&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `timezone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `address` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `zipcode` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `city` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `state` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `country` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `home_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `work_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `cell_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `lang` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `notification` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT '1',&lt;br /&gt;
  `birthdate` datetime DEFAULT '0000-00-00 00:00:00',&lt;br /&gt;
  `sex` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `nationality` char(2) DEFAULT NULL,&lt;br /&gt;
  `total_flight_time` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `date_total_flight_time` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `idx_name` (`name`)&lt;br /&gt;
) ENGINE=InnoDB68 DEFAULT CHARSET=latin1 COMMENT='used for authentication';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `person_awaiting_activation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `person_awaiting_activation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `ip` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `code` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `expiration_date` datetime DEFAULT NULL,&lt;br /&gt;
  `used` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `product`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `product` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `free_sale` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `locked` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `variable_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `sale_type` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `permits` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `permits2` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `permits3` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_accounting_notification`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_accounting_notification` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `accounting_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`accounting_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_extra_field_join`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_extra_field_join` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`extra_field_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_profile_view`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_profile_view` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `viewable_profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`viewable_profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_required_account_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_required_account_type` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`account_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_resource_type_place`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_resource_type_place` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `place_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`resource_type_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_resource_type_view`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_resource_type_view` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `viewable_resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`viewable_resource_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_validity_type_join`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_validity_type_join` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_validity_type_notification`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_validity_type_notification` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `psp_return`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `psp_return` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `psp_transaction_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `bank_answer` text,&lt;br /&gt;
  `bank_misc` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `psp_transaction`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `psp_transaction` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `credit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `transaction_date` datetime NOT NULL,&lt;br /&gt;
  `amount` float NOT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `payment_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `state` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `token` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `regular_presence_inst_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `regular_presence_inst_date` (&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_day` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `end_day` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_hour` time DEFAULT NULL,&lt;br /&gt;
  `end_hour` time DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `resource_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `non_bookable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `virtual` tinyint(10) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` int(10) unsigned NOT NULL,&lt;br /&gt;
  `seats_available` int(11) DEFAULT '-1',&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  `max_booking_duration` int(10) DEFAULT '-1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource_type_place_tag`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource_type_place_tag` (&lt;br /&gt;
  `resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `place_num` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `place_tag` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`resource_type_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_2_stock`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_2_stock` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `stock_variation_qty_per_sale` float NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_2_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_2_validity_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `new_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `update_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `validity_type_id` (`validity_type_id`),&lt;br /&gt;
  KEY `idx_product` (`product_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `price_formula` text,&lt;br /&gt;
  `debit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `credit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_account_type` int(10) unsigned NOT NULL,&lt;br /&gt;
  `credit_account_type` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(10) DEFAULT NULL,&lt;br /&gt;
  `variable_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `debit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty_formula` text,&lt;br /&gt;
  `unit_price_formula` text,&lt;br /&gt;
  `added_product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing_product`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing_product` (&lt;br /&gt;
  `sale_pricing_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `product_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`sale_pricing_id`,`product_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing_profile` (&lt;br /&gt;
  `sale_pricing_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`sale_pricing_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_trigger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_trigger` (&lt;br /&gt;
  `id` int(10) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `event` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `locked` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `spreadsheet_parameter`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `spreadsheet_parameter` (&lt;br /&gt;
  `file_number` int(10) NOT NULL,&lt;br /&gt;
  `spreadsheet_key` varchar(255) NOT NULL,&lt;br /&gt;
  `spreadsheet_value` varchar(255) NOT NULL,&lt;br /&gt;
  `file_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `google_url` varchar(255) NOT NULL,&lt;br /&gt;
  `file_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`file_number`,`spreadsheet_key`,`spreadsheet_value`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `statistic`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `statistic` (&lt;br /&gt;
  `name` varchar(255) NOT NULL,&lt;br /&gt;
  `of_version` tinyint(3) NOT NULL DEFAULT '0',&lt;br /&gt;
  `value` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  PRIMARY KEY (`name`,`of_version`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `status`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `status` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `abbrev` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of functions for pilot';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `stock_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_level`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_level` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `qty` float NOT NULL DEFAULT '0',&lt;br /&gt;
  `stock_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_variation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_variation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `qty` float NOT NULL DEFAULT '0',&lt;br /&gt;
  `variation_date` datetime DEFAULT NULL,&lt;br /&gt;
  `validated` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_variation_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_variation_account_entry` (&lt;br /&gt;
  `product_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `stock_variation_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`product_id`,`stock_variation_id`,`account_entry_flow_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `supplier_bill_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `bill_date` date DEFAULT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `ordinal` int(10) unsigned NOT NULL,&lt;br /&gt;
  `validated` tinyint(1) DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill_account_entry` (&lt;br /&gt;
  `supplier_bill_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`supplier_bill_id`,`account_entry_flow_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `supplier_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `vat_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `supplier_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `vat_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `table_trigger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `table_trigger` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `monitored_table` varchar(255) NOT NULL,&lt;br /&gt;
  `trigger_formula` varchar(255) NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `tank`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `tank` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `tank_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `unit_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `max_quantity` decimal(15,2) DEFAULT '-1.00',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `track_record`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `track_record` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `box_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `in_progress` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT '0000-00-00 00:00:00',&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `datechsys_track_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_box_id` (`box_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `track_record_data`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `track_record_data` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `record_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `record_date` datetime DEFAULT NULL,&lt;br /&gt;
  `longitude` double DEFAULT NULL,&lt;br /&gt;
  `latitude` double DEFAULT NULL,&lt;br /&gt;
  `altitude` int(7) DEFAULT NULL,&lt;br /&gt;
  `speed` double DEFAULT NULL,&lt;br /&gt;
  `track` int(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `acc_x` int(6) DEFAULT NULL,&lt;br /&gt;
  `acc_y` int(6) DEFAULT NULL,&lt;br /&gt;
  `acc_z` int(6) DEFAULT NULL,&lt;br /&gt;
  `pressure` int(5) unsigned DEFAULT NULL,&lt;br /&gt;
  `battery_level` int(4) unsigned DEFAULT NULL,&lt;br /&gt;
  `gps_fix` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `receive_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_record_id` (`record_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `uncomp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `uncomp_flight_type` (&lt;br /&gt;
  `id1` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `id2` int(10) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of sales';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `validity`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `validity` (&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` date DEFAULT NULL,&lt;br /&gt;
  `no_alert` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `ident_value` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `grant_date` date DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`person_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='QUALIFICATIONS OF EACH MEMBER';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `validity_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `time_limitation` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `ident_value_enable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `grant_date_enable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `mandatory` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `experience_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `alert_on_login` int(10) DEFAULT '-2',&lt;br /&gt;
  `mandatory_access_control` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='QUALIFICATIONS LIST';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `variable`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `variable` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `value_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `variable_value`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `variable_value` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable_id` int(11) NOT NULL,&lt;br /&gt;
  `assign_value` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  `start_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB1 DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `web_feed`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `web_feed` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `channel_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `publication_date` datetime NOT NULL,&lt;br /&gt;
  `title` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `web_feed_channel`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `web_feed_channel` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
&lt;br /&gt;
==Table booking==&lt;br /&gt;
&lt;br /&gt;
Le contenu du champ ''aircraft_id'' de la table ''booking'' peut être nul. Dans ce cas, c'est une ancienne réservation effectuée sur une ressource non-existante ou qui n'existe plus; aussi nommé réservation orpheline.&lt;br /&gt;
&lt;br /&gt;
==Table flight==&lt;br /&gt;
*airborne :&lt;br /&gt;
**0: not airborne or flight closed: the pilot has finished is flight.&lt;br /&gt;
**1: airborne or flight opened: the pilot fills the flight before going flying.&lt;br /&gt;
&lt;br /&gt;
==Champs cachés==&lt;br /&gt;
&lt;br /&gt;
Following fields can not be exported and should not be in included in SELECT statement. Moreover, SELECT with wild-card * is not possible when there is one table including hidden fields:&lt;br /&gt;
*Table club:&lt;br /&gt;
**name&lt;br /&gt;
**info_cell&lt;br /&gt;
**logo&lt;br /&gt;
**logo_name&lt;br /&gt;
**logo_ext&lt;br /&gt;
**logo_size&lt;br /&gt;
**first_hour_displayed&lt;br /&gt;
**last_hour_displayed&lt;br /&gt;
**usual_profiles&lt;br /&gt;
**default_slot_range&lt;br /&gt;
**min_slot_range&lt;br /&gt;
**twilight_range&lt;br /&gt;
**mailing_list_name&lt;br /&gt;
**mailing_list_type&lt;br /&gt;
**default_timezone&lt;br /&gt;
**lang&lt;br /&gt;
**admin_num&lt;br /&gt;
**mail_from_address&lt;br /&gt;
**default_view_type&lt;br /&gt;
**address&lt;br /&gt;
**zipcode&lt;br /&gt;
**city&lt;br /&gt;
**state&lt;br /&gt;
**country&lt;br /&gt;
**phone&lt;br /&gt;
**fax&lt;br /&gt;
**email&lt;br /&gt;
**default_notification&lt;br /&gt;
**welcome_cell&lt;br /&gt;
&lt;br /&gt;
*Table journal: all fields&lt;br /&gt;
*Table log: all fields&lt;br /&gt;
*Table parameter: all fields&lt;br /&gt;
&lt;br /&gt;
*Table person:&lt;br /&gt;
**hash_password&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of unallowed queries :&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT * FROM club;&lt;br /&gt;
&lt;br /&gt;
SELECT hash_password FROM person;&lt;br /&gt;
&lt;br /&gt;
SELECT person.id, validity.*&lt;br /&gt;
FROM person&lt;br /&gt;
LEFT JOIN validity ON (person.id=validity.person_id);&amp;lt;/sql&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Structure-de-la-base-de-donn%C3%A9es&amp;diff=15250</id>
		<title>Structure de la base de données</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Structure-de-la-base-de-donn%C3%A9es&amp;diff=15250"/>
				<updated>2017-06-08T11:52:00Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Structure=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;--&lt;br /&gt;
-- Table structure for table `account`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `creation_date` date DEFAULT NULL,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `export_account` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `owner_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `payment_allowed` tinyint(1) DEFAULT '0',&lt;br /&gt;
  `budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `accounting_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `deactivated_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_owner_id` (`owner_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of account';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_entry` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flow_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `account_date` datetime DEFAULT NULL,&lt;br /&gt;
  `registration_date` datetime DEFAULT NULL,&lt;br /&gt;
  `account_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `payment_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `payment_description` text,&lt;br /&gt;
  `person_delivery_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` text,&lt;br /&gt;
  `validated` int(1) DEFAULT '0',&lt;br /&gt;
  `exported` int(1) DEFAULT '0',&lt;br /&gt;
  `budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_account_date` (`account_date`),&lt;br /&gt;
  KEY `idx_flow_id` (`flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of account entries';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT '1',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `accounting_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `export_account_pattern` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_type_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_type_profile` (&lt;br /&gt;
  `account_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`account_type_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Linked account type\r\nfield and profile';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `accounting`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `accounting` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `symbol` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `format` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `decimal_precision` int(10) unsigned DEFAULT '2',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `accounting_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `accounting_profile` (&lt;br /&gt;
  `accounting_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`accounting_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `ref_date` datetime DEFAULT NULL,&lt;br /&gt;
  `ref_hours` int(11) DEFAULT NULL,&lt;br /&gt;
  `inspection_date` date DEFAULT NULL,&lt;br /&gt;
  `inspection_time` int(11) DEFAULT NULL,&lt;br /&gt;
  `interval_visit` int(11) unsigned DEFAULT '30000',&lt;br /&gt;
  `tolerance_time` int(11) unsigned DEFAULT '6000',&lt;br /&gt;
  `last_counter` int(11) DEFAULT NULL,&lt;br /&gt;
  `time_alert1` int(11) DEFAULT '6000',&lt;br /&gt;
  `time_alert2` int(11) DEFAULT '0',&lt;br /&gt;
  `time_alert3` int(11) DEFAULT '0',&lt;br /&gt;
  `day_alert1` smallint(3) DEFAULT '15',&lt;br /&gt;
  `day_alert2` smallint(3) DEFAULT '0',&lt;br /&gt;
  `day_alert3` smallint(3) DEFAULT '8',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='ALL AIRCRAFTS OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `flight_time_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter_state` tinyint(2) NOT NULL DEFAULT '-1',&lt;br /&gt;
  `tolerance` int(11) DEFAULT '0',&lt;br /&gt;
  `autonomy` int(11) DEFAULT '5990',&lt;br /&gt;
  `digit_counter_number` tinyint(1) unsigned NOT NULL DEFAULT '4',&lt;br /&gt;
  `true_air_speed` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Types of aircraft';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_allowed_status`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_allowed_status` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `place_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `status_id` int(10) DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of allowed functions for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_mandatory_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_mandatory_flight_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0'&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of compulsory flight type for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_uncomp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_uncomp_flight_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0'&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of uncompatible flight type for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_validity_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `check_num` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`aircraft_type_id`,`validity_type_id`,`check_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Types of qualif required for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `balance`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `balance` (&lt;br /&gt;
  `account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `balance_date_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  PRIMARY KEY (`account_id`,`balance_date_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `balance_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `balance_date` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `balance_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `booking`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `booking` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `end_date` datetime DEFAULT NULL,&lt;br /&gt;
  `resource_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `slot_type` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `instructor_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `free_seats` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `departure_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `arrival_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='RECORDS ALL THE SLOTS OF ALL AIRCRAFTS OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `booking_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `booking_account_entry` (&lt;br /&gt;
  `booking_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`booking_id`,`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `budget`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `budget` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `group_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `export_code` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `budget_group`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `budget_group` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `club`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `club` (&lt;br /&gt;
  `id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `info_cell` text,&lt;br /&gt;
  `logo` longblob,&lt;br /&gt;
  `logo_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `logo_ext` varchar(25) DEFAULT NULL,&lt;br /&gt;
  `logo_size` int(11) DEFAULT NULL,&lt;br /&gt;
  `first_hour_displayed` time DEFAULT NULL,&lt;br /&gt;
  `last_hour_displayed` time DEFAULT NULL,&lt;br /&gt;
  `usual_profiles` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `icao` varchar(6) DEFAULT NULL,&lt;br /&gt;
  `default_slot_range` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `min_slot_range` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `twilight_range` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `mailing_list_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `mailing_list_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `club_site_url` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `default_timezone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `lang` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `admin_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  `default_view_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `address` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `zipcode` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `city` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `state` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `country` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `fax` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `default_notification` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `welcome_cell` text,&lt;br /&gt;
  `business` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='DESCRIPTION OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `criteria`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `criteria` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `predicate` text,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `dsn` varchar(20) NOT NULL DEFAULT 'customer',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `criteria_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `criteria_profile` (&lt;br /&gt;
  `criteria_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`criteria_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `customer_bill_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `customer_bill_entry` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flow_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_entry_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `owner_category` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `owner_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `customer_bill_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  `unit_price` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `bill_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_account_entry_id` (`account_entry_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `customer_bill_file`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `customer_bill_file` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `file_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` longblob,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `default_display`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `default_display` (&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `display_key` varchar(255) NOT NULL DEFAULT '',&lt;br /&gt;
  `display_value` text,&lt;br /&gt;
  PRIMARY KEY (`person_id`,`display_key`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `default_multi_display`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `default_multi_display` (&lt;br /&gt;
  `resource_type` char(30) NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `display_value` text,&lt;br /&gt;
  PRIMARY KEY (`resource_type`,`person_id`,`resource_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `email_sent`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `email_sent` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `message_id` varchar(150) NOT NULL,&lt;br /&gt;
  `sender` varchar(255) NOT NULL,&lt;br /&gt;
  `title` varchar(255) NOT NULL,&lt;br /&gt;
  `category` tinyint(3) unsigned NOT NULL,&lt;br /&gt;
  `category_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `message_id_UNIQUE` (`message_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `email_sent_recipient`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `email_sent_recipient` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `email_sent_id` bigint(20) unsigned NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `recipient_type` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `smtp_status_category` varchar(30) DEFAULT NULL,&lt;br /&gt;
  `email_status` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `update_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `email_sent_id_idx` (`email_sent_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `exceptionnal_inst_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `exceptionnal_inst_date` (&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `end_date` datetime DEFAULT NULL,&lt;br /&gt;
  `presence` tinyint(1) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `value_type` varchar(40) DEFAULT NULL,&lt;br /&gt;
  `category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `dsn` varchar(20) DEFAULT NULL,&lt;br /&gt;
  `compulsory_fill` tinyint(1) DEFAULT '0',&lt;br /&gt;
  `linked_category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `linked_extra_field_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `linked_field_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `max_display` int(10) DEFAULT '-1',&lt;br /&gt;
  `formula` text,&lt;br /&gt;
  `default_value` text,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `variable` (`variable`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of extra form field';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field_content`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field_content` (&lt;br /&gt;
  `category_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  PRIMARY KEY (`category_id`,`extra_field_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Content of extra form field';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field_profile` (&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `booking_popup_display_4_profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`extra_field_id`,`booking_popup_display_4_profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `facebook`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `facebook` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `category` int(10) unsigned NOT NULL,&lt;br /&gt;
  `owner_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `small` blob,&lt;br /&gt;
  `original` mediumblob NOT NULL,&lt;br /&gt;
  `label` text,&lt;br /&gt;
  `description` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB5 DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_icao`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_icao` (&lt;br /&gt;
  `icao` varchar(6) NOT NULL DEFAULT '',&lt;br /&gt;
  PRIMARY KEY (`icao`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='favorite airfield list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_report`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_report` (&lt;br /&gt;
  `report_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`report_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_report_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_report_profile` (&lt;br /&gt;
  `report_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`report_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_aircraft_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_aircraft_type` (&lt;br /&gt;
  `fhp_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `aircraft_type_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`aircraft_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='flight hour pricing aircraft type list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_flight_type` (&lt;br /&gt;
  `fhp_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `excluded` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`flight_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='flight hour pricing flight type list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_profile` (&lt;br /&gt;
  `fhp_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `place_num` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`profile_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `file`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `file` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` mediumblob,&lt;br /&gt;
  `file_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `aircraft_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `duration` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `people_onboard` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `departure_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `arrival_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `counter_departure` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `counter_arrival` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `landing_number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `airborne` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `validated` tinyint(3) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_account_entry` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_entry_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`flight_id`,`account_entry_id`),&lt;br /&gt;
  KEY `idx_account_entry_id` (`account_entry_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_hours_pricing`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_hours_pricing` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `price_formula` text,&lt;br /&gt;
  `left_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `right_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `left_account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `right_account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `credit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `debit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `sale_trigger_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `query` text,&lt;br /&gt;
  `variable_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `extra_field_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `debit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty_formula` text,&lt;br /&gt;
  `unit_price_formula` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight hours pricing formula';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_pilot`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_pilot` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `pilot_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `status_id` int(10) DEFAULT NULL,&lt;br /&gt;
  `num` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`flight_id`,`pilot_id`,`num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of crew for each flight';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_tank_qty`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_tank_qty` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `tank_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `quantity` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `after_flight` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `pay_type` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_track`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_track` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `track_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`track_id`,`flight_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Link between flight and track';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_type` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_type_mandatory_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_type_mandatory_validity_type` (&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`flight_type_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of mandatory qualification for each flight type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `import`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `import` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) NOT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `import_file_type` varchar(255) NOT NULL DEFAULT 'csv-comma-CRLF',&lt;br /&gt;
  `match_query` text,&lt;br /&gt;
  `uptodate_test_query` text,&lt;br /&gt;
  `update_query` text,&lt;br /&gt;
  `update_activated` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `hash_password` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `sync_task_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `ip_stopped`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `ip_stopped` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `ip` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='BLACKLISTED IP';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `journal`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `journal` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `date_log` datetime DEFAULT NULL,&lt;br /&gt;
  `rights` text,&lt;br /&gt;
  `rights2` text,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_date_log` (`date_log`),&lt;br /&gt;
  KEY `idx_action` (`action`(8))&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_alert`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_alert` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `alert_date` datetime DEFAULT NULL,&lt;br /&gt;
  `status` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Key alerts';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_assignment`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_assignment` (&lt;br /&gt;
  `key_id` tinyint(2) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `key_name` tinytext,&lt;br /&gt;
  `aircraft_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `key_state` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `key_word` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`key_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_host`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_host` (&lt;br /&gt;
  `id` tinyint(2) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `timeout` tinyint(2) unsigned NOT NULL DEFAULT '10',&lt;br /&gt;
  `num_key` tinyint(2) unsigned NOT NULL DEFAULT '8',&lt;br /&gt;
  `ipkey` varchar(50) DEFAULT NULL,&lt;br /&gt;
  `httpport` varchar(4) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_log`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_log` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `log_date` datetime DEFAULT NULL,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `message` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `key_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `xmlrpc` int(10) unsigned NOT NULL,&lt;br /&gt;
  `error` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Key logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `location`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `location` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(64) NOT NULL,&lt;br /&gt;
  `icao_name` varchar(6) DEFAULT NULL,&lt;br /&gt;
  `latitude` double DEFAULT NULL,&lt;br /&gt;
  `longitude` double DEFAULT NULL,&lt;br /&gt;
  `altitude` int(7) DEFAULT NULL,&lt;br /&gt;
  `weather_station` int(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `asked_counter` bigint(20) NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `icao_name` (`icao_name`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='airfields coord';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `log`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `log` (&lt;br /&gt;
  `journal_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `table_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `field_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `field_value` varchar(255) DEFAULT NULL,&lt;br /&gt;
  KEY `journal_id` (`journal_id`),&lt;br /&gt;
  KEY `idx_field_value` (`field_value`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='part of logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `logger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `logger` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `serial_number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `color` varchar(20) NOT NULL DEFAULT 'red',&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `order_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Logger parameters';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `login_stopped`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `login_stopped` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter` tinyint(3) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='BLACKLISTED LOGIN';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `parent_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `m_component_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `resource_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  `serial_number` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `brandnew_date` datetime DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `parent_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_type_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `m_classification_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `is_maintenance_check` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `manufacturer` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `manufacturer_reference` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `part_number` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `periodicity` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `tolerance` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `calendar_periodicity` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `calendar_tolerance` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component_type_parentality`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component_type_parentality` (&lt;br /&gt;
  `m_component_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `m_component_type_parent_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`m_component_type_id`,`m_component_type_parent_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_history`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_history` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `m_component_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `install_date` datetime DEFAULT NULL,&lt;br /&gt;
  `remove_date` datetime DEFAULT NULL,&lt;br /&gt;
  `total_hours_on_install` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_hours` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_date` datetime DEFAULT NULL,&lt;br /&gt;
  `threshold_date_locked` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_hours_locked` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_operation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_operation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  `m_component_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `map_logger_monitoring`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `map_logger_monitoring` (&lt;br /&gt;
  `record_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `count_data` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`record_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='link between flight and track';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `map_track`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `map_track` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `record_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_data` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_time` datetime DEFAULT NULL,&lt;br /&gt;
  `latitude_max` double DEFAULT NULL,&lt;br /&gt;
  `longitude_max` double DEFAULT NULL,&lt;br /&gt;
  `latitude_min` double DEFAULT NULL,&lt;br /&gt;
  `longitude_min` double DEFAULT NULL,&lt;br /&gt;
  `visible` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB0 DEFAULT CHARSET=latin1 COMMENT='Tracks split from GDR';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `nationality`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `nationality` (&lt;br /&gt;
  `code` char(2) NOT NULL DEFAULT '',&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`code`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `parameter`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `parameter` (&lt;br /&gt;
  `code` varchar(255) NOT NULL DEFAULT '',&lt;br /&gt;
  `key_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `enabled` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `int_value` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `char_value` text,&lt;br /&gt;
  PRIMARY KEY (`code`,`key_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='APPLICATION PARAMETERS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `payment_distribution`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `payment_distribution` (&lt;br /&gt;
  `payment_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_club_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_delivery` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `member_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `treasury_budget_id` int(10) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `payment_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `payment_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `text_field_label` text,&lt;br /&gt;
  `supplier` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `only_admin` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `person`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `person` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `hash_password` varchar(255) NOT NULL,&lt;br /&gt;
  `first_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `last_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `profile` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `view_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `view_width` tinyint(3) unsigned NOT NULL DEFAULT '12',&lt;br /&gt;
  `view_height` tinyint(4) unsigned NOT NULL DEFAULT '30',&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `timezone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `address` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `zipcode` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `city` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `state` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `country` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `home_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `work_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `cell_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `lang` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `notification` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT '1',&lt;br /&gt;
  `birthdate` datetime DEFAULT '0000-00-00 00:00:00',&lt;br /&gt;
  `sex` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `nationality` char(2) DEFAULT NULL,&lt;br /&gt;
  `total_flight_time` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `date_total_flight_time` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `idx_name` (`name`)&lt;br /&gt;
) ENGINE=InnoDB68 DEFAULT CHARSET=latin1 COMMENT='used for authentication';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `person_awaiting_activation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `person_awaiting_activation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `ip` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `code` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `expiration_date` datetime DEFAULT NULL,&lt;br /&gt;
  `used` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `product`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `product` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `free_sale` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `locked` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `variable_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `sale_type` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `permits` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `permits2` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `permits3` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_accounting_notification`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_accounting_notification` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `accounting_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`accounting_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_extra_field_join`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_extra_field_join` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`extra_field_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_profile_view`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_profile_view` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `viewable_profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`viewable_profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_required_account_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_required_account_type` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`account_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_resource_type_place`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_resource_type_place` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `place_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`resource_type_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_resource_type_view`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_resource_type_view` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `viewable_resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`viewable_resource_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_validity_type_join`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_validity_type_join` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_validity_type_notification`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_validity_type_notification` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `psp_return`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `psp_return` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `psp_transaction_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `bank_answer` text,&lt;br /&gt;
  `bank_misc` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `psp_transaction`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `psp_transaction` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `credit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `transaction_date` datetime NOT NULL,&lt;br /&gt;
  `amount` float NOT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `payment_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `state` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `token` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `regular_presence_inst_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `regular_presence_inst_date` (&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_day` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `end_day` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_hour` time DEFAULT NULL,&lt;br /&gt;
  `end_hour` time DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `resource_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `non_bookable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `virtual` tinyint(10) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` int(10) unsigned NOT NULL,&lt;br /&gt;
  `seats_available` int(11) DEFAULT '-1',&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  `max_booking_duration` int(10) DEFAULT '-1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource_type_place_tag`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource_type_place_tag` (&lt;br /&gt;
  `resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `place_num` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `place_tag` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`resource_type_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_2_stock`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_2_stock` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `stock_variation_qty_per_sale` float NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_2_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_2_validity_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `new_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `update_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `validity_type_id` (`validity_type_id`),&lt;br /&gt;
  KEY `idx_product` (`product_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `price_formula` text,&lt;br /&gt;
  `debit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `credit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_account_type` int(10) unsigned NOT NULL,&lt;br /&gt;
  `credit_account_type` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(10) DEFAULT NULL,&lt;br /&gt;
  `variable_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `debit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty_formula` text,&lt;br /&gt;
  `unit_price_formula` text,&lt;br /&gt;
  `added_product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing_product`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing_product` (&lt;br /&gt;
  `sale_pricing_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `product_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`sale_pricing_id`,`product_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing_profile` (&lt;br /&gt;
  `sale_pricing_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`sale_pricing_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_trigger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_trigger` (&lt;br /&gt;
  `id` int(10) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `event` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `locked` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `spreadsheet_parameter`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `spreadsheet_parameter` (&lt;br /&gt;
  `file_number` int(10) NOT NULL,&lt;br /&gt;
  `spreadsheet_key` varchar(255) NOT NULL,&lt;br /&gt;
  `spreadsheet_value` varchar(255) NOT NULL,&lt;br /&gt;
  `file_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `google_url` varchar(255) NOT NULL,&lt;br /&gt;
  `file_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`file_number`,`spreadsheet_key`,`spreadsheet_value`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `statistic`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `statistic` (&lt;br /&gt;
  `name` varchar(255) NOT NULL,&lt;br /&gt;
  `of_version` tinyint(3) NOT NULL DEFAULT '0',&lt;br /&gt;
  `value` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  PRIMARY KEY (`name`,`of_version`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `status`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `status` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `abbrev` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of functions for pilot';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `stock_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_level`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_level` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `qty` float NOT NULL DEFAULT '0',&lt;br /&gt;
  `stock_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_variation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_variation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `qty` float NOT NULL DEFAULT '0',&lt;br /&gt;
  `variation_date` datetime DEFAULT NULL,&lt;br /&gt;
  `validated` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_variation_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_variation_account_entry` (&lt;br /&gt;
  `product_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `stock_variation_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`product_id`,`stock_variation_id`,`account_entry_flow_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `supplier_bill_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `bill_date` date DEFAULT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `ordinal` int(10) unsigned NOT NULL,&lt;br /&gt;
  `validated` tinyint(1) DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill_account_entry` (&lt;br /&gt;
  `supplier_bill_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`supplier_bill_id`,`account_entry_flow_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `supplier_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `vat_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `supplier_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `vat_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `table_trigger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `table_trigger` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `monitored_table` varchar(255) NOT NULL,&lt;br /&gt;
  `trigger_formula` varchar(255) NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `tank`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `tank` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `tank_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `unit_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `max_quantity` decimal(15,2) DEFAULT '-1.00',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `track_record`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `track_record` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `box_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `in_progress` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT '0000-00-00 00:00:00',&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `datechsys_track_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_box_id` (`box_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `track_record_data`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `track_record_data` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `record_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `record_date` datetime DEFAULT NULL,&lt;br /&gt;
  `longitude` double DEFAULT NULL,&lt;br /&gt;
  `latitude` double DEFAULT NULL,&lt;br /&gt;
  `altitude` int(7) DEFAULT NULL,&lt;br /&gt;
  `speed` double DEFAULT NULL,&lt;br /&gt;
  `track` int(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `acc_x` int(6) DEFAULT NULL,&lt;br /&gt;
  `acc_y` int(6) DEFAULT NULL,&lt;br /&gt;
  `acc_z` int(6) DEFAULT NULL,&lt;br /&gt;
  `pressure` int(5) unsigned DEFAULT NULL,&lt;br /&gt;
  `battery_level` int(4) unsigned DEFAULT NULL,&lt;br /&gt;
  `gps_fix` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `receive_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_record_id` (`record_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `uncomp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `uncomp_flight_type` (&lt;br /&gt;
  `id1` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `id2` int(10) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of sales';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `validity`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `validity` (&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` date DEFAULT NULL,&lt;br /&gt;
  `no_alert` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `ident_value` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `grant_date` date DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`person_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='QUALIFICATIONS OF EACH MEMBER';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `validity_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `time_limitation` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `ident_value_enable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `grant_date_enable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `mandatory` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `experience_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `alert_on_login` int(10) DEFAULT '-2',&lt;br /&gt;
  `mandatory_access_control` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='QUALIFICATIONS LIST';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `variable`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `variable` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `value_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `variable_value`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `variable_value` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable_id` int(11) NOT NULL,&lt;br /&gt;
  `assign_value` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  `start_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB1 DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `web_feed`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `web_feed` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `channel_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `publication_date` datetime NOT NULL,&lt;br /&gt;
  `title` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `web_feed_channel`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `web_feed_channel` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
&lt;br /&gt;
==Table booking==&lt;br /&gt;
&lt;br /&gt;
The content of ''aircraft_id'' field in ''booking'' table might be null. In this case, it's an old booking made onto a non-existing aircraft or an aircraft which no longer exists; also called orphan booking.&lt;br /&gt;
&lt;br /&gt;
==Table flight==&lt;br /&gt;
*airborne :&lt;br /&gt;
**0: not airborne or flight closed: the pilot has finished is flight.&lt;br /&gt;
**1: airborne or flight opened: the pilot fills the flight before going flying.&lt;br /&gt;
&lt;br /&gt;
==Champs cachés==&lt;br /&gt;
&lt;br /&gt;
Following fields can not be exported and should not be in included in SELECT statement. Moreover, SELECT with wild-card * is not possible when there is one table including hidden fields:&lt;br /&gt;
*Table club:&lt;br /&gt;
**name&lt;br /&gt;
**info_cell&lt;br /&gt;
**logo&lt;br /&gt;
**logo_name&lt;br /&gt;
**logo_ext&lt;br /&gt;
**logo_size&lt;br /&gt;
**first_hour_displayed&lt;br /&gt;
**last_hour_displayed&lt;br /&gt;
**usual_profiles&lt;br /&gt;
**default_slot_range&lt;br /&gt;
**min_slot_range&lt;br /&gt;
**twilight_range&lt;br /&gt;
**mailing_list_name&lt;br /&gt;
**mailing_list_type&lt;br /&gt;
**default_timezone&lt;br /&gt;
**lang&lt;br /&gt;
**admin_num&lt;br /&gt;
**mail_from_address&lt;br /&gt;
**default_view_type&lt;br /&gt;
**address&lt;br /&gt;
**zipcode&lt;br /&gt;
**city&lt;br /&gt;
**state&lt;br /&gt;
**country&lt;br /&gt;
**phone&lt;br /&gt;
**fax&lt;br /&gt;
**email&lt;br /&gt;
**default_notification&lt;br /&gt;
**welcome_cell&lt;br /&gt;
&lt;br /&gt;
*Table journal: all fields&lt;br /&gt;
*Table log: all fields&lt;br /&gt;
*Table parameter: all fields&lt;br /&gt;
&lt;br /&gt;
*Table person:&lt;br /&gt;
**hash_password&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of unallowed queries :&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT * FROM club;&lt;br /&gt;
&lt;br /&gt;
SELECT hash_password FROM person;&lt;br /&gt;
&lt;br /&gt;
SELECT person.id, validity.*&lt;br /&gt;
FROM person&lt;br /&gt;
LEFT JOIN validity ON (person.id=validity.person_id);&amp;lt;/sql&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Structure-de-la-base-de-donn%C3%A9es&amp;diff=15249</id>
		<title>Structure de la base de données</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Structure-de-la-base-de-donn%C3%A9es&amp;diff=15249"/>
				<updated>2017-06-08T11:37:43Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Structure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Structure=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;--&lt;br /&gt;
-- Table structure for table `account`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `creation_date` date DEFAULT NULL,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `export_account` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `owner_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `payment_allowed` tinyint(1) DEFAULT '0',&lt;br /&gt;
  `budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `accounting_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `deactivated_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_owner_id` (`owner_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of account';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_entry` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flow_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `account_date` datetime DEFAULT NULL,&lt;br /&gt;
  `registration_date` datetime DEFAULT NULL,&lt;br /&gt;
  `account_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `payment_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `payment_description` text,&lt;br /&gt;
  `person_delivery_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` text,&lt;br /&gt;
  `validated` int(1) DEFAULT '0',&lt;br /&gt;
  `exported` int(1) DEFAULT '0',&lt;br /&gt;
  `budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_account_date` (`account_date`),&lt;br /&gt;
  KEY `idx_flow_id` (`flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of account entries';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT '1',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `accounting_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `export_account_pattern` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_type_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_type_profile` (&lt;br /&gt;
  `account_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`account_type_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Linked account type\r\nfield and profile';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `accounting`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `accounting` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `symbol` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `format` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `decimal_precision` int(10) unsigned DEFAULT '2',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `accounting_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `accounting_profile` (&lt;br /&gt;
  `accounting_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`accounting_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `ref_date` datetime DEFAULT NULL,&lt;br /&gt;
  `ref_hours` int(11) DEFAULT NULL,&lt;br /&gt;
  `inspection_date` date DEFAULT NULL,&lt;br /&gt;
  `inspection_time` int(11) DEFAULT NULL,&lt;br /&gt;
  `interval_visit` int(11) unsigned DEFAULT '30000',&lt;br /&gt;
  `tolerance_time` int(11) unsigned DEFAULT '6000',&lt;br /&gt;
  `last_counter` int(11) DEFAULT NULL,&lt;br /&gt;
  `time_alert1` int(11) DEFAULT '6000',&lt;br /&gt;
  `time_alert2` int(11) DEFAULT '0',&lt;br /&gt;
  `time_alert3` int(11) DEFAULT '0',&lt;br /&gt;
  `day_alert1` smallint(3) DEFAULT '15',&lt;br /&gt;
  `day_alert2` smallint(3) DEFAULT '0',&lt;br /&gt;
  `day_alert3` smallint(3) DEFAULT '8',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='ALL AIRCRAFTS OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `flight_time_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter_state` tinyint(2) NOT NULL DEFAULT '-1',&lt;br /&gt;
  `tolerance` int(11) DEFAULT '0',&lt;br /&gt;
  `autonomy` int(11) DEFAULT '5990',&lt;br /&gt;
  `digit_counter_number` tinyint(1) unsigned NOT NULL DEFAULT '4',&lt;br /&gt;
  `true_air_speed` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Types of aircraft';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_allowed_status`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_allowed_status` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `place_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `status_id` int(10) DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of allowed functions for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_mandatory_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_mandatory_flight_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0'&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of compulsory flight type for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_uncomp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_uncomp_flight_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0'&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of uncompatible flight type for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_validity_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `check_num` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`aircraft_type_id`,`validity_type_id`,`check_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Types of qualif required for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `balance`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `balance` (&lt;br /&gt;
  `account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `balance_date_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  PRIMARY KEY (`account_id`,`balance_date_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `balance_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `balance_date` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `balance_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `booking`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `booking` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `end_date` datetime DEFAULT NULL,&lt;br /&gt;
  `resource_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `slot_type` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `instructor_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `free_seats` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `departure_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `arrival_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='RECORDS ALL THE SLOTS OF ALL AIRCRAFTS OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `booking_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `booking_account_entry` (&lt;br /&gt;
  `booking_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`booking_id`,`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `budget`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `budget` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `group_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `export_code` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `budget_group`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `budget_group` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `club`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `club` (&lt;br /&gt;
  `id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `info_cell` text,&lt;br /&gt;
  `logo` longblob,&lt;br /&gt;
  `logo_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `logo_ext` varchar(25) DEFAULT NULL,&lt;br /&gt;
  `logo_size` int(11) DEFAULT NULL,&lt;br /&gt;
  `first_hour_displayed` time DEFAULT NULL,&lt;br /&gt;
  `last_hour_displayed` time DEFAULT NULL,&lt;br /&gt;
  `usual_profiles` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `icao` varchar(6) DEFAULT NULL,&lt;br /&gt;
  `default_slot_range` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `min_slot_range` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `twilight_range` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `mailing_list_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `mailing_list_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `club_site_url` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `default_timezone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `lang` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `admin_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  `default_view_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `address` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `zipcode` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `city` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `state` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `country` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `fax` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `default_notification` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `welcome_cell` text,&lt;br /&gt;
  `business` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='DESCRIPTION OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `criteria`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `criteria` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `predicate` text,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `dsn` varchar(20) NOT NULL DEFAULT 'customer',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `criteria_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `criteria_profile` (&lt;br /&gt;
  `criteria_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`criteria_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `customer_bill_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `customer_bill_entry` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flow_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_entry_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `owner_category` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `owner_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `customer_bill_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  `unit_price` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `bill_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_account_entry_id` (`account_entry_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `customer_bill_file`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `customer_bill_file` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `file_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` longblob,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `default_display`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `default_display` (&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `display_key` varchar(255) NOT NULL DEFAULT '',&lt;br /&gt;
  `display_value` text,&lt;br /&gt;
  PRIMARY KEY (`person_id`,`display_key`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `default_multi_display`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `default_multi_display` (&lt;br /&gt;
  `resource_type` char(30) NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `display_value` text,&lt;br /&gt;
  PRIMARY KEY (`resource_type`,`person_id`,`resource_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `email_sent`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `email_sent` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `message_id` varchar(150) NOT NULL,&lt;br /&gt;
  `sender` varchar(255) NOT NULL,&lt;br /&gt;
  `title` varchar(255) NOT NULL,&lt;br /&gt;
  `category` tinyint(3) unsigned NOT NULL,&lt;br /&gt;
  `category_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `message_id_UNIQUE` (`message_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `email_sent_recipient`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `email_sent_recipient` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `email_sent_id` bigint(20) unsigned NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `recipient_type` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `smtp_status_category` varchar(30) DEFAULT NULL,&lt;br /&gt;
  `email_status` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `update_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `email_sent_id_idx` (`email_sent_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `exceptionnal_inst_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `exceptionnal_inst_date` (&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `end_date` datetime DEFAULT NULL,&lt;br /&gt;
  `presence` tinyint(1) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `value_type` varchar(40) DEFAULT NULL,&lt;br /&gt;
  `category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `dsn` varchar(20) DEFAULT NULL,&lt;br /&gt;
  `compulsory_fill` tinyint(1) DEFAULT '0',&lt;br /&gt;
  `linked_category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `linked_extra_field_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `linked_field_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `max_display` int(10) DEFAULT '-1',&lt;br /&gt;
  `formula` text,&lt;br /&gt;
  `default_value` text,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `variable` (`variable`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of extra form field';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field_content`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field_content` (&lt;br /&gt;
  `category_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  PRIMARY KEY (`category_id`,`extra_field_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Content of extra form field';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field_profile` (&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `booking_popup_display_4_profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`extra_field_id`,`booking_popup_display_4_profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `facebook`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `facebook` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `category` int(10) unsigned NOT NULL,&lt;br /&gt;
  `owner_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `small` blob,&lt;br /&gt;
  `original` mediumblob NOT NULL,&lt;br /&gt;
  `label` text,&lt;br /&gt;
  `description` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB5 DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_icao`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_icao` (&lt;br /&gt;
  `icao` varchar(6) NOT NULL DEFAULT '',&lt;br /&gt;
  PRIMARY KEY (`icao`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='favorite airfield list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_report`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_report` (&lt;br /&gt;
  `report_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`report_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_report_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_report_profile` (&lt;br /&gt;
  `report_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`report_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_aircraft_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_aircraft_type` (&lt;br /&gt;
  `fhp_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `aircraft_type_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`aircraft_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='flight hour pricing aircraft type list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_flight_type` (&lt;br /&gt;
  `fhp_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `excluded` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`flight_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='flight hour pricing flight type list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_profile` (&lt;br /&gt;
  `fhp_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `place_num` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`profile_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `file`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `file` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` mediumblob,&lt;br /&gt;
  `file_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `aircraft_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `duration` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `people_onboard` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `departure_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `arrival_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `counter_departure` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `counter_arrival` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `landing_number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `airborne` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `validated` tinyint(3) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_account_entry` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_entry_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`flight_id`,`account_entry_id`),&lt;br /&gt;
  KEY `idx_account_entry_id` (`account_entry_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_hours_pricing`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_hours_pricing` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `price_formula` text,&lt;br /&gt;
  `left_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `right_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `left_account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `right_account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `credit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `debit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `sale_trigger_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `query` text,&lt;br /&gt;
  `variable_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `extra_field_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `debit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty_formula` text,&lt;br /&gt;
  `unit_price_formula` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight hours pricing formula';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_pilot`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_pilot` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `pilot_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `status_id` int(10) DEFAULT NULL,&lt;br /&gt;
  `num` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`flight_id`,`pilot_id`,`num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of crew for each flight';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_tank_qty`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_tank_qty` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `tank_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `quantity` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `after_flight` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `pay_type` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_track`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_track` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `track_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`track_id`,`flight_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Link between flight and track';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_type` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_type_mandatory_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_type_mandatory_validity_type` (&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`flight_type_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of mandatory qualification for each flight type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `import`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `import` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) NOT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `import_file_type` varchar(255) NOT NULL DEFAULT 'csv-comma-CRLF',&lt;br /&gt;
  `match_query` text,&lt;br /&gt;
  `uptodate_test_query` text,&lt;br /&gt;
  `update_query` text,&lt;br /&gt;
  `update_activated` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `hash_password` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `sync_task_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `ip_stopped`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `ip_stopped` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `ip` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='BLACKLISTED IP';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `journal`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `journal` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `date_log` datetime DEFAULT NULL,&lt;br /&gt;
  `rights` text,&lt;br /&gt;
  `rights2` text,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_date_log` (`date_log`),&lt;br /&gt;
  KEY `idx_action` (`action`(8))&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_alert`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_alert` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `alert_date` datetime DEFAULT NULL,&lt;br /&gt;
  `status` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Key alerts';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_assignment`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_assignment` (&lt;br /&gt;
  `key_id` tinyint(2) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `key_name` tinytext,&lt;br /&gt;
  `aircraft_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `key_state` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `key_word` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`key_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_host`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_host` (&lt;br /&gt;
  `id` tinyint(2) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `timeout` tinyint(2) unsigned NOT NULL DEFAULT '10',&lt;br /&gt;
  `num_key` tinyint(2) unsigned NOT NULL DEFAULT '8',&lt;br /&gt;
  `ipkey` varchar(50) DEFAULT NULL,&lt;br /&gt;
  `httpport` varchar(4) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_log`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_log` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `log_date` datetime DEFAULT NULL,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `message` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `key_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `xmlrpc` int(10) unsigned NOT NULL,&lt;br /&gt;
  `error` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Key logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `location`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `location` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(64) NOT NULL,&lt;br /&gt;
  `icao_name` varchar(6) DEFAULT NULL,&lt;br /&gt;
  `latitude` double DEFAULT NULL,&lt;br /&gt;
  `longitude` double DEFAULT NULL,&lt;br /&gt;
  `altitude` int(7) DEFAULT NULL,&lt;br /&gt;
  `weather_station` int(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `asked_counter` bigint(20) NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `icao_name` (`icao_name`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='airfields coord';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `log`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `log` (&lt;br /&gt;
  `journal_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `table_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `field_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `field_value` varchar(255) DEFAULT NULL,&lt;br /&gt;
  KEY `journal_id` (`journal_id`),&lt;br /&gt;
  KEY `idx_field_value` (`field_value`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='part of logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `logger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `logger` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `serial_number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `color` varchar(20) NOT NULL DEFAULT 'red',&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `order_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Logger parameters';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `login_stopped`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `login_stopped` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter` tinyint(3) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='BLACKLISTED LOGIN';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `parent_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `m_component_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `resource_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  `serial_number` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `brandnew_date` datetime DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `parent_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_type_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `m_classification_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `is_maintenance_check` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `manufacturer` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `manufacturer_reference` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `part_number` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `periodicity` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `tolerance` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `calendar_periodicity` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `calendar_tolerance` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component_type_parentality`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component_type_parentality` (&lt;br /&gt;
  `m_component_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `m_component_type_parent_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`m_component_type_id`,`m_component_type_parent_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_history`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_history` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `m_component_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `install_date` datetime DEFAULT NULL,&lt;br /&gt;
  `remove_date` datetime DEFAULT NULL,&lt;br /&gt;
  `total_hours_on_install` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_hours` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_date` datetime DEFAULT NULL,&lt;br /&gt;
  `threshold_date_locked` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_hours_locked` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_operation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_operation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  `m_component_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `map_logger_monitoring`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `map_logger_monitoring` (&lt;br /&gt;
  `record_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `count_data` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`record_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='link between flight and track';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `map_track`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `map_track` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `record_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_data` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_time` datetime DEFAULT NULL,&lt;br /&gt;
  `latitude_max` double DEFAULT NULL,&lt;br /&gt;
  `longitude_max` double DEFAULT NULL,&lt;br /&gt;
  `latitude_min` double DEFAULT NULL,&lt;br /&gt;
  `longitude_min` double DEFAULT NULL,&lt;br /&gt;
  `visible` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB0 DEFAULT CHARSET=latin1 COMMENT='Tracks split from GDR';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `nationality`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `nationality` (&lt;br /&gt;
  `code` char(2) NOT NULL DEFAULT '',&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`code`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `parameter`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `parameter` (&lt;br /&gt;
  `code` varchar(255) NOT NULL DEFAULT '',&lt;br /&gt;
  `key_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `enabled` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `int_value` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `char_value` text,&lt;br /&gt;
  PRIMARY KEY (`code`,`key_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='APPLICATION PARAMETERS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `payment_distribution`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `payment_distribution` (&lt;br /&gt;
  `payment_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_club_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_delivery` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `member_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `treasury_budget_id` int(10) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `payment_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `payment_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `text_field_label` text,&lt;br /&gt;
  `supplier` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `only_admin` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `person`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `person` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `hash_password` varchar(255) NOT NULL,&lt;br /&gt;
  `first_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `last_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `profile` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `view_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `view_width` tinyint(3) unsigned NOT NULL DEFAULT '12',&lt;br /&gt;
  `view_height` tinyint(4) unsigned NOT NULL DEFAULT '30',&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `timezone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `address` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `zipcode` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `city` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `state` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `country` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `home_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `work_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `cell_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `lang` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `notification` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT '1',&lt;br /&gt;
  `birthdate` datetime DEFAULT '0000-00-00 00:00:00',&lt;br /&gt;
  `sex` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `nationality` char(2) DEFAULT NULL,&lt;br /&gt;
  `total_flight_time` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `date_total_flight_time` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `idx_name` (`name`)&lt;br /&gt;
) ENGINE=InnoDB68 DEFAULT CHARSET=latin1 COMMENT='used for authentication';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `person_awaiting_activation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `person_awaiting_activation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `ip` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `code` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `expiration_date` datetime DEFAULT NULL,&lt;br /&gt;
  `used` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `product`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `product` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `free_sale` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `locked` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `variable_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `sale_type` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `permits` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `permits2` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `permits3` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_accounting_notification`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_accounting_notification` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `accounting_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`accounting_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_extra_field_join`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_extra_field_join` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`extra_field_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_profile_view`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_profile_view` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `viewable_profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`viewable_profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_required_account_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_required_account_type` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`account_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_resource_type_place`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_resource_type_place` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `place_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`resource_type_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_resource_type_view`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_resource_type_view` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `viewable_resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`viewable_resource_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_validity_type_join`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_validity_type_join` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_validity_type_notification`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_validity_type_notification` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `psp_return`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `psp_return` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `psp_transaction_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `bank_answer` text,&lt;br /&gt;
  `bank_misc` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `psp_transaction`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `psp_transaction` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `credit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `transaction_date` datetime NOT NULL,&lt;br /&gt;
  `amount` float NOT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `payment_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `state` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `token` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `regular_presence_inst_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `regular_presence_inst_date` (&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_day` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `end_day` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_hour` time DEFAULT NULL,&lt;br /&gt;
  `end_hour` time DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `resource_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `non_bookable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `virtual` tinyint(10) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` int(10) unsigned NOT NULL,&lt;br /&gt;
  `seats_available` int(11) DEFAULT '-1',&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  `max_booking_duration` int(10) DEFAULT '-1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource_type_place_tag`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource_type_place_tag` (&lt;br /&gt;
  `resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `place_num` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `place_tag` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`resource_type_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_2_stock`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_2_stock` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `stock_variation_qty_per_sale` float NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_2_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_2_validity_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `new_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `update_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `validity_type_id` (`validity_type_id`),&lt;br /&gt;
  KEY `idx_product` (`product_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `price_formula` text,&lt;br /&gt;
  `debit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `credit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_account_type` int(10) unsigned NOT NULL,&lt;br /&gt;
  `credit_account_type` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(10) DEFAULT NULL,&lt;br /&gt;
  `variable_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `debit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty_formula` text,&lt;br /&gt;
  `unit_price_formula` text,&lt;br /&gt;
  `added_product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing_product`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing_product` (&lt;br /&gt;
  `sale_pricing_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `product_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`sale_pricing_id`,`product_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing_profile` (&lt;br /&gt;
  `sale_pricing_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`sale_pricing_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_trigger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_trigger` (&lt;br /&gt;
  `id` int(10) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `event` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `locked` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `spreadsheet_parameter`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `spreadsheet_parameter` (&lt;br /&gt;
  `file_number` int(10) NOT NULL,&lt;br /&gt;
  `spreadsheet_key` varchar(255) NOT NULL,&lt;br /&gt;
  `spreadsheet_value` varchar(255) NOT NULL,&lt;br /&gt;
  `file_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `google_url` varchar(255) NOT NULL,&lt;br /&gt;
  `file_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`file_number`,`spreadsheet_key`,`spreadsheet_value`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `statistic`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `statistic` (&lt;br /&gt;
  `name` varchar(255) NOT NULL,&lt;br /&gt;
  `of_version` tinyint(3) NOT NULL DEFAULT '0',&lt;br /&gt;
  `value` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  PRIMARY KEY (`name`,`of_version`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `status`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `status` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `abbrev` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of functions for pilot';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `stock_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_level`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_level` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `qty` float NOT NULL DEFAULT '0',&lt;br /&gt;
  `stock_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_variation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_variation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `qty` float NOT NULL DEFAULT '0',&lt;br /&gt;
  `variation_date` datetime DEFAULT NULL,&lt;br /&gt;
  `validated` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_variation_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_variation_account_entry` (&lt;br /&gt;
  `product_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `stock_variation_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`product_id`,`stock_variation_id`,`account_entry_flow_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `supplier_bill_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `bill_date` date DEFAULT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `ordinal` int(10) unsigned NOT NULL,&lt;br /&gt;
  `validated` tinyint(1) DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill_account_entry` (&lt;br /&gt;
  `supplier_bill_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`supplier_bill_id`,`account_entry_flow_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `supplier_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `vat_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `supplier_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `vat_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `table_trigger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `table_trigger` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `monitored_table` varchar(255) NOT NULL,&lt;br /&gt;
  `trigger_formula` varchar(255) NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `tank`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `tank` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `tank_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `unit_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `max_quantity` decimal(15,2) DEFAULT '-1.00',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `track_record`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `track_record` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `box_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `in_progress` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT '0000-00-00 00:00:00',&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `datechsys_track_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_box_id` (`box_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `track_record_data`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `track_record_data` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `record_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `record_date` datetime DEFAULT NULL,&lt;br /&gt;
  `longitude` double DEFAULT NULL,&lt;br /&gt;
  `latitude` double DEFAULT NULL,&lt;br /&gt;
  `altitude` int(7) DEFAULT NULL,&lt;br /&gt;
  `speed` double DEFAULT NULL,&lt;br /&gt;
  `track` int(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `acc_x` int(6) DEFAULT NULL,&lt;br /&gt;
  `acc_y` int(6) DEFAULT NULL,&lt;br /&gt;
  `acc_z` int(6) DEFAULT NULL,&lt;br /&gt;
  `pressure` int(5) unsigned DEFAULT NULL,&lt;br /&gt;
  `battery_level` int(4) unsigned DEFAULT NULL,&lt;br /&gt;
  `gps_fix` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `receive_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_record_id` (`record_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `uncomp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `uncomp_flight_type` (&lt;br /&gt;
  `id1` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `id2` int(10) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of sales';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `validity`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `validity` (&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` date DEFAULT NULL,&lt;br /&gt;
  `no_alert` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `ident_value` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `grant_date` date DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`person_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='QUALIFICATIONS OF EACH MEMBER';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `validity_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `time_limitation` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `ident_value_enable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `grant_date_enable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `mandatory` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `experience_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `alert_on_login` int(10) DEFAULT '-2',&lt;br /&gt;
  `mandatory_access_control` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='QUALIFICATIONS LIST';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `variable`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `variable` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `value_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `variable_value`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `variable_value` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable_id` int(11) NOT NULL,&lt;br /&gt;
  `assign_value` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  `start_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB1 DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `web_feed`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `web_feed` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `channel_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `publication_date` datetime NOT NULL,&lt;br /&gt;
  `title` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `web_feed_channel`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `web_feed_channel` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
&lt;br /&gt;
==booking table==&lt;br /&gt;
The content of ''aircraft_id'' field in ''booking'' table might be null. In this case, it's an old booking made onto a non-existing aircraft or an aircraft which no longer exists; also called orphan booking.&lt;br /&gt;
&lt;br /&gt;
==flight table==&lt;br /&gt;
*airborne :&lt;br /&gt;
**0: not airborne or flight closed: the pilot has finished is flight.&lt;br /&gt;
**1: airborne or flight opened: the pilot fills the flight before going flying.&lt;br /&gt;
&lt;br /&gt;
==Hidden fields==&lt;br /&gt;
Following fields can not be exported and should not be in included in SELECT statement. Moreover, SELECT with wild-card * is not possible when there is one table including hidden fields:&lt;br /&gt;
*Table club:&lt;br /&gt;
**name&lt;br /&gt;
**info_cell&lt;br /&gt;
**logo&lt;br /&gt;
**logo_name&lt;br /&gt;
**logo_ext&lt;br /&gt;
**logo_size&lt;br /&gt;
**first_hour_displayed&lt;br /&gt;
**last_hour_displayed&lt;br /&gt;
**usual_profiles&lt;br /&gt;
**default_slot_range&lt;br /&gt;
**min_slot_range&lt;br /&gt;
**twilight_range&lt;br /&gt;
**mailing_list_name&lt;br /&gt;
**mailing_list_type&lt;br /&gt;
**default_timezone&lt;br /&gt;
**lang&lt;br /&gt;
**admin_num&lt;br /&gt;
**mail_from_address&lt;br /&gt;
**default_view_type&lt;br /&gt;
**address&lt;br /&gt;
**zipcode&lt;br /&gt;
**city&lt;br /&gt;
**state&lt;br /&gt;
**country&lt;br /&gt;
**phone&lt;br /&gt;
**fax&lt;br /&gt;
**email&lt;br /&gt;
**default_notification&lt;br /&gt;
**welcome_cell&lt;br /&gt;
&lt;br /&gt;
*Table journal: all fields&lt;br /&gt;
*Table log: all fields&lt;br /&gt;
*Table parameter: all fields&lt;br /&gt;
&lt;br /&gt;
*Table person:&lt;br /&gt;
**hash_password&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of unallowed queries :&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT * FROM club;&lt;br /&gt;
&lt;br /&gt;
SELECT hash_password FROM person;&lt;br /&gt;
&lt;br /&gt;
SELECT person.id, validity.*&lt;br /&gt;
FROM person&lt;br /&gt;
LEFT JOIN validity ON (person.id=validity.person_id);&amp;lt;/sql&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Structure-de-la-base-de-donn%C3%A9es&amp;diff=15248</id>
		<title>Structure de la base de données</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Structure-de-la-base-de-donn%C3%A9es&amp;diff=15248"/>
				<updated>2017-06-08T11:19:39Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : Page créée avec « =Structure=  &amp;lt;sql&amp;gt;-- -- Table structure for table `account` --  CREATE TABLE `account` (   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,   `creation_date` date DEFAULT NU... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Structure=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;--&lt;br /&gt;
-- Table structure for table `account`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `creation_date` date DEFAULT NULL,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `export_account` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `owner_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `payment_allowed` tinyint(1) DEFAULT '0',&lt;br /&gt;
  `budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `accounting_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `deactivated_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_owner_id` (`owner_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of account';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_entry` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flow_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `account_date` datetime DEFAULT NULL,&lt;br /&gt;
  `registration_date` datetime DEFAULT NULL,&lt;br /&gt;
  `account_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `payment_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `payment_description` text,&lt;br /&gt;
  `person_delivery_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` text,&lt;br /&gt;
  `validated` int(1) DEFAULT '0',&lt;br /&gt;
  `exported` int(1) DEFAULT '0',&lt;br /&gt;
  `budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_account_date` (`account_date`),&lt;br /&gt;
  KEY `idx_flow_id` (`flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of account entries';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT '1',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `accounting_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `export_account_pattern` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `account_type_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `account_type_profile` (&lt;br /&gt;
  `account_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`account_type_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Linked account type\r\nfield and profile';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `accounting`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `accounting` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `symbol` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `format` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `decimal_precision` int(10) unsigned DEFAULT '2',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `accounting_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `accounting_profile` (&lt;br /&gt;
  `accounting_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`accounting_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `ref_date` datetime DEFAULT NULL,&lt;br /&gt;
  `ref_hours` int(11) DEFAULT NULL,&lt;br /&gt;
  `inspection_date` date DEFAULT NULL,&lt;br /&gt;
  `inspection_time` int(11) DEFAULT NULL,&lt;br /&gt;
  `interval_visit` int(11) unsigned DEFAULT '30000',&lt;br /&gt;
  `tolerance_time` int(11) unsigned DEFAULT '6000',&lt;br /&gt;
  `last_counter` int(11) DEFAULT NULL,&lt;br /&gt;
  `time_alert1` int(11) DEFAULT '6000',&lt;br /&gt;
  `time_alert2` int(11) DEFAULT '0',&lt;br /&gt;
  `time_alert3` int(11) DEFAULT '0',&lt;br /&gt;
  `day_alert1` smallint(3) DEFAULT '15',&lt;br /&gt;
  `day_alert2` smallint(3) DEFAULT '0',&lt;br /&gt;
  `day_alert3` smallint(3) DEFAULT '8',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='ALL AIRCRAFTS OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `flight_time_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter_state` tinyint(2) NOT NULL DEFAULT '-1',&lt;br /&gt;
  `tolerance` int(11) DEFAULT '0',&lt;br /&gt;
  `autonomy` int(11) DEFAULT '5990',&lt;br /&gt;
  `digit_counter_number` tinyint(1) unsigned NOT NULL DEFAULT '4',&lt;br /&gt;
  `true_air_speed` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Types of aircraft';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_allowed_status`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_allowed_status` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `place_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `status_id` int(10) DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of allowed functions for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_mandatory_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_mandatory_flight_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0'&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of compulsory flight type for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_uncomp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_uncomp_flight_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0'&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of uncompatible flight type for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `aircraft_type_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `aircraft_type_validity_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `check_num` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`aircraft_type_id`,`validity_type_id`,`check_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Types of qualif required for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `balance`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `balance` (&lt;br /&gt;
  `account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `balance_date_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  PRIMARY KEY (`account_id`,`balance_date_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `balance_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `balance_date` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `balance_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `booking`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `booking` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `end_date` datetime DEFAULT NULL,&lt;br /&gt;
  `resource_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `slot_type` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `instructor_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `free_seats` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `departure_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `arrival_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='RECORDS ALL THE SLOTS OF ALL AIRCRAFTS OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `booking_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `booking_account_entry` (&lt;br /&gt;
  `booking_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`booking_id`,`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `budget`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `budget` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `group_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `export_code` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `budget_group`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `budget_group` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `club`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `club` (&lt;br /&gt;
  `id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `info_cell` text,&lt;br /&gt;
  `logo` longblob,&lt;br /&gt;
  `logo_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `logo_ext` varchar(25) DEFAULT NULL,&lt;br /&gt;
  `logo_size` int(11) DEFAULT NULL,&lt;br /&gt;
  `first_hour_displayed` time DEFAULT NULL,&lt;br /&gt;
  `last_hour_displayed` time DEFAULT NULL,&lt;br /&gt;
  `usual_profiles` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `icao` varchar(6) DEFAULT NULL,&lt;br /&gt;
  `default_slot_range` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `min_slot_range` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `twilight_range` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `mailing_list_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `mailing_list_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `club_site_url` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `default_timezone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `lang` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `admin_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  `default_view_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `address` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `zipcode` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `city` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `state` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `country` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `fax` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `default_notification` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `welcome_cell` text,&lt;br /&gt;
  `business` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='DESCRIPTION OF ALL AIRCLUBS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `criteria`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `criteria` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `predicate` text,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `dsn` varchar(20) NOT NULL DEFAULT 'customer',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `criteria_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `criteria_profile` (&lt;br /&gt;
  `criteria_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`criteria_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `customer_bill_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `customer_bill_entry` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flow_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_entry_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `owner_category` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `owner_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `customer_bill_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  `unit_price` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `debit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `credit` decimal(15,5) DEFAULT '0.00000',&lt;br /&gt;
  `bill_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_account_entry_id` (`account_entry_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `customer_bill_file`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `customer_bill_file` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `file_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` longblob,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `default_display`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `default_display` (&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `display_key` varchar(255) NOT NULL DEFAULT '',&lt;br /&gt;
  `display_value` text,&lt;br /&gt;
  PRIMARY KEY (`person_id`,`display_key`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `default_multi_display`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `default_multi_display` (&lt;br /&gt;
  `resource_type` char(30) NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `display_value` text,&lt;br /&gt;
  PRIMARY KEY (`resource_type`,`person_id`,`resource_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `email_sent`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `email_sent` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `message_id` varchar(150) NOT NULL,&lt;br /&gt;
  `sender` varchar(255) NOT NULL,&lt;br /&gt;
  `title` varchar(255) NOT NULL,&lt;br /&gt;
  `category` tinyint(3) unsigned NOT NULL,&lt;br /&gt;
  `category_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `message_id_UNIQUE` (`message_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `email_sent_recipient`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `email_sent_recipient` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `email_sent_id` bigint(20) unsigned NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `recipient_type` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `smtp_status_category` varchar(30) DEFAULT NULL,&lt;br /&gt;
  `email_status` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `update_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `email_sent_id_idx` (`email_sent_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `exceptionnal_inst_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `exceptionnal_inst_date` (&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `end_date` datetime DEFAULT NULL,&lt;br /&gt;
  `presence` tinyint(1) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `value_type` varchar(40) DEFAULT NULL,&lt;br /&gt;
  `category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `dsn` varchar(20) DEFAULT NULL,&lt;br /&gt;
  `compulsory_fill` tinyint(1) DEFAULT '0',&lt;br /&gt;
  `linked_category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `linked_extra_field_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `linked_field_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `max_display` int(10) DEFAULT '-1',&lt;br /&gt;
  `formula` text,&lt;br /&gt;
  `default_value` text,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `variable` (`variable`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of extra form field';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field_content`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field_content` (&lt;br /&gt;
  `category_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  PRIMARY KEY (`category_id`,`extra_field_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Content of extra form field';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `extra_field_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `extra_field_profile` (&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `booking_popup_display_4_profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`extra_field_id`,`booking_popup_display_4_profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `facebook`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `facebook` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `category` int(10) unsigned NOT NULL,&lt;br /&gt;
  `owner_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `small` blob,&lt;br /&gt;
  `original` mediumblob NOT NULL,&lt;br /&gt;
  `label` text,&lt;br /&gt;
  `description` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB5 DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_icao`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_icao` (&lt;br /&gt;
  `icao` varchar(6) NOT NULL DEFAULT '',&lt;br /&gt;
  PRIMARY KEY (`icao`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='favorite airfield list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_report`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_report` (&lt;br /&gt;
  `report_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`report_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `favorite_report_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `favorite_report_profile` (&lt;br /&gt;
  `report_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`report_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_aircraft_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_aircraft_type` (&lt;br /&gt;
  `fhp_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `aircraft_type_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`aircraft_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='flight hour pricing aircraft type list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_flight_type` (&lt;br /&gt;
  `fhp_id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `excluded` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`flight_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='flight hour pricing flight type list';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `fhp_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `fhp_profile` (&lt;br /&gt;
  `fhp_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `place_num` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`fhp_id`,`profile_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `file`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `file` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` mediumblob,&lt;br /&gt;
  `file_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `aircraft_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `duration` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `people_onboard` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `departure_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `arrival_location_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `counter_departure` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `counter_arrival` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `landing_number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `airborne` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `validated` tinyint(3) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_account_entry` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_entry_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`flight_id`,`account_entry_id`),&lt;br /&gt;
  KEY `idx_account_entry_id` (`account_entry_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_hours_pricing`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_hours_pricing` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `price_formula` text,&lt;br /&gt;
  `left_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `right_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `left_account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `right_account_type` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `credit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `debit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `sale_trigger_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `query` text,&lt;br /&gt;
  `variable_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `extra_field_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `debit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty_formula` text,&lt;br /&gt;
  `unit_price_formula` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight hours pricing formula';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_pilot`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_pilot` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `pilot_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `status_id` int(10) DEFAULT NULL,&lt;br /&gt;
  `num` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`flight_id`,`pilot_id`,`num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of crew for each flight';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_tank_qty`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_tank_qty` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `tank_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `quantity` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `after_flight` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `pay_type` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_track`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_track` (&lt;br /&gt;
  `flight_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `track_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`track_id`,`flight_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Link between flight and track';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_type` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of flight type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `flight_type_mandatory_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `flight_type_mandatory_validity_type` (&lt;br /&gt;
  `flight_type_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`flight_type_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of mandatory qualification for each flight type';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `import`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `import` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) NOT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `import_file_type` varchar(255) NOT NULL DEFAULT 'csv-comma-CRLF',&lt;br /&gt;
  `match_query` text,&lt;br /&gt;
  `uptodate_test_query` text,&lt;br /&gt;
  `update_query` text,&lt;br /&gt;
  `update_activated` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `hash_password` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `sync_task_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `ip_stopped`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `ip_stopped` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `ip` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='BLACKLISTED IP';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `journal`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `journal` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `date_log` datetime DEFAULT NULL,&lt;br /&gt;
  `rights` text,&lt;br /&gt;
  `rights2` text,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_date_log` (`date_log`),&lt;br /&gt;
  KEY `idx_action` (`action`(8))&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='list of logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_alert`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_alert` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `alert_date` datetime DEFAULT NULL,&lt;br /&gt;
  `status` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Key alerts';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_assignment`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_assignment` (&lt;br /&gt;
  `key_id` tinyint(2) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `key_name` tinytext,&lt;br /&gt;
  `aircraft_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `key_state` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `key_word` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`key_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_host`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_host` (&lt;br /&gt;
  `id` tinyint(2) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `timeout` tinyint(2) unsigned NOT NULL DEFAULT '10',&lt;br /&gt;
  `num_key` tinyint(2) unsigned NOT NULL DEFAULT '8',&lt;br /&gt;
  `ipkey` varchar(50) DEFAULT NULL,&lt;br /&gt;
  `httpport` varchar(4) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `key_log`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `key_log` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `log_date` datetime DEFAULT NULL,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `message` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `key_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `xmlrpc` int(10) unsigned NOT NULL,&lt;br /&gt;
  `error` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Key logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `location`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `location` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(64) NOT NULL,&lt;br /&gt;
  `icao_name` varchar(6) DEFAULT NULL,&lt;br /&gt;
  `latitude` double DEFAULT NULL,&lt;br /&gt;
  `longitude` double DEFAULT NULL,&lt;br /&gt;
  `altitude` int(7) DEFAULT NULL,&lt;br /&gt;
  `weather_station` int(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `asked_counter` bigint(20) NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `icao_name` (`icao_name`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='airfields coord';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `log`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `log` (&lt;br /&gt;
  `journal_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `action` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `table_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `field_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `field_value` varchar(255) DEFAULT NULL,&lt;br /&gt;
  KEY `journal_id` (`journal_id`),&lt;br /&gt;
  KEY `idx_field_value` (`field_value`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='part of logs';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `logger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `logger` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `serial_number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `color` varchar(20) NOT NULL DEFAULT 'red',&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `order_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Logger parameters';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `login_stopped`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `login_stopped` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `counter` tinyint(3) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='BLACKLISTED LOGIN';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `parent_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `m_component_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `resource_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  `serial_number` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `brandnew_date` datetime DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `parent_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_type_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `m_classification_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `is_maintenance_check` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `manufacturer` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `manufacturer_reference` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `part_number` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `periodicity` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `tolerance` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `calendar_periodicity` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `calendar_tolerance` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_component_type_parentality`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_component_type_parentality` (&lt;br /&gt;
  `m_component_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `m_component_type_parent_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`m_component_type_id`,`m_component_type_parent_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_history`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_history` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `m_component_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `install_date` datetime DEFAULT NULL,&lt;br /&gt;
  `remove_date` datetime DEFAULT NULL,&lt;br /&gt;
  `total_hours_on_install` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_hours` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_date` datetime DEFAULT NULL,&lt;br /&gt;
  `threshold_date_locked` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `threshold_hours_locked` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `m_operation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `m_operation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  `m_component_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `order_num` int(11) NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `map_logger_monitoring`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `map_logger_monitoring` (&lt;br /&gt;
  `record_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `count_data` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`record_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='link between flight and track';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `map_track`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `map_track` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `record_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_data` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `number` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_time` datetime DEFAULT NULL,&lt;br /&gt;
  `latitude_max` double DEFAULT NULL,&lt;br /&gt;
  `longitude_max` double DEFAULT NULL,&lt;br /&gt;
  `latitude_min` double DEFAULT NULL,&lt;br /&gt;
  `longitude_min` double DEFAULT NULL,&lt;br /&gt;
  `visible` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB0 DEFAULT CHARSET=latin1 COMMENT='Tracks split from GDR';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `nationality`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `nationality` (&lt;br /&gt;
  `code` char(2) NOT NULL DEFAULT '',&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`code`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `parameter`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `parameter` (&lt;br /&gt;
  `code` varchar(255) NOT NULL DEFAULT '',&lt;br /&gt;
  `key_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `enabled` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `int_value` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `char_value` text,&lt;br /&gt;
  PRIMARY KEY (`code`,`key_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='APPLICATION PARAMETERS';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `payment_distribution`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `payment_distribution` (&lt;br /&gt;
  `payment_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_club_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `person_delivery` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `member_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `treasury_budget_id` int(10) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `payment_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `payment_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` text,&lt;br /&gt;
  `text_field_label` text,&lt;br /&gt;
  `supplier` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `only_admin` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `person`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `person` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `hash_password` varchar(255) NOT NULL,&lt;br /&gt;
  `first_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `last_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `profile` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `view_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `view_width` tinyint(3) unsigned NOT NULL DEFAULT '12',&lt;br /&gt;
  `view_height` tinyint(4) unsigned NOT NULL DEFAULT '30',&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `timezone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `address` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `zipcode` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `city` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `state` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `country` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `home_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `work_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `cell_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `lang` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `notification` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT '1',&lt;br /&gt;
  `birthdate` datetime DEFAULT '0000-00-00 00:00:00',&lt;br /&gt;
  `sex` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `nationality` char(2) DEFAULT NULL,&lt;br /&gt;
  `total_flight_time` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `date_total_flight_time` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `idx_name` (`name`)&lt;br /&gt;
) ENGINE=InnoDB68 DEFAULT CHARSET=latin1 COMMENT='used for authentication';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `person_awaiting_activation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `person_awaiting_activation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `ip` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `code` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `expiration_date` datetime DEFAULT NULL,&lt;br /&gt;
  `used` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `product`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `product` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `free_sale` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `locked` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  `variable_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `sale_type` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `permits` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `permits2` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `permits3` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_accounting_notification`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_accounting_notification` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `accounting_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`accounting_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_extra_field_join`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_extra_field_join` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `extra_field_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`extra_field_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_profile_view`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_profile_view` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `viewable_profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`viewable_profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_required_account_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_required_account_type` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`account_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_resource_type_place`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_resource_type_place` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `place_num` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`resource_type_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_resource_type_view`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_resource_type_view` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `viewable_resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`viewable_resource_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_validity_type_join`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_validity_type_join` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `profile_validity_type_notification`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `profile_validity_type_notification` (&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`profile_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `psp_return`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `psp_return` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `psp_transaction_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `bank_answer` text,&lt;br /&gt;
  `bank_misc` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `psp_transaction`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `psp_transaction` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `credit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `transaction_date` datetime NOT NULL,&lt;br /&gt;
  `amount` float NOT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `payment_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `state` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `token` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `regular_presence_inst_date`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `regular_presence_inst_date` (&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_day` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `end_day` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_hour` time DEFAULT NULL,&lt;br /&gt;
  `end_hour` time DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `resource_type_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) unsigned NOT NULL DEFAULT '1',&lt;br /&gt;
  `non_bookable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `virtual` tinyint(10) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` int(10) unsigned NOT NULL,&lt;br /&gt;
  `seats_available` int(11) DEFAULT '-1',&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  `max_booking_duration` int(10) DEFAULT '-1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `resource_type_place_tag`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `resource_type_place_tag` (&lt;br /&gt;
  `resource_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `place_num` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `place_tag` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`resource_type_id`,`place_num`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_2_stock`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_2_stock` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `stock_variation_qty_per_sale` float NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_2_validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_2_validity_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `new_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `update_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `validity_type_id` (`validity_type_id`),&lt;br /&gt;
  KEY `idx_product` (`product_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `price_formula` text,&lt;br /&gt;
  `debit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `credit_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_account_type` int(10) unsigned NOT NULL,&lt;br /&gt;
  `credit_account_type` int(10) unsigned NOT NULL,&lt;br /&gt;
  `debit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `order_num` int(10) DEFAULT NULL,&lt;br /&gt;
  `variable_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `debit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `credit_bill_num` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `qty_formula` text,&lt;br /&gt;
  `unit_price_formula` text,&lt;br /&gt;
  `added_product_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing_product`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing_product` (&lt;br /&gt;
  `sale_pricing_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `product_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`sale_pricing_id`,`product_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_pricing_profile`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_pricing_profile` (&lt;br /&gt;
  `sale_pricing_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `profile_id` bigint(20) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`sale_pricing_id`,`profile_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `sale_trigger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `sale_trigger` (&lt;br /&gt;
  `id` int(10) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `event` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `locked` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `spreadsheet_parameter`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `spreadsheet_parameter` (&lt;br /&gt;
  `file_number` int(10) NOT NULL,&lt;br /&gt;
  `spreadsheet_key` varchar(255) NOT NULL,&lt;br /&gt;
  `spreadsheet_value` varchar(255) NOT NULL,&lt;br /&gt;
  `file_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `google_url` varchar(255) NOT NULL,&lt;br /&gt;
  `file_type` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`file_number`,`spreadsheet_key`,`spreadsheet_value`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `statistic`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `statistic` (&lt;br /&gt;
  `name` varchar(255) NOT NULL,&lt;br /&gt;
  `of_version` tinyint(3) NOT NULL DEFAULT '0',&lt;br /&gt;
  `value` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  PRIMARY KEY (`name`,`of_version`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `status`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `status` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `abbrev` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of functions for pilot';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `stock_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_level`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_level` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `qty` float NOT NULL DEFAULT '0',&lt;br /&gt;
  `stock_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `unit` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_variation`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_variation` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `stock_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `qty` float NOT NULL DEFAULT '0',&lt;br /&gt;
  `variation_date` datetime DEFAULT NULL,&lt;br /&gt;
  `validated` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `stock_variation_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `stock_variation_account_entry` (&lt;br /&gt;
  `product_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `stock_variation_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `person_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`product_id`,`stock_variation_id`,`account_entry_flow_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `supplier_bill_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `bill_date` date DEFAULT NULL,&lt;br /&gt;
  `description` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `ordinal` int(10) unsigned NOT NULL,&lt;br /&gt;
  `validated` tinyint(1) DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill_account_entry`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill_account_entry` (&lt;br /&gt;
  `supplier_bill_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `account_entry_flow_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`supplier_bill_id`,`account_entry_flow_id`),&lt;br /&gt;
  KEY `idx_account_entry_flow_id` (`account_entry_flow_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `supplier_bill_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `supplier_bill_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `supplier_account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `account_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `vat_account_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `supplier_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `account_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `vat_budget_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `table_trigger`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `table_trigger` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `monitored_table` varchar(255) NOT NULL,&lt;br /&gt;
  `trigger_formula` varchar(255) NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `tank`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `tank` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `aircraft_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `tank_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `unit_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `max_quantity` decimal(15,2) DEFAULT '-1.00',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `track_record`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `track_record` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `box_id` int(10) unsigned DEFAULT '0',&lt;br /&gt;
  `in_progress` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT '0000-00-00 00:00:00',&lt;br /&gt;
  `activated` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `datechsys_track_id` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_box_id` (`box_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `track_record_data`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `track_record_data` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `record_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `record_date` datetime DEFAULT NULL,&lt;br /&gt;
  `longitude` double DEFAULT NULL,&lt;br /&gt;
  `latitude` double DEFAULT NULL,&lt;br /&gt;
  `altitude` int(7) DEFAULT NULL,&lt;br /&gt;
  `speed` double DEFAULT NULL,&lt;br /&gt;
  `track` int(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `acc_x` int(6) DEFAULT NULL,&lt;br /&gt;
  `acc_y` int(6) DEFAULT NULL,&lt;br /&gt;
  `acc_z` int(6) DEFAULT NULL,&lt;br /&gt;
  `pressure` int(5) unsigned DEFAULT NULL,&lt;br /&gt;
  `battery_level` int(4) unsigned DEFAULT NULL,&lt;br /&gt;
  `gps_fix` tinyint(1) unsigned DEFAULT NULL,&lt;br /&gt;
  `receive_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_record_id` (`record_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `uncomp_flight_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `uncomp_flight_type` (&lt;br /&gt;
  `id1` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `id2` int(10) unsigned DEFAULT NULL&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='List of sales';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `validity`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `validity` (&lt;br /&gt;
  `person_id` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `validity_type_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `expire_date` date DEFAULT NULL,&lt;br /&gt;
  `no_alert` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `ident_value` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `grant_date` date DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`person_id`,`validity_type_id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='QUALIFICATIONS OF EACH MEMBER';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `validity_type`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `validity_type` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `time_limitation` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `ident_value_enable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `grant_date_enable` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `mandatory` tinyint(1) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
  `experience_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `alert_on_login` int(10) DEFAULT '-2',&lt;br /&gt;
  `mandatory_access_control` tinyint(1) unsigned DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='QUALIFICATIONS LIST';&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `variable`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `variable` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `category` tinyint(1) unsigned NOT NULL,&lt;br /&gt;
  `value_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `variable_value`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `variable_value` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable_id` int(11) NOT NULL,&lt;br /&gt;
  `assign_value` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  `start_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB1 DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `web_feed`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `web_feed` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `channel_id` int(10) unsigned NOT NULL,&lt;br /&gt;
  `publication_date` datetime NOT NULL,&lt;br /&gt;
  `title` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `content` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `web_feed_channel`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `web_feed_channel` (&lt;br /&gt;
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;&amp;lt;/sql&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15247</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15247"/>
				<updated>2017-06-08T11:19:18Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Documentation Administrateurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:2013-OF4-launch.gif|right|link=OF_doc4-fr:Présentation d'OpenFlyers 4]]&lt;br /&gt;
&lt;br /&gt;
Bienvenue sur la [[Toutes les documentations|documentation]] d''''OpenFlyers version 3'''.&lt;br /&gt;
&lt;br /&gt;
You can also access to our [[OF_doc-en:Main-Page3|english documentation]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;float: right&amp;quot; &amp;gt;[[OF_doc4-fr:Présentation d'OpenFlyers 4|Présentation d'OpenFlyers 4]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
OpenFlyers :&lt;br /&gt;
*[[Introduction|La suite logicielle OpenFlyers]]&lt;br /&gt;
*[[Technologies de géolocalisation aéronautique|Les technologies de géolocalisation pour l'aéronautique]]&lt;br /&gt;
*[[Modèle-commercial-et-compte-client-OpenFlyers|Modèle commercial et compte client OpenFlyers]]&lt;br /&gt;
*[[Découvrir OpenFlyers|Découvrir le logiciel OpenFlyers]]&lt;br /&gt;
*[[Bien communiquer avec OpenFlyers|Bien communiquer avec OpenFlyers]]&lt;br /&gt;
*[[Formations OpenFlyers|Formations OpenFlyers]]&lt;br /&gt;
*[[Historique des versions|Historique des versions]]&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
*[[Créer une plateforme OpenFlyers pour sa structure|Créer une plateforme OpenFlyers pour sa structure]]&lt;br /&gt;
*[[Bien débuter avec OpenFlyers|Bien débuter avec OpenFlyers (et mise en place d'un TPE)]]&lt;br /&gt;
*[[Compatibilité des navigateurs|Compatibilité des navigateurs]]&lt;br /&gt;
&lt;br /&gt;
[[Rapporter un bug]]&lt;br /&gt;
&lt;br /&gt;
[[Trucs et astuces]] :&lt;br /&gt;
*[[Kiosque PC|Mettre en place un PC kiosque]]&lt;br /&gt;
*[[Réseau Internet hybride|Mettre en place un réseau internet hybride]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Administrateurs=&lt;br /&gt;
[[Documentation administrateur|Documentation administrateur]]&lt;br /&gt;
&lt;br /&gt;
[[Paramétrage|Paramétrage]]&lt;br /&gt;
&lt;br /&gt;
[[Module pour importation|Module d'import]]&lt;br /&gt;
&lt;br /&gt;
[[Liste de diffusion|Gérer une liste de diffusion sur OpenFlyers]]&lt;br /&gt;
&lt;br /&gt;
[[Champs additionnels|Champs additionnels]]&lt;br /&gt;
&lt;br /&gt;
[[Formules de calcul|Formules de calcul]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes administrateur|Alertes administrateur]]&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
Comptabilité :&lt;br /&gt;
*[[Comptabilité|Généralités sur la comptabilité]]&lt;br /&gt;
*[[Compte de résultats]]&lt;br /&gt;
*[[Conseils spécifiques pour la comptabilité|Conseils spécifiques]]&lt;br /&gt;
*[[Import dans un logiciel comptable tiers|Import dans un logiciel comptable tiers]]&lt;br /&gt;
*[[Écritures comptables|Les écritures comptables]]&lt;br /&gt;
*[[Gestion des écritures comptables|Gestion des écritures comptables]]&lt;br /&gt;
&lt;br /&gt;
*[[Configuration de la comptabilité|Configuration de la comptabilité]]&lt;br /&gt;
*[[Utilisation de la comptabilité|Utilisation de la comptabilité]]&lt;br /&gt;
*[[Gestion des budgets|Gestion des budgets]]&lt;br /&gt;
*[[OF_doc-en::Accounting-export-template-list|Template de format d'export comptable]]&lt;br /&gt;
*[[Modèle de facture ODT|Template ODT pour les factures]]&lt;br /&gt;
&lt;br /&gt;
[[Contrôle des accès|Contrôle des accès]] :&lt;br /&gt;
*[[Installation armoire à clés|Installation armoire à clés]]&lt;br /&gt;
*[[Gestion armoire à clés|Gestion de l'armoire à clés]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ armoire à clés]]&lt;br /&gt;
&lt;br /&gt;
Facturation client :&lt;br /&gt;
*[[Facturation des clients|Généralités sur la facturation des clients]]&lt;br /&gt;
*[[Facturation des heures de vol|Facturation des heures de vols]]&lt;br /&gt;
*[[Gestion des produits et des ventes]]&lt;br /&gt;
&lt;br /&gt;
Facturation fournisseur :&lt;br /&gt;
*[[Gestion des achats|Gestion des achats]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des logs|Logs]]&lt;br /&gt;
&lt;br /&gt;
Maintenance :&lt;br /&gt;
*[[Maintenance aéronautique|Maintenance aéronautique]]&lt;br /&gt;
*[[Suivi de maintenance|Suivi de maintenance]]&lt;br /&gt;
*[[Suivi des remarques de maintenance|Suivi des remarques de maintenance]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des rapports|Rapports]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ressources|Ressources]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des stocks|Stocks]]&lt;br /&gt;
&lt;br /&gt;
[[Tableurs]] :&lt;br /&gt;
*[[Suivi-de-maintenance#Tableur-de-suivi-de-maintenance|Suivi de maintenance]]&lt;br /&gt;
&lt;br /&gt;
Utilisateurs :&lt;br /&gt;
*[[Gestion des utilisateurs|Gestion des utilisateurs]]&lt;br /&gt;
*[[Gestion des profils|Gestion des profils]]&lt;br /&gt;
*[[Gestion des validités|Gestion des validités]]&lt;br /&gt;
*[[Mailing]]&lt;br /&gt;
*[[Suivi des emails]]&lt;br /&gt;
&lt;br /&gt;
Documentation Webmasters et Développeurs :&lt;br /&gt;
*[[Interfaçage OpenFlyers et armoire à clé]]&lt;br /&gt;
*[[Contrôle d'identification par OpenFlyers pour un logiciel tiers]]&lt;br /&gt;
*[[Récupération des vols par un logiciel tiers]]&lt;br /&gt;
*[[Structure de la base de données]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Utilisateurs=&lt;br /&gt;
[[Documentation utilisateur|Documentation utilisateur]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ventes côté utilisateur|Ventes]]&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
*[[FAQ client|FAQ clients]]&lt;br /&gt;
*[[FAQ administrateur|FAQ administrateur]]&lt;br /&gt;
*[[FAQ utilisateur|FAQ utilisateur]]&lt;br /&gt;
*[[FAQ comptabilité|FAQ comptabilité]]&lt;br /&gt;
*[[FAQ export]]&lt;br /&gt;
*[[FAQ AeroBox]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ Armoire à clés]]&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Utilisation-de-la-comptabilit%C3%A9&amp;diff=15238</id>
		<title>Utilisation de la comptabilité</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Utilisation-de-la-comptabilit%C3%A9&amp;diff=15238"/>
				<updated>2017-05-24T14:58:17Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Grand livre */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire la saisie des opérations de [[Comptabilité|comptabilité]].&lt;br /&gt;
&lt;br /&gt;
=Clôturer l'exercice comptable=&lt;br /&gt;
''Attention : la clôture de la comptabilité ne doit être effectuée qu'une fois qu'on est sûr et certain de ne plus avoir à intervenir sur l'exercice à clôturer. Cette opération doit donc être temporisée dans le temps sachant qu'il est tout à fait possible de poursuivre son activité sur l'exercice suivant sans que l'exercice précédent ne soit clôturé.''&lt;br /&gt;
&lt;br /&gt;
OpenFlyers affiche une [[Alertes de configuration#L'exercice_comptable_courant_a_plus_d'un_an|alerte lorsque l'exercice en cours est ouvert depuis 400 jours]].&lt;br /&gt;
&lt;br /&gt;
Avant de clôturer, il faut :&lt;br /&gt;
*Si le bilan est effectué dans OpenFlyers, [[Écritures comptables#Écritures_de_fin_d'exercice_avant_la_clôture_de_la_comptabilité|saisir les écritures de fin d'exercice]]&lt;br /&gt;
*Dans tous les cas, [[#Solder-les-comptes|remettre à 0 les soldes des comptes d'exploitation]].&lt;br /&gt;
*Valider toutes les écritures antérieures à la date de clôture.&lt;br /&gt;
En effet, on ne peut clôturer qu'une période pour laquelle toutes les écritures comptables ont été validées sinon cela engendre [[Alertes-administrateur#Alertes-lors-de-la-clôture-de-la-comptabilité|des alertes]]. Pour cela, il peut être nécessaire de [[#Retrouver-les-écritures-non-validées|retrouver les écritures non validées]]. Il n'est également pas possible de clôturer sur une date future.&lt;br /&gt;
&lt;br /&gt;
Ensuite, pour clôturer :&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Gestion / Export'''.&lt;br /&gt;
*Dans la 2ème partie intitulée '''Gestion de l'exercice comptable''', renseigner le champ '''Date de clôture'''.&lt;br /&gt;
La date de début de nouvel exercice est automatiquement actualisée.&lt;br /&gt;
&lt;br /&gt;
Pour une structure qui a un exercice annuel correspondant à l'année civile les dates devraient être 31/12/XXXX et 01/01/XXXX+1&lt;br /&gt;
*Cliquer sur le bouton '''Clôturer l'exercice puis ouvrir un nouvel exercice'''.&lt;br /&gt;
&lt;br /&gt;
=Exporter la comptabilité=&lt;br /&gt;
''Conseil OpenFlyers : l'export de la comptabilité nécessite au préalable des actions irréversibles comme la validation de l'ensemble des écritures. Pour les personnes débutantes avec cette fonction et qui souhaite pouvoir exporter sans effectuer ces actions irréversibles, il est recommandé de [[Modèle-commercial-et-compte-client-OpenFlyers#Plateforme-supplémentaire-de-test|s'entrainer avec le bac à sable]] en effectuant une recopie de sa plateforme de production.''&lt;br /&gt;
==Actions à effectuer par ordre chronologique==&lt;br /&gt;
OpenFlyers permet d'exporter uniquement les [[Bien débuter avec OpenFlyers#Validation_des_écritures|écritures validées]] et ainsi ne propose par défaut comme période d'export que la période maximum exportable ne contenant que des écritures validées.&lt;br /&gt;
&lt;br /&gt;
Les exports se font généralement à intervalle régulier : tous les mois, tous les trimestres ou tous les ans.&lt;br /&gt;
&lt;br /&gt;
Si vous n'avez pas de logiciel de comptabilité, il est recommandé d'effectuer quand même l'export et de l'archiver sur un support de stockage (disque dur par exemple) pour conservation.&lt;br /&gt;
&lt;br /&gt;
Dans le cas du dernier export d'un exercice comptable donné, il est important de décider avant l'export si tout ou partie des écritures de fin d'exercice doivent être réalisées avant ou après. En général, si l'export sert ensuite à être retravaillé dans un logiciel de comptabilité, alors les écritures de fin d'exercice seront réalisées dans le logiciel de comptabilité et il ne faudra faire le &amp;quot;nettoyage&amp;quot; côté OpenFlyers qu'à l'issue de l'export comptable officiel. Ainsi les points 2 et 3 des &amp;quot;Opérations à effectuer avant tout export&amp;quot; ci-dessous doit être, dans certains cas, réalisé en partie ou en totalité après le point 2 des &amp;quot;Opérations supplémentaires pour l'export de fin d'exercice&amp;quot; ci-dessous.&lt;br /&gt;
&lt;br /&gt;
De plus, si vous utilisez un logiciel de comptabilité uniquement pour le bilan, c'est à dire que les charges sont gérées dans OpenFlyers, alors la clôture dans OpenFlyers doit être faite après la clôture dans ce logiciel de comptabilité. Il est ainsi possible de vérifier que les &amp;quot;A nouveaux&amp;quot; sont identiques dans les 2 logiciels et de corriger dans OpenFlyers si nécessaire. Il existe un [[OF_doc-en:Accounting_exports_3#Carry_forwards|rapport qui permet d'avoir les à nouveaux]].&lt;br /&gt;
&lt;br /&gt;
Prérequis à tout export comptable :&lt;br /&gt;
*[[Configuration de la comptabilité#Comptes_d'export|Attribuer les comptes d'export]] pour ne pas avoir l'alerte &amp;quot;[[#Vous_ne_pouvez_exporter_car_il_y_a_des_comptes_sans_valeur_d'export|Vous ne pouvez exporter car il y a des comptes sans valeur d'export]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Opérations à effectuer pour tout export :&lt;br /&gt;
#[[#Retrouver-les-écritures-non-validées|Retrouver les écritures non validées]] pour [[Bien débuter avec OpenFlyers#Validation_des_écritures|les valider]]&lt;br /&gt;
#[[#Export_de_la_comptabilité|Export de la comptabilité]]&lt;br /&gt;
#[[Import dans un logiciel comptable tiers|import dans un logiciel de comptabilité]]&lt;br /&gt;
&lt;br /&gt;
Opérations supplémentaires pour l'export de fin d'exercice :&lt;br /&gt;
#[[Écritures comptables#Écritures_de_fin_d'exercice_avant_la_clôture_de_la_comptabilité|Écritures de fin d'exercice avant la clôture de l'exercice]] dont le [[#Solder-les-comptes|solde des comptes d'exploitation]]&lt;br /&gt;
#Validation des écritures de fin d'exercice par la [[Utilisation de la comptabilité#Validation_d'un_flux|validation des flux]] correspondant.&lt;br /&gt;
#Ultime export pour stockage [[#Marquer_les_écritures_lors_de_l'export|en marquant les écritures]].&lt;br /&gt;
#[[#Clôturer-l'exercice-comptable|Clôture / ouverture du nouvel exercice comptable]].&lt;br /&gt;
#[[Écritures comptables#Écritures_de_début_d'exercice_après_l'ouverture_de_la_comptabilité|Écritures de début d'exercice après l'ouverture de la comptabilité]].&lt;br /&gt;
&lt;br /&gt;
==Alertes générées lors d'une tentative d'[[Utilisation de la comptabilité#Les_exports_comptables|export comptable]]==&lt;br /&gt;
===Vous ne pouvez exporter car il y a des comptes sans valeur d'export===&lt;br /&gt;
Cette alerte bloquante apparait dans '''Comptes &amp;gt; Gestion / Export''' avec les éléments suivants :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous ne pouvez exporter car il y a des comptes sans valeur d'export&lt;br /&gt;
intitulé de compte X (type de compte Y)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Pour supprimer cette alerte, il faut [[Configuration de la comptabilité#Comptes_d'export|attribuer les comptes d'export manquants]].&lt;br /&gt;
&lt;br /&gt;
==Export de la comptabilité==&lt;br /&gt;
Pour exporter la comptabilité, il faut :&lt;br /&gt;
*Aller côté '''Admin'''&lt;br /&gt;
*Puis '''Comptes &amp;gt; Gestion / Export'''&lt;br /&gt;
3 parties se superposent :&lt;br /&gt;
*'''Solder les comptes'''&lt;br /&gt;
*'''Gestion de l'exercice comptable'''&lt;br /&gt;
*'''Statistiques'''/ '''Export de la comptabilité'''&lt;br /&gt;
Le tableau '''Statistiques''' donne des informations sur les écritures. Sa lecture est indispensable pour vérifier qu'il ne subsiste pas d'écriture non validée antérieures à la fin de la période d'export souhaitée. Si c'est le cas, il faut alors [[#Retrouver-les-écritures-non-validées|trouver les écritures non validées]] et les valider.&lt;br /&gt;
&lt;br /&gt;
Au-dessous du titre apparait la période que l'on souhaite exporter. Attention: la période proposée par défaut correspond à la plus grande période possible et ne correspond donc pas à la période souhaitée. Il faut donc modifier la date de fin.&lt;br /&gt;
&lt;br /&gt;
Exemples :&lt;br /&gt;
*Si on souhaite exporter '''une année civile complète''', alors il faut sélectionner comme date de fin le 31 décembre.&lt;br /&gt;
*Si on souhaite exporter '''un mois''', il faut sélectionner comme date de fin le dernier jour du mois concerné.&lt;br /&gt;
&lt;br /&gt;
Il est également possible de marquer les écritures exportées afin qu'elles ne soient plus ré-exportées. Cependant, à la place de cette zone de saisie, il peut apparaitre la liste des comptes sans [[#Compte_d'export|valeur d'export]] c'est à dire sans le numéro de compte du plan comptable. Dans ce cas, il faut d'abord rechercher le compte concerné dans '''Comptes &amp;gt; Lister les comptes''' puis attribuer au compte concerné une valeur d'export.&lt;br /&gt;
*Cocher ou non '''[[#Marquer_les_écritures_lors_de_l'export|Marquer les écritures]]'''.&lt;br /&gt;
*L'export s'effectue en cliquant sur le bouton '''Exporter''' de la ligne du logiciel vers lequel on souhaite exporter.&lt;br /&gt;
*Il faut ensuite [[Import dans un logiciel comptable tiers|importer dans un logiciel comptable tiers]].&lt;br /&gt;
&lt;br /&gt;
'''Remarques :'''&lt;br /&gt;
*Il n'est possible d'exporter que des écritures validées. Par conséquent s'il subsiste des écritures non validées sur la période d'export souhaité, alors une alerte apparaitra signalant qu'il n'est pas possible d'exporter la période souhaitée.&lt;br /&gt;
*Dans le fichier d'export, les écritures sont triées par numéro de flux.&lt;br /&gt;
&lt;br /&gt;
===Marquer les écritures lors de l'export===&lt;br /&gt;
Lors d'un export comptable, OpenFlyers donne la possibilité de marquer ou non les écritures qui vont être exportées. Cela permet :&lt;br /&gt;
*Soit de pouvoir ré-exporter des écritures déjà exportées (mais non marquées)&lt;br /&gt;
*Soit au contraire de ne plus exporter des écritures dont OpenFlyers sait qu'elles ont déjà été exportées car marquées.&lt;br /&gt;
&lt;br /&gt;
Ce choix se fait dans le formulaire d'export en cochant '''Marquer les écritures (elles ne pourront plus être exportées de nouveau)'''.&lt;br /&gt;
&lt;br /&gt;
Il est conseillé de toujours procéder à un 1er export sans marquer les écritures. Ainsi, si l'export se passe mal, on aura la garantie de pouvoir le refaire.&lt;br /&gt;
&lt;br /&gt;
=Grand livre=&lt;br /&gt;
&lt;br /&gt;
Le [https://fr.wikipedia.org/wiki/Grand_livre grand livre] sert à lister l'ensemble des écritures comptables sur une période donnée. Il  présente pour chaque compte :&lt;br /&gt;
* Le solde initial&lt;br /&gt;
* La liste des écritures&lt;br /&gt;
* Le solde final&lt;br /&gt;
&lt;br /&gt;
Pour y accéder, il faut :&lt;br /&gt;
*Aller côté '''Admin'''&lt;br /&gt;
*Puis '''Comptes &amp;gt; Gestion / Export'''&lt;br /&gt;
&lt;br /&gt;
'''/!\ Le grand livre n'affiche pas les comptes n'ayant eu aucune écritures comptables sur la période donnée.'''&lt;br /&gt;
&lt;br /&gt;
=Mettre à jour les tarifs=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Ventes &amp;gt; Prix &amp;gt; Actualisation des prix'''&lt;br /&gt;
[[Image:Menu-vente-prix-actualisation-des-prix.png]]&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur le bouton '''Modifier''' en bas du tableau et '''non pas sur l'icône crayon à droite de la ligne de tarif'''.&lt;br /&gt;
[[Image:Tableau-vente-prix-actualisation-de-prix.png]]&lt;br /&gt;
&lt;br /&gt;
*Saisir une nouvelle valeur et la date à partir de laquelle le tarif s'appliquera. Vous pouvez anticiper un changement de tarif. Le tarif s'appliquera à la date du mouvement.&lt;br /&gt;
[[Image:Ajout-nouvelle-valeur-variable-tarif.png]]&lt;br /&gt;
&lt;br /&gt;
'''Attention''': si vous cliquez sur l'icône &amp;quot;Édition&amp;quot; (Crayon dans la colonne action) et que vous modifiez la valeur, alors vous changez le prix de cette période mais vous ne créez pas un nouveau tarif. Vous perdrez toute possibilité de corriger par exemple un vol à une date donnée. &lt;br /&gt;
&lt;br /&gt;
*Si vous avez le message d'erreur &amp;quot;chaque variable doit disposer d'une valeur antérieure à la date de début de l'exercice comptable&amp;quot; cela signifie que la variable ne possède pas de valeur entre la date de début d'exercice (date définie dans '''Admin &amp;gt; Comptes &amp;gt; Gestion &amp;amp; Export''') et la date indiquée. Le programme refuse qu'il y ai un &amp;quot;trou tarifaire&amp;quot; (vols non facturés). &lt;br /&gt;
*Chaque variable utilisée dans les formules de tarification doit avoir une valeur initialisée depuis une date antérieure à la date de début de l'exercice comptable&lt;br /&gt;
&lt;br /&gt;
=Opérations sur les comptes=&lt;br /&gt;
&lt;br /&gt;
==Créer un compte==&lt;br /&gt;
&lt;br /&gt;
===Créer un compte ressource===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte ressource, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressource &amp;gt; Comptes ressource'''.&lt;br /&gt;
*Dans la ligne de la ressource concernée, cliquer sur l'icône check du compte souhaité.&lt;br /&gt;
&lt;br /&gt;
===Créer un compte utilisateur===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte utilisateur, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs&amp;gt; Comptes utilisateur'''.&lt;br /&gt;
*Dans la ligne de l'utilisateur concerné, cliquer sur l'icône check du compte souhaité.&lt;br /&gt;
&lt;br /&gt;
===Créer un compte non-ressource non-utilisateur===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Lister les comptes &amp;gt; Tous les comptes'''.&lt;br /&gt;
*En bas du tableau, remplir la ligne et choisir la catégorie du compte&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
&lt;br /&gt;
==Créer un type de compte==&lt;br /&gt;
&lt;br /&gt;
===Créer un type de compte ressource===&lt;br /&gt;
&lt;br /&gt;
Pour créer un type de compte ressource, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Types de compte actifs''' puis cliquer sur le bouton '''Ajouter un compte'''.&lt;br /&gt;
*Saisir les champs du formulaire et valider .&lt;br /&gt;
&lt;br /&gt;
==Désactiver un compte==&lt;br /&gt;
Pour désactiver un compte qui ne doit plus être utilisé, il faut que :&lt;br /&gt;
* le compte ne doit pas créer de trou dans la comptabilité. C'est à dire que :&lt;br /&gt;
** le [[#Solder_un_compte|solde du compte doit être à 0]]&lt;br /&gt;
** les écritures associées à ce compte doivent être toutes validées&lt;br /&gt;
* le compte ne doit pas être utilisé dans une règle de tarification. Cela concerne directement les comptes et non pas les types de comptes. Ainsi, il est possible de désactiver un compte utilisateur ou un compte ressource alors qu'il existe des règles de tarification qui utilisent le même type de compte que le compte à désactiver.&lt;br /&gt;
* dans le cas d'un compte de type utilisateur, l'utilisateur possédant ce compte ne doit pas être lié à un profil qui requiert le type de compte &lt;br /&gt;
* le compte ne doit pas être utilisé par un type de facture fournisseur&lt;br /&gt;
Ensuite, on peut procéder à sa désactivation en cliquant sur l'icône symbolisant une poubelle sur la ligne de ce compte. Un compte n'ayant jamais eu d'écriture est supprimé au lieu de passer à l'état désactivé.&lt;br /&gt;
&lt;br /&gt;
==Lister les comptes==&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Comptes ressource''' pour obtenir les comptes ressource&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs &amp;gt; Comptes utilisateur''' pour obtenir les comptes utilisateur&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Lister les comptes &amp;gt; Tous les comptes''' pour obtenir les autres comptes.&lt;br /&gt;
&lt;br /&gt;
Dans ces pages, le solde de chaque compte est calculé en prenant les écritures datant du début d'exercice comptable jusqu'à la date et l'heure courante. Ainsi, les écritures comptables avec une date comptable future ne sont pas prises en compte pour le calcul du solde.&lt;br /&gt;
&lt;br /&gt;
=Retrouver les écritures non validées=&lt;br /&gt;
S'il y a beaucoup d'écritures à valider, il faut procéder de façon systématique en parcourant chaque interface de validation :&lt;br /&gt;
*Pour les vols, aller dans '''Admin &amp;gt; Vols &amp;gt; Liste des vols''' puis '''Valider les vols sélectionnés''' pour chaque aéronef.&lt;br /&gt;
*Pour les encaissements, aller dans '''Admin &amp;gt; Comptes &amp;gt; Pointer''' et choisir chaque type de paiement.&lt;br /&gt;
*Pour les transferts, aller dans '''Admin &amp;gt; Comptes &amp;gt; Valider les flux''' puis '''valider les transferts'''.&lt;br /&gt;
*Pour les factures, aller dans '''Admin &amp;gt; Achats &amp;gt; Liste des factures fournisseurs'''.&lt;br /&gt;
*Pour les ventes, aller dans '''Admin &amp;gt; Ventes &amp;gt; Valider les ventes'''. Choisir ses critères de recherche et valider le formulaire. Ensuite cocher les différentes ventes listées puis '''Pointer les entrées sélectionnées'''.&lt;br /&gt;
En procédant ainsi, il ne doit normalement ne pas subsister d'écriture à valider. Cependant, si l'essentiel des écritures a été validé, alors il est plus rapide de rechercher les écritures à valider que de parcourir chaque interface de validation.&lt;br /&gt;
&lt;br /&gt;
Pour rechercher les écritures restantes à valider, il faut :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Gestion / Export'''&lt;br /&gt;
En-dessous du titre '''Statistiques''' figure un tableau :&lt;br /&gt;
&lt;br /&gt;
[[Image:Tableau_statistiques_gestion-export.png]]&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessus, on peut voir à la ligne ''Ecritures non validées'', colonne ''Date de première écriture'' l'horodatage &amp;quot;19/08/2013 14:45&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Cela veut dire qu'il y a au moins une écriture qui date du 19 août 2013 et qui n'a pas été validée.&lt;br /&gt;
&lt;br /&gt;
Pour retrouver cette écriture non validée, il faut :&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Mouvements'''&lt;br /&gt;
*Rechercher l'écriture d'après la date indiquée.&lt;br /&gt;
Son contenu permettra de savoir s'il s'agit d'un vol, d'un encaissement, d'un flux, etc. Si un doute subsiste sur le type d'écriture, il faut cliquer sur l'icône &amp;quot;modifier&amp;quot; de l'écriture considérée afin de se retrouver dans son formulaire d'édition.&lt;br /&gt;
&lt;br /&gt;
Remarques :&lt;br /&gt;
*Le nombre d'écritures non validées indiqué dans le tableau '''Statistiques''' correspond au nombre TOTAL d'écritures non validées. En effet, OpenFlyers sait quand est-ce que vous commencez un exercice mais il ne sait pas quand est-ce que vous voulez qu'il s'arrête. Donc il prend toutes les écritures non validées.&lt;br /&gt;
*OpenFlyers ne permet d'exporter ou de clôturer que la période qui inclut des écritures validées. Dès qu'il rencontre une écriture non validée, il bloque toute action d'export ou de clôture.&lt;br /&gt;
&lt;br /&gt;
=Saisie d'écritures comptables=&lt;br /&gt;
==Saisie d'un flux==&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Saisir un flux'''&lt;br /&gt;
*Sélectionner sur la première ligne de compte, le compte concerné&lt;br /&gt;
*Remplir le champ débit ou crédit selon le cas&lt;br /&gt;
*Sélectionner sur la 2ème ligne un compte de contre-partie&lt;br /&gt;
*Sur cette 2ème ligne, cliquer sur l'icône qui symbolise une balance avec une flèche bleue et intitulé &amp;quot;Equilibrer la dernière ligne&amp;quot;&lt;br /&gt;
*Remplir le champ '''commentaires'''&lt;br /&gt;
*Choisir une date comptable dans le champ '''Date comptable''' en cliquant sur l'icône associée.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
Remarque : La date comptable proposée par défaut correspond à la date comptable du dernier flux saisi. Cela permet de faciliter les [[Comptabilité#Règles_de_saisies_de_la_comptabilité_courante|saisies au vu du relevé de banque]].&lt;br /&gt;
&lt;br /&gt;
==Validation d'un flux==&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Valider les flux'''&lt;br /&gt;
*Cocher dans la 1ère colonne '''Pointer''' les lignes à valider&lt;br /&gt;
*Cliquer sur le bouton '''Valider les flux sélectionnés (cette action est irréversible)'''&lt;br /&gt;
&lt;br /&gt;
==Annuler l'effet d'une écriture comptable==&lt;br /&gt;
Dans le cas où une écriture comptable a été validée, il n'est plus possible de la supprimer pour assurer la [[Comptabilité#Traçabilité_des_écritures|traçabilité des écritures]]. De ce fait, le seul moyen d'en annuler son effet consiste à saisir une écriture opposée. Pour cela, il faut [[#Saisie_d'un_flux|saisir un flux]] en sélectionnant les comptes mis en jeu dans l'écriture à annuler en choisissant de débiter ou créditer du même montant (mais dans le sens opposé) que l'écriture initiale.&lt;br /&gt;
&lt;br /&gt;
Exemple : Un compte A a été débité de 100 € et la contre-partie a été sur un compte B. Pour annuler l'effet de cette écriture, il faut [[#Saisie_d'un_flux|saisir un flux]] qui va créditer le compte A de 100 € et débiter le compte B du même montant.&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'une vente de produit type &amp;quot;pack d'heures&amp;quot;, il ne faut pas oublier d'annuler également les mouvements concernant les crédits d'heures.&lt;br /&gt;
&lt;br /&gt;
Cette solution permet de garder une traçabilité des écritures qui peuvent avoir été saisies par d'autres personnes et surtout qui peuvent affecter des comptes d'utilisateurs.&lt;br /&gt;
&lt;br /&gt;
C'est comme pour un compte bancaire : un banquier ne supprime jamais une écriture sur un compte client. Il passe simplement une nouvelle écriture qui annule l'effet de la précédente.&lt;br /&gt;
&lt;br /&gt;
==[[Écritures comptables#Avoir_clients|Saisie d'un avoir client]]==&lt;br /&gt;
Il faut [[#Saisie_d'un_flux|saisir un flux]] qui va créditer un compte utilisateur/client d'un certain montant et débiter un compte produit &amp;quot;Remise X&amp;quot; du même montant.&lt;br /&gt;
&lt;br /&gt;
==Solder un compte==&lt;br /&gt;
Pour solder un compte, il faut [[#Saisie_d'un_flux|saisir un flux]] avec la particularité que l'on souhaite &amp;quot;ramener le solde à zéro&amp;quot; d'un compte donné. Pour cela, il faut en plus des [[#Saisie_d'un_flux|opérations]] indiquées pour la saisie d'un flux, il faut :&lt;br /&gt;
*dans la première ligne de compte, sélectionner le compte concerné&lt;br /&gt;
*Cliquer sur l'icône qui symbolise une balance intitulé &amp;quot;Ramener le solde à zéro&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de compte de contre-partie dans le cas de la mise à zéro du solde d'un compte ressource : compte de bilan [[Comptabilité#Compte-de-report-à-nouveau|Report à nouveau]]&lt;br /&gt;
&lt;br /&gt;
==Retrouver les flux supprimés sans permission==&lt;br /&gt;
&lt;br /&gt;
Pour retrouver des flux supprimés sans permission, il est possible de consulter les logs. Deux rapports ont été créés pour faciliter cette tâche.&lt;br /&gt;
&lt;br /&gt;
Le premier rapport &amp;quot;[[OF_doc-en::Export_generator_3#People_who_have_deleted_encashments/flows_without_having_the_permission|liste des personnes ayant supprimés des encaissements/flux sans permission]]&amp;quot; permet d'obtenir en outre de la personne, la date de la suppression et le numéro de flux supprimé.&lt;br /&gt;
&lt;br /&gt;
Le second rapport &amp;quot;[[OF_doc-en::Export_generator_3#Historic_of_changes_for_a_specific_encashment/flow|Liste des changements spécifiques à un encaissement/flux]]&amp;quot; permet de connaître les détails d'un flux. Ce rapport est lié au champ additionnel &amp;quot;Numéro de flux&amp;quot; qui doit être préalablement créé.&lt;br /&gt;
&lt;br /&gt;
Pour avoir le détail de tous les flux supprimés, procéder ainsi :&lt;br /&gt;
# Ouvrir deux onglets sur le navigateur.&lt;br /&gt;
# Dans ces onglets, se rendre dans la page qui liste les rapports '''Admin &amp;gt; Rapports &amp;gt; Structure &amp;gt; Visualiser'''.&lt;br /&gt;
# Dans le premier onglet, sélectionner le premier rapport et valider pour avoir la liste des numéros de flux.&lt;br /&gt;
# Copier un numéro de flux (numéro dans la colonne &amp;quot;flowid&amp;quot;).&lt;br /&gt;
# Dans le second onglet, coller le numéro de flux dans le champ destiné. Sélectionner le second rapport et valider pour avoir le détail du flux.&lt;br /&gt;
# Répéter l'opération 4 et 5 pour chaque numéro de flux dont il faut les détails.&lt;br /&gt;
&lt;br /&gt;
=Solder les comptes=&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Gestion / Export'''&lt;br /&gt;
*Dans le formulaire '''Solder les comptes''' :&lt;br /&gt;
*Laisser tous les comptes &amp;quot;Ressources&amp;quot; cochés sauf si certains ne sont pas des comptes d'exploitation&lt;br /&gt;
*La date proposée dans le champ '''A la date du''' doit correspondre au 31 décembre de l'année de l'exercice comptable en cours&lt;br /&gt;
*Dans le champ '''Comptabilité''', sélectionner la comptabilité souhaitée : il faudra effectuer cette opération pour chacune des comptabilités de la plateforme&lt;br /&gt;
*Dans le chmp '''Compte de contrepartie''', sélectionner le compte de bilan souhaité, normalement il s'agit du compte '''Report à nouveau (Bilan)''' pour la comptabilité générale&lt;br /&gt;
*Cliquer sur le bouton '''Générer les écritures'''&lt;br /&gt;
&lt;br /&gt;
Ce module génère alors un unique flux qui solde les comptes de charges, de produits et ceux liés aux ressources vers un compte de contrepartie de sorte que ces comptes soient ramenés à 0 à la date sélectionnée.&lt;br /&gt;
&lt;br /&gt;
Seuls les comptes actifs sont pris en compte.&lt;br /&gt;
&lt;br /&gt;
=Factures fournisseurs=&lt;br /&gt;
==Saisie des factures fournisseurs==&lt;br /&gt;
Nous conseillons de se connecter en https à votre plateforme https://openflyers.com/nom-de-plateforme/index.php&lt;br /&gt;
*Depuis la page du planning de réservation, cliquer sur le menu '''Admin''' : [[Image:accueil_espace_client.png]]&lt;br /&gt;
*Cliquer sur le menu '''Achats &amp;gt; Saisie Factures fournisseurs'''.&lt;br /&gt;
*Vous vous retrouvez alors avec le formulaire de saisie suivant :&lt;br /&gt;
[[Image:saisie_facture_fournisseur_vierge.png]]&lt;br /&gt;
&lt;br /&gt;
2 cas peuvent se présenter :&lt;br /&gt;
*Soit [[#Saisie_d'une_facture_fournisseur_dont_le_type_de_facture_est_déjà_enregistré|le type de facture fournisseur correspondant à la facture à saisir est déjà existant]]&lt;br /&gt;
*Soit la facture fournisseur à saisir nécessite la création d'un nouveau type de facture fournisseur. Dans ce cas, il existe plusieurs façons de créer un nouveau type de facture fournisseur dont la possibilité de [[#Saisie_d'une_facture_fournisseur_dont_le_type_est_nouveau|le faire directement en saisissant la facture]].&lt;br /&gt;
&lt;br /&gt;
===Saisie d'une facture fournisseur dont le type de facture est déjà enregistré===&lt;br /&gt;
*Sélectionner le '''type de facture fournisseur''' correspondant à la facture à saisie. Le nombre de champs à renseigner se réduit alors automatiquement :&lt;br /&gt;
[[Image:facture_fournisseur_à_compléter.png]]&lt;br /&gt;
*Reporter sur la facture originale le '''numéro de pointage''' qui apparaît dans le formulaire. Ce numéro de pointage est unique et permet de rapprocher les factures fournisseurs saisies dans OpenFlyers avec leurs originaux.&lt;br /&gt;
*Cocher &amp;quot;'''J'ai bien pris en compte cette valeur et je l'ai reporté sur ma facture'''&amp;quot;. A défaut, si vous validez, le système refusera votre saisie et une alerte apparaitra.&lt;br /&gt;
*Le champ '''Description''' permet d'indiquer toute information utile concernant la facture et d'en faciliter la recherche ultérieure.&lt;br /&gt;
*Indiquer la date de facturation en cliquant sur le calendrier. Il est possible de paramétrer le format d'affichage de la date en allant dans le menu '''Données/Affichage''' puis de modifier le contenu du champ '''fiche personnelle/Patron de format de date'''.&lt;br /&gt;
*Renseigner le '''montant hors taxe'''&lt;br /&gt;
*Renseigner la '''TVA''' (champ visible uniquement si la comptabilité est paramétrée pour la prise en compte de la TVA). Si la TVA est nulle, il faut indiquer 0.&lt;br /&gt;
*Cliquer sur '''Valider''' ou '''Valider et Saisir le suivant''' si vous avez plusieurs factures à saisir à la volée. Dans ce dernier cas, le formulaire de saisie de facture fournisseur s'affiche à nouveau et il faut reprendre les opérations de saisie depuis le début de ce paragraphe.&lt;br /&gt;
&lt;br /&gt;
===Saisie d'une facture fournisseur dont le type est nouveau===&lt;br /&gt;
Lors de la saisie d'un nouveau compte fournisseur, aucun élément n'est renseigné par défaut et le formulaire à la forme suivante :&lt;br /&gt;
&lt;br /&gt;
[[Image:Saisie_facture_fournisseur_vierge.png]]&lt;br /&gt;
&lt;br /&gt;
Plusieurs parties du formulaire peuvent se réduire à partir du moment où dans le champ précédant la partie réductible, l'utilisateur remplace '''Autre...''' par un choix proposé. A contrario, en laissant '''Autre...''' ou '''Associer un nouveau compte''' (dans le cas du premier champ), c'est l'information saisie dans le champ suivant qui sera prise en compte.&lt;br /&gt;
&lt;br /&gt;
La saisie va consister à définir les ventilations comptables associée à ce type de facture fournisseur. A savoir :&lt;br /&gt;
*le fournisseur et son compte fournisseur qui sera crédité du montant des factures associées à ce type de facture fournisseur&lt;br /&gt;
*le compte de charge qui sera débité du montant des factures associées à ce type de facture fournisseur&lt;br /&gt;
*Si la gestion de la TVA est activée, le compte de TVA qui sera débité du montant de la TVA associée à ce type de facture fournisseur&lt;br /&gt;
*De plus, si la gestion des budgets est activée, il est demandé, pour chaque compte (fournisseur, charge et TVA), le budget à associer&lt;br /&gt;
&lt;br /&gt;
*Ainsi, si on doit saisir une facture fournisseur associée à un nouveau type de facture fournisseur, alors il faut laisser '''associer un nouveau compte''' au champ '''Type de facture fournisseur''' et renseigner l'intitulé souhaité pour le type de facture fournisseur dans le champ suivant '''Nom de type de facture'''&lt;br /&gt;
*Ensuite, dans le champ '''Fournisseur''', là aussi, 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le fournisseur à mentionner est déjà dans la liste proposée dans le champ '''Fournisseur''' et auquel cas il faut le sélectionner (et le champ suivant '''Nom du fournisseur''' disparaitra)&lt;br /&gt;
**Soit le fournisseur à mentionner n'est pas déjà dans la liste proposée dans le champ '''Fournisseur''' et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer'''' au fournisseur ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner pour tous les fournisseurs un budget ''Fournisseurs''.&lt;br /&gt;
***Renseigner le champ '''Nom du fournisseur''' qui doit correspondre au fournisseur souhaité&lt;br /&gt;
***Choisir un compte d'export associé au nouveau fournisseur créé :&lt;br /&gt;
****Soit il existe déjà un compte d'export dans le champ '''Compte du fournisseur'''&lt;br /&gt;
****Soit il n'existe pas de compte d'export associable à ce nouveau fournisseur (en général on associe un compte d'export différent pour chaque compte défini dans OpenFlyers) et auquel cas, il faut renseigner le champ '''Compte fournisseur d'export'''. On peut, par exemple, saisir ''401NOMDUFOURNISSEUR'' dans le cas du plan comptable français.&lt;br /&gt;
***Si la gestion des budgets est active, le champ suivant est '''Budget à attribuer''' et OpenFlyers a dû le remplir par défaut avec la même valeur que pour le champ du même nom rattaché au '''Nom du fournisseur'''. Il ne doit pas y avoir besoin de modifier le contenu de ce champ.&lt;br /&gt;
*Dans le champ '''Compte de charge''', 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le compte de charge à associer est déjà dans la liste proposée et auquel cas il faut le sélectionner&lt;br /&gt;
**Soit le compte de charge à associer n'est pas déjà dans la liste proposée et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer''' au compte de charge que l'on crée ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner un budget représentatif du type de facture et ainsi avoir la ventilation de toutes les factures fournisseurs par poste budgétaire&lt;br /&gt;
***Renseigner le champ '''Nom du compte''' avec l'intitulé correspondant au compte de charge à créer&lt;br /&gt;
***Renseigner le champ '''Compte d'export''' avec la valeur du plan comptable correspondante. Pour le plan comptable français, ce sera un compte en 6xx.&lt;br /&gt;
*Si la gestion de la TVA est activée, le champ '''Compte TVA du type de facture''' est présent et 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le compte de TVA à associer à ce type de facture est dans la liste proposée et auquel cas il faut le sélectionner&lt;br /&gt;
**Soit le compte de TVA n'existe pas et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer''' au compte de TVA que l'on crée ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner un budget ''TVA Fournisseur''&lt;br /&gt;
***Renseigner le champ '''Nom de compte TVA'''. Par exemple, dans le cas des factures fournisseurs provenant de France : ''TVA déductible sur autres biens et services''&lt;br /&gt;
***Renseigner le champ '''Compte TVA d'export'''. Par exemple, dans le cas des factures fournisseurs provenant de France : ''445660''.&lt;br /&gt;
*Le reste de la saisie s'effectue comme pour la [[#Saisie_d'une_facture_fournisseur_dont_le_type_de_facture_est_déjà_enregistré|saisie d'une facture fournisseur dont le type de facture est déjà enregistré]].&lt;br /&gt;
&lt;br /&gt;
===Suppression d'une facture fournisseur===&lt;br /&gt;
Pour supprimer une facture fournisseur qui aurait été saisie par erreur, il faut :&lt;br /&gt;
*Aller dans le menu '''Achats/Liste des factures fournisseurs''' ;&lt;br /&gt;
[[Image:achats-liste-des-factures-fournisseurs.png]]&lt;br /&gt;
&lt;br /&gt;
*Rechercher le '''numéro de pointage''' de la facture concernée en ayant pris soin au préalable de sélectionner le mois de la facture (ou l'année complète pour lister l'ensemble des factures) ;&lt;br /&gt;
&lt;br /&gt;
[[Image:numéro-de-pointage.png]]&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur l'icône poubelle associée à la facture concernée.&lt;br /&gt;
&lt;br /&gt;
[[Image:icône-poubelle.png]]&lt;br /&gt;
&lt;br /&gt;
Le numéro de la facture supprimée n'existera plus dans la comptabilité. Il ne sera pas proposé à nouveau lors de la saisie d'une nouvelle facture. Par ailleurs, la numérotation des factures saisies a posteriori de la facture supprimée demeurera inchangée.&lt;br /&gt;
&lt;br /&gt;
===Suppression d'un type de facture fournisseur===&lt;br /&gt;
Pour supprimer un type de facture fournisseur qui aurait été saisi par erreur, il faut :&lt;br /&gt;
&lt;br /&gt;
*Aller dans le menu '''Achats/Types de factures fournisseurs''' ;&lt;br /&gt;
&lt;br /&gt;
[[Image:achats-types-de-factures-fournisseurs.png]]&lt;br /&gt;
&lt;br /&gt;
*Sélectionner le type de fournisseur concerné dans la colonne '''Nom''' ;&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur l'icône poubelle associée à la facture concernée.&lt;br /&gt;
&lt;br /&gt;
[[Image:icône-poubelle.png]]&lt;br /&gt;
&lt;br /&gt;
==Saisie d'un [[Écritures comptables#Paiement_(à_un_fournisseur)|paiement à un fournisseur]]==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Saisir un flux'''&lt;br /&gt;
*Sur la première ligne :&lt;br /&gt;
**dans la colonne '''Compte''' sélectionner le compte du fournisseur&lt;br /&gt;
**dans la colonne '''Débit''' saisir le montant du paiement que vous effectuez. Si vous souhaiter solder le compte du fournisseur, il vous suffit de cliquer sur l'icône représentant une balance et intitulée &amp;quot;Ramener le solde à zéro&amp;quot;&lt;br /&gt;
*Sur la deuxième ligne :&lt;br /&gt;
**dans la colonne '''Compte''' sélectionner le compte bancaire depuis lequel l'argent est débité&lt;br /&gt;
**cliquer sur l'icône représentant une balance avec une flèche bleue et intitulée &amp;quot;Equilibrer la dernière ligne&amp;quot;&lt;br /&gt;
*Dans le champ '''Commentaires''' saisir un texte libre&lt;br /&gt;
*Ne pas oublier de renseigner le champ '''Date comptable'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
&lt;br /&gt;
=Bon de commande et facture clients=&lt;br /&gt;
&lt;br /&gt;
==Visualiser des factures au format PDF==&lt;br /&gt;
Nous conseillons de se connecter en https à votre espace http://openflyers.com/nom-de-plateforme/index.php&lt;br /&gt;
&lt;br /&gt;
OpenFlyers propose par défaut un [[Modèle de facture ODT|modèle de facture]] qui permet d'éditer des factures PDF pour les prestations suivantes :&lt;br /&gt;
*les achats réalisés depuis le gestionnaire des ventes&lt;br /&gt;
**depuis la page du planning de réservation, cliquer sur le menu '''Comptes/Acheter''' ;&lt;br /&gt;
[[Image:comptes-acheter.png]]&lt;br /&gt;
*les validités qui ont été achetées/renouvelées&lt;br /&gt;
*les vols.&lt;br /&gt;
**Aller dans le menu '''Comptes/Etat/Pilote''' et se rendre dans la [[Documentation utilisateur#Colonne_.22Numéro_de_pointage_ou_de_facture.22|colonne numéro de pointage ou de facture]]&lt;br /&gt;
[[Image:comptes-etat-pilote.png]]&lt;br /&gt;
&lt;br /&gt;
==Importer son [[Modèle de facture ODT|modèle de facture]]==&lt;br /&gt;
&lt;br /&gt;
'''/!\ En important un [[Modèle de facture ODT|modèle de facture]], ce sera celui-ci qui va être utilisé pour générer les nouvelles factures au format PDF. Les factures qui ont déjà créées avant la mise en place du nouveau modèle continuera d'appliquer les anciens versions du modèle ou ceux fournis par défaut par OF'''&lt;br /&gt;
&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Configuration &amp;gt; Import de template ODT''' :&lt;br /&gt;
[[Image:configuration-import-de-templates-odt.png]]&lt;br /&gt;
* Préparer le fichier ODT contenant tous les modèles utilisés qui doivent être organisés comme suit :&lt;br /&gt;
*:'''page 1''' : Facture client&lt;br /&gt;
*:'''page 2''' : Duplicata de la facture client&lt;br /&gt;
*Importer  le fichier&lt;br /&gt;
*Cocher '''Facturation client'''&lt;br /&gt;
*Valider&lt;br /&gt;
&lt;br /&gt;
==Calcul du montant HT, de la TVA et du montant TTC==&lt;br /&gt;
&lt;br /&gt;
Les différents montants sont calculés de la sorte :&lt;br /&gt;
* Pour la TVA, on effectue la somme des écritures de débit et de crédit liés aux&lt;br /&gt;
** comptes de catégorie TVA&lt;br /&gt;
** produits de type de vente TVA&lt;br /&gt;
* Pour le montant TTC, on effectue la somme des écritures de débit et de crédit liées aux&lt;br /&gt;
** comptes qui ne sont pas de catégorie TVA&lt;br /&gt;
** produits qui ne sont pas de type de vente TVA&lt;br /&gt;
* Pour le montant HT, on effectue la différence entre la TVA et le montant TTC&lt;br /&gt;
&lt;br /&gt;
==Relevés de factures clients==&lt;br /&gt;
Une facture client est un document unique. Les PDF d'une facture déjà exportée seront générés avec la mention &amp;quot;Duplicata&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formulaire de sélection===&lt;br /&gt;
Ce formulaire permet d'établir une sélection générale de factures clients.&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Rapports &amp;gt; Générique &amp;gt; Relevés de factures clients'''&lt;br /&gt;
*Les champs &amp;quot;A partir du&amp;quot; et &amp;quot;Jusqu'au&amp;quot; permettent d'établir une sélection en fonction des dates de facturation. Pour éviter un temps de chargement trop long, il est conseillé de définir une plage d'un mois maximum.&lt;br /&gt;
*Le champ &amp;quot;Compte client&amp;quot; permet de sélectionner les relevés de factures d'un client particulier&lt;br /&gt;
*Le champ &amp;quot;Types de vols&amp;quot; permet de sélectionner des factures en fonction du type de vol&lt;br /&gt;
*Le champ &amp;quot;Produits non stockés&amp;quot; permet de sélectionner des factures en fonction de la nature du produit&lt;br /&gt;
*Le champ &amp;quot;Validités&amp;quot; permet de sélectionner des factures en fonction des produits de type &amp;quot;validité&amp;quot;&lt;br /&gt;
*Valider pour accéder aux factures à exporter&lt;br /&gt;
&lt;br /&gt;
===Tableau de factures à exporter===&lt;br /&gt;
Ce tableau est le résultat du formulaire. Il liste des factures clients.&lt;br /&gt;
*Sélectionner au cas par cas les factures à exporter&lt;br /&gt;
*Cliquer sur le bouton '''Générer PDF''' en bas du tableau pour générer le PDF des factures sélectionnées&lt;br /&gt;
*Cliquer sur le bouton '''Sauver dans un fichier CSV''' en bas du tableau pour exporter les factures sélectionnées au format CSV&lt;br /&gt;
&lt;br /&gt;
=Gestion des règlements clients=&lt;br /&gt;
==Saisir un encaissement==&lt;br /&gt;
Cf. les [[Écritures comptables#Saisie_d'un_encaissement_(d'un_client)|mouvements associés à un encaissement client]] pour connaitre les mouvements créés lors de la saisie comptable.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' seuls les [[Comptabilité#Comptes_clients|comptes clients]] et les [[Comptabilité#Comptes_utilisateurs|comptes utilisateurs]] peuvent recevoir des encaissements. En effet, comptablement, cela n'a pas de sens de faire un encaissement sur d'autres types de comptes.&lt;br /&gt;
&lt;br /&gt;
*'''Comptes &amp;gt; Approvisionner''' ou '''Admin &amp;gt; Comptes &amp;gt; Encaissements &amp;gt; Saisir un encaissement'''&lt;br /&gt;
*'''Comptes clients''' :&lt;br /&gt;
**Si le payeur est un utilisateur de la plateforme, laisser sélectionné '''Utilisateur'''&lt;br /&gt;
**Sinon, sélectionner '''Non-utilisateur'''&lt;br /&gt;
*'''Date du paiement''' :&lt;br /&gt;
**pour les paiements par chèque on laisse en général la date du jour qui correspond &amp;quot;au mieux&amp;quot; à la date à laquelle l'encaissement sera fait.&lt;br /&gt;
**pour les paiements en espèce on met la date à laquelle les sommes ont été reçus.&lt;br /&gt;
**pour les paiements par virement on met la date du virement.&lt;br /&gt;
*'''Encaissement de l'utilisateur''' : sélectionner le nom de l'utilisateur effectuant le paiement&lt;br /&gt;
ou&lt;br /&gt;
*'''Compte à créditer''' : sélectionner le nom du client &amp;quot;connu&amp;quot; ou à défaut &amp;quot;Clients extérieurs&amp;quot;&lt;br /&gt;
Attention : il faut sélectionner le compte correspondant à celui qui a été facturé et donc débité.&lt;br /&gt;
*'''Montant''' : indiquer le montant du paiement&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' ou le bouton '''VALIDER ET SAISIR LE SUIVANT'''&lt;br /&gt;
&lt;br /&gt;
==Saisir l'encaissement d'un comité d'entreprise ou d'un groupement d'utilisateurs==&lt;br /&gt;
Dans le cas où un comité d'entreprise ou un groupement d'utilisateurs (comme la DGAC dans le cas des contrôleurs aériens) prend en charge tout ou partie du coût d'une activité générée par OpenFlyers, la plateforme est normalement configurée pour que ce soit le compte du CE ou du groupement qui soit automatiquement débité lors de la saisie de l'activité.&lt;br /&gt;
&lt;br /&gt;
De ce fait, saisir dans OpenFlyers un règlement provenant d'une telle entité revient à [[#Saisir_un_encaissement|saisir un encaissement d'un &amp;quot;non-utilisateur&amp;quot; sur son propre compte client]].&lt;br /&gt;
&lt;br /&gt;
==Validation des règlements clients==&lt;br /&gt;
Le comptable, trésorier, secrétaire, etc. doit valider les règlements avant de remettre l'argent à la banque, que la saisie soit faite pas un pilote ou par une personne tierce.&lt;br /&gt;
&lt;br /&gt;
Tant qu'une écriture n'est pas validée, elle apparaît différemment dans les extraits de compte afin de bien signifier que le mouvement n'est pas validé et que le solde du compte est donc susceptible d'être modifié. Une écriture non validée peut être modifiée mais '''Une fois la validation effectuée'''  il n'est plus possible de '''revenir en arrière'''. &lt;br /&gt;
&lt;br /&gt;
En cas d'erreur, le trésorier doit faire une écriture d'annulation et ressaisir le règlement correct.&lt;br /&gt;
&lt;br /&gt;
Pour valider les règlements le trésorier dispose d'une page accessible uniquement avec le droit &amp;quot;'''Valider les encaissements'''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Voici la description de la tâche de validation des règlements par le trésorier :&lt;br /&gt;
*Récupérer les chèques et espèces à valider&lt;br /&gt;
*Classer les chèques par ordre de date.&lt;br /&gt;
*Aller dans la page '''Admin &amp;gt; Comptes &amp;gt; Pointer &amp;gt; Chèques'''&lt;br /&gt;
*Cette pages affiche les règlements que les pilotes ont saisies et qui sont en attente de validation&lt;br /&gt;
*Cocher les règlements dont vous possédez les chèques.&lt;br /&gt;
*Si des règlements ne sont pas dans la liste en attente, le trésorier les ajoute à l'aide d'un bouton prévu à cet effet puis les coche.&lt;br /&gt;
*Si des saisies sont erronées, corrigez-les puis les cocher.&lt;br /&gt;
*Supprimer les saisies inopportunes.&lt;br /&gt;
*Une fois que tout les chèques sont pointés, cliquez sur '''Éditer le bordereau de remise'''.&lt;br /&gt;
*On passe sur la page de la liste de vos règlements validés, faite une vérification&lt;br /&gt;
*Imprimez la bordereau de remise en banque, utilisez le menu de votre navigateur '''Fichier &amp;gt; Imprimer'''.&lt;br /&gt;
*Valider le bordereau. &amp;quot;'''Attention, cette action est irréversible'''&amp;quot;&lt;br /&gt;
*Faire les opérations ci-dessus pour chaque type de règlement&lt;br /&gt;
*Porter les remises en banque&lt;br /&gt;
&lt;br /&gt;
La validation régulière de vos règlements permet de bloquer les modifications par les pilotes et augmente la fiabilité de votre comptabilité&lt;br /&gt;
&lt;br /&gt;
=Cas particuliers=&lt;br /&gt;
==Ecritures manuelles dans le cadre [[Conseils spécifiques pour la comptabilité#Facturation_automatique_à_des_organismes_avec_ou_sans_quotas|d'une facturation automatique à un organisme tiers]]==&lt;br /&gt;
Normalement, le paramétrage d'une plateforme OpenFlyers est effectué pour que les écritures soient automatiquement réalisées lors de la saisie d'une activité.&lt;br /&gt;
&lt;br /&gt;
Cependant, si les écritures ne se sont pas effectuées automatiquement, ne serait-ce que dans le cas où le paramétrage a été mis en place ultérieurement à la saisie d'activité et que ces saisies ont été validées, il est nécessaire d'effectuer la saisie manuelle des flux permettant d'obtenir la [[Facturation des clients#Cascade_d'écritures_comptables|situation comptable souhaitée]].&lt;br /&gt;
&lt;br /&gt;
Ainsi, si l'utilisateur a été intégralement débité du montant de l'activité et qu'il faut simplement saisir une écriture permettant de créditer son compte du montant devant être débité à l'organisme tiers, il suffit de [[#Saisie_d'un_flux|saisir un flux]] qui va créditer son compte du montant concerné et débiter le compte de l'organisme tiers du même montant.&lt;br /&gt;
&lt;br /&gt;
De plus, si une gestion de quota est en place, il faut également corriger le compte de quota de l'utilisateur concerné sur le même modèle d'écriture que pour l'[[Conseils spécifiques pour la comptabilité#Initialisation_du_solde_d'heures_lors_de_la_mise_en_place_des_packs|initialisation d'un quota]] mais en sens opposé (le compte quota de l'utilisateur doit être débité au lieu d'être crédité et inversement pour le compte de bilan correspondant).&lt;br /&gt;
&lt;br /&gt;
==Gestion des baptêmes==&lt;br /&gt;
===Utiliser le [[Configuration de la comptabilité#Gestion_des_baptêmes|paramétrage préconisé des baptêmes]]===&lt;br /&gt;
On appelle dans l'exemple &amp;quot;Clients extérieurs&amp;quot; le compte client qui est utilisé pour les clients baptêmes. La dénomination peut changer d'une configuration à l'autre.&lt;br /&gt;
Lorsqu'un baptême est effectué :&lt;br /&gt;
#Saisir le vol avec comme type de vol &amp;quot;baptême&amp;quot; : le coût du vol au tarif solo est alors débité sur le compte client &amp;quot;Clients extérieurs&amp;quot;.&lt;br /&gt;
#Encaisser le paiement du baptême sur le compte client &amp;quot;Clients extérieurs&amp;quot; (qui est accessible dans le formulaire de saisie des encaissements en sélectionnant comme type d'utilisateur &amp;quot;non utilisateur&amp;quot;).&lt;br /&gt;
Ainsi, le compte client &amp;quot;Clients extérieurs&amp;quot; se retrouvera avec un solde correspondant à la différence entre le prix du baptême payé par le client et le prix du vol solo facturé par OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Il suffit alors de passer une écriture, par exemple tous les mois, tous les trimestres ou tous les ans, entre le compte &amp;quot;Clients extérieurs&amp;quot; et un compte produit (par exemple compte produit &amp;quot;delta baptêmes&amp;quot;) qui va recevoir le solde du compte client &amp;quot;Clients extérieurs&amp;quot; afin de le ramener à 0.&lt;br /&gt;
&lt;br /&gt;
Cas pratique :&lt;br /&gt;
*Tarif solo : 100 €/h&lt;br /&gt;
*Tarif baptême : 60 €&lt;br /&gt;
*Vol effectué de 30 minutes&lt;br /&gt;
&lt;br /&gt;
Alors :&lt;br /&gt;
*En saisissant le vol de 30 minutes en tant que &amp;quot;baptême&amp;quot;, le compte &amp;quot;clients extérieurs&amp;quot; sera débité du montant du tarif solo soit 50 €.&lt;br /&gt;
*En saisissant l'encaissement du paiement de 60 € effectué par le baptisé, le compte &amp;quot;clients extérieurs&amp;quot; sera crédité de 60 €.&lt;br /&gt;
*Il est résulte sur le compte &amp;quot;clients extérieur&amp;quot; un solde positif de 10 €.&lt;br /&gt;
A la fin de l'année, le compte &amp;quot;clients extérieur&amp;quot; aura vu son solde augmenter au fur et à mesure que les baptêmes auront été effectuée. Admettons qu'il se retrouve avec un solde positif de 1210 €. Il faut alors passer un mouvement (via la saisie d'un flux) pour débiter le compte &amp;quot;clients extérieurs&amp;quot; de 1210 € et créditer un compte produit &amp;quot;delta baptêmes&amp;quot; de 1210 €. Ce faisant le solde du compte client &amp;quot;clients extérieurs&amp;quot; est ramené à 0 ce qui est important pour montrer comptablement que personne ne doit de l'argent à l'aéro-club et le gain spécifique aux baptêmes est enregistré dans le compte produit &amp;quot;delta baptêmes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Les taxes==&lt;br /&gt;
===Gérer les taxes d'atterrissage dans OpenFlyers===&lt;br /&gt;
Les taxes d'atterrissages sont facturées à la structure aéronautique qui souvent les débitent sur le compte de ses clients. Voici 2 méthodes pour gérer ces opérations dans OpenFlyers :&lt;br /&gt;
*La méthode la plus simple consiste à partir du principe que les factures des taxes d'atterrissages sont déjà existantes et qu'il s'agit juste de faire payer la personne réellement concernée par la taxe. Pour ce faire, il suffit de saisir un flux en débitant le compte du client du montant de la facture de la taxe d'atterrissage et de créditer un compte produit &amp;quot;taxe d'atterrissage&amp;quot;. Cette méthode est pratique dans le cas où le prix de la taxe n'est jamais le même.&lt;br /&gt;
*Pour les aérodromes dont les taxes sont récurrentes, il peut être intéressant de créer un type de vente pour gérer les taxes. Cette solution n'est pratique que dans le cas où les montants sont constants. Cela permet alors d'éviter d'avoir à saisir à chaque fois le prix de la taxe. L'autre intérêt de cette méthode est qu'elle permet de générer une facture fournisseur au nom de la structure dans le cas où le client le souhaiterait.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Utilisation-de-la-comptabilit%C3%A9&amp;diff=15236</id>
		<title>Utilisation de la comptabilité</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Utilisation-de-la-comptabilit%C3%A9&amp;diff=15236"/>
				<updated>2017-05-24T14:32:27Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Grand livre */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire la saisie des opérations de [[Comptabilité|comptabilité]].&lt;br /&gt;
&lt;br /&gt;
=Clôturer l'exercice comptable=&lt;br /&gt;
''Attention : la clôture de la comptabilité ne doit être effectuée qu'une fois qu'on est sûr et certain de ne plus avoir à intervenir sur l'exercice à clôturer. Cette opération doit donc être temporisée dans le temps sachant qu'il est tout à fait possible de poursuivre son activité sur l'exercice suivant sans que l'exercice précédent ne soit clôturé.''&lt;br /&gt;
&lt;br /&gt;
OpenFlyers affiche une [[Alertes de configuration#L'exercice_comptable_courant_a_plus_d'un_an|alerte lorsque l'exercice en cours est ouvert depuis 400 jours]].&lt;br /&gt;
&lt;br /&gt;
Avant de clôturer, il faut :&lt;br /&gt;
*Si le bilan est effectué dans OpenFlyers, [[Écritures comptables#Écritures_de_fin_d'exercice_avant_la_clôture_de_la_comptabilité|saisir les écritures de fin d'exercice]]&lt;br /&gt;
*Dans tous les cas, [[#Solder-les-comptes|remettre à 0 les soldes des comptes d'exploitation]].&lt;br /&gt;
*Valider toutes les écritures antérieures à la date de clôture.&lt;br /&gt;
En effet, on ne peut clôturer qu'une période pour laquelle toutes les écritures comptables ont été validées sinon cela engendre [[Alertes-administrateur#Alertes-lors-de-la-clôture-de-la-comptabilité|des alertes]]. Pour cela, il peut être nécessaire de [[#Retrouver-les-écritures-non-validées|retrouver les écritures non validées]]. Il n'est également pas possible de clôturer sur une date future.&lt;br /&gt;
&lt;br /&gt;
Ensuite, pour clôturer :&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Gestion / Export'''.&lt;br /&gt;
*Dans la 2ème partie intitulée '''Gestion de l'exercice comptable''', renseigner le champ '''Date de clôture'''.&lt;br /&gt;
La date de début de nouvel exercice est automatiquement actualisée.&lt;br /&gt;
&lt;br /&gt;
Pour une structure qui a un exercice annuel correspondant à l'année civile les dates devraient être 31/12/XXXX et 01/01/XXXX+1&lt;br /&gt;
*Cliquer sur le bouton '''Clôturer l'exercice puis ouvrir un nouvel exercice'''.&lt;br /&gt;
&lt;br /&gt;
=Exporter la comptabilité=&lt;br /&gt;
''Conseil OpenFlyers : l'export de la comptabilité nécessite au préalable des actions irréversibles comme la validation de l'ensemble des écritures. Pour les personnes débutantes avec cette fonction et qui souhaite pouvoir exporter sans effectuer ces actions irréversibles, il est recommandé de [[Modèle-commercial-et-compte-client-OpenFlyers#Plateforme-supplémentaire-de-test|s'entrainer avec le bac à sable]] en effectuant une recopie de sa plateforme de production.''&lt;br /&gt;
==Actions à effectuer par ordre chronologique==&lt;br /&gt;
OpenFlyers permet d'exporter uniquement les [[Bien débuter avec OpenFlyers#Validation_des_écritures|écritures validées]] et ainsi ne propose par défaut comme période d'export que la période maximum exportable ne contenant que des écritures validées.&lt;br /&gt;
&lt;br /&gt;
Les exports se font généralement à intervalle régulier : tous les mois, tous les trimestres ou tous les ans.&lt;br /&gt;
&lt;br /&gt;
Si vous n'avez pas de logiciel de comptabilité, il est recommandé d'effectuer quand même l'export et de l'archiver sur un support de stockage (disque dur par exemple) pour conservation.&lt;br /&gt;
&lt;br /&gt;
Dans le cas du dernier export d'un exercice comptable donné, il est important de décider avant l'export si tout ou partie des écritures de fin d'exercice doivent être réalisées avant ou après. En général, si l'export sert ensuite à être retravaillé dans un logiciel de comptabilité, alors les écritures de fin d'exercice seront réalisées dans le logiciel de comptabilité et il ne faudra faire le &amp;quot;nettoyage&amp;quot; côté OpenFlyers qu'à l'issue de l'export comptable officiel. Ainsi les points 2 et 3 des &amp;quot;Opérations à effectuer avant tout export&amp;quot; ci-dessous doit être, dans certains cas, réalisé en partie ou en totalité après le point 2 des &amp;quot;Opérations supplémentaires pour l'export de fin d'exercice&amp;quot; ci-dessous.&lt;br /&gt;
&lt;br /&gt;
De plus, si vous utilisez un logiciel de comptabilité uniquement pour le bilan, c'est à dire que les charges sont gérées dans OpenFlyers, alors la clôture dans OpenFlyers doit être faite après la clôture dans ce logiciel de comptabilité. Il est ainsi possible de vérifier que les &amp;quot;A nouveaux&amp;quot; sont identiques dans les 2 logiciels et de corriger dans OpenFlyers si nécessaire. Il existe un [[OF_doc-en:Accounting_exports_3#Carry_forwards|rapport qui permet d'avoir les à nouveaux]].&lt;br /&gt;
&lt;br /&gt;
Prérequis à tout export comptable :&lt;br /&gt;
*[[Configuration de la comptabilité#Comptes_d'export|Attribuer les comptes d'export]] pour ne pas avoir l'alerte &amp;quot;[[#Vous_ne_pouvez_exporter_car_il_y_a_des_comptes_sans_valeur_d'export|Vous ne pouvez exporter car il y a des comptes sans valeur d'export]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Opérations à effectuer pour tout export :&lt;br /&gt;
#[[#Retrouver-les-écritures-non-validées|Retrouver les écritures non validées]] pour [[Bien débuter avec OpenFlyers#Validation_des_écritures|les valider]]&lt;br /&gt;
#[[#Export_de_la_comptabilité|Export de la comptabilité]]&lt;br /&gt;
#[[Import dans un logiciel comptable tiers|import dans un logiciel de comptabilité]]&lt;br /&gt;
&lt;br /&gt;
Opérations supplémentaires pour l'export de fin d'exercice :&lt;br /&gt;
#[[Écritures comptables#Écritures_de_fin_d'exercice_avant_la_clôture_de_la_comptabilité|Écritures de fin d'exercice avant la clôture de l'exercice]] dont le [[#Solder-les-comptes|solde des comptes d'exploitation]]&lt;br /&gt;
#Validation des écritures de fin d'exercice par la [[Utilisation de la comptabilité#Validation_d'un_flux|validation des flux]] correspondant.&lt;br /&gt;
#Ultime export pour stockage [[#Marquer_les_écritures_lors_de_l'export|en marquant les écritures]].&lt;br /&gt;
#[[#Clôturer-l'exercice-comptable|Clôture / ouverture du nouvel exercice comptable]].&lt;br /&gt;
#[[Écritures comptables#Écritures_de_début_d'exercice_après_l'ouverture_de_la_comptabilité|Écritures de début d'exercice après l'ouverture de la comptabilité]].&lt;br /&gt;
&lt;br /&gt;
==Alertes générées lors d'une tentative d'[[Utilisation de la comptabilité#Les_exports_comptables|export comptable]]==&lt;br /&gt;
===Vous ne pouvez exporter car il y a des comptes sans valeur d'export===&lt;br /&gt;
Cette alerte bloquante apparait dans '''Comptes &amp;gt; Gestion / Export''' avec les éléments suivants :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous ne pouvez exporter car il y a des comptes sans valeur d'export&lt;br /&gt;
intitulé de compte X (type de compte Y)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Pour supprimer cette alerte, il faut [[Configuration de la comptabilité#Comptes_d'export|attribuer les comptes d'export manquants]].&lt;br /&gt;
&lt;br /&gt;
==Export de la comptabilité==&lt;br /&gt;
Pour exporter la comptabilité, il faut :&lt;br /&gt;
*Aller côté '''Admin'''&lt;br /&gt;
*Puis '''Comptes &amp;gt; Gestion / Export'''&lt;br /&gt;
3 parties se superposent :&lt;br /&gt;
*'''Solder les comptes'''&lt;br /&gt;
*'''Gestion de l'exercice comptable'''&lt;br /&gt;
*'''Statistiques'''/ '''Export de la comptabilité'''&lt;br /&gt;
Le tableau '''Statistiques''' donne des informations sur les écritures. Sa lecture est indispensable pour vérifier qu'il ne subsiste pas d'écriture non validée antérieures à la fin de la période d'export souhaitée. Si c'est le cas, il faut alors [[#Retrouver-les-écritures-non-validées|trouver les écritures non validées]] et les valider.&lt;br /&gt;
&lt;br /&gt;
Au-dessous du titre apparait la période que l'on souhaite exporter. Attention: la période proposée par défaut correspond à la plus grande période possible et ne correspond donc pas à la période souhaitée. Il faut donc modifier la date de fin.&lt;br /&gt;
&lt;br /&gt;
Exemples :&lt;br /&gt;
*Si on souhaite exporter '''une année civile complète''', alors il faut sélectionner comme date de fin le 31 décembre.&lt;br /&gt;
*Si on souhaite exporter '''un mois''', il faut sélectionner comme date de fin le dernier jour du mois concerné.&lt;br /&gt;
&lt;br /&gt;
Il est également possible de marquer les écritures exportées afin qu'elles ne soient plus ré-exportées. Cependant, à la place de cette zone de saisie, il peut apparaitre la liste des comptes sans [[#Compte_d'export|valeur d'export]] c'est à dire sans le numéro de compte du plan comptable. Dans ce cas, il faut d'abord rechercher le compte concerné dans '''Comptes &amp;gt; Lister les comptes''' puis attribuer au compte concerné une valeur d'export.&lt;br /&gt;
*Cocher ou non '''[[#Marquer_les_écritures_lors_de_l'export|Marquer les écritures]]'''.&lt;br /&gt;
*L'export s'effectue en cliquant sur le bouton '''Exporter''' de la ligne du logiciel vers lequel on souhaite exporter.&lt;br /&gt;
*Il faut ensuite [[Import dans un logiciel comptable tiers|importer dans un logiciel comptable tiers]].&lt;br /&gt;
&lt;br /&gt;
'''Remarques :'''&lt;br /&gt;
*Il n'est possible d'exporter que des écritures validées. Par conséquent s'il subsiste des écritures non validées sur la période d'export souhaité, alors une alerte apparaitra signalant qu'il n'est pas possible d'exporter la période souhaitée.&lt;br /&gt;
*Dans le fichier d'export, les écritures sont triées par numéro de flux.&lt;br /&gt;
&lt;br /&gt;
===Marquer les écritures lors de l'export===&lt;br /&gt;
Lors d'un export comptable, OpenFlyers donne la possibilité de marquer ou non les écritures qui vont être exportées. Cela permet :&lt;br /&gt;
*Soit de pouvoir ré-exporter des écritures déjà exportées (mais non marquées)&lt;br /&gt;
*Soit au contraire de ne plus exporter des écritures dont OpenFlyers sait qu'elles ont déjà été exportées car marquées.&lt;br /&gt;
&lt;br /&gt;
Ce choix se fait dans le formulaire d'export en cochant '''Marquer les écritures (elles ne pourront plus être exportées de nouveau)'''.&lt;br /&gt;
&lt;br /&gt;
Il est conseillé de toujours procéder à un 1er export sans marquer les écritures. Ainsi, si l'export se passe mal, on aura la garantie de pouvoir le refaire.&lt;br /&gt;
&lt;br /&gt;
=Grand livre=&lt;br /&gt;
&lt;br /&gt;
Le [https://fr.wikipedia.org/wiki/Grand_livre grand livre] sert à lister l'ensemble des écritures comptables sur une période donnée. Il y a présente pour chaque compte :&lt;br /&gt;
* Le solde initial&lt;br /&gt;
* La liste des écritures&lt;br /&gt;
* Le solde final&lt;br /&gt;
&lt;br /&gt;
Pour y accéder, il faut :&lt;br /&gt;
*Aller côté '''Admin'''&lt;br /&gt;
*Puis '''Comptes &amp;gt; Gestion / Export'''&lt;br /&gt;
&lt;br /&gt;
'''/!\ Le grand livre n'affiche pas les comptes n'ayant eu aucune écritures comptables sur la période donnée.'''&lt;br /&gt;
&lt;br /&gt;
=Mettre à jour les tarifs=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Ventes &amp;gt; Prix &amp;gt; Actualisation des prix'''&lt;br /&gt;
[[Image:Menu-vente-prix-actualisation-des-prix.png]]&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur le bouton '''Modifier''' en bas du tableau et '''non pas sur l'icône crayon à droite de la ligne de tarif'''.&lt;br /&gt;
[[Image:Tableau-vente-prix-actualisation-de-prix.png]]&lt;br /&gt;
&lt;br /&gt;
*Saisir une nouvelle valeur et la date à partir de laquelle le tarif s'appliquera. Vous pouvez anticiper un changement de tarif. Le tarif s'appliquera à la date du mouvement.&lt;br /&gt;
[[Image:Ajout-nouvelle-valeur-variable-tarif.png]]&lt;br /&gt;
&lt;br /&gt;
'''Attention''': si vous cliquez sur l'icône &amp;quot;Édition&amp;quot; (Crayon dans la colonne action) et que vous modifiez la valeur, alors vous changez le prix de cette période mais vous ne créez pas un nouveau tarif. Vous perdrez toute possibilité de corriger par exemple un vol à une date donnée. &lt;br /&gt;
&lt;br /&gt;
*Si vous avez le message d'erreur &amp;quot;chaque variable doit disposer d'une valeur antérieure à la date de début de l'exercice comptable&amp;quot; cela signifie que la variable ne possède pas de valeur entre la date de début d'exercice (date définie dans '''Admin &amp;gt; Comptes &amp;gt; Gestion &amp;amp; Export''') et la date indiquée. Le programme refuse qu'il y ai un &amp;quot;trou tarifaire&amp;quot; (vols non facturés). &lt;br /&gt;
*Chaque variable utilisée dans les formules de tarification doit avoir une valeur initialisée depuis une date antérieure à la date de début de l'exercice comptable&lt;br /&gt;
&lt;br /&gt;
=Opérations sur les comptes=&lt;br /&gt;
&lt;br /&gt;
==Créer un compte==&lt;br /&gt;
&lt;br /&gt;
===Créer un compte ressource===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte ressource, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressource &amp;gt; Comptes ressource'''.&lt;br /&gt;
*Dans la ligne de la ressource concernée, cliquer sur l'icône check du compte souhaité.&lt;br /&gt;
&lt;br /&gt;
===Créer un compte utilisateur===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte utilisateur, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs&amp;gt; Comptes utilisateur'''.&lt;br /&gt;
*Dans la ligne de l'utilisateur concerné, cliquer sur l'icône check du compte souhaité.&lt;br /&gt;
&lt;br /&gt;
===Créer un compte non-ressource non-utilisateur===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Lister les comptes &amp;gt; Tous les comptes'''.&lt;br /&gt;
*En bas du tableau, remplir la ligne et choisir la catégorie du compte&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
&lt;br /&gt;
==Créer un type de compte==&lt;br /&gt;
&lt;br /&gt;
===Créer un type de compte ressource===&lt;br /&gt;
&lt;br /&gt;
Pour créer un type de compte ressource, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Types de compte actifs''' puis cliquer sur le bouton '''Ajouter un compte'''.&lt;br /&gt;
*Saisir les champs du formulaire et valider .&lt;br /&gt;
&lt;br /&gt;
==Désactiver un compte==&lt;br /&gt;
Pour désactiver un compte qui ne doit plus être utilisé, il faut que :&lt;br /&gt;
* le compte ne doit pas créer de trou dans la comptabilité. C'est à dire que :&lt;br /&gt;
** le [[#Solder_un_compte|solde du compte doit être à 0]]&lt;br /&gt;
** les écritures associées à ce compte doivent être toutes validées&lt;br /&gt;
* le compte ne doit pas être utilisé dans une règle de tarification. Cela concerne directement les comptes et non pas les types de comptes. Ainsi, il est possible de désactiver un compte utilisateur ou un compte ressource alors qu'il existe des règles de tarification qui utilisent le même type de compte que le compte à désactiver.&lt;br /&gt;
* dans le cas d'un compte de type utilisateur, l'utilisateur possédant ce compte ne doit pas être lié à un profil qui requiert le type de compte &lt;br /&gt;
* le compte ne doit pas être utilisé par un type de facture fournisseur&lt;br /&gt;
Ensuite, on peut procéder à sa désactivation en cliquant sur l'icône symbolisant une poubelle sur la ligne de ce compte. Un compte n'ayant jamais eu d'écriture est supprimé au lieu de passer à l'état désactivé.&lt;br /&gt;
&lt;br /&gt;
==Lister les comptes==&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Comptes ressource''' pour obtenir les comptes ressource&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs &amp;gt; Comptes utilisateur''' pour obtenir les comptes utilisateur&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Lister les comptes &amp;gt; Tous les comptes''' pour obtenir les autres comptes.&lt;br /&gt;
&lt;br /&gt;
Dans ces pages, le solde de chaque compte est calculé en prenant les écritures datant du début d'exercice comptable jusqu'à la date et l'heure courante. Ainsi, les écritures comptables avec une date comptable future ne sont pas prises en compte pour le calcul du solde.&lt;br /&gt;
&lt;br /&gt;
=Retrouver les écritures non validées=&lt;br /&gt;
S'il y a beaucoup d'écritures à valider, il faut procéder de façon systématique en parcourant chaque interface de validation :&lt;br /&gt;
*Pour les vols, aller dans '''Admin &amp;gt; Vols &amp;gt; Liste des vols''' puis '''Valider les vols sélectionnés''' pour chaque aéronef.&lt;br /&gt;
*Pour les encaissements, aller dans '''Admin &amp;gt; Comptes &amp;gt; Pointer''' et choisir chaque type de paiement.&lt;br /&gt;
*Pour les transferts, aller dans '''Admin &amp;gt; Comptes &amp;gt; Valider les flux''' puis '''valider les transferts'''.&lt;br /&gt;
*Pour les factures, aller dans '''Admin &amp;gt; Achats &amp;gt; Liste des factures fournisseurs'''.&lt;br /&gt;
*Pour les ventes, aller dans '''Admin &amp;gt; Ventes &amp;gt; Valider les ventes'''. Choisir ses critères de recherche et valider le formulaire. Ensuite cocher les différentes ventes listées puis '''Pointer les entrées sélectionnées'''.&lt;br /&gt;
En procédant ainsi, il ne doit normalement ne pas subsister d'écriture à valider. Cependant, si l'essentiel des écritures a été validé, alors il est plus rapide de rechercher les écritures à valider que de parcourir chaque interface de validation.&lt;br /&gt;
&lt;br /&gt;
Pour rechercher les écritures restantes à valider, il faut :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Gestion / Export'''&lt;br /&gt;
En-dessous du titre '''Statistiques''' figure un tableau :&lt;br /&gt;
&lt;br /&gt;
[[Image:Tableau_statistiques_gestion-export.png]]&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessus, on peut voir à la ligne ''Ecritures non validées'', colonne ''Date de première écriture'' l'horodatage &amp;quot;19/08/2013 14:45&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Cela veut dire qu'il y a au moins une écriture qui date du 19 août 2013 et qui n'a pas été validée.&lt;br /&gt;
&lt;br /&gt;
Pour retrouver cette écriture non validée, il faut :&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Mouvements'''&lt;br /&gt;
*Rechercher l'écriture d'après la date indiquée.&lt;br /&gt;
Son contenu permettra de savoir s'il s'agit d'un vol, d'un encaissement, d'un flux, etc. Si un doute subsiste sur le type d'écriture, il faut cliquer sur l'icône &amp;quot;modifier&amp;quot; de l'écriture considérée afin de se retrouver dans son formulaire d'édition.&lt;br /&gt;
&lt;br /&gt;
Remarques :&lt;br /&gt;
*Le nombre d'écritures non validées indiqué dans le tableau '''Statistiques''' correspond au nombre TOTAL d'écritures non validées. En effet, OpenFlyers sait quand est-ce que vous commencez un exercice mais il ne sait pas quand est-ce que vous voulez qu'il s'arrête. Donc il prend toutes les écritures non validées.&lt;br /&gt;
*OpenFlyers ne permet d'exporter ou de clôturer que la période qui inclut des écritures validées. Dès qu'il rencontre une écriture non validée, il bloque toute action d'export ou de clôture.&lt;br /&gt;
&lt;br /&gt;
=Saisie d'écritures comptables=&lt;br /&gt;
==Saisie d'un flux==&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Saisir un flux'''&lt;br /&gt;
*Sélectionner sur la première ligne de compte, le compte concerné&lt;br /&gt;
*Remplir le champ débit ou crédit selon le cas&lt;br /&gt;
*Sélectionner sur la 2ème ligne un compte de contre-partie&lt;br /&gt;
*Sur cette 2ème ligne, cliquer sur l'icône qui symbolise une balance avec une flèche bleue et intitulé &amp;quot;Equilibrer la dernière ligne&amp;quot;&lt;br /&gt;
*Remplir le champ '''commentaires'''&lt;br /&gt;
*Choisir une date comptable dans le champ '''Date comptable''' en cliquant sur l'icône associée.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
Remarque : La date comptable proposée par défaut correspond à la date comptable du dernier flux saisi. Cela permet de faciliter les [[Comptabilité#Règles_de_saisies_de_la_comptabilité_courante|saisies au vu du relevé de banque]].&lt;br /&gt;
&lt;br /&gt;
==Validation d'un flux==&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Valider les flux'''&lt;br /&gt;
*Cocher dans la 1ère colonne '''Pointer''' les lignes à valider&lt;br /&gt;
*Cliquer sur le bouton '''Valider les flux sélectionnés (cette action est irréversible)'''&lt;br /&gt;
&lt;br /&gt;
==Annuler l'effet d'une écriture comptable==&lt;br /&gt;
Dans le cas où une écriture comptable a été validée, il n'est plus possible de la supprimer pour assurer la [[Comptabilité#Traçabilité_des_écritures|traçabilité des écritures]]. De ce fait, le seul moyen d'en annuler son effet consiste à saisir une écriture opposée. Pour cela, il faut [[#Saisie_d'un_flux|saisir un flux]] en sélectionnant les comptes mis en jeu dans l'écriture à annuler en choisissant de débiter ou créditer du même montant (mais dans le sens opposé) que l'écriture initiale.&lt;br /&gt;
&lt;br /&gt;
Exemple : Un compte A a été débité de 100 € et la contre-partie a été sur un compte B. Pour annuler l'effet de cette écriture, il faut [[#Saisie_d'un_flux|saisir un flux]] qui va créditer le compte A de 100 € et débiter le compte B du même montant.&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'une vente de produit type &amp;quot;pack d'heures&amp;quot;, il ne faut pas oublier d'annuler également les mouvements concernant les crédits d'heures.&lt;br /&gt;
&lt;br /&gt;
Cette solution permet de garder une traçabilité des écritures qui peuvent avoir été saisies par d'autres personnes et surtout qui peuvent affecter des comptes d'utilisateurs.&lt;br /&gt;
&lt;br /&gt;
C'est comme pour un compte bancaire : un banquier ne supprime jamais une écriture sur un compte client. Il passe simplement une nouvelle écriture qui annule l'effet de la précédente.&lt;br /&gt;
&lt;br /&gt;
==[[Écritures comptables#Avoir_clients|Saisie d'un avoir client]]==&lt;br /&gt;
Il faut [[#Saisie_d'un_flux|saisir un flux]] qui va créditer un compte utilisateur/client d'un certain montant et débiter un compte produit &amp;quot;Remise X&amp;quot; du même montant.&lt;br /&gt;
&lt;br /&gt;
==Solder un compte==&lt;br /&gt;
Pour solder un compte, il faut [[#Saisie_d'un_flux|saisir un flux]] avec la particularité que l'on souhaite &amp;quot;ramener le solde à zéro&amp;quot; d'un compte donné. Pour cela, il faut en plus des [[#Saisie_d'un_flux|opérations]] indiquées pour la saisie d'un flux, il faut :&lt;br /&gt;
*dans la première ligne de compte, sélectionner le compte concerné&lt;br /&gt;
*Cliquer sur l'icône qui symbolise une balance intitulé &amp;quot;Ramener le solde à zéro&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de compte de contre-partie dans le cas de la mise à zéro du solde d'un compte ressource : compte de bilan [[Comptabilité#Compte-de-report-à-nouveau|Report à nouveau]]&lt;br /&gt;
&lt;br /&gt;
==Retrouver les flux supprimés sans permission==&lt;br /&gt;
&lt;br /&gt;
Pour retrouver des flux supprimés sans permission, il est possible de consulter les logs. Deux rapports ont été créés pour faciliter cette tâche.&lt;br /&gt;
&lt;br /&gt;
Le premier rapport &amp;quot;[[OF_doc-en::Export_generator_3#People_who_have_deleted_encashments/flows_without_having_the_permission|liste des personnes ayant supprimés des encaissements/flux sans permission]]&amp;quot; permet d'obtenir en outre de la personne, la date de la suppression et le numéro de flux supprimé.&lt;br /&gt;
&lt;br /&gt;
Le second rapport &amp;quot;[[OF_doc-en::Export_generator_3#Historic_of_changes_for_a_specific_encashment/flow|Liste des changements spécifiques à un encaissement/flux]]&amp;quot; permet de connaître les détails d'un flux. Ce rapport est lié au champ additionnel &amp;quot;Numéro de flux&amp;quot; qui doit être préalablement créé.&lt;br /&gt;
&lt;br /&gt;
Pour avoir le détail de tous les flux supprimés, procéder ainsi :&lt;br /&gt;
# Ouvrir deux onglets sur le navigateur.&lt;br /&gt;
# Dans ces onglets, se rendre dans la page qui liste les rapports '''Admin &amp;gt; Rapports &amp;gt; Structure &amp;gt; Visualiser'''.&lt;br /&gt;
# Dans le premier onglet, sélectionner le premier rapport et valider pour avoir la liste des numéros de flux.&lt;br /&gt;
# Copier un numéro de flux (numéro dans la colonne &amp;quot;flowid&amp;quot;).&lt;br /&gt;
# Dans le second onglet, coller le numéro de flux dans le champ destiné. Sélectionner le second rapport et valider pour avoir le détail du flux.&lt;br /&gt;
# Répéter l'opération 4 et 5 pour chaque numéro de flux dont il faut les détails.&lt;br /&gt;
&lt;br /&gt;
=Solder les comptes=&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Gestion / Export'''&lt;br /&gt;
*Dans le formulaire '''Solder les comptes''' :&lt;br /&gt;
*Laisser tous les comptes &amp;quot;Ressources&amp;quot; cochés sauf si certains ne sont pas des comptes d'exploitation&lt;br /&gt;
*La date proposée dans le champ '''A la date du''' doit correspondre au 31 décembre de l'année de l'exercice comptable en cours&lt;br /&gt;
*Dans le champ '''Comptabilité''', sélectionner la comptabilité souhaitée : il faudra effectuer cette opération pour chacune des comptabilités de la plateforme&lt;br /&gt;
*Dans le chmp '''Compte de contrepartie''', sélectionner le compte de bilan souhaité, normalement il s'agit du compte '''Report à nouveau (Bilan)''' pour la comptabilité générale&lt;br /&gt;
*Cliquer sur le bouton '''Générer les écritures'''&lt;br /&gt;
&lt;br /&gt;
Ce module génère alors un unique flux qui solde les comptes de charges, de produits et ceux liés aux ressources vers un compte de contrepartie de sorte que ces comptes soient ramenés à 0 à la date sélectionnée.&lt;br /&gt;
&lt;br /&gt;
Seuls les comptes actifs sont pris en compte.&lt;br /&gt;
&lt;br /&gt;
=Factures fournisseurs=&lt;br /&gt;
==Saisie des factures fournisseurs==&lt;br /&gt;
Nous conseillons de se connecter en https à votre plateforme https://openflyers.com/nom-de-plateforme/index.php&lt;br /&gt;
*Depuis la page du planning de réservation, cliquer sur le menu '''Admin''' : [[Image:accueil_espace_client.png]]&lt;br /&gt;
*Cliquer sur le menu '''Achats &amp;gt; Saisie Factures fournisseurs'''.&lt;br /&gt;
*Vous vous retrouvez alors avec le formulaire de saisie suivant :&lt;br /&gt;
[[Image:saisie_facture_fournisseur_vierge.png]]&lt;br /&gt;
&lt;br /&gt;
2 cas peuvent se présenter :&lt;br /&gt;
*Soit [[#Saisie_d'une_facture_fournisseur_dont_le_type_de_facture_est_déjà_enregistré|le type de facture fournisseur correspondant à la facture à saisir est déjà existant]]&lt;br /&gt;
*Soit la facture fournisseur à saisir nécessite la création d'un nouveau type de facture fournisseur. Dans ce cas, il existe plusieurs façons de créer un nouveau type de facture fournisseur dont la possibilité de [[#Saisie_d'une_facture_fournisseur_dont_le_type_est_nouveau|le faire directement en saisissant la facture]].&lt;br /&gt;
&lt;br /&gt;
===Saisie d'une facture fournisseur dont le type de facture est déjà enregistré===&lt;br /&gt;
*Sélectionner le '''type de facture fournisseur''' correspondant à la facture à saisie. Le nombre de champs à renseigner se réduit alors automatiquement :&lt;br /&gt;
[[Image:facture_fournisseur_à_compléter.png]]&lt;br /&gt;
*Reporter sur la facture originale le '''numéro de pointage''' qui apparaît dans le formulaire. Ce numéro de pointage est unique et permet de rapprocher les factures fournisseurs saisies dans OpenFlyers avec leurs originaux.&lt;br /&gt;
*Cocher &amp;quot;'''J'ai bien pris en compte cette valeur et je l'ai reporté sur ma facture'''&amp;quot;. A défaut, si vous validez, le système refusera votre saisie et une alerte apparaitra.&lt;br /&gt;
*Le champ '''Description''' permet d'indiquer toute information utile concernant la facture et d'en faciliter la recherche ultérieure.&lt;br /&gt;
*Indiquer la date de facturation en cliquant sur le calendrier. Il est possible de paramétrer le format d'affichage de la date en allant dans le menu '''Données/Affichage''' puis de modifier le contenu du champ '''fiche personnelle/Patron de format de date'''.&lt;br /&gt;
*Renseigner le '''montant hors taxe'''&lt;br /&gt;
*Renseigner la '''TVA''' (champ visible uniquement si la comptabilité est paramétrée pour la prise en compte de la TVA). Si la TVA est nulle, il faut indiquer 0.&lt;br /&gt;
*Cliquer sur '''Valider''' ou '''Valider et Saisir le suivant''' si vous avez plusieurs factures à saisir à la volée. Dans ce dernier cas, le formulaire de saisie de facture fournisseur s'affiche à nouveau et il faut reprendre les opérations de saisie depuis le début de ce paragraphe.&lt;br /&gt;
&lt;br /&gt;
===Saisie d'une facture fournisseur dont le type est nouveau===&lt;br /&gt;
Lors de la saisie d'un nouveau compte fournisseur, aucun élément n'est renseigné par défaut et le formulaire à la forme suivante :&lt;br /&gt;
&lt;br /&gt;
[[Image:Saisie_facture_fournisseur_vierge.png]]&lt;br /&gt;
&lt;br /&gt;
Plusieurs parties du formulaire peuvent se réduire à partir du moment où dans le champ précédant la partie réductible, l'utilisateur remplace '''Autre...''' par un choix proposé. A contrario, en laissant '''Autre...''' ou '''Associer un nouveau compte''' (dans le cas du premier champ), c'est l'information saisie dans le champ suivant qui sera prise en compte.&lt;br /&gt;
&lt;br /&gt;
La saisie va consister à définir les ventilations comptables associée à ce type de facture fournisseur. A savoir :&lt;br /&gt;
*le fournisseur et son compte fournisseur qui sera crédité du montant des factures associées à ce type de facture fournisseur&lt;br /&gt;
*le compte de charge qui sera débité du montant des factures associées à ce type de facture fournisseur&lt;br /&gt;
*Si la gestion de la TVA est activée, le compte de TVA qui sera débité du montant de la TVA associée à ce type de facture fournisseur&lt;br /&gt;
*De plus, si la gestion des budgets est activée, il est demandé, pour chaque compte (fournisseur, charge et TVA), le budget à associer&lt;br /&gt;
&lt;br /&gt;
*Ainsi, si on doit saisir une facture fournisseur associée à un nouveau type de facture fournisseur, alors il faut laisser '''associer un nouveau compte''' au champ '''Type de facture fournisseur''' et renseigner l'intitulé souhaité pour le type de facture fournisseur dans le champ suivant '''Nom de type de facture'''&lt;br /&gt;
*Ensuite, dans le champ '''Fournisseur''', là aussi, 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le fournisseur à mentionner est déjà dans la liste proposée dans le champ '''Fournisseur''' et auquel cas il faut le sélectionner (et le champ suivant '''Nom du fournisseur''' disparaitra)&lt;br /&gt;
**Soit le fournisseur à mentionner n'est pas déjà dans la liste proposée dans le champ '''Fournisseur''' et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer'''' au fournisseur ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner pour tous les fournisseurs un budget ''Fournisseurs''.&lt;br /&gt;
***Renseigner le champ '''Nom du fournisseur''' qui doit correspondre au fournisseur souhaité&lt;br /&gt;
***Choisir un compte d'export associé au nouveau fournisseur créé :&lt;br /&gt;
****Soit il existe déjà un compte d'export dans le champ '''Compte du fournisseur'''&lt;br /&gt;
****Soit il n'existe pas de compte d'export associable à ce nouveau fournisseur (en général on associe un compte d'export différent pour chaque compte défini dans OpenFlyers) et auquel cas, il faut renseigner le champ '''Compte fournisseur d'export'''. On peut, par exemple, saisir ''401NOMDUFOURNISSEUR'' dans le cas du plan comptable français.&lt;br /&gt;
***Si la gestion des budgets est active, le champ suivant est '''Budget à attribuer''' et OpenFlyers a dû le remplir par défaut avec la même valeur que pour le champ du même nom rattaché au '''Nom du fournisseur'''. Il ne doit pas y avoir besoin de modifier le contenu de ce champ.&lt;br /&gt;
*Dans le champ '''Compte de charge''', 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le compte de charge à associer est déjà dans la liste proposée et auquel cas il faut le sélectionner&lt;br /&gt;
**Soit le compte de charge à associer n'est pas déjà dans la liste proposée et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer''' au compte de charge que l'on crée ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner un budget représentatif du type de facture et ainsi avoir la ventilation de toutes les factures fournisseurs par poste budgétaire&lt;br /&gt;
***Renseigner le champ '''Nom du compte''' avec l'intitulé correspondant au compte de charge à créer&lt;br /&gt;
***Renseigner le champ '''Compte d'export''' avec la valeur du plan comptable correspondante. Pour le plan comptable français, ce sera un compte en 6xx.&lt;br /&gt;
*Si la gestion de la TVA est activée, le champ '''Compte TVA du type de facture''' est présent et 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le compte de TVA à associer à ce type de facture est dans la liste proposée et auquel cas il faut le sélectionner&lt;br /&gt;
**Soit le compte de TVA n'existe pas et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer''' au compte de TVA que l'on crée ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner un budget ''TVA Fournisseur''&lt;br /&gt;
***Renseigner le champ '''Nom de compte TVA'''. Par exemple, dans le cas des factures fournisseurs provenant de France : ''TVA déductible sur autres biens et services''&lt;br /&gt;
***Renseigner le champ '''Compte TVA d'export'''. Par exemple, dans le cas des factures fournisseurs provenant de France : ''445660''.&lt;br /&gt;
*Le reste de la saisie s'effectue comme pour la [[#Saisie_d'une_facture_fournisseur_dont_le_type_de_facture_est_déjà_enregistré|saisie d'une facture fournisseur dont le type de facture est déjà enregistré]].&lt;br /&gt;
&lt;br /&gt;
===Suppression d'une facture fournisseur===&lt;br /&gt;
Pour supprimer une facture fournisseur qui aurait été saisie par erreur, il faut :&lt;br /&gt;
*Aller dans le menu '''Achats/Liste des factures fournisseurs''' ;&lt;br /&gt;
[[Image:achats-liste-des-factures-fournisseurs.png]]&lt;br /&gt;
&lt;br /&gt;
*Rechercher le '''numéro de pointage''' de la facture concernée en ayant pris soin au préalable de sélectionner le mois de la facture (ou l'année complète pour lister l'ensemble des factures) ;&lt;br /&gt;
&lt;br /&gt;
[[Image:numéro-de-pointage.png]]&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur l'icône poubelle associée à la facture concernée.&lt;br /&gt;
&lt;br /&gt;
[[Image:icône-poubelle.png]]&lt;br /&gt;
&lt;br /&gt;
Le numéro de la facture supprimée n'existera plus dans la comptabilité. Il ne sera pas proposé à nouveau lors de la saisie d'une nouvelle facture. Par ailleurs, la numérotation des factures saisies a posteriori de la facture supprimée demeurera inchangée.&lt;br /&gt;
&lt;br /&gt;
===Suppression d'un type de facture fournisseur===&lt;br /&gt;
Pour supprimer un type de facture fournisseur qui aurait été saisi par erreur, il faut :&lt;br /&gt;
&lt;br /&gt;
*Aller dans le menu '''Achats/Types de factures fournisseurs''' ;&lt;br /&gt;
&lt;br /&gt;
[[Image:achats-types-de-factures-fournisseurs.png]]&lt;br /&gt;
&lt;br /&gt;
*Sélectionner le type de fournisseur concerné dans la colonne '''Nom''' ;&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur l'icône poubelle associée à la facture concernée.&lt;br /&gt;
&lt;br /&gt;
[[Image:icône-poubelle.png]]&lt;br /&gt;
&lt;br /&gt;
==Saisie d'un [[Écritures comptables#Paiement_(à_un_fournisseur)|paiement à un fournisseur]]==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Saisir un flux'''&lt;br /&gt;
*Sur la première ligne :&lt;br /&gt;
**dans la colonne '''Compte''' sélectionner le compte du fournisseur&lt;br /&gt;
**dans la colonne '''Débit''' saisir le montant du paiement que vous effectuez. Si vous souhaiter solder le compte du fournisseur, il vous suffit de cliquer sur l'icône représentant une balance et intitulée &amp;quot;Ramener le solde à zéro&amp;quot;&lt;br /&gt;
*Sur la deuxième ligne :&lt;br /&gt;
**dans la colonne '''Compte''' sélectionner le compte bancaire depuis lequel l'argent est débité&lt;br /&gt;
**cliquer sur l'icône représentant une balance avec une flèche bleue et intitulée &amp;quot;Equilibrer la dernière ligne&amp;quot;&lt;br /&gt;
*Dans le champ '''Commentaires''' saisir un texte libre&lt;br /&gt;
*Ne pas oublier de renseigner le champ '''Date comptable'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
&lt;br /&gt;
=Bon de commande et facture clients=&lt;br /&gt;
&lt;br /&gt;
==Visualiser des factures au format PDF==&lt;br /&gt;
Nous conseillons de se connecter en https à votre espace http://openflyers.com/nom-de-plateforme/index.php&lt;br /&gt;
&lt;br /&gt;
OpenFlyers propose par défaut un [[Modèle de facture ODT|modèle de facture]] qui permet d'éditer des factures PDF pour les prestations suivantes :&lt;br /&gt;
*les achats réalisés depuis le gestionnaire des ventes&lt;br /&gt;
**depuis la page du planning de réservation, cliquer sur le menu '''Comptes/Acheter''' ;&lt;br /&gt;
[[Image:comptes-acheter.png]]&lt;br /&gt;
*les validités qui ont été achetées/renouvelées&lt;br /&gt;
*les vols.&lt;br /&gt;
**Aller dans le menu '''Comptes/Etat/Pilote''' et se rendre dans la [[Documentation utilisateur#Colonne_.22Numéro_de_pointage_ou_de_facture.22|colonne numéro de pointage ou de facture]]&lt;br /&gt;
[[Image:comptes-etat-pilote.png]]&lt;br /&gt;
&lt;br /&gt;
==Importer son [[Modèle de facture ODT|modèle de facture]]==&lt;br /&gt;
&lt;br /&gt;
'''/!\ En important un [[Modèle de facture ODT|modèle de facture]], ce sera celui-ci qui va être utilisé pour générer les nouvelles factures au format PDF. Les factures qui ont déjà créées avant la mise en place du nouveau modèle continuera d'appliquer les anciens versions du modèle ou ceux fournis par défaut par OF'''&lt;br /&gt;
&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Configuration &amp;gt; Import de template ODT''' :&lt;br /&gt;
[[Image:configuration-import-de-templates-odt.png]]&lt;br /&gt;
* Préparer le fichier ODT contenant tous les modèles utilisés qui doivent être organisés comme suit :&lt;br /&gt;
*:'''page 1''' : Facture client&lt;br /&gt;
*:'''page 2''' : Duplicata de la facture client&lt;br /&gt;
*Importer  le fichier&lt;br /&gt;
*Cocher '''Facturation client'''&lt;br /&gt;
*Valider&lt;br /&gt;
&lt;br /&gt;
==Calcul du montant HT, de la TVA et du montant TTC==&lt;br /&gt;
&lt;br /&gt;
Les différents montants sont calculés de la sorte :&lt;br /&gt;
* Pour la TVA, on effectue la somme des écritures de débit et de crédit liés aux&lt;br /&gt;
** comptes de catégorie TVA&lt;br /&gt;
** produits de type de vente TVA&lt;br /&gt;
* Pour le montant TTC, on effectue la somme des écritures de débit et de crédit liées aux&lt;br /&gt;
** comptes qui ne sont pas de catégorie TVA&lt;br /&gt;
** produits qui ne sont pas de type de vente TVA&lt;br /&gt;
* Pour le montant HT, on effectue la différence entre la TVA et le montant TTC&lt;br /&gt;
&lt;br /&gt;
==Relevés de factures clients==&lt;br /&gt;
Une facture client est un document unique. Les PDF d'une facture déjà exportée seront générés avec la mention &amp;quot;Duplicata&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formulaire de sélection===&lt;br /&gt;
Ce formulaire permet d'établir une sélection générale de factures clients.&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Rapports &amp;gt; Générique &amp;gt; Relevés de factures clients'''&lt;br /&gt;
*Les champs &amp;quot;A partir du&amp;quot; et &amp;quot;Jusqu'au&amp;quot; permettent d'établir une sélection en fonction des dates de facturation. Pour éviter un temps de chargement trop long, il est conseillé de définir une plage d'un mois maximum.&lt;br /&gt;
*Le champ &amp;quot;Compte client&amp;quot; permet de sélectionner les relevés de factures d'un client particulier&lt;br /&gt;
*Le champ &amp;quot;Types de vols&amp;quot; permet de sélectionner des factures en fonction du type de vol&lt;br /&gt;
*Le champ &amp;quot;Produits non stockés&amp;quot; permet de sélectionner des factures en fonction de la nature du produit&lt;br /&gt;
*Le champ &amp;quot;Validités&amp;quot; permet de sélectionner des factures en fonction des produits de type &amp;quot;validité&amp;quot;&lt;br /&gt;
*Valider pour accéder aux factures à exporter&lt;br /&gt;
&lt;br /&gt;
===Tableau de factures à exporter===&lt;br /&gt;
Ce tableau est le résultat du formulaire. Il liste des factures clients.&lt;br /&gt;
*Sélectionner au cas par cas les factures à exporter&lt;br /&gt;
*Cliquer sur le bouton '''Générer PDF''' en bas du tableau pour générer le PDF des factures sélectionnées&lt;br /&gt;
*Cliquer sur le bouton '''Sauver dans un fichier CSV''' en bas du tableau pour exporter les factures sélectionnées au format CSV&lt;br /&gt;
&lt;br /&gt;
=Gestion des règlements clients=&lt;br /&gt;
==Saisir un encaissement==&lt;br /&gt;
Cf. les [[Écritures comptables#Saisie_d'un_encaissement_(d'un_client)|mouvements associés à un encaissement client]] pour connaitre les mouvements créés lors de la saisie comptable.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' seuls les [[Comptabilité#Comptes_clients|comptes clients]] et les [[Comptabilité#Comptes_utilisateurs|comptes utilisateurs]] peuvent recevoir des encaissements. En effet, comptablement, cela n'a pas de sens de faire un encaissement sur d'autres types de comptes.&lt;br /&gt;
&lt;br /&gt;
*'''Comptes &amp;gt; Approvisionner''' ou '''Admin &amp;gt; Comptes &amp;gt; Encaissements &amp;gt; Saisir un encaissement'''&lt;br /&gt;
*'''Comptes clients''' :&lt;br /&gt;
**Si le payeur est un utilisateur de la plateforme, laisser sélectionné '''Utilisateur'''&lt;br /&gt;
**Sinon, sélectionner '''Non-utilisateur'''&lt;br /&gt;
*'''Date du paiement''' :&lt;br /&gt;
**pour les paiements par chèque on laisse en général la date du jour qui correspond &amp;quot;au mieux&amp;quot; à la date à laquelle l'encaissement sera fait.&lt;br /&gt;
**pour les paiements en espèce on met la date à laquelle les sommes ont été reçus.&lt;br /&gt;
**pour les paiements par virement on met la date du virement.&lt;br /&gt;
*'''Encaissement de l'utilisateur''' : sélectionner le nom de l'utilisateur effectuant le paiement&lt;br /&gt;
ou&lt;br /&gt;
*'''Compte à créditer''' : sélectionner le nom du client &amp;quot;connu&amp;quot; ou à défaut &amp;quot;Clients extérieurs&amp;quot;&lt;br /&gt;
Attention : il faut sélectionner le compte correspondant à celui qui a été facturé et donc débité.&lt;br /&gt;
*'''Montant''' : indiquer le montant du paiement&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' ou le bouton '''VALIDER ET SAISIR LE SUIVANT'''&lt;br /&gt;
&lt;br /&gt;
==Saisir l'encaissement d'un comité d'entreprise ou d'un groupement d'utilisateurs==&lt;br /&gt;
Dans le cas où un comité d'entreprise ou un groupement d'utilisateurs (comme la DGAC dans le cas des contrôleurs aériens) prend en charge tout ou partie du coût d'une activité générée par OpenFlyers, la plateforme est normalement configurée pour que ce soit le compte du CE ou du groupement qui soit automatiquement débité lors de la saisie de l'activité.&lt;br /&gt;
&lt;br /&gt;
De ce fait, saisir dans OpenFlyers un règlement provenant d'une telle entité revient à [[#Saisir_un_encaissement|saisir un encaissement d'un &amp;quot;non-utilisateur&amp;quot; sur son propre compte client]].&lt;br /&gt;
&lt;br /&gt;
==Validation des règlements clients==&lt;br /&gt;
Le comptable, trésorier, secrétaire, etc. doit valider les règlements avant de remettre l'argent à la banque, que la saisie soit faite pas un pilote ou par une personne tierce.&lt;br /&gt;
&lt;br /&gt;
Tant qu'une écriture n'est pas validée, elle apparaît différemment dans les extraits de compte afin de bien signifier que le mouvement n'est pas validé et que le solde du compte est donc susceptible d'être modifié. Une écriture non validée peut être modifiée mais '''Une fois la validation effectuée'''  il n'est plus possible de '''revenir en arrière'''. &lt;br /&gt;
&lt;br /&gt;
En cas d'erreur, le trésorier doit faire une écriture d'annulation et ressaisir le règlement correct.&lt;br /&gt;
&lt;br /&gt;
Pour valider les règlements le trésorier dispose d'une page accessible uniquement avec le droit &amp;quot;'''Valider les encaissements'''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Voici la description de la tâche de validation des règlements par le trésorier :&lt;br /&gt;
*Récupérer les chèques et espèces à valider&lt;br /&gt;
*Classer les chèques par ordre de date.&lt;br /&gt;
*Aller dans la page '''Admin &amp;gt; Comptes &amp;gt; Pointer &amp;gt; Chèques'''&lt;br /&gt;
*Cette pages affiche les règlements que les pilotes ont saisies et qui sont en attente de validation&lt;br /&gt;
*Cocher les règlements dont vous possédez les chèques.&lt;br /&gt;
*Si des règlements ne sont pas dans la liste en attente, le trésorier les ajoute à l'aide d'un bouton prévu à cet effet puis les coche.&lt;br /&gt;
*Si des saisies sont erronées, corrigez-les puis les cocher.&lt;br /&gt;
*Supprimer les saisies inopportunes.&lt;br /&gt;
*Une fois que tout les chèques sont pointés, cliquez sur '''Éditer le bordereau de remise'''.&lt;br /&gt;
*On passe sur la page de la liste de vos règlements validés, faite une vérification&lt;br /&gt;
*Imprimez la bordereau de remise en banque, utilisez le menu de votre navigateur '''Fichier &amp;gt; Imprimer'''.&lt;br /&gt;
*Valider le bordereau. &amp;quot;'''Attention, cette action est irréversible'''&amp;quot;&lt;br /&gt;
*Faire les opérations ci-dessus pour chaque type de règlement&lt;br /&gt;
*Porter les remises en banque&lt;br /&gt;
&lt;br /&gt;
La validation régulière de vos règlements permet de bloquer les modifications par les pilotes et augmente la fiabilité de votre comptabilité&lt;br /&gt;
&lt;br /&gt;
=Cas particuliers=&lt;br /&gt;
==Ecritures manuelles dans le cadre [[Conseils spécifiques pour la comptabilité#Facturation_automatique_à_des_organismes_avec_ou_sans_quotas|d'une facturation automatique à un organisme tiers]]==&lt;br /&gt;
Normalement, le paramétrage d'une plateforme OpenFlyers est effectué pour que les écritures soient automatiquement réalisées lors de la saisie d'une activité.&lt;br /&gt;
&lt;br /&gt;
Cependant, si les écritures ne se sont pas effectuées automatiquement, ne serait-ce que dans le cas où le paramétrage a été mis en place ultérieurement à la saisie d'activité et que ces saisies ont été validées, il est nécessaire d'effectuer la saisie manuelle des flux permettant d'obtenir la [[Facturation des clients#Cascade_d'écritures_comptables|situation comptable souhaitée]].&lt;br /&gt;
&lt;br /&gt;
Ainsi, si l'utilisateur a été intégralement débité du montant de l'activité et qu'il faut simplement saisir une écriture permettant de créditer son compte du montant devant être débité à l'organisme tiers, il suffit de [[#Saisie_d'un_flux|saisir un flux]] qui va créditer son compte du montant concerné et débiter le compte de l'organisme tiers du même montant.&lt;br /&gt;
&lt;br /&gt;
De plus, si une gestion de quota est en place, il faut également corriger le compte de quota de l'utilisateur concerné sur le même modèle d'écriture que pour l'[[Conseils spécifiques pour la comptabilité#Initialisation_du_solde_d'heures_lors_de_la_mise_en_place_des_packs|initialisation d'un quota]] mais en sens opposé (le compte quota de l'utilisateur doit être débité au lieu d'être crédité et inversement pour le compte de bilan correspondant).&lt;br /&gt;
&lt;br /&gt;
==Gestion des baptêmes==&lt;br /&gt;
===Utiliser le [[Configuration de la comptabilité#Gestion_des_baptêmes|paramétrage préconisé des baptêmes]]===&lt;br /&gt;
On appelle dans l'exemple &amp;quot;Clients extérieurs&amp;quot; le compte client qui est utilisé pour les clients baptêmes. La dénomination peut changer d'une configuration à l'autre.&lt;br /&gt;
Lorsqu'un baptême est effectué :&lt;br /&gt;
#Saisir le vol avec comme type de vol &amp;quot;baptême&amp;quot; : le coût du vol au tarif solo est alors débité sur le compte client &amp;quot;Clients extérieurs&amp;quot;.&lt;br /&gt;
#Encaisser le paiement du baptême sur le compte client &amp;quot;Clients extérieurs&amp;quot; (qui est accessible dans le formulaire de saisie des encaissements en sélectionnant comme type d'utilisateur &amp;quot;non utilisateur&amp;quot;).&lt;br /&gt;
Ainsi, le compte client &amp;quot;Clients extérieurs&amp;quot; se retrouvera avec un solde correspondant à la différence entre le prix du baptême payé par le client et le prix du vol solo facturé par OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Il suffit alors de passer une écriture, par exemple tous les mois, tous les trimestres ou tous les ans, entre le compte &amp;quot;Clients extérieurs&amp;quot; et un compte produit (par exemple compte produit &amp;quot;delta baptêmes&amp;quot;) qui va recevoir le solde du compte client &amp;quot;Clients extérieurs&amp;quot; afin de le ramener à 0.&lt;br /&gt;
&lt;br /&gt;
Cas pratique :&lt;br /&gt;
*Tarif solo : 100 €/h&lt;br /&gt;
*Tarif baptême : 60 €&lt;br /&gt;
*Vol effectué de 30 minutes&lt;br /&gt;
&lt;br /&gt;
Alors :&lt;br /&gt;
*En saisissant le vol de 30 minutes en tant que &amp;quot;baptême&amp;quot;, le compte &amp;quot;clients extérieurs&amp;quot; sera débité du montant du tarif solo soit 50 €.&lt;br /&gt;
*En saisissant l'encaissement du paiement de 60 € effectué par le baptisé, le compte &amp;quot;clients extérieurs&amp;quot; sera crédité de 60 €.&lt;br /&gt;
*Il est résulte sur le compte &amp;quot;clients extérieur&amp;quot; un solde positif de 10 €.&lt;br /&gt;
A la fin de l'année, le compte &amp;quot;clients extérieur&amp;quot; aura vu son solde augmenter au fur et à mesure que les baptêmes auront été effectuée. Admettons qu'il se retrouve avec un solde positif de 1210 €. Il faut alors passer un mouvement (via la saisie d'un flux) pour débiter le compte &amp;quot;clients extérieurs&amp;quot; de 1210 € et créditer un compte produit &amp;quot;delta baptêmes&amp;quot; de 1210 €. Ce faisant le solde du compte client &amp;quot;clients extérieurs&amp;quot; est ramené à 0 ce qui est important pour montrer comptablement que personne ne doit de l'argent à l'aéro-club et le gain spécifique aux baptêmes est enregistré dans le compte produit &amp;quot;delta baptêmes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Les taxes==&lt;br /&gt;
===Gérer les taxes d'atterrissage dans OpenFlyers===&lt;br /&gt;
Les taxes d'atterrissages sont facturées à la structure aéronautique qui souvent les débitent sur le compte de ses clients. Voici 2 méthodes pour gérer ces opérations dans OpenFlyers :&lt;br /&gt;
*La méthode la plus simple consiste à partir du principe que les factures des taxes d'atterrissages sont déjà existantes et qu'il s'agit juste de faire payer la personne réellement concernée par la taxe. Pour ce faire, il suffit de saisir un flux en débitant le compte du client du montant de la facture de la taxe d'atterrissage et de créditer un compte produit &amp;quot;taxe d'atterrissage&amp;quot;. Cette méthode est pratique dans le cas où le prix de la taxe n'est jamais le même.&lt;br /&gt;
*Pour les aérodromes dont les taxes sont récurrentes, il peut être intéressant de créer un type de vente pour gérer les taxes. Cette solution n'est pratique que dans le cas où les montants sont constants. Cela permet alors d'éviter d'avoir à saisir à chaque fois le prix de la taxe. L'autre intérêt de cette méthode est qu'elle permet de générer une facture fournisseur au nom de la structure dans le cas où le client le souhaiterait.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=FAQ-comptabilit%C3%A9&amp;diff=15235</id>
		<title>FAQ comptabilité</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=FAQ-comptabilit%C3%A9&amp;diff=15235"/>
				<updated>2017-05-24T11:53:51Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* A quoi sert le grand livre ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Initialisation=&lt;br /&gt;
==Comment accéder à la gestion complète de la compta ?==&lt;br /&gt;
Il faut activer la gestion des comptes et attribuer les droits de gestion correspondant aux profils souhaités.&lt;br /&gt;
&lt;br /&gt;
==Comment initialiser le 1er exercice comptable ?==&lt;br /&gt;
*'''Admin &amp;gt; Comptes &amp;gt; Gestion / Export'''&lt;br /&gt;
*Dans le formulaire '''Gestion de l'exercice comptable''', il faut renseigner '''Date de début du nouvel exercice''' puis cliquer sur le bouton '''Ouvrir la saisie à cette date'''.&lt;br /&gt;
&lt;br /&gt;
==Comment initialiser la balance des comptes ?==&lt;br /&gt;
'''Attention''' : cette procédure est à appliquer uniquement lors de la mise en place de la gestion de la comptabilité. Par la suite, en fin d'année, pour ré-initialiser certains comptes à 0, il faut passer une [[#Ecriture_d'apurement_des_comptes_de_résultat|écriture d'apurement des comptes de résultat]]&lt;br /&gt;
Pour que le solde des comptes soit exact il faut initialiser la balance à la date d'activation de votre comptabilité. Cette opération se fait en 2 temps :&lt;br /&gt;
*On exporte un fichier csv qui contient la structure et notamment les numéros des comptes depuis OpenFlyers&lt;br /&gt;
*On modifie ce fichier pour mettre à jour les soldes des comptes puis on le ré-injecte dans OpenFlyers&lt;br /&gt;
&lt;br /&gt;
La procédure se décompose comme suit :&lt;br /&gt;
* Aller dans '''Comptes &amp;gt; Gestion-Export''' et initialiser la date de début d'exercice&lt;br /&gt;
* Voir la rubrique Comment créer des comptes d'export ?&lt;br /&gt;
* Tous vos intitulés de compte doivent avoir au moins un compte valide&lt;br /&gt;
* Aller dans '''Admin &amp;gt; Configuration &amp;gt; Reporting''' et cliquer sur '''Liste des comptes''', vous récupérez un fichier au format csv. Le fichier est [[Wikipedia-fr:Encodage_de_caract%C3%A8res|encodé]] selon le paramètre d'encodage défini dans la page  '''Admin &amp;gt; Configuration &amp;gt; Paramétrage''' formulaire '''Reporting/Export'''.&lt;br /&gt;
** Si vous avez sélectionné UTF-8 alors le fichier sera encodé en UTF-8. Attention : si par la suite vous éditez le fichier avec un logiciel qui n'accepte pas l'UTF-8 alors le fichier ne sera plus conforme au format d'encodage UTF-8 après enregistrement par ce logiciel. Pour ouvrir un fichier encodé en UTF-8 nous conseillons [http://fr.openoffice.org/ OpenOffice]. A l'ouverture du fichier il y a une fenêtre de paramétrage. Il faut choisir le jeu de caractère UTF-8, séparateur '''Point virgule''' (décocher l'option par défaut '''Virgule''') et dans les champs '''Débit''' et '''Crédit''' il faut mettre le type '''Texte''' (sinon, avec les paramètres par défaut, certains montants seront transformés en Date). Le fichier garde alors sa structure UTF-8 et à l'enregistrement ces paramètres seront conservés.&lt;br /&gt;
** si vous avez choisi un autre encodage (CP-1252 pour Microsoft Windows), vous devez l'ouvrir avec un éditeur de texte qui reconnait votre encodage. Mais à l'enregistrement vous devrez définir l'encodage UTF-8 du fichier de sorti. [http://fr.openoffice.org/ OpenOffice] permet de faire ce choix. &lt;br /&gt;
* Vous indiquez le montant pour chacun des comptes (attention au séparateur décimale des débits/crédits, c'est le point et non la virgule qui est reconnu) et il faut passer la colonne '''Update''' à 1 sinon la ligne ne sera pas prise en compte&lt;br /&gt;
* Il n'est pas possible de créer des comptes, il ne faut pas en ajouter&lt;br /&gt;
* Sauvez votre fichier&lt;br /&gt;
* Allez dans '''Admin &amp;gt; Configuration &amp;gt; Imports &amp;gt; Initialisation''' des comptes et importez votre fichier&lt;br /&gt;
A noter que lors de l'import, les seuls champs qui sont pris en compte par OpenFlyers sont n° de compte;;;;;compte d'export;débit;crédit;update;. De plus, les colonnes comptes d'export, débit et crédit, rattachés au compte dont le numéro correspond, sont mise à jour uniquement si la colonne update est à un.&lt;br /&gt;
&lt;br /&gt;
Si vous rencontrez des problèmes d'encodage de caractères, pensez [[#Caractères_accentués_dans_les_format_d'exports|à regarder du coté de la FAQ]].&lt;br /&gt;
&lt;br /&gt;
=Gestion des règlements=&lt;br /&gt;
==Comment autoriser un profil utilisateur à saisir des encaissements pour lui-même ?==&lt;br /&gt;
&lt;br /&gt;
Dans OpenFlyers il y a la possibilité de laisser les pilotes créditer leur compte, il faut leur donner dans leur Profil le droit &amp;quot;'''Encaisser ses paiements'''&amp;quot;. &lt;br /&gt;
#Aller dans '''[[Gestion des profils|Admin &amp;gt; Utilisateurs &amp;gt; Profils]]'''&lt;br /&gt;
#Aller dans l'onglet '''[[Gestion des profils#Gestion_des_comptes|Gestion des comptes]]'''&lt;br /&gt;
#Rajouter à son profil le droit '''Encaisser ses paiements'''&lt;br /&gt;
#Sous la colonne '''Type de compte sur lequel un utilisateur peut effectuer des encaissements''' sont définis les types de compte utilisateurs :&lt;br /&gt;
#*Cocher les types de comptes auquel le profil associé a le droit de faire des encaissements sur le type de compte&lt;br /&gt;
#*Décocher les types de comptes auquel le profil associé n'a pas le droit de faire des encaissements sur le type de compte&lt;br /&gt;
&lt;br /&gt;
Si un pilote saisi correctement les informations il aura son compte à jour sans attendre une mise à jour par le trésorier. &lt;br /&gt;
&lt;br /&gt;
Un autre avantage de ce mode de fonctionnement, est l'allègement du travail du trésorier : tout ce qui est saisi par le pilote n'est plus à faire.&lt;br /&gt;
&lt;br /&gt;
Si le club ne souhaite pas que les utilisateurs saisissent eux-mêmes leurs paiements, il suffit de ne pas leur donner le droit &amp;quot;'''Encaisser ses paiements'''&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
==Comment autoriser une personne à saisir des encaissements pour les autres ?==&lt;br /&gt;
Il faut rajouter à son profil le droit &amp;quot;Saisir les encaissements pour les tiers&amp;quot; disponible dans la liste &amp;quot;Gestion des comptes&amp;quot; des droits des profils&lt;br /&gt;
 &lt;br /&gt;
==Comment définir les types d'encaissements saisissable ?==&lt;br /&gt;
Lorsque dans '''Comptes &amp;gt; Encaissements &amp;gt; Types d'encaissements''', le drapeau &amp;quot;Accessible uniquement aux personnes autorisées à saisir pour les tiers&amp;quot; est coché cela signifie que seules les personnes disposant du droit &amp;quot;Saisir les encaissements pour les tiers&amp;quot; seront autorisées à saisir un encaissement de ce type sinon toutes les personnes disposant du droit &amp;quot;Encaisser ses paiements&amp;quot; ou &amp;quot;Saisir les encaissements pour les tiers&amp;quot; en auront la possibilité.&lt;br /&gt;
&lt;br /&gt;
==Comment définir les comptes qui peuvent recevoir des encaissements ?==&lt;br /&gt;
Lorsqu'on liste les comptes, pour le compte concerné, il faut cocher &amp;quot;Reçoit les paiements des clients extérieurs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
De plus, [[Utilisation de la comptabilité#Saisir_un_encaissement|seuls les comptes clients et utilisateurs peuvent recevoir des encaissements]].&lt;br /&gt;
&lt;br /&gt;
==Comment permettre aux utilisateurs de saisir les factures d'avitaillement ?==&lt;br /&gt;
Il suffit de créer un type de règlement &amp;quot;Avitaillement&amp;quot; accessibles aux utilisateurs.&lt;br /&gt;
&lt;br /&gt;
==[[Utilisation de la comptabilité#Validation_des_règlements_clients|Validation des règlements clients]]==&lt;br /&gt;
&lt;br /&gt;
==Peut-on créer un type d'encaissement par virement ?==&lt;br /&gt;
Oui, OpenFlyers permet de [[Configuration de la comptabilité#Types_d'encaissements|créer autant de type d'encaissements]] qu'on le souhaite.&lt;br /&gt;
&lt;br /&gt;
==Comment pointer les encaissements par carte bancaire en ligne ?==&lt;br /&gt;
Le pointage des paiements par carte bancaire en ligne est automatique. Par conséquent, il n'y a pas d'opération à effectuer et la page '''Comptes &amp;gt; Pointer &amp;gt; Carte bancaire (ou équivalent)''' est toujours vide.&lt;br /&gt;
&lt;br /&gt;
Si vous avez besoin d'obtenir la liste des encaissements par carte bancaire, alors vous pouvez utiliser les rapports comme celui de la [[OF_doc-en:Export_generator_3#Payments_list_ordered_by_type|liste des encaissements triés par type]].&lt;br /&gt;
&lt;br /&gt;
=Facturation des heures de vols=&lt;br /&gt;
==Peut-on personnaliser le champ commentaire d'une facture d'heures de vols ?==&lt;br /&gt;
Il n'est pas possible de personnaliser le champ commentaire, par contre, il est possible de rajouter des champs grâce aux [[Champs additionnels#Créer_une_colonne_supplémentaire_dans_les_factures_des_heures_de_vols|champs additionnels]].&lt;br /&gt;
&lt;br /&gt;
==Pourquoi dans les formules il y a la possibilité de mettre une variable ?==&lt;br /&gt;
Pour permettre d'actualiser les tarifs sans avoir à intervenir sur la formule. Cela présente 2 avantages :&lt;br /&gt;
*On peut donner le droit de modifier les tarifs à un utilisateur qui n'aura pas pour autant le droit de modifier les formules de tarifications des heures de vols et ainsi garantir qu'il ne fasse pas &amp;quot;bêtise&amp;quot;.&lt;br /&gt;
*[[#Comment_mettre_à_jour_le_tarif_des_aéronefs_?|En utilisant les variables]], on garde un historique des tarifs et on peut préparer à l'avance les futurs tarifs. Ainsi, le tarif appliqué pour un vol donné se fait en tenant compte de la date d'application du tarif et si on modifie un vol antérieur à la mise en place d'un tarif, c'est bien l'ancien tarif qui lui reste appliqué lors de la modification du vol.&lt;br /&gt;
&lt;br /&gt;
==Les règles de tarification s'additionnent systématiquement...==&lt;br /&gt;
Si par exemple 2 règles de tarifications sont définies pour s'appliquer, alors elles s'appliquent et s'additionnent. Cela permet par exemple d'additionner un tarif solo avec de la double commande. Pour que des règles de tarifications ne s'appliquent pas simultanément il faut restreindre leur champ d'application en limitant les types de vols, les types d'aéronefs, et éventuellement en excluant d'autres types de vols.&lt;br /&gt;
&lt;br /&gt;
==Le résultat des règles de tarification se retrouve &amp;quot;fusionné&amp;quot;, comment faire pour séparer les lignes comptablement ?==&lt;br /&gt;
*Aller '''Vente &amp;gt; Produits'''&lt;br /&gt;
*Créer autant de type de produits &amp;quot;Tarification des heures de vol&amp;quot; que vous le souhaitez&lt;br /&gt;
*Aller dans '''Vente &amp;gt; Tarification des heures &amp;gt; Règles de tarification'''&lt;br /&gt;
*Editer chaque règle de tarification (avec l'icône crayon) et modifier le champ '''Produit''' en attribuant l'un des produits créés&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' en bas du formulaire&lt;br /&gt;
&lt;br /&gt;
Répéter cette opération d'édition des règles de tarification pour leur attribuer autant de nom de produit différents que vous le souhaitez afin de séparer les écritures générées.&lt;br /&gt;
&lt;br /&gt;
=Avoirs=&lt;br /&gt;
==[[Utilisation de la comptabilité#Saisie_d'un_avoir_client|Comment saisir un avoir client ?]]==&lt;br /&gt;
Il faut notamment appliquer cette méthode dans le cas de remboursement d'essences payés par les pilotes et qui doivent être à la charge de la structure. La facture d'essence devra être saisie séparément en tant que facture de charge normale.&lt;br /&gt;
&lt;br /&gt;
=Facturations diverses=&lt;br /&gt;
La facturation de produits divers, peut se faire de 2 façons :&lt;br /&gt;
#directement au niveau comptable en [[#Comment_saisir_directement_un_mouvement_de_facturation_client_?|saisissant le mouvement de facturation client]].&lt;br /&gt;
#en passant par le [[Admin_sale_manager2.1|gestionnaire de ventes]]&lt;br /&gt;
La 2ème solution est plus lourde car elle nécessite de créer des règles pour gérer la vente que l'on souhaite créer. Par contre, elle offre plusieurs avantages :&lt;br /&gt;
*elle permet de générer des factures en plus des écritures comptables&lt;br /&gt;
*elle permet aux utilisateurs d'acheter les produits directement depuis OpenFlyers&lt;br /&gt;
*une fois créée, la vente d'un produit s'en trouve simplifiée et évite des erreurs de saisie sur les montants par exemple&lt;br /&gt;
&lt;br /&gt;
==Comment saisir directement un mouvement de facturation client ?==&lt;br /&gt;
*'''Admin &amp;gt; Comptes &amp;gt; Saisir un flux'''&lt;br /&gt;
*Saisir le [[Écritures comptables#Saisie_d'une_facture_client|mouvement de facturation client]] en :&lt;br /&gt;
**Débitant le compte de l'utilisateur du montant de la facture TTC&lt;br /&gt;
**Créditant le compte produit correspondant du même montant HT (ou TTC si on ne facture pas la TVA)&lt;br /&gt;
**Créditant le compte de TVA collectée du montant de la TVA, dans le cas où on facture la TVA&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des produits et des ventes#Configuration_du_produit_Validité|Comment facturer une cotisation ?]]==&lt;br /&gt;
&lt;br /&gt;
==Comment facturer les taxes d'atterrissages ?==&lt;br /&gt;
Pour les terrains sur lesquels les taxes d'atterrissages sont récurrentes, alors il vaut mieux passer par le gestionnaire des ventes en créant des types de ventes pour les aérodromes concernés.&lt;br /&gt;
&lt;br /&gt;
Pour les autres taxes d'atterrissages, alors il vaut mieux [[#Comment_saisir_directement_un_mouvement_de_facturation_client_?|saisir directement le mouvement comptable]] correspondant.&lt;br /&gt;
&lt;br /&gt;
==[[Facturation des clients#Numérotation_des_factures_clients|Peut-on modifier le compteur des factures clients ?]]==&lt;br /&gt;
&lt;br /&gt;
=Comment permettre à un gestionnaire de ne pas être bloqué par un solde de compte requis à la connexion ?=&lt;br /&gt;
Si l'utilisateur n'est que gestionnaire (par exemple un salarié qui n'est pas adhérent ou client de la structure) alors il suffit qu'il n'ait pas de compte comptable d'initialisé. Ainsi il ne sera pas bloqué.&lt;br /&gt;
&lt;br /&gt;
Si l'utilisateur a une double casquette : gestionnaire ET adhérent/client, alors il faut qu'il est un compte comptable et dans ce cas, effectivement il y a aura un test fait sur son compte à la connexion.&lt;br /&gt;
&lt;br /&gt;
Si cet utilisateur est l'administrateur référant de la plateforme, alors il ne sera jamais bloqué à la connexion.&lt;br /&gt;
&lt;br /&gt;
Sinon, il pourra être bloqué en cas de solde insuffisant.&lt;br /&gt;
&lt;br /&gt;
Une autre solution consiste à ne pas bloquer les utilisateurs mais juste à restreindre leur profil.&lt;br /&gt;
&lt;br /&gt;
Ainsi, en créant un profil de restriction avec tous les droits sauf celui de réserver pour soi-même, un gestionnaire conservera tous ses droits sauf celui de réserver pour lui-même. Et les utilisateurs standards perdrons la possibilité de réserver pour eux-mêmes.&lt;br /&gt;
&lt;br /&gt;
Cette méthode est notamment pratique dans le cas où une solution de paiement en ligne est en place : cela permet aux utilisateurs de re-créditer leur compte et ainsi de retrouver un solde suffisant pour ne plus être bloqué pour effectuer des réservations.&lt;br /&gt;
&lt;br /&gt;
=Comment supprimer un transfert de compte à compte ?=&lt;br /&gt;
Il n'est pas possible de supprimer un transfert de compte à compte si il a été fait par les utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Par contre il est possible d'[[Utilisation de la comptabilité#Annuler_l'effet_d'une_écriture_comptable|annuler son &amp;quot;effet&amp;quot;]] en créant une écriture opposée.&lt;br /&gt;
&lt;br /&gt;
=Où sont passés les éditions des à nouveaux ?=&lt;br /&gt;
Depuis la version 3.0.3, le champ à nouveau qui permettait d'éditer le solde de début d'exercice d'un compte à été supprimé car nous nous sommes rendu compte que son usage avait été dévoyé par certains gestionnaires qui s'en servaient pour &amp;quot;ajuster&amp;quot; le solde de certains comptes. Or à l'origine, ce champ avait été prévu pour permettre d'importer le solde des comptes des clients lors de la mise en place de la gestion du chiffre d'affaire dans OpenFlyers. Il n'était pas prévu pour &amp;quot;ajuster&amp;quot; un solde de compte. Comptablement ce type d'opération est strictement interdit et il n'y a aucune traçabilité comptable de l'opération effectuée. Cela entrainait des erreurs non détectables et des interventions de notre part pour correction qui auraient pu être évitées.&lt;br /&gt;
&lt;br /&gt;
Normalement, il ne devrait comptablement jamais y avoir besoin d'ajuster un solde de compte. Si une erreur a été détectée, alors il doit être passé un mouvement entre les 2 comptes concernés.&lt;br /&gt;
&lt;br /&gt;
Ainsi, lorsqu'il s'agit d'un compte client, soit il s'agit d'un défaut de facturation, soit il s'agit d'un défaut d'encaissement. Les contre-parties concernées sont donc soit des comptes de produits soit des comptes de trésorerie. Et si en dernier ressort on doit ajuster un compte client sans &amp;quot;bourse délier&amp;quot;, alors il existe toujours les comptes d'ajustement.&lt;br /&gt;
&lt;br /&gt;
Lors de la mise en place de la comptabilité, la bonne méthode pour &amp;quot;injecter&amp;quot; comptablement les soldes des comptes se fait par l'[[Écritures comptables#Écriture_d'apurement_des_comptes_de_résultat|opération de report d'à nouveau]].&lt;br /&gt;
&lt;br /&gt;
=Gestion des tarifs=&lt;br /&gt;
==[[Utilisation de la comptabilité#Mettre_à_jour_les_tarifs|Comment mettre à jour le tarif des aéronefs ?]]==&lt;br /&gt;
&lt;br /&gt;
=[[Écritures comptables#Ecritures_de_fin_d'année|Quelles sont les écritures de fin d'année à passer en comptabilité ?]]=&lt;br /&gt;
&lt;br /&gt;
=[[Bien débuter avec OpenFlyers#Mettre_en_place_un_TPE_virtuel|Paiement en ligne]]=&lt;br /&gt;
&lt;br /&gt;
=Les exports comptables=&lt;br /&gt;
==[[Utilisation de la comptabilité#Compte_d'export|A quoi servent les comptes d'export ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Utilisation de la comptabilité#Les_exports_comptables|Quand et comment exporter ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Import dans un logiciel comptable tiers#Exports/Imports|Quels sont les formats d'export supportés ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[FAQ_export#Import_de_fichiers_CSV_dans_OpenOffice/LibreOffice|Lire un fichier exporté en .csv avec OpenOffice ou LibreOffice]]==&lt;br /&gt;
&lt;br /&gt;
==Exporter le résultat du gestionnaire de Rapport==&lt;br /&gt;
Comment je peux exporter les informations que l'on visualise par les rapports (requêtes SQL). Pourquoi ne pas disposer d'un format .csv ? La version 3.0.2 permet d'exporter au format csv.&lt;br /&gt;
&lt;br /&gt;
Les requêtes [http://fr.wikipedia.org/wiki/Structured_Query_Language SQL] permettent aux utilisateurs de faire leurs propres extractions, un puissant outil pour accéder à vos données. &lt;br /&gt;
&lt;br /&gt;
Il est cependant utile de pouvoir récupérer les données pour une exploitation particulière. &lt;br /&gt;
&lt;br /&gt;
OF affiche une page XHTML ce qui signifie un texte correctement formaté qui peut être récupéré par un simple copier/coller. &lt;br /&gt;
Le tableur Calc de Open Office ou Libre Office interprète correctement ce XHTML et le formate en colonne conformément à la présentation de votre page. Il a cependant un paramétrage à faire pour que les cellules numériques affichent le format correct. Voir [[FAQ_export#Import_de_fichiers_CSV_dans_OpenOffice/LibreOffice|FAQ csv reading with Oo]]&lt;br /&gt;
&lt;br /&gt;
Pour récupérer le contenu d'une requête allez dans le menu '''Admin &amp;gt; Rapports &amp;gt; Visualiser'''&lt;br /&gt;
*Sélectionner le rapport que vous voulez visualisez&lt;br /&gt;
*Cliquer sur le bouton Visualiser&lt;br /&gt;
*Avec la souris sélectionner le tableau (sans le titre mais avec les entêtes de colonne)&lt;br /&gt;
*Cliquer sur Édition/Copier dans le menu de votre navigateur&lt;br /&gt;
*Aller dans OpenOffice ou Libre Office sur une page vide&lt;br /&gt;
*Cliquer dans la case A1 en haut à droite&lt;br /&gt;
*Cliquer sur Édition/Coller&lt;br /&gt;
&lt;br /&gt;
==Exporter le résultat des requêtes SQL en XML==&lt;br /&gt;
Quelle est le format enregistré au format XML ?&lt;br /&gt;
&lt;br /&gt;
Le format [http://fr.wikipedia.org/wiki/Extensible_Markup_Language XML] est un format texte avec des balises, il comportent toutes les infos de la base de données relative à la requête. Il est lisible avec un éditeur de texte mais il n'est pas directement exploitable. Il faut créer un programme de lecture.&lt;br /&gt;
&lt;br /&gt;
==[[Utilisation de la comptabilité#Attribuer_les_comptes_d'export_utilisateurs_ou_ressources|Comment attribuer un code d'export comptable à un utilisateur ou pour les comptes ressources ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Utilisation de la comptabilité#Attribuer_les_comptes_d'export_pour_un_compte_ni_utilisateur_ni_ressource|Comment attribuer un code d'export comptable pour les autres comptes ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Configuration de la comptabilité#Comptes_d'export|Doit-on saisir les codes d'export avant de saisir des mouvements ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Import dans un logiciel comptable tiers#Exports/Imports|Comment est effectuée la répartition des journaux dans les exports comptables ?]]==&lt;br /&gt;
&lt;br /&gt;
==Comment réaliser le passage d'un exercice comptable à l'autre ?==&lt;br /&gt;
Au préalable il est bon de dire qu'il n'y a pas urgence à faire la clôture. Le programme continue à fonctionner de la même façon, que la clôture soit faite ou pas. La différence est seulement sur la date de prise en compte des éléments. Le programme additionne ou soustrait tous les mouvements d'un compte qui sont postérieurs à la date de début d'exercice. Le fait de faire une clôture vous permettra toutefois de faire des opérations qui ne sont pas possible si des données sont dans l'exercice en cours (suppression d'un avion ou d'un compte par exemple).&lt;br /&gt;
&lt;br /&gt;
Si vous avez un logiciel de comptabilité, la clôture OF doit être faite après la clôture de votre compta. il vous sera possible de vérifier que vos A nouveaux sont identiques à ceux d'OF en allant dans '''Admin &amp;gt; Rapports &amp;gt; Structure &amp;gt; Visualiser''' (La requête des A nouveaux est disponible à [[OF_doc-en:Export_generator#Carry_forwards|Report A Nouveaux]]).&lt;br /&gt;
&lt;br /&gt;
Jusqu'à la version 2.0 OF ne fait pas la comptabilité. Il faut donc transférer les données dans votre logiciel de comptabilité. L'export est prévu pour Ciel Compta, EBP et SAGE; si vous avez un autre logiciel, regardez s'il n'accepte pas un de ces formats ou alors utilisez le format .csv et formatez-le conformément à votre besoin.&lt;br /&gt;
&lt;br /&gt;
A partir de la version 2.1 OF permet de saisir facilement toutes les écritures comptables usuelles (ventes, achats, paiements, encaissements). Par contre, il n'y a pour le moment rien de fait au niveau des amortissements et plus généralement du bilan. Mais cela peut très bien se faire à la main en passant les écritures adéquates.&lt;br /&gt;
&lt;br /&gt;
Si vous n'avez pas de logiciel de compta, il faudra quand même faire l'export et l'archiver sur votre disque dur car les données dans OF ne seront plus modifiables une fois l'export effectué (leur visualisation reste toujours possible dans OF).&lt;br /&gt;
&lt;br /&gt;
Pour clôturer un exercice il faut :&lt;br /&gt;
*que toutes les écritures de l'exercice (vols + comptes) soient validées,&lt;br /&gt;
*que tous vos comptes aient un compte d'export,&lt;br /&gt;
*que les écritures soient exportées.&lt;br /&gt;
&lt;br /&gt;
Vous visualisez l'état de toutes ces étapes en allant dans le menu Admin &amp;gt; Comptes &amp;gt; Import-export. Au début de la page vous allez avoir quelque chose comme cela :&lt;br /&gt;
 La 1ère écriture date de 02/01/2007 01:00 et il y en a 11758&lt;br /&gt;
 La 1ère écriture VALIDEE date de 02/01/2007 01:00 et il y en a 11648&lt;br /&gt;
 La 1ère écriture NON VALIDEE date de 01/11/2008 18:15 et il y en a 110&lt;br /&gt;
 La 1ère écriture EXPORTEE date de 02/01/2007 01:00 et il y en a 6300&lt;br /&gt;
 La 1ère écriture NON EXPORTEE date de 01/01/2008 01:00 et il y en a 5458&lt;br /&gt;
 L'exercice comptable débute au 01/01/2008&lt;br /&gt;
&lt;br /&gt;
Selon l'état de votre base vous pouvez clôturer ou non. Il faut définir la date de clôture et celle de début puis cliquer sur le bouton  &amp;quot;Clôturer l'exercice puis ouvrir un nouvel exercice&amp;quot;.&lt;br /&gt;
Pour un club qui a un exercice annuel les dates devraient être 31/12/XXXX et 01/01/XXXX+1&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessus, cela n'est pas possible car ils y a des écritures non exportées de 2008. Voir la rubrique [[#Comment_exporter_les_écritures_?|Comment exporter les écritures]]&lt;br /&gt;
&lt;br /&gt;
Une fois le changement d'exercice il faut [[#Quelles_sont_les_écritures_de_fin_d'année_à_passer_en_comptabilité_?|Apurer les comptes]]&lt;br /&gt;
&lt;br /&gt;
==Comment exporter les écritures ?==&lt;br /&gt;
Dans le bas de la page '''Admin &amp;gt; Comptes &amp;gt; Import/export''' vous avez soit&lt;br /&gt;
*le message&lt;br /&gt;
 Vous ne pouvez exporter car il y a des comptes sans valeur d'export :&lt;br /&gt;
 Julien Julien (Pilote)&lt;br /&gt;
&lt;br /&gt;
Dans ce cas le programme vous indique les comptes qui n'ont pas de compte d'export. Voir la rubrique [[#A_quoi_servent_les_comptes_d'export_?|A quoi servent les comptes d'export ?]]&lt;br /&gt;
&lt;br /&gt;
*un formulaire qui vous permet de faire les exports&lt;br /&gt;
Choisissez le format d'export et cocher ou non la case '''Marquer les écritures'''.&lt;br /&gt;
&lt;br /&gt;
'''Attention : il faut prendre soin de réaliser un premier export sans &amp;quot;Marquer les écritures&amp;quot;.'''&lt;br /&gt;
&lt;br /&gt;
'''Le but est de vérifier que le format de l'export correspond bien au format souhaité par le logiciel où sont importées les données (lisible avec un traitement de texte).'''&lt;br /&gt;
&lt;br /&gt;
'''De plus, il faut toujours, pour chaque export, faire la manipulation au moins une fois sans valider au cas où il y aurait une coupure internet lors de la réception du fichier.'''&lt;br /&gt;
&lt;br /&gt;
'''Une fois marquées, les écritures exportées ne peuvent plus être modifiées!!!'''&lt;br /&gt;
&lt;br /&gt;
Sélectionner la période d'exportation&lt;br /&gt;
&lt;br /&gt;
Attention, ne soyez pas trop gourmand dans les dates d'export, selon la taille de votre club et les mois chargés (15 jours à 3 mois selon votre volume de vols). Si vous avez un fichier d'export dénommé index.php c'est que votre demande était trop forte.&lt;br /&gt;
&lt;br /&gt;
==Erreur HTTP 500 ou 504 ou page blanche lors d'un export==&lt;br /&gt;
Si vous rencontrer une erreur de ce type cela veut dire que le fichier d'export à générer est trop gros.&lt;br /&gt;
&lt;br /&gt;
La solution consiste à scinder l'export en plusieurs morceaux en modifiant les dates à prendre en compte.&lt;br /&gt;
&lt;br /&gt;
==[[Utilisation de la comptabilité#Retrouver_les_écritures_non_validées_afin_de_pouvoir_réaliser_l'export|Comment retrouver les écritures non validées afin de pouvoir réaliser l'export ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Utilisation de la comptabilité#Marquer_les_écritures_lors_de_l'export|Les écritures exportées restent notées comme &amp;quot;non exportées&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
=A quoi sert le [[Utilisation-de-la-comptabilité#Grand-livre|grand livre]] ?=&lt;br /&gt;
&lt;br /&gt;
=Comment revenir sur une écriture saisie ?=&lt;br /&gt;
*Soit l'écriture n'est pas validée (elle apparaît en vert, gras, italique) : vous pouvez alors modifier ou supprimer l'écriture&lt;br /&gt;
*Soit l'écriture est validée (elle apparaît en noir, &amp;quot;droit&amp;quot;) : dans ce cas, vous ne pouvez pas revenir sur cette écriture. Il s'agit d'un principe fondamental de traçabilité comptable. En effet, si vous pouviez faire &amp;quot;disparaître&amp;quot; une écriture validée, alors vos utilisateurs pourraient croire qu'ils ont &amp;quot;rêvé&amp;quot; en voyant une écriture un jour et en ne la voyant plus le lendemain. Par contre, vous pouvez toujours passer une contrepartie qui annule l'effet d'une écriture qui n'aurait pas due exister. Ainsi, les utilisateurs verront la première écriture et également la seconde.&lt;br /&gt;
&lt;br /&gt;
=Comment lister toutes les écritures ?=&lt;br /&gt;
C'est la liste des mouvements : '''comptes &amp;gt; mouvements &amp;gt; liste'''&lt;br /&gt;
&lt;br /&gt;
=[[Configuration de la comptabilité#Paramétrage_général_des_comptabilités|Comment mettre en place des alertes par e-mail pour les soldes insuffisants ?]]=&lt;br /&gt;
&lt;br /&gt;
=Visibilité de la colonne &amp;quot;compte affecté&amp;quot; dans les comptes utilisateurs=&lt;br /&gt;
&lt;br /&gt;
La colonne &amp;quot;compte affecté&amp;quot; contient les comptes de contre-partie liées par un même flux à une écriture comptable d'un compte utilisateur. Ces comptes sont visibles mais ne sont accessibles que pour les utilisateurs ayant un profil permettant la gestion des comptes. Ainsi, les utilisateurs standards ne pourront consulter le contenu de ces comptes.&lt;br /&gt;
&lt;br /&gt;
=Alertes de configuration=&lt;br /&gt;
==Message d'erreur avec nombre de membres sans compte==&lt;br /&gt;
 ALERTE DE CONFIGURATION :&lt;br /&gt;
 La gestion des comptes est activée mais il y a 3 membre(s) qui n'a (ont) pas de compte&lt;br /&gt;
&lt;br /&gt;
Ce message survient si des membres non pas de compte de défini. Chaque utilisateur avec le statut membre et appartenant à un groupe doit avoir au moins un compte, sinon aucun mouvement ne sera autorisé pour cet utilisateur&lt;br /&gt;
Allez dans la page Admin &amp;gt; Comptes &amp;gt; Membres et cliquer sur l'icône rouge&lt;br /&gt;
&lt;br /&gt;
Si le nombre est négatif (- 3) cela signifie qu'il y a des membres avec des comptes alors qu'ils n'appartiennent à aucun groupe (Ceci a pu ce produire avant la correction d'un bug qui ne verrouillait pas cette situation)&lt;br /&gt;
Aller dans Admin &amp;gt; Club &amp;gt; Utilisateurs repérez les membres dont le Groupe est vide et affectez lui un groupe&lt;br /&gt;
&lt;br /&gt;
Si vous créer de &amp;quot;Faux&amp;quot; utilisateurs pour des besoins de gestion, il ne faut pas leur attribuer de Groupe. Ceci bloquera une éventuelle utilisation de ce compte pour une opération comptable&lt;br /&gt;
==Vol sans écriture comptable==&lt;br /&gt;
 ALERTE DE CONFIGURATION :&lt;br /&gt;
 Il n'y a pas de mouvement comptable associé au vol&lt;br /&gt;
 01 01 2000 F-ABCD DUPONT Pierre 1:32&lt;br /&gt;
Ce message survient lorsqu'il y a un trou dans le paramétrage de la tarification des heures de vols : le vol saisi ne correspond à aucune des règles définies et par conséquent aucun mouvement comptable n'est créé (alors que le vol lui est bien créé).&lt;br /&gt;
&lt;br /&gt;
Pour corriger ce problème, il faut regarder pour ce vol :&lt;br /&gt;
*Le type d'aéronef&lt;br /&gt;
*Les types de vols&lt;br /&gt;
*Le type d'utilisateur auquel appartient le pilote&lt;br /&gt;
Et ensuite regarder dans les règles de tarification, la ou les règles qui devraient s'appliquer et détecter pourquoi dans le cas présent la où les règles ne s'appliquent.&lt;br /&gt;
Il faut notamment faire attention aux exclusions des types de vol qui peuvent avoir été attribuées aux règles de tarification.&lt;br /&gt;
&lt;br /&gt;
Sous OF30 il y a un module d'audit des tarifs qui vous permet de vérifier qu'il n'y a pas de cas non tarifié (aucune case ne doit être vide) &lt;br /&gt;
Admin &amp;gt; Ventes &amp;gt; Tarification des heures &amp;gt; Audit des tarifs&lt;br /&gt;
&lt;br /&gt;
Pour que le message disparaisse il faut &lt;br /&gt;
*Créer la formule de tarification manquante&lt;br /&gt;
*Ré-ouvrir le vols et sans rien changer le re-valider&lt;br /&gt;
&lt;br /&gt;
Si ce vol a été validé, alors il faut le faire dé-valider par l'équipe OpenFlyers. Cette opération est soit incluse soit en sus de votre abonnement.&lt;br /&gt;
&lt;br /&gt;
=[[Utilisation de la comptabilité#Désactiver_un_compte|Quelles sont les règles de clôture de compte ?]]=&lt;br /&gt;
&lt;br /&gt;
=Comment fonctionne un type compte requis ?=&lt;br /&gt;
&lt;br /&gt;
Les types de compte requis se paramètrent du côté de la page [[Gestion des profils#Page_Profils_Plus|Profils plus]].&lt;br /&gt;
&lt;br /&gt;
Lorsqu'un profil est ajouté à un utilisateur, les comptes utilisateur appartenant aux types de comptes requis par le profil vont être créés ou ré-activés pour l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
La suppression d'un compte '''requis''' suit les [[#Quelles_sont_les_règles_de_clôture_de_compte_?|règles de clôture de compte]].&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Utilisation-de-la-comptabilit%C3%A9&amp;diff=15234</id>
		<title>Utilisation de la comptabilité</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Utilisation-de-la-comptabilit%C3%A9&amp;diff=15234"/>
				<updated>2017-05-24T11:53:25Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Mettre à jour les tarifs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire la saisie des opérations de [[Comptabilité|comptabilité]].&lt;br /&gt;
&lt;br /&gt;
=Clôturer l'exercice comptable=&lt;br /&gt;
''Attention : la clôture de la comptabilité ne doit être effectuée qu'une fois qu'on est sûr et certain de ne plus avoir à intervenir sur l'exercice à clôturer. Cette opération doit donc être temporisée dans le temps sachant qu'il est tout à fait possible de poursuivre son activité sur l'exercice suivant sans que l'exercice précédent ne soit clôturé.''&lt;br /&gt;
&lt;br /&gt;
OpenFlyers affiche une [[Alertes de configuration#L'exercice_comptable_courant_a_plus_d'un_an|alerte lorsque l'exercice en cours est ouvert depuis 400 jours]].&lt;br /&gt;
&lt;br /&gt;
Avant de clôturer, il faut :&lt;br /&gt;
*Si le bilan est effectué dans OpenFlyers, [[Écritures comptables#Écritures_de_fin_d'exercice_avant_la_clôture_de_la_comptabilité|saisir les écritures de fin d'exercice]]&lt;br /&gt;
*Dans tous les cas, [[#Solder-les-comptes|remettre à 0 les soldes des comptes d'exploitation]].&lt;br /&gt;
*Valider toutes les écritures antérieures à la date de clôture.&lt;br /&gt;
En effet, on ne peut clôturer qu'une période pour laquelle toutes les écritures comptables ont été validées sinon cela engendre [[Alertes-administrateur#Alertes-lors-de-la-clôture-de-la-comptabilité|des alertes]]. Pour cela, il peut être nécessaire de [[#Retrouver-les-écritures-non-validées|retrouver les écritures non validées]]. Il n'est également pas possible de clôturer sur une date future.&lt;br /&gt;
&lt;br /&gt;
Ensuite, pour clôturer :&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Gestion / Export'''.&lt;br /&gt;
*Dans la 2ème partie intitulée '''Gestion de l'exercice comptable''', renseigner le champ '''Date de clôture'''.&lt;br /&gt;
La date de début de nouvel exercice est automatiquement actualisée.&lt;br /&gt;
&lt;br /&gt;
Pour une structure qui a un exercice annuel correspondant à l'année civile les dates devraient être 31/12/XXXX et 01/01/XXXX+1&lt;br /&gt;
*Cliquer sur le bouton '''Clôturer l'exercice puis ouvrir un nouvel exercice'''.&lt;br /&gt;
&lt;br /&gt;
=Exporter la comptabilité=&lt;br /&gt;
''Conseil OpenFlyers : l'export de la comptabilité nécessite au préalable des actions irréversibles comme la validation de l'ensemble des écritures. Pour les personnes débutantes avec cette fonction et qui souhaite pouvoir exporter sans effectuer ces actions irréversibles, il est recommandé de [[Modèle-commercial-et-compte-client-OpenFlyers#Plateforme-supplémentaire-de-test|s'entrainer avec le bac à sable]] en effectuant une recopie de sa plateforme de production.''&lt;br /&gt;
==Actions à effectuer par ordre chronologique==&lt;br /&gt;
OpenFlyers permet d'exporter uniquement les [[Bien débuter avec OpenFlyers#Validation_des_écritures|écritures validées]] et ainsi ne propose par défaut comme période d'export que la période maximum exportable ne contenant que des écritures validées.&lt;br /&gt;
&lt;br /&gt;
Les exports se font généralement à intervalle régulier : tous les mois, tous les trimestres ou tous les ans.&lt;br /&gt;
&lt;br /&gt;
Si vous n'avez pas de logiciel de comptabilité, il est recommandé d'effectuer quand même l'export et de l'archiver sur un support de stockage (disque dur par exemple) pour conservation.&lt;br /&gt;
&lt;br /&gt;
Dans le cas du dernier export d'un exercice comptable donné, il est important de décider avant l'export si tout ou partie des écritures de fin d'exercice doivent être réalisées avant ou après. En général, si l'export sert ensuite à être retravaillé dans un logiciel de comptabilité, alors les écritures de fin d'exercice seront réalisées dans le logiciel de comptabilité et il ne faudra faire le &amp;quot;nettoyage&amp;quot; côté OpenFlyers qu'à l'issue de l'export comptable officiel. Ainsi les points 2 et 3 des &amp;quot;Opérations à effectuer avant tout export&amp;quot; ci-dessous doit être, dans certains cas, réalisé en partie ou en totalité après le point 2 des &amp;quot;Opérations supplémentaires pour l'export de fin d'exercice&amp;quot; ci-dessous.&lt;br /&gt;
&lt;br /&gt;
De plus, si vous utilisez un logiciel de comptabilité uniquement pour le bilan, c'est à dire que les charges sont gérées dans OpenFlyers, alors la clôture dans OpenFlyers doit être faite après la clôture dans ce logiciel de comptabilité. Il est ainsi possible de vérifier que les &amp;quot;A nouveaux&amp;quot; sont identiques dans les 2 logiciels et de corriger dans OpenFlyers si nécessaire. Il existe un [[OF_doc-en:Accounting_exports_3#Carry_forwards|rapport qui permet d'avoir les à nouveaux]].&lt;br /&gt;
&lt;br /&gt;
Prérequis à tout export comptable :&lt;br /&gt;
*[[Configuration de la comptabilité#Comptes_d'export|Attribuer les comptes d'export]] pour ne pas avoir l'alerte &amp;quot;[[#Vous_ne_pouvez_exporter_car_il_y_a_des_comptes_sans_valeur_d'export|Vous ne pouvez exporter car il y a des comptes sans valeur d'export]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Opérations à effectuer pour tout export :&lt;br /&gt;
#[[#Retrouver-les-écritures-non-validées|Retrouver les écritures non validées]] pour [[Bien débuter avec OpenFlyers#Validation_des_écritures|les valider]]&lt;br /&gt;
#[[#Export_de_la_comptabilité|Export de la comptabilité]]&lt;br /&gt;
#[[Import dans un logiciel comptable tiers|import dans un logiciel de comptabilité]]&lt;br /&gt;
&lt;br /&gt;
Opérations supplémentaires pour l'export de fin d'exercice :&lt;br /&gt;
#[[Écritures comptables#Écritures_de_fin_d'exercice_avant_la_clôture_de_la_comptabilité|Écritures de fin d'exercice avant la clôture de l'exercice]] dont le [[#Solder-les-comptes|solde des comptes d'exploitation]]&lt;br /&gt;
#Validation des écritures de fin d'exercice par la [[Utilisation de la comptabilité#Validation_d'un_flux|validation des flux]] correspondant.&lt;br /&gt;
#Ultime export pour stockage [[#Marquer_les_écritures_lors_de_l'export|en marquant les écritures]].&lt;br /&gt;
#[[#Clôturer-l'exercice-comptable|Clôture / ouverture du nouvel exercice comptable]].&lt;br /&gt;
#[[Écritures comptables#Écritures_de_début_d'exercice_après_l'ouverture_de_la_comptabilité|Écritures de début d'exercice après l'ouverture de la comptabilité]].&lt;br /&gt;
&lt;br /&gt;
==Alertes générées lors d'une tentative d'[[Utilisation de la comptabilité#Les_exports_comptables|export comptable]]==&lt;br /&gt;
===Vous ne pouvez exporter car il y a des comptes sans valeur d'export===&lt;br /&gt;
Cette alerte bloquante apparait dans '''Comptes &amp;gt; Gestion / Export''' avec les éléments suivants :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous ne pouvez exporter car il y a des comptes sans valeur d'export&lt;br /&gt;
intitulé de compte X (type de compte Y)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Pour supprimer cette alerte, il faut [[Configuration de la comptabilité#Comptes_d'export|attribuer les comptes d'export manquants]].&lt;br /&gt;
&lt;br /&gt;
==Export de la comptabilité==&lt;br /&gt;
Pour exporter la comptabilité, il faut :&lt;br /&gt;
*Aller côté '''Admin'''&lt;br /&gt;
*Puis '''Comptes &amp;gt; Gestion / Export'''&lt;br /&gt;
3 parties se superposent :&lt;br /&gt;
*'''Solder les comptes'''&lt;br /&gt;
*'''Gestion de l'exercice comptable'''&lt;br /&gt;
*'''Statistiques'''/ '''Export de la comptabilité'''&lt;br /&gt;
Le tableau '''Statistiques''' donne des informations sur les écritures. Sa lecture est indispensable pour vérifier qu'il ne subsiste pas d'écriture non validée antérieures à la fin de la période d'export souhaitée. Si c'est le cas, il faut alors [[#Retrouver-les-écritures-non-validées|trouver les écritures non validées]] et les valider.&lt;br /&gt;
&lt;br /&gt;
Au-dessous du titre apparait la période que l'on souhaite exporter. Attention: la période proposée par défaut correspond à la plus grande période possible et ne correspond donc pas à la période souhaitée. Il faut donc modifier la date de fin.&lt;br /&gt;
&lt;br /&gt;
Exemples :&lt;br /&gt;
*Si on souhaite exporter '''une année civile complète''', alors il faut sélectionner comme date de fin le 31 décembre.&lt;br /&gt;
*Si on souhaite exporter '''un mois''', il faut sélectionner comme date de fin le dernier jour du mois concerné.&lt;br /&gt;
&lt;br /&gt;
Il est également possible de marquer les écritures exportées afin qu'elles ne soient plus ré-exportées. Cependant, à la place de cette zone de saisie, il peut apparaitre la liste des comptes sans [[#Compte_d'export|valeur d'export]] c'est à dire sans le numéro de compte du plan comptable. Dans ce cas, il faut d'abord rechercher le compte concerné dans '''Comptes &amp;gt; Lister les comptes''' puis attribuer au compte concerné une valeur d'export.&lt;br /&gt;
*Cocher ou non '''[[#Marquer_les_écritures_lors_de_l'export|Marquer les écritures]]'''.&lt;br /&gt;
*L'export s'effectue en cliquant sur le bouton '''Exporter''' de la ligne du logiciel vers lequel on souhaite exporter.&lt;br /&gt;
*Il faut ensuite [[Import dans un logiciel comptable tiers|importer dans un logiciel comptable tiers]].&lt;br /&gt;
&lt;br /&gt;
'''Remarques :'''&lt;br /&gt;
*Il n'est possible d'exporter que des écritures validées. Par conséquent s'il subsiste des écritures non validées sur la période d'export souhaité, alors une alerte apparaitra signalant qu'il n'est pas possible d'exporter la période souhaitée.&lt;br /&gt;
*Dans le fichier d'export, les écritures sont triées par numéro de flux.&lt;br /&gt;
&lt;br /&gt;
===Marquer les écritures lors de l'export===&lt;br /&gt;
Lors d'un export comptable, OpenFlyers donne la possibilité de marquer ou non les écritures qui vont être exportées. Cela permet :&lt;br /&gt;
*Soit de pouvoir ré-exporter des écritures déjà exportées (mais non marquées)&lt;br /&gt;
*Soit au contraire de ne plus exporter des écritures dont OpenFlyers sait qu'elles ont déjà été exportées car marquées.&lt;br /&gt;
&lt;br /&gt;
Ce choix se fait dans le formulaire d'export en cochant '''Marquer les écritures (elles ne pourront plus être exportées de nouveau)'''.&lt;br /&gt;
&lt;br /&gt;
Il est conseillé de toujours procéder à un 1er export sans marquer les écritures. Ainsi, si l'export se passe mal, on aura la garantie de pouvoir le refaire.&lt;br /&gt;
&lt;br /&gt;
=Grand livre=&lt;br /&gt;
&lt;br /&gt;
Le [https://fr.wikipedia.org/wiki/Grand_livre grand livre] sert à lister l'ensemble des écritures comptables sur une période donnée.&lt;br /&gt;
&lt;br /&gt;
Pour y accéder, il faut :&lt;br /&gt;
*Aller côté '''Admin'''&lt;br /&gt;
*Puis '''Comptes &amp;gt; Gestion / Export'''&lt;br /&gt;
&lt;br /&gt;
'''/!\ Les comptes n'ayant eu aucune écritures comptables sur la période donnée, n'apparaissent pas dans le grand livre.'''.&lt;br /&gt;
&lt;br /&gt;
=Mettre à jour les tarifs=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Ventes &amp;gt; Prix &amp;gt; Actualisation des prix'''&lt;br /&gt;
[[Image:Menu-vente-prix-actualisation-des-prix.png]]&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur le bouton '''Modifier''' en bas du tableau et '''non pas sur l'icône crayon à droite de la ligne de tarif'''.&lt;br /&gt;
[[Image:Tableau-vente-prix-actualisation-de-prix.png]]&lt;br /&gt;
&lt;br /&gt;
*Saisir une nouvelle valeur et la date à partir de laquelle le tarif s'appliquera. Vous pouvez anticiper un changement de tarif. Le tarif s'appliquera à la date du mouvement.&lt;br /&gt;
[[Image:Ajout-nouvelle-valeur-variable-tarif.png]]&lt;br /&gt;
&lt;br /&gt;
'''Attention''': si vous cliquez sur l'icône &amp;quot;Édition&amp;quot; (Crayon dans la colonne action) et que vous modifiez la valeur, alors vous changez le prix de cette période mais vous ne créez pas un nouveau tarif. Vous perdrez toute possibilité de corriger par exemple un vol à une date donnée. &lt;br /&gt;
&lt;br /&gt;
*Si vous avez le message d'erreur &amp;quot;chaque variable doit disposer d'une valeur antérieure à la date de début de l'exercice comptable&amp;quot; cela signifie que la variable ne possède pas de valeur entre la date de début d'exercice (date définie dans '''Admin &amp;gt; Comptes &amp;gt; Gestion &amp;amp; Export''') et la date indiquée. Le programme refuse qu'il y ai un &amp;quot;trou tarifaire&amp;quot; (vols non facturés). &lt;br /&gt;
*Chaque variable utilisée dans les formules de tarification doit avoir une valeur initialisée depuis une date antérieure à la date de début de l'exercice comptable&lt;br /&gt;
&lt;br /&gt;
=Opérations sur les comptes=&lt;br /&gt;
&lt;br /&gt;
==Créer un compte==&lt;br /&gt;
&lt;br /&gt;
===Créer un compte ressource===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte ressource, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressource &amp;gt; Comptes ressource'''.&lt;br /&gt;
*Dans la ligne de la ressource concernée, cliquer sur l'icône check du compte souhaité.&lt;br /&gt;
&lt;br /&gt;
===Créer un compte utilisateur===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte utilisateur, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs&amp;gt; Comptes utilisateur'''.&lt;br /&gt;
*Dans la ligne de l'utilisateur concerné, cliquer sur l'icône check du compte souhaité.&lt;br /&gt;
&lt;br /&gt;
===Créer un compte non-ressource non-utilisateur===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Lister les comptes &amp;gt; Tous les comptes'''.&lt;br /&gt;
*En bas du tableau, remplir la ligne et choisir la catégorie du compte&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
&lt;br /&gt;
==Créer un type de compte==&lt;br /&gt;
&lt;br /&gt;
===Créer un type de compte ressource===&lt;br /&gt;
&lt;br /&gt;
Pour créer un type de compte ressource, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Types de compte actifs''' puis cliquer sur le bouton '''Ajouter un compte'''.&lt;br /&gt;
*Saisir les champs du formulaire et valider .&lt;br /&gt;
&lt;br /&gt;
==Désactiver un compte==&lt;br /&gt;
Pour désactiver un compte qui ne doit plus être utilisé, il faut que :&lt;br /&gt;
* le compte ne doit pas créer de trou dans la comptabilité. C'est à dire que :&lt;br /&gt;
** le [[#Solder_un_compte|solde du compte doit être à 0]]&lt;br /&gt;
** les écritures associées à ce compte doivent être toutes validées&lt;br /&gt;
* le compte ne doit pas être utilisé dans une règle de tarification. Cela concerne directement les comptes et non pas les types de comptes. Ainsi, il est possible de désactiver un compte utilisateur ou un compte ressource alors qu'il existe des règles de tarification qui utilisent le même type de compte que le compte à désactiver.&lt;br /&gt;
* dans le cas d'un compte de type utilisateur, l'utilisateur possédant ce compte ne doit pas être lié à un profil qui requiert le type de compte &lt;br /&gt;
* le compte ne doit pas être utilisé par un type de facture fournisseur&lt;br /&gt;
Ensuite, on peut procéder à sa désactivation en cliquant sur l'icône symbolisant une poubelle sur la ligne de ce compte. Un compte n'ayant jamais eu d'écriture est supprimé au lieu de passer à l'état désactivé.&lt;br /&gt;
&lt;br /&gt;
==Lister les comptes==&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Comptes ressource''' pour obtenir les comptes ressource&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs &amp;gt; Comptes utilisateur''' pour obtenir les comptes utilisateur&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Lister les comptes &amp;gt; Tous les comptes''' pour obtenir les autres comptes.&lt;br /&gt;
&lt;br /&gt;
Dans ces pages, le solde de chaque compte est calculé en prenant les écritures datant du début d'exercice comptable jusqu'à la date et l'heure courante. Ainsi, les écritures comptables avec une date comptable future ne sont pas prises en compte pour le calcul du solde.&lt;br /&gt;
&lt;br /&gt;
=Retrouver les écritures non validées=&lt;br /&gt;
S'il y a beaucoup d'écritures à valider, il faut procéder de façon systématique en parcourant chaque interface de validation :&lt;br /&gt;
*Pour les vols, aller dans '''Admin &amp;gt; Vols &amp;gt; Liste des vols''' puis '''Valider les vols sélectionnés''' pour chaque aéronef.&lt;br /&gt;
*Pour les encaissements, aller dans '''Admin &amp;gt; Comptes &amp;gt; Pointer''' et choisir chaque type de paiement.&lt;br /&gt;
*Pour les transferts, aller dans '''Admin &amp;gt; Comptes &amp;gt; Valider les flux''' puis '''valider les transferts'''.&lt;br /&gt;
*Pour les factures, aller dans '''Admin &amp;gt; Achats &amp;gt; Liste des factures fournisseurs'''.&lt;br /&gt;
*Pour les ventes, aller dans '''Admin &amp;gt; Ventes &amp;gt; Valider les ventes'''. Choisir ses critères de recherche et valider le formulaire. Ensuite cocher les différentes ventes listées puis '''Pointer les entrées sélectionnées'''.&lt;br /&gt;
En procédant ainsi, il ne doit normalement ne pas subsister d'écriture à valider. Cependant, si l'essentiel des écritures a été validé, alors il est plus rapide de rechercher les écritures à valider que de parcourir chaque interface de validation.&lt;br /&gt;
&lt;br /&gt;
Pour rechercher les écritures restantes à valider, il faut :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Gestion / Export'''&lt;br /&gt;
En-dessous du titre '''Statistiques''' figure un tableau :&lt;br /&gt;
&lt;br /&gt;
[[Image:Tableau_statistiques_gestion-export.png]]&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessus, on peut voir à la ligne ''Ecritures non validées'', colonne ''Date de première écriture'' l'horodatage &amp;quot;19/08/2013 14:45&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Cela veut dire qu'il y a au moins une écriture qui date du 19 août 2013 et qui n'a pas été validée.&lt;br /&gt;
&lt;br /&gt;
Pour retrouver cette écriture non validée, il faut :&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Mouvements'''&lt;br /&gt;
*Rechercher l'écriture d'après la date indiquée.&lt;br /&gt;
Son contenu permettra de savoir s'il s'agit d'un vol, d'un encaissement, d'un flux, etc. Si un doute subsiste sur le type d'écriture, il faut cliquer sur l'icône &amp;quot;modifier&amp;quot; de l'écriture considérée afin de se retrouver dans son formulaire d'édition.&lt;br /&gt;
&lt;br /&gt;
Remarques :&lt;br /&gt;
*Le nombre d'écritures non validées indiqué dans le tableau '''Statistiques''' correspond au nombre TOTAL d'écritures non validées. En effet, OpenFlyers sait quand est-ce que vous commencez un exercice mais il ne sait pas quand est-ce que vous voulez qu'il s'arrête. Donc il prend toutes les écritures non validées.&lt;br /&gt;
*OpenFlyers ne permet d'exporter ou de clôturer que la période qui inclut des écritures validées. Dès qu'il rencontre une écriture non validée, il bloque toute action d'export ou de clôture.&lt;br /&gt;
&lt;br /&gt;
=Saisie d'écritures comptables=&lt;br /&gt;
==Saisie d'un flux==&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Saisir un flux'''&lt;br /&gt;
*Sélectionner sur la première ligne de compte, le compte concerné&lt;br /&gt;
*Remplir le champ débit ou crédit selon le cas&lt;br /&gt;
*Sélectionner sur la 2ème ligne un compte de contre-partie&lt;br /&gt;
*Sur cette 2ème ligne, cliquer sur l'icône qui symbolise une balance avec une flèche bleue et intitulé &amp;quot;Equilibrer la dernière ligne&amp;quot;&lt;br /&gt;
*Remplir le champ '''commentaires'''&lt;br /&gt;
*Choisir une date comptable dans le champ '''Date comptable''' en cliquant sur l'icône associée.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
Remarque : La date comptable proposée par défaut correspond à la date comptable du dernier flux saisi. Cela permet de faciliter les [[Comptabilité#Règles_de_saisies_de_la_comptabilité_courante|saisies au vu du relevé de banque]].&lt;br /&gt;
&lt;br /&gt;
==Validation d'un flux==&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Valider les flux'''&lt;br /&gt;
*Cocher dans la 1ère colonne '''Pointer''' les lignes à valider&lt;br /&gt;
*Cliquer sur le bouton '''Valider les flux sélectionnés (cette action est irréversible)'''&lt;br /&gt;
&lt;br /&gt;
==Annuler l'effet d'une écriture comptable==&lt;br /&gt;
Dans le cas où une écriture comptable a été validée, il n'est plus possible de la supprimer pour assurer la [[Comptabilité#Traçabilité_des_écritures|traçabilité des écritures]]. De ce fait, le seul moyen d'en annuler son effet consiste à saisir une écriture opposée. Pour cela, il faut [[#Saisie_d'un_flux|saisir un flux]] en sélectionnant les comptes mis en jeu dans l'écriture à annuler en choisissant de débiter ou créditer du même montant (mais dans le sens opposé) que l'écriture initiale.&lt;br /&gt;
&lt;br /&gt;
Exemple : Un compte A a été débité de 100 € et la contre-partie a été sur un compte B. Pour annuler l'effet de cette écriture, il faut [[#Saisie_d'un_flux|saisir un flux]] qui va créditer le compte A de 100 € et débiter le compte B du même montant.&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'une vente de produit type &amp;quot;pack d'heures&amp;quot;, il ne faut pas oublier d'annuler également les mouvements concernant les crédits d'heures.&lt;br /&gt;
&lt;br /&gt;
Cette solution permet de garder une traçabilité des écritures qui peuvent avoir été saisies par d'autres personnes et surtout qui peuvent affecter des comptes d'utilisateurs.&lt;br /&gt;
&lt;br /&gt;
C'est comme pour un compte bancaire : un banquier ne supprime jamais une écriture sur un compte client. Il passe simplement une nouvelle écriture qui annule l'effet de la précédente.&lt;br /&gt;
&lt;br /&gt;
==[[Écritures comptables#Avoir_clients|Saisie d'un avoir client]]==&lt;br /&gt;
Il faut [[#Saisie_d'un_flux|saisir un flux]] qui va créditer un compte utilisateur/client d'un certain montant et débiter un compte produit &amp;quot;Remise X&amp;quot; du même montant.&lt;br /&gt;
&lt;br /&gt;
==Solder un compte==&lt;br /&gt;
Pour solder un compte, il faut [[#Saisie_d'un_flux|saisir un flux]] avec la particularité que l'on souhaite &amp;quot;ramener le solde à zéro&amp;quot; d'un compte donné. Pour cela, il faut en plus des [[#Saisie_d'un_flux|opérations]] indiquées pour la saisie d'un flux, il faut :&lt;br /&gt;
*dans la première ligne de compte, sélectionner le compte concerné&lt;br /&gt;
*Cliquer sur l'icône qui symbolise une balance intitulé &amp;quot;Ramener le solde à zéro&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de compte de contre-partie dans le cas de la mise à zéro du solde d'un compte ressource : compte de bilan [[Comptabilité#Compte-de-report-à-nouveau|Report à nouveau]]&lt;br /&gt;
&lt;br /&gt;
==Retrouver les flux supprimés sans permission==&lt;br /&gt;
&lt;br /&gt;
Pour retrouver des flux supprimés sans permission, il est possible de consulter les logs. Deux rapports ont été créés pour faciliter cette tâche.&lt;br /&gt;
&lt;br /&gt;
Le premier rapport &amp;quot;[[OF_doc-en::Export_generator_3#People_who_have_deleted_encashments/flows_without_having_the_permission|liste des personnes ayant supprimés des encaissements/flux sans permission]]&amp;quot; permet d'obtenir en outre de la personne, la date de la suppression et le numéro de flux supprimé.&lt;br /&gt;
&lt;br /&gt;
Le second rapport &amp;quot;[[OF_doc-en::Export_generator_3#Historic_of_changes_for_a_specific_encashment/flow|Liste des changements spécifiques à un encaissement/flux]]&amp;quot; permet de connaître les détails d'un flux. Ce rapport est lié au champ additionnel &amp;quot;Numéro de flux&amp;quot; qui doit être préalablement créé.&lt;br /&gt;
&lt;br /&gt;
Pour avoir le détail de tous les flux supprimés, procéder ainsi :&lt;br /&gt;
# Ouvrir deux onglets sur le navigateur.&lt;br /&gt;
# Dans ces onglets, se rendre dans la page qui liste les rapports '''Admin &amp;gt; Rapports &amp;gt; Structure &amp;gt; Visualiser'''.&lt;br /&gt;
# Dans le premier onglet, sélectionner le premier rapport et valider pour avoir la liste des numéros de flux.&lt;br /&gt;
# Copier un numéro de flux (numéro dans la colonne &amp;quot;flowid&amp;quot;).&lt;br /&gt;
# Dans le second onglet, coller le numéro de flux dans le champ destiné. Sélectionner le second rapport et valider pour avoir le détail du flux.&lt;br /&gt;
# Répéter l'opération 4 et 5 pour chaque numéro de flux dont il faut les détails.&lt;br /&gt;
&lt;br /&gt;
=Solder les comptes=&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Gestion / Export'''&lt;br /&gt;
*Dans le formulaire '''Solder les comptes''' :&lt;br /&gt;
*Laisser tous les comptes &amp;quot;Ressources&amp;quot; cochés sauf si certains ne sont pas des comptes d'exploitation&lt;br /&gt;
*La date proposée dans le champ '''A la date du''' doit correspondre au 31 décembre de l'année de l'exercice comptable en cours&lt;br /&gt;
*Dans le champ '''Comptabilité''', sélectionner la comptabilité souhaitée : il faudra effectuer cette opération pour chacune des comptabilités de la plateforme&lt;br /&gt;
*Dans le chmp '''Compte de contrepartie''', sélectionner le compte de bilan souhaité, normalement il s'agit du compte '''Report à nouveau (Bilan)''' pour la comptabilité générale&lt;br /&gt;
*Cliquer sur le bouton '''Générer les écritures'''&lt;br /&gt;
&lt;br /&gt;
Ce module génère alors un unique flux qui solde les comptes de charges, de produits et ceux liés aux ressources vers un compte de contrepartie de sorte que ces comptes soient ramenés à 0 à la date sélectionnée.&lt;br /&gt;
&lt;br /&gt;
Seuls les comptes actifs sont pris en compte.&lt;br /&gt;
&lt;br /&gt;
=Factures fournisseurs=&lt;br /&gt;
==Saisie des factures fournisseurs==&lt;br /&gt;
Nous conseillons de se connecter en https à votre plateforme https://openflyers.com/nom-de-plateforme/index.php&lt;br /&gt;
*Depuis la page du planning de réservation, cliquer sur le menu '''Admin''' : [[Image:accueil_espace_client.png]]&lt;br /&gt;
*Cliquer sur le menu '''Achats &amp;gt; Saisie Factures fournisseurs'''.&lt;br /&gt;
*Vous vous retrouvez alors avec le formulaire de saisie suivant :&lt;br /&gt;
[[Image:saisie_facture_fournisseur_vierge.png]]&lt;br /&gt;
&lt;br /&gt;
2 cas peuvent se présenter :&lt;br /&gt;
*Soit [[#Saisie_d'une_facture_fournisseur_dont_le_type_de_facture_est_déjà_enregistré|le type de facture fournisseur correspondant à la facture à saisir est déjà existant]]&lt;br /&gt;
*Soit la facture fournisseur à saisir nécessite la création d'un nouveau type de facture fournisseur. Dans ce cas, il existe plusieurs façons de créer un nouveau type de facture fournisseur dont la possibilité de [[#Saisie_d'une_facture_fournisseur_dont_le_type_est_nouveau|le faire directement en saisissant la facture]].&lt;br /&gt;
&lt;br /&gt;
===Saisie d'une facture fournisseur dont le type de facture est déjà enregistré===&lt;br /&gt;
*Sélectionner le '''type de facture fournisseur''' correspondant à la facture à saisie. Le nombre de champs à renseigner se réduit alors automatiquement :&lt;br /&gt;
[[Image:facture_fournisseur_à_compléter.png]]&lt;br /&gt;
*Reporter sur la facture originale le '''numéro de pointage''' qui apparaît dans le formulaire. Ce numéro de pointage est unique et permet de rapprocher les factures fournisseurs saisies dans OpenFlyers avec leurs originaux.&lt;br /&gt;
*Cocher &amp;quot;'''J'ai bien pris en compte cette valeur et je l'ai reporté sur ma facture'''&amp;quot;. A défaut, si vous validez, le système refusera votre saisie et une alerte apparaitra.&lt;br /&gt;
*Le champ '''Description''' permet d'indiquer toute information utile concernant la facture et d'en faciliter la recherche ultérieure.&lt;br /&gt;
*Indiquer la date de facturation en cliquant sur le calendrier. Il est possible de paramétrer le format d'affichage de la date en allant dans le menu '''Données/Affichage''' puis de modifier le contenu du champ '''fiche personnelle/Patron de format de date'''.&lt;br /&gt;
*Renseigner le '''montant hors taxe'''&lt;br /&gt;
*Renseigner la '''TVA''' (champ visible uniquement si la comptabilité est paramétrée pour la prise en compte de la TVA). Si la TVA est nulle, il faut indiquer 0.&lt;br /&gt;
*Cliquer sur '''Valider''' ou '''Valider et Saisir le suivant''' si vous avez plusieurs factures à saisir à la volée. Dans ce dernier cas, le formulaire de saisie de facture fournisseur s'affiche à nouveau et il faut reprendre les opérations de saisie depuis le début de ce paragraphe.&lt;br /&gt;
&lt;br /&gt;
===Saisie d'une facture fournisseur dont le type est nouveau===&lt;br /&gt;
Lors de la saisie d'un nouveau compte fournisseur, aucun élément n'est renseigné par défaut et le formulaire à la forme suivante :&lt;br /&gt;
&lt;br /&gt;
[[Image:Saisie_facture_fournisseur_vierge.png]]&lt;br /&gt;
&lt;br /&gt;
Plusieurs parties du formulaire peuvent se réduire à partir du moment où dans le champ précédant la partie réductible, l'utilisateur remplace '''Autre...''' par un choix proposé. A contrario, en laissant '''Autre...''' ou '''Associer un nouveau compte''' (dans le cas du premier champ), c'est l'information saisie dans le champ suivant qui sera prise en compte.&lt;br /&gt;
&lt;br /&gt;
La saisie va consister à définir les ventilations comptables associée à ce type de facture fournisseur. A savoir :&lt;br /&gt;
*le fournisseur et son compte fournisseur qui sera crédité du montant des factures associées à ce type de facture fournisseur&lt;br /&gt;
*le compte de charge qui sera débité du montant des factures associées à ce type de facture fournisseur&lt;br /&gt;
*Si la gestion de la TVA est activée, le compte de TVA qui sera débité du montant de la TVA associée à ce type de facture fournisseur&lt;br /&gt;
*De plus, si la gestion des budgets est activée, il est demandé, pour chaque compte (fournisseur, charge et TVA), le budget à associer&lt;br /&gt;
&lt;br /&gt;
*Ainsi, si on doit saisir une facture fournisseur associée à un nouveau type de facture fournisseur, alors il faut laisser '''associer un nouveau compte''' au champ '''Type de facture fournisseur''' et renseigner l'intitulé souhaité pour le type de facture fournisseur dans le champ suivant '''Nom de type de facture'''&lt;br /&gt;
*Ensuite, dans le champ '''Fournisseur''', là aussi, 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le fournisseur à mentionner est déjà dans la liste proposée dans le champ '''Fournisseur''' et auquel cas il faut le sélectionner (et le champ suivant '''Nom du fournisseur''' disparaitra)&lt;br /&gt;
**Soit le fournisseur à mentionner n'est pas déjà dans la liste proposée dans le champ '''Fournisseur''' et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer'''' au fournisseur ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner pour tous les fournisseurs un budget ''Fournisseurs''.&lt;br /&gt;
***Renseigner le champ '''Nom du fournisseur''' qui doit correspondre au fournisseur souhaité&lt;br /&gt;
***Choisir un compte d'export associé au nouveau fournisseur créé :&lt;br /&gt;
****Soit il existe déjà un compte d'export dans le champ '''Compte du fournisseur'''&lt;br /&gt;
****Soit il n'existe pas de compte d'export associable à ce nouveau fournisseur (en général on associe un compte d'export différent pour chaque compte défini dans OpenFlyers) et auquel cas, il faut renseigner le champ '''Compte fournisseur d'export'''. On peut, par exemple, saisir ''401NOMDUFOURNISSEUR'' dans le cas du plan comptable français.&lt;br /&gt;
***Si la gestion des budgets est active, le champ suivant est '''Budget à attribuer''' et OpenFlyers a dû le remplir par défaut avec la même valeur que pour le champ du même nom rattaché au '''Nom du fournisseur'''. Il ne doit pas y avoir besoin de modifier le contenu de ce champ.&lt;br /&gt;
*Dans le champ '''Compte de charge''', 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le compte de charge à associer est déjà dans la liste proposée et auquel cas il faut le sélectionner&lt;br /&gt;
**Soit le compte de charge à associer n'est pas déjà dans la liste proposée et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer''' au compte de charge que l'on crée ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner un budget représentatif du type de facture et ainsi avoir la ventilation de toutes les factures fournisseurs par poste budgétaire&lt;br /&gt;
***Renseigner le champ '''Nom du compte''' avec l'intitulé correspondant au compte de charge à créer&lt;br /&gt;
***Renseigner le champ '''Compte d'export''' avec la valeur du plan comptable correspondante. Pour le plan comptable français, ce sera un compte en 6xx.&lt;br /&gt;
*Si la gestion de la TVA est activée, le champ '''Compte TVA du type de facture''' est présent et 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le compte de TVA à associer à ce type de facture est dans la liste proposée et auquel cas il faut le sélectionner&lt;br /&gt;
**Soit le compte de TVA n'existe pas et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer''' au compte de TVA que l'on crée ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner un budget ''TVA Fournisseur''&lt;br /&gt;
***Renseigner le champ '''Nom de compte TVA'''. Par exemple, dans le cas des factures fournisseurs provenant de France : ''TVA déductible sur autres biens et services''&lt;br /&gt;
***Renseigner le champ '''Compte TVA d'export'''. Par exemple, dans le cas des factures fournisseurs provenant de France : ''445660''.&lt;br /&gt;
*Le reste de la saisie s'effectue comme pour la [[#Saisie_d'une_facture_fournisseur_dont_le_type_de_facture_est_déjà_enregistré|saisie d'une facture fournisseur dont le type de facture est déjà enregistré]].&lt;br /&gt;
&lt;br /&gt;
===Suppression d'une facture fournisseur===&lt;br /&gt;
Pour supprimer une facture fournisseur qui aurait été saisie par erreur, il faut :&lt;br /&gt;
*Aller dans le menu '''Achats/Liste des factures fournisseurs''' ;&lt;br /&gt;
[[Image:achats-liste-des-factures-fournisseurs.png]]&lt;br /&gt;
&lt;br /&gt;
*Rechercher le '''numéro de pointage''' de la facture concernée en ayant pris soin au préalable de sélectionner le mois de la facture (ou l'année complète pour lister l'ensemble des factures) ;&lt;br /&gt;
&lt;br /&gt;
[[Image:numéro-de-pointage.png]]&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur l'icône poubelle associée à la facture concernée.&lt;br /&gt;
&lt;br /&gt;
[[Image:icône-poubelle.png]]&lt;br /&gt;
&lt;br /&gt;
Le numéro de la facture supprimée n'existera plus dans la comptabilité. Il ne sera pas proposé à nouveau lors de la saisie d'une nouvelle facture. Par ailleurs, la numérotation des factures saisies a posteriori de la facture supprimée demeurera inchangée.&lt;br /&gt;
&lt;br /&gt;
===Suppression d'un type de facture fournisseur===&lt;br /&gt;
Pour supprimer un type de facture fournisseur qui aurait été saisi par erreur, il faut :&lt;br /&gt;
&lt;br /&gt;
*Aller dans le menu '''Achats/Types de factures fournisseurs''' ;&lt;br /&gt;
&lt;br /&gt;
[[Image:achats-types-de-factures-fournisseurs.png]]&lt;br /&gt;
&lt;br /&gt;
*Sélectionner le type de fournisseur concerné dans la colonne '''Nom''' ;&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur l'icône poubelle associée à la facture concernée.&lt;br /&gt;
&lt;br /&gt;
[[Image:icône-poubelle.png]]&lt;br /&gt;
&lt;br /&gt;
==Saisie d'un [[Écritures comptables#Paiement_(à_un_fournisseur)|paiement à un fournisseur]]==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Saisir un flux'''&lt;br /&gt;
*Sur la première ligne :&lt;br /&gt;
**dans la colonne '''Compte''' sélectionner le compte du fournisseur&lt;br /&gt;
**dans la colonne '''Débit''' saisir le montant du paiement que vous effectuez. Si vous souhaiter solder le compte du fournisseur, il vous suffit de cliquer sur l'icône représentant une balance et intitulée &amp;quot;Ramener le solde à zéro&amp;quot;&lt;br /&gt;
*Sur la deuxième ligne :&lt;br /&gt;
**dans la colonne '''Compte''' sélectionner le compte bancaire depuis lequel l'argent est débité&lt;br /&gt;
**cliquer sur l'icône représentant une balance avec une flèche bleue et intitulée &amp;quot;Equilibrer la dernière ligne&amp;quot;&lt;br /&gt;
*Dans le champ '''Commentaires''' saisir un texte libre&lt;br /&gt;
*Ne pas oublier de renseigner le champ '''Date comptable'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
&lt;br /&gt;
=Bon de commande et facture clients=&lt;br /&gt;
&lt;br /&gt;
==Visualiser des factures au format PDF==&lt;br /&gt;
Nous conseillons de se connecter en https à votre espace http://openflyers.com/nom-de-plateforme/index.php&lt;br /&gt;
&lt;br /&gt;
OpenFlyers propose par défaut un [[Modèle de facture ODT|modèle de facture]] qui permet d'éditer des factures PDF pour les prestations suivantes :&lt;br /&gt;
*les achats réalisés depuis le gestionnaire des ventes&lt;br /&gt;
**depuis la page du planning de réservation, cliquer sur le menu '''Comptes/Acheter''' ;&lt;br /&gt;
[[Image:comptes-acheter.png]]&lt;br /&gt;
*les validités qui ont été achetées/renouvelées&lt;br /&gt;
*les vols.&lt;br /&gt;
**Aller dans le menu '''Comptes/Etat/Pilote''' et se rendre dans la [[Documentation utilisateur#Colonne_.22Numéro_de_pointage_ou_de_facture.22|colonne numéro de pointage ou de facture]]&lt;br /&gt;
[[Image:comptes-etat-pilote.png]]&lt;br /&gt;
&lt;br /&gt;
==Importer son [[Modèle de facture ODT|modèle de facture]]==&lt;br /&gt;
&lt;br /&gt;
'''/!\ En important un [[Modèle de facture ODT|modèle de facture]], ce sera celui-ci qui va être utilisé pour générer les nouvelles factures au format PDF. Les factures qui ont déjà créées avant la mise en place du nouveau modèle continuera d'appliquer les anciens versions du modèle ou ceux fournis par défaut par OF'''&lt;br /&gt;
&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Configuration &amp;gt; Import de template ODT''' :&lt;br /&gt;
[[Image:configuration-import-de-templates-odt.png]]&lt;br /&gt;
* Préparer le fichier ODT contenant tous les modèles utilisés qui doivent être organisés comme suit :&lt;br /&gt;
*:'''page 1''' : Facture client&lt;br /&gt;
*:'''page 2''' : Duplicata de la facture client&lt;br /&gt;
*Importer  le fichier&lt;br /&gt;
*Cocher '''Facturation client'''&lt;br /&gt;
*Valider&lt;br /&gt;
&lt;br /&gt;
==Calcul du montant HT, de la TVA et du montant TTC==&lt;br /&gt;
&lt;br /&gt;
Les différents montants sont calculés de la sorte :&lt;br /&gt;
* Pour la TVA, on effectue la somme des écritures de débit et de crédit liés aux&lt;br /&gt;
** comptes de catégorie TVA&lt;br /&gt;
** produits de type de vente TVA&lt;br /&gt;
* Pour le montant TTC, on effectue la somme des écritures de débit et de crédit liées aux&lt;br /&gt;
** comptes qui ne sont pas de catégorie TVA&lt;br /&gt;
** produits qui ne sont pas de type de vente TVA&lt;br /&gt;
* Pour le montant HT, on effectue la différence entre la TVA et le montant TTC&lt;br /&gt;
&lt;br /&gt;
==Relevés de factures clients==&lt;br /&gt;
Une facture client est un document unique. Les PDF d'une facture déjà exportée seront générés avec la mention &amp;quot;Duplicata&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formulaire de sélection===&lt;br /&gt;
Ce formulaire permet d'établir une sélection générale de factures clients.&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Rapports &amp;gt; Générique &amp;gt; Relevés de factures clients'''&lt;br /&gt;
*Les champs &amp;quot;A partir du&amp;quot; et &amp;quot;Jusqu'au&amp;quot; permettent d'établir une sélection en fonction des dates de facturation. Pour éviter un temps de chargement trop long, il est conseillé de définir une plage d'un mois maximum.&lt;br /&gt;
*Le champ &amp;quot;Compte client&amp;quot; permet de sélectionner les relevés de factures d'un client particulier&lt;br /&gt;
*Le champ &amp;quot;Types de vols&amp;quot; permet de sélectionner des factures en fonction du type de vol&lt;br /&gt;
*Le champ &amp;quot;Produits non stockés&amp;quot; permet de sélectionner des factures en fonction de la nature du produit&lt;br /&gt;
*Le champ &amp;quot;Validités&amp;quot; permet de sélectionner des factures en fonction des produits de type &amp;quot;validité&amp;quot;&lt;br /&gt;
*Valider pour accéder aux factures à exporter&lt;br /&gt;
&lt;br /&gt;
===Tableau de factures à exporter===&lt;br /&gt;
Ce tableau est le résultat du formulaire. Il liste des factures clients.&lt;br /&gt;
*Sélectionner au cas par cas les factures à exporter&lt;br /&gt;
*Cliquer sur le bouton '''Générer PDF''' en bas du tableau pour générer le PDF des factures sélectionnées&lt;br /&gt;
*Cliquer sur le bouton '''Sauver dans un fichier CSV''' en bas du tableau pour exporter les factures sélectionnées au format CSV&lt;br /&gt;
&lt;br /&gt;
=Gestion des règlements clients=&lt;br /&gt;
==Saisir un encaissement==&lt;br /&gt;
Cf. les [[Écritures comptables#Saisie_d'un_encaissement_(d'un_client)|mouvements associés à un encaissement client]] pour connaitre les mouvements créés lors de la saisie comptable.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' seuls les [[Comptabilité#Comptes_clients|comptes clients]] et les [[Comptabilité#Comptes_utilisateurs|comptes utilisateurs]] peuvent recevoir des encaissements. En effet, comptablement, cela n'a pas de sens de faire un encaissement sur d'autres types de comptes.&lt;br /&gt;
&lt;br /&gt;
*'''Comptes &amp;gt; Approvisionner''' ou '''Admin &amp;gt; Comptes &amp;gt; Encaissements &amp;gt; Saisir un encaissement'''&lt;br /&gt;
*'''Comptes clients''' :&lt;br /&gt;
**Si le payeur est un utilisateur de la plateforme, laisser sélectionné '''Utilisateur'''&lt;br /&gt;
**Sinon, sélectionner '''Non-utilisateur'''&lt;br /&gt;
*'''Date du paiement''' :&lt;br /&gt;
**pour les paiements par chèque on laisse en général la date du jour qui correspond &amp;quot;au mieux&amp;quot; à la date à laquelle l'encaissement sera fait.&lt;br /&gt;
**pour les paiements en espèce on met la date à laquelle les sommes ont été reçus.&lt;br /&gt;
**pour les paiements par virement on met la date du virement.&lt;br /&gt;
*'''Encaissement de l'utilisateur''' : sélectionner le nom de l'utilisateur effectuant le paiement&lt;br /&gt;
ou&lt;br /&gt;
*'''Compte à créditer''' : sélectionner le nom du client &amp;quot;connu&amp;quot; ou à défaut &amp;quot;Clients extérieurs&amp;quot;&lt;br /&gt;
Attention : il faut sélectionner le compte correspondant à celui qui a été facturé et donc débité.&lt;br /&gt;
*'''Montant''' : indiquer le montant du paiement&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' ou le bouton '''VALIDER ET SAISIR LE SUIVANT'''&lt;br /&gt;
&lt;br /&gt;
==Saisir l'encaissement d'un comité d'entreprise ou d'un groupement d'utilisateurs==&lt;br /&gt;
Dans le cas où un comité d'entreprise ou un groupement d'utilisateurs (comme la DGAC dans le cas des contrôleurs aériens) prend en charge tout ou partie du coût d'une activité générée par OpenFlyers, la plateforme est normalement configurée pour que ce soit le compte du CE ou du groupement qui soit automatiquement débité lors de la saisie de l'activité.&lt;br /&gt;
&lt;br /&gt;
De ce fait, saisir dans OpenFlyers un règlement provenant d'une telle entité revient à [[#Saisir_un_encaissement|saisir un encaissement d'un &amp;quot;non-utilisateur&amp;quot; sur son propre compte client]].&lt;br /&gt;
&lt;br /&gt;
==Validation des règlements clients==&lt;br /&gt;
Le comptable, trésorier, secrétaire, etc. doit valider les règlements avant de remettre l'argent à la banque, que la saisie soit faite pas un pilote ou par une personne tierce.&lt;br /&gt;
&lt;br /&gt;
Tant qu'une écriture n'est pas validée, elle apparaît différemment dans les extraits de compte afin de bien signifier que le mouvement n'est pas validé et que le solde du compte est donc susceptible d'être modifié. Une écriture non validée peut être modifiée mais '''Une fois la validation effectuée'''  il n'est plus possible de '''revenir en arrière'''. &lt;br /&gt;
&lt;br /&gt;
En cas d'erreur, le trésorier doit faire une écriture d'annulation et ressaisir le règlement correct.&lt;br /&gt;
&lt;br /&gt;
Pour valider les règlements le trésorier dispose d'une page accessible uniquement avec le droit &amp;quot;'''Valider les encaissements'''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Voici la description de la tâche de validation des règlements par le trésorier :&lt;br /&gt;
*Récupérer les chèques et espèces à valider&lt;br /&gt;
*Classer les chèques par ordre de date.&lt;br /&gt;
*Aller dans la page '''Admin &amp;gt; Comptes &amp;gt; Pointer &amp;gt; Chèques'''&lt;br /&gt;
*Cette pages affiche les règlements que les pilotes ont saisies et qui sont en attente de validation&lt;br /&gt;
*Cocher les règlements dont vous possédez les chèques.&lt;br /&gt;
*Si des règlements ne sont pas dans la liste en attente, le trésorier les ajoute à l'aide d'un bouton prévu à cet effet puis les coche.&lt;br /&gt;
*Si des saisies sont erronées, corrigez-les puis les cocher.&lt;br /&gt;
*Supprimer les saisies inopportunes.&lt;br /&gt;
*Une fois que tout les chèques sont pointés, cliquez sur '''Éditer le bordereau de remise'''.&lt;br /&gt;
*On passe sur la page de la liste de vos règlements validés, faite une vérification&lt;br /&gt;
*Imprimez la bordereau de remise en banque, utilisez le menu de votre navigateur '''Fichier &amp;gt; Imprimer'''.&lt;br /&gt;
*Valider le bordereau. &amp;quot;'''Attention, cette action est irréversible'''&amp;quot;&lt;br /&gt;
*Faire les opérations ci-dessus pour chaque type de règlement&lt;br /&gt;
*Porter les remises en banque&lt;br /&gt;
&lt;br /&gt;
La validation régulière de vos règlements permet de bloquer les modifications par les pilotes et augmente la fiabilité de votre comptabilité&lt;br /&gt;
&lt;br /&gt;
=Cas particuliers=&lt;br /&gt;
==Ecritures manuelles dans le cadre [[Conseils spécifiques pour la comptabilité#Facturation_automatique_à_des_organismes_avec_ou_sans_quotas|d'une facturation automatique à un organisme tiers]]==&lt;br /&gt;
Normalement, le paramétrage d'une plateforme OpenFlyers est effectué pour que les écritures soient automatiquement réalisées lors de la saisie d'une activité.&lt;br /&gt;
&lt;br /&gt;
Cependant, si les écritures ne se sont pas effectuées automatiquement, ne serait-ce que dans le cas où le paramétrage a été mis en place ultérieurement à la saisie d'activité et que ces saisies ont été validées, il est nécessaire d'effectuer la saisie manuelle des flux permettant d'obtenir la [[Facturation des clients#Cascade_d'écritures_comptables|situation comptable souhaitée]].&lt;br /&gt;
&lt;br /&gt;
Ainsi, si l'utilisateur a été intégralement débité du montant de l'activité et qu'il faut simplement saisir une écriture permettant de créditer son compte du montant devant être débité à l'organisme tiers, il suffit de [[#Saisie_d'un_flux|saisir un flux]] qui va créditer son compte du montant concerné et débiter le compte de l'organisme tiers du même montant.&lt;br /&gt;
&lt;br /&gt;
De plus, si une gestion de quota est en place, il faut également corriger le compte de quota de l'utilisateur concerné sur le même modèle d'écriture que pour l'[[Conseils spécifiques pour la comptabilité#Initialisation_du_solde_d'heures_lors_de_la_mise_en_place_des_packs|initialisation d'un quota]] mais en sens opposé (le compte quota de l'utilisateur doit être débité au lieu d'être crédité et inversement pour le compte de bilan correspondant).&lt;br /&gt;
&lt;br /&gt;
==Gestion des baptêmes==&lt;br /&gt;
===Utiliser le [[Configuration de la comptabilité#Gestion_des_baptêmes|paramétrage préconisé des baptêmes]]===&lt;br /&gt;
On appelle dans l'exemple &amp;quot;Clients extérieurs&amp;quot; le compte client qui est utilisé pour les clients baptêmes. La dénomination peut changer d'une configuration à l'autre.&lt;br /&gt;
Lorsqu'un baptême est effectué :&lt;br /&gt;
#Saisir le vol avec comme type de vol &amp;quot;baptême&amp;quot; : le coût du vol au tarif solo est alors débité sur le compte client &amp;quot;Clients extérieurs&amp;quot;.&lt;br /&gt;
#Encaisser le paiement du baptême sur le compte client &amp;quot;Clients extérieurs&amp;quot; (qui est accessible dans le formulaire de saisie des encaissements en sélectionnant comme type d'utilisateur &amp;quot;non utilisateur&amp;quot;).&lt;br /&gt;
Ainsi, le compte client &amp;quot;Clients extérieurs&amp;quot; se retrouvera avec un solde correspondant à la différence entre le prix du baptême payé par le client et le prix du vol solo facturé par OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Il suffit alors de passer une écriture, par exemple tous les mois, tous les trimestres ou tous les ans, entre le compte &amp;quot;Clients extérieurs&amp;quot; et un compte produit (par exemple compte produit &amp;quot;delta baptêmes&amp;quot;) qui va recevoir le solde du compte client &amp;quot;Clients extérieurs&amp;quot; afin de le ramener à 0.&lt;br /&gt;
&lt;br /&gt;
Cas pratique :&lt;br /&gt;
*Tarif solo : 100 €/h&lt;br /&gt;
*Tarif baptême : 60 €&lt;br /&gt;
*Vol effectué de 30 minutes&lt;br /&gt;
&lt;br /&gt;
Alors :&lt;br /&gt;
*En saisissant le vol de 30 minutes en tant que &amp;quot;baptême&amp;quot;, le compte &amp;quot;clients extérieurs&amp;quot; sera débité du montant du tarif solo soit 50 €.&lt;br /&gt;
*En saisissant l'encaissement du paiement de 60 € effectué par le baptisé, le compte &amp;quot;clients extérieurs&amp;quot; sera crédité de 60 €.&lt;br /&gt;
*Il est résulte sur le compte &amp;quot;clients extérieur&amp;quot; un solde positif de 10 €.&lt;br /&gt;
A la fin de l'année, le compte &amp;quot;clients extérieur&amp;quot; aura vu son solde augmenter au fur et à mesure que les baptêmes auront été effectuée. Admettons qu'il se retrouve avec un solde positif de 1210 €. Il faut alors passer un mouvement (via la saisie d'un flux) pour débiter le compte &amp;quot;clients extérieurs&amp;quot; de 1210 € et créditer un compte produit &amp;quot;delta baptêmes&amp;quot; de 1210 €. Ce faisant le solde du compte client &amp;quot;clients extérieurs&amp;quot; est ramené à 0 ce qui est important pour montrer comptablement que personne ne doit de l'argent à l'aéro-club et le gain spécifique aux baptêmes est enregistré dans le compte produit &amp;quot;delta baptêmes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Les taxes==&lt;br /&gt;
===Gérer les taxes d'atterrissage dans OpenFlyers===&lt;br /&gt;
Les taxes d'atterrissages sont facturées à la structure aéronautique qui souvent les débitent sur le compte de ses clients. Voici 2 méthodes pour gérer ces opérations dans OpenFlyers :&lt;br /&gt;
*La méthode la plus simple consiste à partir du principe que les factures des taxes d'atterrissages sont déjà existantes et qu'il s'agit juste de faire payer la personne réellement concernée par la taxe. Pour ce faire, il suffit de saisir un flux en débitant le compte du client du montant de la facture de la taxe d'atterrissage et de créditer un compte produit &amp;quot;taxe d'atterrissage&amp;quot;. Cette méthode est pratique dans le cas où le prix de la taxe n'est jamais le même.&lt;br /&gt;
*Pour les aérodromes dont les taxes sont récurrentes, il peut être intéressant de créer un type de vente pour gérer les taxes. Cette solution n'est pratique que dans le cas où les montants sont constants. Cela permet alors d'éviter d'avoir à saisir à chaque fois le prix de la taxe. L'autre intérêt de cette méthode est qu'elle permet de générer une facture fournisseur au nom de la structure dans le cas où le client le souhaiterait.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Facturation-des-clients&amp;diff=15228</id>
		<title>Facturation des clients</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Facturation-des-clients&amp;diff=15228"/>
				<updated>2017-05-16T07:23:36Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Cascade d'écritures comptables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
&lt;br /&gt;
L'objet de cette page est de présenter les points généraux de la facturation des clients. &lt;br /&gt;
&lt;br /&gt;
Il existe deux types de facturation :&lt;br /&gt;
* [[Facturation des heures de vol|La facturation d'un vol]] qui s'effectue lors de la saisie d'une [[Introduction#Modes_de_saisie_ouverture+fermeture_ou_fermeture_seule|fermeture de vol]].&lt;br /&gt;
*La facturation d'une vente de produit qui s'effectue lors de la saisie d'un [[Gestion des produits et des ventes#Achat_de_produit_non_stocké|achat de produit]].&lt;br /&gt;
&lt;br /&gt;
En plus de la génération d'une ou [[#Factures_multiples|plusieurs factures]], des écritures comptables sont automatiquement générées. Le nombre d'écritures générées dépend de la [[Écritures comptables3#Fusion_des_écritures_comptables|fusion des écritures]].&lt;br /&gt;
&lt;br /&gt;
=Alertes générées par le moteur de tarification=&lt;br /&gt;
&lt;br /&gt;
==L'utilisateur n'a pas de compte de type XXX==&lt;br /&gt;
Cette alerte s'affiche lorsqu'une règle de tarification est applicable et que le compte XXX est manquant pour l'utilisateur concerné.&lt;br /&gt;
&lt;br /&gt;
Une règle est considérée comme applicable à partir du moment où le domaine d'application de la règle la rend applicable pour la saisie considérée. Une règle peut être applicable sans générer forcément une écriture comptable. C'est le cas lorsque le montant de l'écriture comptable est nul.&lt;br /&gt;
&lt;br /&gt;
=Factures multiples=&lt;br /&gt;
&lt;br /&gt;
Les groupes de facturation permettent la séparation des écritures dans différentes factures. Cela permet ainsi de générer automatiquement plusieurs factures lors d'une seule saisie d'une vente de produit ou d'un vol.&lt;br /&gt;
&lt;br /&gt;
L'affectation du groupe de facturation suit les contraintes suivantes :&lt;br /&gt;
* Pour un même groupe de facturation, il ne peut y avoir plusieurs comptes client ou utilisateur.&lt;br /&gt;
* Les comptes associés à un même groupe de facturation doivent tous être de la même comptabilité.&lt;br /&gt;
&lt;br /&gt;
=Numérotation des factures clients=&lt;br /&gt;
Dans la version 3 d'OpenFlyers, lors de la validation d'une facturation client (heures de vols, produits non stockés, etc.), la facture associée est créée avec un numéro de facture unique. Ce numéro de facture correspond au dernier numéro de facture client créé augmenté de 1. Ainsi, si la facture précédente avait le numéro 307, alors la nouvelle facture a le numéro 308. Cet algorithme est conforme à la [http://vosdroits.service-public.fr/professionnels-entreprises/F23208.xhtml législation française concernant la numérotation des factures] qui prévoit que :&lt;br /&gt;
''la numérotation des factures est représentée par un numéro unique basé sur une séquence chronologique continue, sans rupture''&lt;br /&gt;
&lt;br /&gt;
=[[Utilisation de la comptabilité#Opérations_sur_les_tarifs|Gestion des tarifs]]=&lt;br /&gt;
&lt;br /&gt;
=Moteur de tarification et de facturation=&lt;br /&gt;
==Cascade d'écritures comptables==&lt;br /&gt;
Les moteurs de facturation des activités et des produits fonctionnent avec le concept d'''écritures en cascade''.&lt;br /&gt;
&lt;br /&gt;
Introduction du principe :&lt;br /&gt;
*En général, dans une facturation, L'utilisateur final est normalement débité et le compte produit correspondant crédité&lt;br /&gt;
*Si l'utilisateur a droit à ce qu'une partie du coût de l'activité soit facturé à l'organisme dont il dépend, une autre écriture comptable vient créditer son compte utilisateur et débiter le compte client de l'organisme concerné&lt;br /&gt;
*Enfin, les écritures sont [[Gestion-des-écritures-comptables#Fusion_des_écritures_comptables|fusionnées]] de telle sorte que l'utilisateur ne sera finalement débité que du montant devant être réellement à sa charge.&lt;br /&gt;
&lt;br /&gt;
Les détails du principe de fonctionnement sont les suivants :&lt;br /&gt;
*Les règles de tarification s'appliquent les unes après les autres, de la première à la dernière en partant du haut, lorsqu'elles sont applicables selon les critères de leur domaine &lt;br /&gt;
** Les domaines d'application pour la facturation des activités sont : Les profils en place gauche et/ou en place droite, les types de ressources, les types de vols, les types de vols exclus&lt;br /&gt;
** Les domaines d'application pour la facturation des produits sont : Les profils, les produits commandés&lt;br /&gt;
** Le symbole * dans un domaine signifie &amp;quot;N'importe quel domaine&amp;quot;&lt;br /&gt;
*Chaque règle peut donc générer un couple d'écriture débit/crédit&lt;br /&gt;
*Une fois que toutes les écritures sont générées, elles sont [[Gestion-des-écritures-comptables#Fusion_des_écritures_comptables|fusionnées]] afin de diminuer leur nombre et de supprimer les écritures qui s'annulent.&lt;br /&gt;
&lt;br /&gt;
L'objectif est de faciliter la construction des règles de tarification en partant du général pour aller vers le spécifique :&lt;br /&gt;
*Il faut d'abord créer une ou des règles de tarification générales. Ainsi, pour la tarification des heures de vols, il faut d'abord définir les tarifs en &amp;quot;solo&amp;quot;. Pour faire un parallèle avec la technique de façonnage de la poterie, on construit ainsi d'abord une forme homogène générale.&lt;br /&gt;
*Ensuite, on crée des règles de tarification spécifiques qui vont &amp;quot;détourner&amp;quot; les règles générales soit en redirigeant le débit ou le crédit, soit en l'annulant soit en en modifiant le montant. Toujours dans le parallèle avec la poterie, on façonne alors les particularités en rajoutant des trous ou des volumes spécifiques.&lt;br /&gt;
*Enfin, dans certains cas et notamment lorsque la structure est assujettie à la TVA, on calcule un montant net applicable et on en déduit la TVA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici un exemple du résultat possible avec le fonctionnement en cascade :&lt;br /&gt;
&lt;br /&gt;
Nous supposons que l'utilisateur effectue une activité dont le coût est de 200 €. La moitié de cette activité, soit 100 € est prise en charge par un organisme tiers.&lt;br /&gt;
&lt;br /&gt;
*Dans un premier temps, grâce à une règle générale, l'utilisateur sera débité de 200 € et le compte produit crédité de 200 € :&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Compte!!Débit!!Crédit&lt;br /&gt;
|-&lt;br /&gt;
|Utilisateur||200.00 €||&lt;br /&gt;
|-&lt;br /&gt;
|Compte produit||||200.00 €&lt;br /&gt;
|}&lt;br /&gt;
*Dans un second temps, une nouvelle règle particulière va identifier que l'utilisateur rentre dans le cadre où un organisme tiers doit prendre en charge la moitié du coût. Cette règle va générer une écriture qui va débiter le compte de l'organisme tiers de 100 € et créditer le compte de l'utilisateur de 100 €.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Compte!!Débit!!Crédit&lt;br /&gt;
|-&lt;br /&gt;
|Utilisateur||200.00 €||&lt;br /&gt;
|-&lt;br /&gt;
|Compte produit||||200.00 €&lt;br /&gt;
|-&lt;br /&gt;
|Organisme||100.00 €||&lt;br /&gt;
|-&lt;br /&gt;
|Utilisateur||||100.00 €&lt;br /&gt;
|}&lt;br /&gt;
*Dans un troisième et dernier temps, les écritures seront fusionnées.&lt;br /&gt;
&lt;br /&gt;
Au final, les écritures comptables générées devraient être les suivantes s'il n'y a pas de gestion de la TVA :&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Compte!!Débit!!Crédit&lt;br /&gt;
|-&lt;br /&gt;
|Utilisateur||100.00 €||&lt;br /&gt;
|-&lt;br /&gt;
|Organisme||100.00 €||&lt;br /&gt;
|-&lt;br /&gt;
|Compte produit||||200.00 €&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Au final, les écritures comptables générées devraient être les suivantes s'il y a gestion de la TVA (exemple avec une TVA à 20%) :&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Compte!!Débit!!Crédit&lt;br /&gt;
|-&lt;br /&gt;
|Utilisateur||100.00 €||&lt;br /&gt;
|-&lt;br /&gt;
|Organisme||100.00 €||&lt;br /&gt;
|-&lt;br /&gt;
|Compte produit||||160.00 €&lt;br /&gt;
|-&lt;br /&gt;
|TVA collectée (445710) ||||40.00 €&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Fonctionnement des variables associées aux formules de tarification==&lt;br /&gt;
&lt;br /&gt;
Voici comment procèder pour configurer la notion de variable-formule dans le gestionnaire de tarification  :&lt;br /&gt;
* Aller dans '''Ventes &amp;gt; Tarification des heures''' ou '''Ventes &amp;gt; Tarification des produits''' selon ce qu'il faut tarifier pour obtenir le tableau qui liste toutes les règles de tarification.&lt;br /&gt;
* Choisir une des règles. Par exemple, la première en haut de la liste et éditer.&lt;br /&gt;
* Dans le champ '''Nom de variable associé à la formule''', mettre &amp;quot;XYZ&amp;quot; et valider le formulaire.&lt;br /&gt;
* Choisir une autre règle. En particulier, une règle qui va se déclencher avec la première règle lors de la saisie d'une fermeture de vol ou d'une vente de produit puis éditer&lt;br /&gt;
* Dans le champ '''Nom de variable associé à la formule''', laisser cela vide. Dans le champ '''formule''', l'éditer pour rajouter la variable associée à la première formule.&lt;br /&gt;
** Par exemple, avant on a : ''$a/200''&lt;br /&gt;
** Après, on aura : ''$a/200+@XYZ''&lt;br /&gt;
** L'utilisation d'une variable associée à une formule se fait en le précédant d'un '''@'''.&lt;br /&gt;
* Cocher '''Formule seulement''' si la règle ne doit pas génèrer des entrées comptables. Cela est pratique pour créer des valeurs de variable-formule intermédiaire.&lt;br /&gt;
* Dans le cas d'une règle de tarification des heures, associer la règle à un champ additionnel de catégorie '''Entrée comptable''' ou à aucun champ.&lt;br /&gt;
* Tester une saisie d'une fermeture de vol ou d'une vente de produit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici comment cela se procède techniquement du côté de l'application pour tarifier :&lt;br /&gt;
* Recherche de toutes les règles de tarification dont les critères correspondent pour la saisie et qui sont applicables à celle-ci. Par exemple, deux règles sont trouvées.&lt;br /&gt;
* Récupération de la première règle pour analyser la formule de tarification. Visualisation qu'une variable (''@XYZ'') est associée à la formule de la règle alors lancement du calcul de la formule de tarification qui donnera ''66,50''. Application d'un arrondi sur le nombre de chiffre après la virgule en fonction de la comptabilité du compte impacté. Ensuite, stockage en mémoire que la variable ''@XYZ'' vaut ''66,50''.&lt;br /&gt;
* Récupération de la seconde règle pour analyser la formule de tarification. Visualisation qu'il n'existe pas de variable associée à la formule.&lt;br /&gt;
* Vu que la variable ''@XYZ'' a été trouvé dans la formule, récupération de sa valeur qui a été mise en mémoire puis remplacement de ''@XYZ'' par cette valeur, ici ''66,50'' même si les domaines d'application de la première règle de tarification diffèrent de la seconde.&lt;br /&gt;
* Ensuite, lancement du calcul de la formule de tarification qui donnera ''100+66,50''. Application d'un arrondi sur le nombre de chiffre après la virgule en fonction de la comptabilité du compte impacté.&lt;br /&gt;
* Dans le cas où dans la première règle, il n'y avait pas de variable associé à la formule. Au niveau de la seconde règle, la variable ''@XYZ'' serait remplacée par 0 car elle n'était pas stockée en mémoire.&lt;br /&gt;
* Dans le cas où une règle de tarification a été associée à un champ additionnel :&lt;br /&gt;
** Le champ additionnel prendra comme valeur le résultat de la formule.&lt;br /&gt;
** Si plusieurs formules ont été appliquées pour le même champ additionnel alors c'est la dernière formules qui sera prise en compte.&lt;br /&gt;
** Lors de la génération des entrées comptables par le moteur, les champs additionnels vont être associés à ces entrées comptables.&lt;br /&gt;
&lt;br /&gt;
===Exemple d'application et de non-application pour la tarification des heures===&lt;br /&gt;
&lt;br /&gt;
Voici un exemple de liste de règles de tarification :&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Formule!!Variable!!Nom de la règle!!Ressources concernées!!Types de vol concernés!!Compte à débiter!!Compte à créditer&lt;br /&gt;
|-&lt;br /&gt;
|50||X||Règle 1||Ressource F-GAX||Local||Pilote||Ressource F-GAX&lt;br /&gt;
|-&lt;br /&gt;
|@X+100||||Règle 2||Ressource F-GAX||Instruction||Pilote||Ressource F-GAX&lt;br /&gt;
|-&lt;br /&gt;
|@X+150||||Règle 3||Ressource F-TYH||Local||Pilote||Ressource F-TYH&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Saisie de vol avec comme types &amp;quot;Local&amp;quot; + &amp;quot;Instruction&amp;quot; et ressource &amp;quot;Ressource F-GAX&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Dans cet exemple, les règles 1 et 2 s'appliquent.&lt;br /&gt;
&lt;br /&gt;
Au niveau du calcul du coût de vol, cela va procéder ainsi :&lt;br /&gt;
# Récupération de la règle 1, la formule donne 50&lt;br /&gt;
# Le compte &amp;quot;Pilote&amp;quot; est débité de 50 puis le compte &amp;quot;Ressource F-GAX&amp;quot; est crédité de 50 conformément à la règle 1&lt;br /&gt;
# Stockage en mémoire de 50 dans la variable X&lt;br /&gt;
# Récupération de la règle 2, la formule va donner X+100 soit 50+100&lt;br /&gt;
# Le compte &amp;quot;Pilote&amp;quot; est débité de 150 puis le compte &amp;quot;Ressource F-GAX&amp;quot; est crédité de 150 conformément à la règle 2&lt;br /&gt;
&lt;br /&gt;
====Saisie de vol avec comme type &amp;quot;Instruction&amp;quot; et ressource &amp;quot;Ressource F-GAX&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Dans cet exemple, seule la règle 2 s'applique.&lt;br /&gt;
&lt;br /&gt;
Au niveau du calcul du coût de vol, cela va procéder ainsi :&lt;br /&gt;
# Récupération de la règle 2, la formule va donner donner X+100 soit 0+100 vu qu'il n'y a pas eu de stockage en mémoire de la variable X et que la règle 1 n'est pas applicable&lt;br /&gt;
# Le compte &amp;quot;Pilote&amp;quot; est débité de 100 puis le compte &amp;quot;Ressource F-GAX&amp;quot; est crédité de 100 conformément à la règle 2&lt;br /&gt;
&lt;br /&gt;
====Saisie de vol avec comme type &amp;quot;Instruction&amp;quot; et ressource &amp;quot;Ressource F-TYH&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Dans cet exemple, seule la règle 3 s'applique.&lt;br /&gt;
&lt;br /&gt;
Au niveau du calcul du coût de vol, cela va procéder ainsi :&lt;br /&gt;
# Récupération de la règle 3, la formule va donner donner X+150 soit 0+150 vu qu'il n'y a pas eu de stockage en mémoire de la variable X&lt;br /&gt;
# Le compte &amp;quot;Pilote&amp;quot; est débité de 150 puis le compte &amp;quot;Ressource F-TYH&amp;quot; est crédité de 150 conformément à la règle 3&lt;br /&gt;
&lt;br /&gt;
===Exemple d'application et de non-application pour la tarification des produits===&lt;br /&gt;
&lt;br /&gt;
Voici un exemple de liste de règles de tarification :&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Formule!!Variable!!Nom de la règle!!Produits concernés!!Compte à débiter!!Compte à créditer&lt;br /&gt;
|-&lt;br /&gt;
|50||X||Règle 1||Bouquin||Principal||Boutique diverse&lt;br /&gt;
|-&lt;br /&gt;
|@X+100||||Règle 2||Bouquin&amp;lt;br /&amp;gt;Porte-clé||Principal||Boutique diverse&lt;br /&gt;
|-&lt;br /&gt;
|@X+150||||Règle 3||Carte||Principal||Boutique vol&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Saisie d'une vente de produit &amp;quot;Bouquin&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Dans cet exemple, les règles 1 et 2 s'appliquent.&lt;br /&gt;
&lt;br /&gt;
Au niveau du calcul du coût de la vente, cela va procéder ainsi :&lt;br /&gt;
# Récupération de la règle 1, la formule donne 50&lt;br /&gt;
# Le compte &amp;quot;Principal&amp;quot; est débité de 50 puis le compte &amp;quot;Boutique diverse&amp;quot; est crédité de 50 conformément à la règle 1&lt;br /&gt;
# Stockage en mémoire 50 dans la variable X&lt;br /&gt;
# Récupération la règle 2, la formule va donner X+100 soit 50+100&lt;br /&gt;
# Le compte &amp;quot;Principal&amp;quot; est débité de 150 puis le compte &amp;quot;Boutique diverse&amp;quot; est crédité de 150 conformément à la règle 2&lt;br /&gt;
&lt;br /&gt;
====Saisie d'une vente de produit &amp;quot;Porte-clé&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Dans cet exemple, seule la règle 2 s'applique.&lt;br /&gt;
&lt;br /&gt;
Au niveau du calcul du coût de la vente, cela va procéder ainsi :&lt;br /&gt;
# Récupération de la règle 2, la formule va donner donner X+100 soit 0+100 vu qu'il n'y a pas eu de stockage en mémoire de la variable X et que la règle 1 n'est pas applicable&lt;br /&gt;
# Le compte &amp;quot;Principal&amp;quot; est débité de 100 puis le compte &amp;quot;Boutique diverse&amp;quot; est crédité de 100 conformément à la règle 2&lt;br /&gt;
&lt;br /&gt;
====Saisie d'une vente de produit &amp;quot;Carte&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Dans cet exemple, seule la règle 3 s'applique.&lt;br /&gt;
&lt;br /&gt;
Au niveau du calcul du coût de la vente, cela va procéder ainsi :&lt;br /&gt;
# Récupération de la règle 3, la formule va donner donner X+150 soit 0+150 vu qu'il n'y a pas eu de stockage en mémoire de la variable X&lt;br /&gt;
# Le compte &amp;quot;Principal&amp;quot; est débité de 150 puis le compte &amp;quot;Boutique vol&amp;quot; est crédité de 150 conformément à la règle 3&lt;br /&gt;
&lt;br /&gt;
==Mise en place de la facturation client==&lt;br /&gt;
&lt;br /&gt;
Sur OpenFlyers, il est possible de permettre que la saisie d'une vente de produit ou d'un vol puisse générer une ou des factures client. Pour permettre cela, éditer les règles de tarification.&lt;br /&gt;
&lt;br /&gt;
Remplir les différents champs pour les formules :&lt;br /&gt;
* '''Quantité / taux'''&lt;br /&gt;
* '''Prix unitaire hors-taxe / TVA'''&lt;br /&gt;
&lt;br /&gt;
[[FILE:Regle_tarification_formule_facturation.png]]&lt;br /&gt;
&lt;br /&gt;
Deux champs '''Groupe de facturation''' sont présents : l'un pour l'écriture de débit et l'autre pour le crédit. Y Associer un groupe de facturation permet que l'écriture générée par la règle soit incluse en tant qu'entrée de facture.&lt;br /&gt;
&lt;br /&gt;
[[FILE:Regle_tarification_groupe_facturation.png]]&lt;br /&gt;
&lt;br /&gt;
Les choix possibles sont :&lt;br /&gt;
* '''Non inclus dans une facture''' pour que l'écriture ne soit pas incluse dans la facture client.&lt;br /&gt;
* X : Un nombre indiquant dans quelle facture client l'écriture va être incluse.&lt;br /&gt;
&lt;br /&gt;
===Mettre en place une seule facture client pour la saisie===&lt;br /&gt;
&lt;br /&gt;
* Editer les règles de tarification applicables qui doivent figurer dans la facture client&lt;br /&gt;
* Y affecter le même groupe de facturation à ces règles. Par exemple 1.&lt;br /&gt;
&lt;br /&gt;
===Mettre en place plusieurs factures client pour la saisie===&lt;br /&gt;
&lt;br /&gt;
* Editer les règles de tarification applicables qui doivent figurer dans la première facture client.&lt;br /&gt;
* Y affecter un numéro de facturation à des règles. Par exemple 1.&lt;br /&gt;
* Editer les règles de tarification applicables qui doivent figurer dans la second facture client.&lt;br /&gt;
* Y affecter un groupe de facturation à des règles autre que 1. Par exemple 2.&lt;br /&gt;
* Editer les règles de tarification applicables qui doivent figurer dans la troisième facture client.&lt;br /&gt;
* Y affecter un groupe de facturation à des règles autre que 1 et 2. Par exemple 3.&lt;br /&gt;
* Répéter ce processus pour chacune des différentes factures à créer.&lt;br /&gt;
&lt;br /&gt;
==Facturation périodique==&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement de la facturation périodique===&lt;br /&gt;
&lt;br /&gt;
La facturation périodique se déclenche tous les jours aux alentours de minuit, fuseau Europe/Paris. Elle procède ainsi :&lt;br /&gt;
* Récupération de toutes les [[#Ajout_d'une_tâche_de_facturation_périodique|tâches de facturation périodique]] ayant la règle &amp;quot;every ...&amp;quot;&lt;br /&gt;
* Analyse de la règle &amp;quot;every ...&amp;quot; pour vérifier si la tâche doit être exécutée ou non pour ce jour. Si exécution :&lt;br /&gt;
** Récupération de toutes les règles de tarification rattachées à la tâche exécutée&lt;br /&gt;
** Pour chaque règle trouvée :&lt;br /&gt;
*** Analyse de la [[#Requête_SQL_de_facturation_périodique|requête affectée à la règle]] pour initialiser des variables nécessaires pour la tarification&lt;br /&gt;
*** [[#Cascade_d'écritures_comptables|Traduction de la règle et tarification]]&lt;br /&gt;
&lt;br /&gt;
===Mise en place de la facturation périodique===&lt;br /&gt;
&lt;br /&gt;
====Ajout d'un produit pour la facturation périodique====&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Admin &amp;gt; Ventes &amp;gt; Produits'''&lt;br /&gt;
* Créer un produit :&lt;br /&gt;
** '''Nom''' : Facturation périodique&lt;br /&gt;
** '''Type de vente''' : '''Produit périodique'''&lt;br /&gt;
** Les autres champs : A paramétrer selon les besoins&lt;br /&gt;
&lt;br /&gt;
====Ajout d'une tâche de facturation périodique====&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Admin &amp;gt; Ventes &amp;gt; Tarification des heures &amp;gt; Facturation périodique'''&lt;br /&gt;
* Ajouter une nouvelle ligne&lt;br /&gt;
* La colonne '''Evènement''' permet de définir quand va être lancé la tâche. Mettre l'un de ces textes à personnaliser :&lt;br /&gt;
**Pour une tâche lancée quotidiennement : '''every(* * *)''' &lt;br /&gt;
**Pour une tâche lancée tous les 1er février : '''every(1 2 *)'''&lt;br /&gt;
**Pour une tâche lancée tous les 1er d'un mois : '''every(1 X *)'''. Remplacer &amp;quot;X&amp;quot; par le numéro du mois&lt;br /&gt;
&lt;br /&gt;
====Ajout de règles de tarification pour la tâche de facturation====&lt;br /&gt;
&lt;br /&gt;
*Ajouter une règle de tarification des heures de vol&lt;br /&gt;
*Dans le champ '''Produit''', sélectionner le [[#Ajout_d'un_produit_pour_la_facturation_périodique|produit périodique créé]].&lt;br /&gt;
*Dans le champ '''Tâche''', choisir la [[#Ajout_d'une_tâche_de_facturation_périodique|tâche de facturation périodique]] qui déclenchera la règle de tarification. Il n'est pas possible de sélectionner la tâche &amp;quot;Close flight&amp;quot; à une règle de tarification affectée à un produit périodique.&lt;br /&gt;
*Dans le champ '''Requête''', ajouter une [[#Requête_SQL_de_facturation_périodique|requête SQL]] qui va permettre d'obtenir la liste des éléments à facturer.&lt;br /&gt;
&lt;br /&gt;
=====Requête SQL de facturation périodique=====&lt;br /&gt;
Les requêtes SQL permettent de définir la liste d'éléments sur lesquels les règles de tarification périodique devront s'appliquer.&lt;br /&gt;
&lt;br /&gt;
Les requêtes doivent être de type '''SELECT''' et le nom de chaque colonne doit être unique. Il est possible d'aliaser ces colonnes à un [[OF_doc-en::CommonFormula#variables|nom de variable]].&lt;br /&gt;
&lt;br /&gt;
Le résultat retourné doit être le suivant, peu importe l'ordre :&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
!Donnée attendue!!Présence obligatoire!!Variable affectée!!Valeur par défaut&lt;br /&gt;
|-&lt;br /&gt;
|Id de la personne en première place||OUI||%PILOT||&lt;br /&gt;
|-&lt;br /&gt;
|Id de la personne en seconde place||NON||%PILOT2||0&lt;br /&gt;
|-&lt;br /&gt;
|Données métier : Nombre de jour entier d'une réservation||NON||%BOOKING_FULL_DAYS||0&lt;br /&gt;
|-&lt;br /&gt;
|Données métier : Id de la réservation. Lorsque l'id est un nombre supérieur à zéro, un [[#Traitement_spécifique_de_la_facturation_périodique|traitement spécifique est réalisé]]||NON||%BOOKING||&lt;br /&gt;
|-&lt;br /&gt;
|Données métier||NON||Consulter la [[OF_doc-en::CommonFormula#variables|liste des variables]]||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemple de requête pour facturer les utilisateurs ayant une réservation au jour :&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT person_id AS '%PILOT', instructor_id AS '%PILOT2', id AS '%BOOKING'&lt;br /&gt;
FROM booking&lt;br /&gt;
WHERE DATE(start_date) = UTC_DATE()&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple de requête pour facturer les utilisateurs :&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT id AS '%PILOT'&lt;br /&gt;
FROM person&lt;br /&gt;
WHERE activated=1&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Traitement spécifique de la facturation périodique===&lt;br /&gt;
&lt;br /&gt;
La présence de la variable [[#Requête_SQL_de_facturation_périodique|%BOOKING dans la requête SQL d'une règle]] déclenche un traitement supplémentaire qui rattache les écritures générées aux réservations afin de :&lt;br /&gt;
* Facturer les réservations qui n'ont pas été déjà facturées&lt;br /&gt;
* Facturer le surplus pour les réservations qui ont été modifiées pour rallonger la durée de réservation&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Utilisation-de-la-comptabilit%C3%A9&amp;diff=15227</id>
		<title>Utilisation de la comptabilité</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Utilisation-de-la-comptabilit%C3%A9&amp;diff=15227"/>
				<updated>2017-05-09T15:10:19Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Clôturer l'exercice comptable */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire la saisie des opérations de [[Comptabilité|comptabilité]].&lt;br /&gt;
&lt;br /&gt;
=Clôturer l'exercice comptable=&lt;br /&gt;
''Attention : la clôture de la comptabilité ne doit être effectuée qu'une fois qu'on est sûr et certain de ne plus avoir à intervenir sur l'exercice à clôturer. Cette opération doit donc être temporisée dans le temps sachant qu'il est tout à fait possible de poursuivre son activité sur l'exercice suivant sans que l'exercice précédent ne soit clôturé.''&lt;br /&gt;
&lt;br /&gt;
OpenFlyers affiche une [[Alertes de configuration#L'exercice_comptable_courant_a_plus_d'un_an|alerte lorsque l'exercice en cours est ouvert depuis 400 jours]].&lt;br /&gt;
&lt;br /&gt;
Avant de clôturer, il faut :&lt;br /&gt;
*Si le bilan est effectué dans OpenFlyers, [[Écritures comptables#Écritures_de_fin_d'exercice_avant_la_clôture_de_la_comptabilité|saisir les écritures de fin d'exercice]]&lt;br /&gt;
*Dans tous les cas, [[#Solder-les-comptes|remettre à 0 les soldes des comptes d'exploitation]].&lt;br /&gt;
*Valider toutes les écritures antérieures à la date de clôture.&lt;br /&gt;
En effet, on ne peut clôturer qu'une période pour laquelle toutes les écritures comptables ont été validées sinon cela engendre [[Alertes-administrateur#Alertes-lors-de-la-clôture-de-la-comptabilité|des alertes]]. Pour cela, il peut être nécessaire de [[#Retrouver-les-écritures-non-validées|retrouver les écritures non validées]]. Il n'est également pas possible de clôturer sur une date future.&lt;br /&gt;
&lt;br /&gt;
Ensuite, pour clôturer :&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Gestion / Export'''.&lt;br /&gt;
*Dans la 2ème partie intitulée '''Gestion de l'exercice comptable''', renseigner le champ '''Date de clôture'''.&lt;br /&gt;
La date de début de nouvel exercice est automatiquement actualisée.&lt;br /&gt;
&lt;br /&gt;
Pour une structure qui a un exercice annuel correspondant à l'année civile les dates devraient être 31/12/XXXX et 01/01/XXXX+1&lt;br /&gt;
*Cliquer sur le bouton '''Clôturer l'exercice puis ouvrir un nouvel exercice'''.&lt;br /&gt;
&lt;br /&gt;
=Exporter la comptabilité=&lt;br /&gt;
''Conseil OpenFlyers : l'export de la comptabilité nécessite au préalable des actions irréversibles comme la validation de l'ensemble des écritures. Pour les personnes débutantes avec cette fonction et qui souhaite pouvoir exporter sans effectuer ces actions irréversibles, il est recommandé de [[Modèle-commercial-et-compte-client-OpenFlyers#Plateforme-supplémentaire-de-test|s'entrainer avec le bac à sable]] en effectuant une recopie de sa plateforme de production.''&lt;br /&gt;
==Actions à effectuer par ordre chronologique==&lt;br /&gt;
OpenFlyers permet d'exporter uniquement les [[Bien débuter avec OpenFlyers#Validation_des_écritures|écritures validées]] et ainsi ne propose par défaut comme période d'export que la période maximum exportable ne contenant que des écritures validées.&lt;br /&gt;
&lt;br /&gt;
Les exports se font généralement à intervalle régulier : tous les mois, tous les trimestres ou tous les ans.&lt;br /&gt;
&lt;br /&gt;
Si vous n'avez pas de logiciel de comptabilité, il est recommandé d'effectuer quand même l'export et de l'archiver sur un support de stockage (disque dur par exemple) pour conservation.&lt;br /&gt;
&lt;br /&gt;
Dans le cas du dernier export d'un exercice comptable donné, il est important de décider avant l'export si tout ou partie des écritures de fin d'exercice doivent être réalisées avant ou après. En général, si l'export sert ensuite à être retravaillé dans un logiciel de comptabilité, alors les écritures de fin d'exercice seront réalisées dans le logiciel de comptabilité et il ne faudra faire le &amp;quot;nettoyage&amp;quot; côté OpenFlyers qu'à l'issue de l'export comptable officiel. Ainsi les points 2 et 3 des &amp;quot;Opérations à effectuer avant tout export&amp;quot; ci-dessous doit être, dans certains cas, réalisé en partie ou en totalité après le point 2 des &amp;quot;Opérations supplémentaires pour l'export de fin d'exercice&amp;quot; ci-dessous.&lt;br /&gt;
&lt;br /&gt;
De plus, si vous utilisez un logiciel de comptabilité uniquement pour le bilan, c'est à dire que les charges sont gérées dans OpenFlyers, alors la clôture dans OpenFlyers doit être faite après la clôture dans ce logiciel de comptabilité. Il est ainsi possible de vérifier que les &amp;quot;A nouveaux&amp;quot; sont identiques dans les 2 logiciels et de corriger dans OpenFlyers si nécessaire. Il existe un [[OF_doc-en:Accounting_exports_3#Carry_forwards|rapport qui permet d'avoir les à nouveaux]].&lt;br /&gt;
&lt;br /&gt;
Prérequis à tout export comptable :&lt;br /&gt;
*[[Configuration de la comptabilité#Comptes_d'export|Attribuer les comptes d'export]] pour ne pas avoir l'alerte &amp;quot;[[#Vous_ne_pouvez_exporter_car_il_y_a_des_comptes_sans_valeur_d'export|Vous ne pouvez exporter car il y a des comptes sans valeur d'export]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Opérations à effectuer pour tout export :&lt;br /&gt;
#[[#Retrouver-les-écritures-non-validées|Retrouver les écritures non validées]] pour [[Bien débuter avec OpenFlyers#Validation_des_écritures|les valider]]&lt;br /&gt;
#[[#Export_de_la_comptabilité|Export de la comptabilité]]&lt;br /&gt;
#[[Import dans un logiciel comptable tiers|import dans un logiciel de comptabilité]]&lt;br /&gt;
&lt;br /&gt;
Opérations supplémentaires pour l'export de fin d'exercice :&lt;br /&gt;
#[[Écritures comptables#Écritures_de_fin_d'exercice_avant_la_clôture_de_la_comptabilité|Écritures de fin d'exercice avant la clôture de l'exercice]] dont le [[#Solder-les-comptes|solde des comptes d'exploitation]]&lt;br /&gt;
#Validation des écritures de fin d'exercice par la [[Utilisation de la comptabilité#Validation_d'un_flux|validation des flux]] correspondant.&lt;br /&gt;
#Ultime export pour stockage [[#Marquer_les_écritures_lors_de_l'export|en marquant les écritures]].&lt;br /&gt;
#[[#Clôturer-l'exercice-comptable|Clôture / ouverture du nouvel exercice comptable]].&lt;br /&gt;
#[[Écritures comptables#Écritures_de_début_d'exercice_après_l'ouverture_de_la_comptabilité|Écritures de début d'exercice après l'ouverture de la comptabilité]].&lt;br /&gt;
&lt;br /&gt;
==Alertes générées lors d'une tentative d'[[Utilisation de la comptabilité#Les_exports_comptables|export comptable]]==&lt;br /&gt;
===Vous ne pouvez exporter car il y a des comptes sans valeur d'export===&lt;br /&gt;
Cette alerte bloquante apparait dans '''Comptes &amp;gt; Gestion / Export''' avec les éléments suivants :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous ne pouvez exporter car il y a des comptes sans valeur d'export&lt;br /&gt;
intitulé de compte X (type de compte Y)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Pour supprimer cette alerte, il faut [[Configuration de la comptabilité#Comptes_d'export|attribuer les comptes d'export manquants]].&lt;br /&gt;
&lt;br /&gt;
==Export de la comptabilité==&lt;br /&gt;
Pour exporter la comptabilité, il faut :&lt;br /&gt;
*Aller côté '''Admin'''&lt;br /&gt;
*Puis '''Comptes &amp;gt; Gestion / Export'''&lt;br /&gt;
3 parties se superposent :&lt;br /&gt;
*'''Solder les comptes'''&lt;br /&gt;
*'''Gestion de l'exercice comptable'''&lt;br /&gt;
*'''Statistiques'''/ '''Export de la comptabilité'''&lt;br /&gt;
Le tableau '''Statistiques''' donne des informations sur les écritures. Sa lecture est indispensable pour vérifier qu'il ne subsiste pas d'écriture non validée antérieures à la fin de la période d'export souhaitée. Si c'est le cas, il faut alors [[#Retrouver-les-écritures-non-validées|trouver les écritures non validées]] et les valider.&lt;br /&gt;
&lt;br /&gt;
Au-dessous du titre apparait la période que l'on souhaite exporter. Attention: la période proposée par défaut correspond à la plus grande période possible et ne correspond donc pas à la période souhaitée. Il faut donc modifier la date de fin.&lt;br /&gt;
&lt;br /&gt;
Exemples :&lt;br /&gt;
*Si on souhaite exporter '''une année civile complète''', alors il faut sélectionner comme date de fin le 31 décembre.&lt;br /&gt;
*Si on souhaite exporter '''un mois''', il faut sélectionner comme date de fin le dernier jour du mois concerné.&lt;br /&gt;
&lt;br /&gt;
Il est également possible de marquer les écritures exportées afin qu'elles ne soient plus ré-exportées. Cependant, à la place de cette zone de saisie, il peut apparaitre la liste des comptes sans [[#Compte_d'export|valeur d'export]] c'est à dire sans le numéro de compte du plan comptable. Dans ce cas, il faut d'abord rechercher le compte concerné dans '''Comptes &amp;gt; Lister les comptes''' puis attribuer au compte concerné une valeur d'export.&lt;br /&gt;
*Cocher ou non '''[[#Marquer_les_écritures_lors_de_l'export|Marquer les écritures]]'''.&lt;br /&gt;
*L'export s'effectue en cliquant sur le bouton '''Exporter''' de la ligne du logiciel vers lequel on souhaite exporter.&lt;br /&gt;
*Il faut ensuite [[Import dans un logiciel comptable tiers|importer dans un logiciel comptable tiers]].&lt;br /&gt;
&lt;br /&gt;
'''Remarques :'''&lt;br /&gt;
*Il n'est possible d'exporter que des écritures validées. Par conséquent s'il subsiste des écritures non validées sur la période d'export souhaité, alors une alerte apparaitra signalant qu'il n'est pas possible d'exporter la période souhaitée.&lt;br /&gt;
*Dans le fichier d'export, les écritures sont triées par numéro de flux.&lt;br /&gt;
&lt;br /&gt;
===Marquer les écritures lors de l'export===&lt;br /&gt;
Lors d'un export comptable, OpenFlyers donne la possibilité de marquer ou non les écritures qui vont être exportées. Cela permet :&lt;br /&gt;
*Soit de pouvoir ré-exporter des écritures déjà exportées (mais non marquées)&lt;br /&gt;
*Soit au contraire de ne plus exporter des écritures dont OpenFlyers sait qu'elles ont déjà été exportées car marquées.&lt;br /&gt;
&lt;br /&gt;
Ce choix se fait dans le formulaire d'export en cochant '''Marquer les écritures (elles ne pourront plus être exportées de nouveau)'''.&lt;br /&gt;
&lt;br /&gt;
Il est conseillé de toujours procéder à un 1er export sans marquer les écritures. Ainsi, si l'export se passe mal, on aura la garantie de pouvoir le refaire.&lt;br /&gt;
&lt;br /&gt;
=Mettre à jour les tarifs=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Ventes &amp;gt; Prix &amp;gt; Actualisation des prix'''&lt;br /&gt;
[[Image:Menu-vente-prix-actualisation-des-prix.png]]&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur le bouton '''Modifier''' en bas du tableau et '''non pas sur l'icône crayon à droite de la ligne de tarif'''.&lt;br /&gt;
[[Image:Tableau-vente-prix-actualisation-de-prix.png]]&lt;br /&gt;
&lt;br /&gt;
*Saisir une nouvelle valeur et la date à partir de laquelle le tarif s'appliquera. Vous pouvez anticiper un changement de tarif. Le tarif s'appliquera à la date du mouvement.&lt;br /&gt;
[[Image:Ajout-nouvelle-valeur-variable-tarif.png]]&lt;br /&gt;
&lt;br /&gt;
'''Attention''': si vous cliquez sur l'icône &amp;quot;Édition&amp;quot; (Crayon dans la colonne action) et que vous modifiez la valeur, alors vous changez le prix de cette période mais vous ne créez pas un nouveau tarif. Vous perdrez toute possibilité de corriger par exemple un vol à une date donnée. &lt;br /&gt;
&lt;br /&gt;
*Si vous avez le message d'erreur &amp;quot;chaque variable doit disposer d'une valeur antérieure à la date de début de l'exercice comptable&amp;quot; cela signifie que la variable ne possède pas de valeur entre la date de début d'exercice (date définie dans '''Admin &amp;gt; Comptes &amp;gt; Gestion &amp;amp; Export''') et la date indiquée. Le programme refuse qu'il y ai un &amp;quot;trou tarifaire&amp;quot; (vols non facturés). &lt;br /&gt;
*Chaque variable utilisée dans les formules de tarification doit avoir une valeur initialisée depuis une date antérieure à la date de début de l'exercice comptable&lt;br /&gt;
&lt;br /&gt;
=Opérations sur les comptes=&lt;br /&gt;
&lt;br /&gt;
==Créer un compte==&lt;br /&gt;
&lt;br /&gt;
===Créer un compte ressource===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte ressource, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressource &amp;gt; Comptes ressource'''.&lt;br /&gt;
*Dans la ligne de la ressource concernée, cliquer sur l'icône check du compte souhaité.&lt;br /&gt;
&lt;br /&gt;
===Créer un compte utilisateur===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte utilisateur, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs&amp;gt; Comptes utilisateur'''.&lt;br /&gt;
*Dans la ligne de l'utilisateur concerné, cliquer sur l'icône check du compte souhaité.&lt;br /&gt;
&lt;br /&gt;
===Créer un compte non-ressource non-utilisateur===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Lister les comptes &amp;gt; Tous les comptes'''.&lt;br /&gt;
*En bas du tableau, remplir la ligne et choisir la catégorie du compte&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
&lt;br /&gt;
==Créer un type de compte==&lt;br /&gt;
&lt;br /&gt;
===Créer un type de compte ressource===&lt;br /&gt;
&lt;br /&gt;
Pour créer un type de compte ressource, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Types de compte actifs''' puis cliquer sur le bouton '''Ajouter un compte'''.&lt;br /&gt;
*Saisir les champs du formulaire et valider .&lt;br /&gt;
&lt;br /&gt;
==Désactiver un compte==&lt;br /&gt;
Pour désactiver un compte qui ne doit plus être utilisé, il faut que :&lt;br /&gt;
* le compte ne doit pas créer de trou dans la comptabilité. C'est à dire que :&lt;br /&gt;
** le [[#Solder_un_compte|solde du compte doit être à 0]]&lt;br /&gt;
** les écritures associées à ce compte doivent être toutes validées&lt;br /&gt;
* le compte ne doit pas être utilisé dans une règle de tarification. Cela concerne directement les comptes et non pas les types de comptes. Ainsi, il est possible de désactiver un compte utilisateur ou un compte ressource alors qu'il existe des règles de tarification qui utilisent le même type de compte que le compte à désactiver.&lt;br /&gt;
* dans le cas d'un compte de type utilisateur, l'utilisateur possédant ce compte ne doit pas être lié à un profil qui requiert le type de compte &lt;br /&gt;
* le compte ne doit pas être utilisé par un type de facture fournisseur&lt;br /&gt;
Ensuite, on peut procéder à sa désactivation en cliquant sur l'icône symbolisant une poubelle sur la ligne de ce compte. Un compte n'ayant jamais eu d'écriture est supprimé au lieu de passer à l'état désactivé.&lt;br /&gt;
&lt;br /&gt;
==Lister les comptes==&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Comptes ressource''' pour obtenir les comptes ressource&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs &amp;gt; Comptes utilisateur''' pour obtenir les comptes utilisateur&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Lister les comptes &amp;gt; Tous les comptes''' pour obtenir les autres comptes.&lt;br /&gt;
&lt;br /&gt;
Dans ces pages, le solde de chaque compte est calculé en prenant les écritures datant du début d'exercice comptable jusqu'à la date et l'heure courante. Ainsi, les écritures comptables avec une date comptable future ne sont pas prises en compte pour le calcul du solde.&lt;br /&gt;
&lt;br /&gt;
=Retrouver les écritures non validées=&lt;br /&gt;
S'il y a beaucoup d'écritures à valider, il faut procéder de façon systématique en parcourant chaque interface de validation :&lt;br /&gt;
*Pour les vols, aller dans '''Admin &amp;gt; Vols &amp;gt; Liste des vols''' puis '''Valider les vols sélectionnés''' pour chaque aéronef.&lt;br /&gt;
*Pour les encaissements, aller dans '''Admin &amp;gt; Comptes &amp;gt; Pointer''' et choisir chaque type de paiement.&lt;br /&gt;
*Pour les transferts, aller dans '''Admin &amp;gt; Comptes &amp;gt; Valider les flux''' puis '''valider les transferts'''.&lt;br /&gt;
*Pour les factures, aller dans '''Admin &amp;gt; Achats &amp;gt; Liste des factures fournisseurs'''.&lt;br /&gt;
*Pour les ventes, aller dans '''Admin &amp;gt; Ventes &amp;gt; Valider les ventes'''. Choisir ses critères de recherche et valider le formulaire. Ensuite cocher les différentes ventes listées puis '''Pointer les entrées sélectionnées'''.&lt;br /&gt;
En procédant ainsi, il ne doit normalement ne pas subsister d'écriture à valider. Cependant, si l'essentiel des écritures a été validé, alors il est plus rapide de rechercher les écritures à valider que de parcourir chaque interface de validation.&lt;br /&gt;
&lt;br /&gt;
Pour rechercher les écritures restantes à valider, il faut :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Gestion / Export'''&lt;br /&gt;
En-dessous du titre '''Statistiques''' figure un tableau :&lt;br /&gt;
&lt;br /&gt;
[[Image:Tableau_statistiques_gestion-export.png]]&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessus, on peut voir à la ligne ''Ecritures non validées'', colonne ''Date de première écriture'' l'horodatage &amp;quot;19/08/2013 14:45&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Cela veut dire qu'il y a au moins une écriture qui date du 19 août 2013 et qui n'a pas été validée.&lt;br /&gt;
&lt;br /&gt;
Pour retrouver cette écriture non validée, il faut :&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Mouvements'''&lt;br /&gt;
*Rechercher l'écriture d'après la date indiquée.&lt;br /&gt;
Son contenu permettra de savoir s'il s'agit d'un vol, d'un encaissement, d'un flux, etc. Si un doute subsiste sur le type d'écriture, il faut cliquer sur l'icône &amp;quot;modifier&amp;quot; de l'écriture considérée afin de se retrouver dans son formulaire d'édition.&lt;br /&gt;
&lt;br /&gt;
Remarques :&lt;br /&gt;
*Le nombre d'écritures non validées indiqué dans le tableau '''Statistiques''' correspond au nombre TOTAL d'écritures non validées. En effet, OpenFlyers sait quand est-ce que vous commencez un exercice mais il ne sait pas quand est-ce que vous voulez qu'il s'arrête. Donc il prend toutes les écritures non validées.&lt;br /&gt;
*OpenFlyers ne permet d'exporter ou de clôturer que la période qui inclut des écritures validées. Dès qu'il rencontre une écriture non validée, il bloque toute action d'export ou de clôture.&lt;br /&gt;
&lt;br /&gt;
=Saisie d'écritures comptables=&lt;br /&gt;
==Saisie d'un flux==&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Saisir un flux'''&lt;br /&gt;
*Sélectionner sur la première ligne de compte, le compte concerné&lt;br /&gt;
*Remplir le champ débit ou crédit selon le cas&lt;br /&gt;
*Sélectionner sur la 2ème ligne un compte de contre-partie&lt;br /&gt;
*Sur cette 2ème ligne, cliquer sur l'icône qui symbolise une balance avec une flèche bleue et intitulé &amp;quot;Equilibrer la dernière ligne&amp;quot;&lt;br /&gt;
*Remplir le champ '''commentaires'''&lt;br /&gt;
*Choisir une date comptable dans le champ '''Date comptable''' en cliquant sur l'icône associée.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
Remarque : La date comptable proposée par défaut correspond à la date comptable du dernier flux saisi. Cela permet de faciliter les [[Comptabilité#Règles_de_saisies_de_la_comptabilité_courante|saisies au vu du relevé de banque]].&lt;br /&gt;
&lt;br /&gt;
==Validation d'un flux==&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Valider les flux'''&lt;br /&gt;
*Cocher dans la 1ère colonne '''Pointer''' les lignes à valider&lt;br /&gt;
*Cliquer sur le bouton '''Valider les flux sélectionnés (cette action est irréversible)'''&lt;br /&gt;
&lt;br /&gt;
==Annuler l'effet d'une écriture comptable==&lt;br /&gt;
Dans le cas où une écriture comptable a été validée, il n'est plus possible de la supprimer pour assurer la [[Comptabilité#Traçabilité_des_écritures|traçabilité des écritures]]. De ce fait, le seul moyen d'en annuler son effet consiste à saisir une écriture opposée. Pour cela, il faut [[#Saisie_d'un_flux|saisir un flux]] en sélectionnant les comptes mis en jeu dans l'écriture à annuler en choisissant de débiter ou créditer du même montant (mais dans le sens opposé) que l'écriture initiale.&lt;br /&gt;
&lt;br /&gt;
Exemple : Un compte A a été débité de 100 € et la contre-partie a été sur un compte B. Pour annuler l'effet de cette écriture, il faut [[#Saisie_d'un_flux|saisir un flux]] qui va créditer le compte A de 100 € et débiter le compte B du même montant.&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'une vente de produit type &amp;quot;pack d'heures&amp;quot;, il ne faut pas oublier d'annuler également les mouvements concernant les crédits d'heures.&lt;br /&gt;
&lt;br /&gt;
Cette solution permet de garder une traçabilité des écritures qui peuvent avoir été saisies par d'autres personnes et surtout qui peuvent affecter des comptes d'utilisateurs.&lt;br /&gt;
&lt;br /&gt;
C'est comme pour un compte bancaire : un banquier ne supprime jamais une écriture sur un compte client. Il passe simplement une nouvelle écriture qui annule l'effet de la précédente.&lt;br /&gt;
&lt;br /&gt;
==[[Écritures comptables#Avoir_clients|Saisie d'un avoir client]]==&lt;br /&gt;
Il faut [[#Saisie_d'un_flux|saisir un flux]] qui va créditer un compte utilisateur/client d'un certain montant et débiter un compte produit &amp;quot;Remise X&amp;quot; du même montant.&lt;br /&gt;
&lt;br /&gt;
==Solder un compte==&lt;br /&gt;
Pour solder un compte, il faut [[#Saisie_d'un_flux|saisir un flux]] avec la particularité que l'on souhaite &amp;quot;ramener le solde à zéro&amp;quot; d'un compte donné. Pour cela, il faut en plus des [[#Saisie_d'un_flux|opérations]] indiquées pour la saisie d'un flux, il faut :&lt;br /&gt;
*dans la première ligne de compte, sélectionner le compte concerné&lt;br /&gt;
*Cliquer sur l'icône qui symbolise une balance intitulé &amp;quot;Ramener le solde à zéro&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de compte de contre-partie dans le cas de la mise à zéro du solde d'un compte ressource : compte de bilan [[Comptabilité#Compte-de-report-à-nouveau|Report à nouveau]]&lt;br /&gt;
&lt;br /&gt;
==Retrouver les flux supprimés sans permission==&lt;br /&gt;
&lt;br /&gt;
Pour retrouver des flux supprimés sans permission, il est possible de consulter les logs. Deux rapports ont été créés pour faciliter cette tâche.&lt;br /&gt;
&lt;br /&gt;
Le premier rapport &amp;quot;[[OF_doc-en::Export_generator_3#People_who_have_deleted_encashments/flows_without_having_the_permission|liste des personnes ayant supprimés des encaissements/flux sans permission]]&amp;quot; permet d'obtenir en outre de la personne, la date de la suppression et le numéro de flux supprimé.&lt;br /&gt;
&lt;br /&gt;
Le second rapport &amp;quot;[[OF_doc-en::Export_generator_3#Historic_of_changes_for_a_specific_encashment/flow|Liste des changements spécifiques à un encaissement/flux]]&amp;quot; permet de connaître les détails d'un flux. Ce rapport est lié au champ additionnel &amp;quot;Numéro de flux&amp;quot; qui doit être préalablement créé.&lt;br /&gt;
&lt;br /&gt;
Pour avoir le détail de tous les flux supprimés, procéder ainsi :&lt;br /&gt;
# Ouvrir deux onglets sur le navigateur.&lt;br /&gt;
# Dans ces onglets, se rendre dans la page qui liste les rapports '''Admin &amp;gt; Rapports &amp;gt; Structure &amp;gt; Visualiser'''.&lt;br /&gt;
# Dans le premier onglet, sélectionner le premier rapport et valider pour avoir la liste des numéros de flux.&lt;br /&gt;
# Copier un numéro de flux (numéro dans la colonne &amp;quot;flowid&amp;quot;).&lt;br /&gt;
# Dans le second onglet, coller le numéro de flux dans le champ destiné. Sélectionner le second rapport et valider pour avoir le détail du flux.&lt;br /&gt;
# Répéter l'opération 4 et 5 pour chaque numéro de flux dont il faut les détails.&lt;br /&gt;
&lt;br /&gt;
=Solder les comptes=&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Gestion / Export'''&lt;br /&gt;
*Dans le formulaire '''Solder les comptes''' :&lt;br /&gt;
*Laisser tous les comptes &amp;quot;Ressources&amp;quot; cochés sauf si certains ne sont pas des comptes d'exploitation&lt;br /&gt;
*La date proposée dans le champ '''A la date du''' doit correspondre au 31 décembre de l'année de l'exercice comptable en cours&lt;br /&gt;
*Dans le champ '''Comptabilité''', sélectionner la comptabilité souhaitée : il faudra effectuer cette opération pour chacune des comptabilités de la plateforme&lt;br /&gt;
*Dans le chmp '''Compte de contrepartie''', sélectionner le compte de bilan souhaité, normalement il s'agit du compte '''Report à nouveau (Bilan)''' pour la comptabilité générale&lt;br /&gt;
*Cliquer sur le bouton '''Générer les écritures'''&lt;br /&gt;
&lt;br /&gt;
Ce module génère alors un unique flux qui solde les comptes de charges, de produits et ceux liés aux ressources vers un compte de contrepartie de sorte que ces comptes soient ramenés à 0 à la date sélectionnée.&lt;br /&gt;
&lt;br /&gt;
Seuls les comptes actifs sont pris en compte.&lt;br /&gt;
&lt;br /&gt;
=Factures fournisseurs=&lt;br /&gt;
==Saisie des factures fournisseurs==&lt;br /&gt;
Nous conseillons de se connecter en https à votre plateforme https://openflyers.com/nom-de-plateforme/index.php&lt;br /&gt;
*Depuis la page du planning de réservation, cliquer sur le menu '''Admin''' : [[Image:accueil_espace_client.png]]&lt;br /&gt;
*Cliquer sur le menu '''Achats &amp;gt; Saisie Factures fournisseurs'''.&lt;br /&gt;
*Vous vous retrouvez alors avec le formulaire de saisie suivant :&lt;br /&gt;
[[Image:saisie_facture_fournisseur_vierge.png]]&lt;br /&gt;
&lt;br /&gt;
2 cas peuvent se présenter :&lt;br /&gt;
*Soit [[#Saisie_d'une_facture_fournisseur_dont_le_type_de_facture_est_déjà_enregistré|le type de facture fournisseur correspondant à la facture à saisir est déjà existant]]&lt;br /&gt;
*Soit la facture fournisseur à saisir nécessite la création d'un nouveau type de facture fournisseur. Dans ce cas, il existe plusieurs façons de créer un nouveau type de facture fournisseur dont la possibilité de [[#Saisie_d'une_facture_fournisseur_dont_le_type_est_nouveau|le faire directement en saisissant la facture]].&lt;br /&gt;
&lt;br /&gt;
===Saisie d'une facture fournisseur dont le type de facture est déjà enregistré===&lt;br /&gt;
*Sélectionner le '''type de facture fournisseur''' correspondant à la facture à saisie. Le nombre de champs à renseigner se réduit alors automatiquement :&lt;br /&gt;
[[Image:facture_fournisseur_à_compléter.png]]&lt;br /&gt;
*Reporter sur la facture originale le '''numéro de pointage''' qui apparaît dans le formulaire. Ce numéro de pointage est unique et permet de rapprocher les factures fournisseurs saisies dans OpenFlyers avec leurs originaux.&lt;br /&gt;
*Cocher &amp;quot;'''J'ai bien pris en compte cette valeur et je l'ai reporté sur ma facture'''&amp;quot;. A défaut, si vous validez, le système refusera votre saisie et une alerte apparaitra.&lt;br /&gt;
*Le champ '''Description''' permet d'indiquer toute information utile concernant la facture et d'en faciliter la recherche ultérieure.&lt;br /&gt;
*Indiquer la date de facturation en cliquant sur le calendrier. Il est possible de paramétrer le format d'affichage de la date en allant dans le menu '''Données/Affichage''' puis de modifier le contenu du champ '''fiche personnelle/Patron de format de date'''.&lt;br /&gt;
*Renseigner le '''montant hors taxe'''&lt;br /&gt;
*Renseigner la '''TVA''' (champ visible uniquement si la comptabilité est paramétrée pour la prise en compte de la TVA). Si la TVA est nulle, il faut indiquer 0.&lt;br /&gt;
*Cliquer sur '''Valider''' ou '''Valider et Saisir le suivant''' si vous avez plusieurs factures à saisir à la volée. Dans ce dernier cas, le formulaire de saisie de facture fournisseur s'affiche à nouveau et il faut reprendre les opérations de saisie depuis le début de ce paragraphe.&lt;br /&gt;
&lt;br /&gt;
===Saisie d'une facture fournisseur dont le type est nouveau===&lt;br /&gt;
Lors de la saisie d'un nouveau compte fournisseur, aucun élément n'est renseigné par défaut et le formulaire à la forme suivante :&lt;br /&gt;
&lt;br /&gt;
[[Image:Saisie_facture_fournisseur_vierge.png]]&lt;br /&gt;
&lt;br /&gt;
Plusieurs parties du formulaire peuvent se réduire à partir du moment où dans le champ précédant la partie réductible, l'utilisateur remplace '''Autre...''' par un choix proposé. A contrario, en laissant '''Autre...''' ou '''Associer un nouveau compte''' (dans le cas du premier champ), c'est l'information saisie dans le champ suivant qui sera prise en compte.&lt;br /&gt;
&lt;br /&gt;
La saisie va consister à définir les ventilations comptables associée à ce type de facture fournisseur. A savoir :&lt;br /&gt;
*le fournisseur et son compte fournisseur qui sera crédité du montant des factures associées à ce type de facture fournisseur&lt;br /&gt;
*le compte de charge qui sera débité du montant des factures associées à ce type de facture fournisseur&lt;br /&gt;
*Si la gestion de la TVA est activée, le compte de TVA qui sera débité du montant de la TVA associée à ce type de facture fournisseur&lt;br /&gt;
*De plus, si la gestion des budgets est activée, il est demandé, pour chaque compte (fournisseur, charge et TVA), le budget à associer&lt;br /&gt;
&lt;br /&gt;
*Ainsi, si on doit saisir une facture fournisseur associée à un nouveau type de facture fournisseur, alors il faut laisser '''associer un nouveau compte''' au champ '''Type de facture fournisseur''' et renseigner l'intitulé souhaité pour le type de facture fournisseur dans le champ suivant '''Nom de type de facture'''&lt;br /&gt;
*Ensuite, dans le champ '''Fournisseur''', là aussi, 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le fournisseur à mentionner est déjà dans la liste proposée dans le champ '''Fournisseur''' et auquel cas il faut le sélectionner (et le champ suivant '''Nom du fournisseur''' disparaitra)&lt;br /&gt;
**Soit le fournisseur à mentionner n'est pas déjà dans la liste proposée dans le champ '''Fournisseur''' et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer'''' au fournisseur ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner pour tous les fournisseurs un budget ''Fournisseurs''.&lt;br /&gt;
***Renseigner le champ '''Nom du fournisseur''' qui doit correspondre au fournisseur souhaité&lt;br /&gt;
***Choisir un compte d'export associé au nouveau fournisseur créé :&lt;br /&gt;
****Soit il existe déjà un compte d'export dans le champ '''Compte du fournisseur'''&lt;br /&gt;
****Soit il n'existe pas de compte d'export associable à ce nouveau fournisseur (en général on associe un compte d'export différent pour chaque compte défini dans OpenFlyers) et auquel cas, il faut renseigner le champ '''Compte fournisseur d'export'''. On peut, par exemple, saisir ''401NOMDUFOURNISSEUR'' dans le cas du plan comptable français.&lt;br /&gt;
***Si la gestion des budgets est active, le champ suivant est '''Budget à attribuer''' et OpenFlyers a dû le remplir par défaut avec la même valeur que pour le champ du même nom rattaché au '''Nom du fournisseur'''. Il ne doit pas y avoir besoin de modifier le contenu de ce champ.&lt;br /&gt;
*Dans le champ '''Compte de charge''', 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le compte de charge à associer est déjà dans la liste proposée et auquel cas il faut le sélectionner&lt;br /&gt;
**Soit le compte de charge à associer n'est pas déjà dans la liste proposée et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer''' au compte de charge que l'on crée ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner un budget représentatif du type de facture et ainsi avoir la ventilation de toutes les factures fournisseurs par poste budgétaire&lt;br /&gt;
***Renseigner le champ '''Nom du compte''' avec l'intitulé correspondant au compte de charge à créer&lt;br /&gt;
***Renseigner le champ '''Compte d'export''' avec la valeur du plan comptable correspondante. Pour le plan comptable français, ce sera un compte en 6xx.&lt;br /&gt;
*Si la gestion de la TVA est activée, le champ '''Compte TVA du type de facture''' est présent et 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le compte de TVA à associer à ce type de facture est dans la liste proposée et auquel cas il faut le sélectionner&lt;br /&gt;
**Soit le compte de TVA n'existe pas et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer''' au compte de TVA que l'on crée ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner un budget ''TVA Fournisseur''&lt;br /&gt;
***Renseigner le champ '''Nom de compte TVA'''. Par exemple, dans le cas des factures fournisseurs provenant de France : ''TVA déductible sur autres biens et services''&lt;br /&gt;
***Renseigner le champ '''Compte TVA d'export'''. Par exemple, dans le cas des factures fournisseurs provenant de France : ''445660''.&lt;br /&gt;
*Le reste de la saisie s'effectue comme pour la [[#Saisie_d'une_facture_fournisseur_dont_le_type_de_facture_est_déjà_enregistré|saisie d'une facture fournisseur dont le type de facture est déjà enregistré]].&lt;br /&gt;
&lt;br /&gt;
===Suppression d'une facture fournisseur===&lt;br /&gt;
Pour supprimer une facture fournisseur qui aurait été saisie par erreur, il faut :&lt;br /&gt;
*Aller dans le menu '''Achats/Liste des factures fournisseurs''' ;&lt;br /&gt;
[[Image:achats-liste-des-factures-fournisseurs.png]]&lt;br /&gt;
&lt;br /&gt;
*Rechercher le '''numéro de pointage''' de la facture concernée en ayant pris soin au préalable de sélectionner le mois de la facture (ou l'année complète pour lister l'ensemble des factures) ;&lt;br /&gt;
&lt;br /&gt;
[[Image:numéro-de-pointage.png]]&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur l'icône poubelle associée à la facture concernée.&lt;br /&gt;
&lt;br /&gt;
[[Image:icône-poubelle.png]]&lt;br /&gt;
&lt;br /&gt;
Le numéro de la facture supprimée n'existera plus dans la comptabilité. Il ne sera pas proposé à nouveau lors de la saisie d'une nouvelle facture. Par ailleurs, la numérotation des factures saisies a posteriori de la facture supprimée demeurera inchangée.&lt;br /&gt;
&lt;br /&gt;
===Suppression d'un type de facture fournisseur===&lt;br /&gt;
Pour supprimer un type de facture fournisseur qui aurait été saisi par erreur, il faut :&lt;br /&gt;
&lt;br /&gt;
*Aller dans le menu '''Achats/Types de factures fournisseurs''' ;&lt;br /&gt;
&lt;br /&gt;
[[Image:achats-types-de-factures-fournisseurs.png]]&lt;br /&gt;
&lt;br /&gt;
*Sélectionner le type de fournisseur concerné dans la colonne '''Nom''' ;&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur l'icône poubelle associée à la facture concernée.&lt;br /&gt;
&lt;br /&gt;
[[Image:icône-poubelle.png]]&lt;br /&gt;
&lt;br /&gt;
==Saisie d'un [[Écritures comptables#Paiement_(à_un_fournisseur)|paiement à un fournisseur]]==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Saisir un flux'''&lt;br /&gt;
*Sur la première ligne :&lt;br /&gt;
**dans la colonne '''Compte''' sélectionner le compte du fournisseur&lt;br /&gt;
**dans la colonne '''Débit''' saisir le montant du paiement que vous effectuez. Si vous souhaiter solder le compte du fournisseur, il vous suffit de cliquer sur l'icône représentant une balance et intitulée &amp;quot;Ramener le solde à zéro&amp;quot;&lt;br /&gt;
*Sur la deuxième ligne :&lt;br /&gt;
**dans la colonne '''Compte''' sélectionner le compte bancaire depuis lequel l'argent est débité&lt;br /&gt;
**cliquer sur l'icône représentant une balance avec une flèche bleue et intitulée &amp;quot;Equilibrer la dernière ligne&amp;quot;&lt;br /&gt;
*Dans le champ '''Commentaires''' saisir un texte libre&lt;br /&gt;
*Ne pas oublier de renseigner le champ '''Date comptable'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
&lt;br /&gt;
=Bon de commande et facture clients=&lt;br /&gt;
&lt;br /&gt;
==Visualiser des factures au format PDF==&lt;br /&gt;
Nous conseillons de se connecter en https à votre espace http://openflyers.com/nom-de-plateforme/index.php&lt;br /&gt;
&lt;br /&gt;
OpenFlyers propose par défaut un [[Modèle de facture ODT|modèle de facture]] qui permet d'éditer des factures PDF pour les prestations suivantes :&lt;br /&gt;
*les achats réalisés depuis le gestionnaire des ventes&lt;br /&gt;
**depuis la page du planning de réservation, cliquer sur le menu '''Comptes/Acheter''' ;&lt;br /&gt;
[[Image:comptes-acheter.png]]&lt;br /&gt;
*les validités qui ont été achetées/renouvelées&lt;br /&gt;
*les vols.&lt;br /&gt;
**Aller dans le menu '''Comptes/Etat/Pilote''' et se rendre dans la [[Documentation utilisateur#Colonne_.22Numéro_de_pointage_ou_de_facture.22|colonne numéro de pointage ou de facture]]&lt;br /&gt;
[[Image:comptes-etat-pilote.png]]&lt;br /&gt;
&lt;br /&gt;
==Importer son [[Modèle de facture ODT|modèle de facture]]==&lt;br /&gt;
&lt;br /&gt;
'''/!\ En important un [[Modèle de facture ODT|modèle de facture]], ce sera celui-ci qui va être utilisé pour générer les nouvelles factures au format PDF. Les factures qui ont déjà créées avant la mise en place du nouveau modèle continuera d'appliquer les anciens versions du modèle ou ceux fournis par défaut par OF'''&lt;br /&gt;
&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Configuration &amp;gt; Import de template ODT''' :&lt;br /&gt;
[[Image:configuration-import-de-templates-odt.png]]&lt;br /&gt;
* Préparer le fichier ODT contenant tous les modèles utilisés qui doivent être organisés comme suit :&lt;br /&gt;
*:'''page 1''' : Facture client&lt;br /&gt;
*:'''page 2''' : Duplicata de la facture client&lt;br /&gt;
*Importer  le fichier&lt;br /&gt;
*Cocher '''Facturation client'''&lt;br /&gt;
*Valider&lt;br /&gt;
&lt;br /&gt;
==Calcul du montant HT, de la TVA et du montant TTC==&lt;br /&gt;
&lt;br /&gt;
Les différents montants sont calculés de la sorte :&lt;br /&gt;
* Pour la TVA, on effectue la somme des écritures de débit et de crédit liés aux&lt;br /&gt;
** comptes de catégorie TVA&lt;br /&gt;
** produits de type de vente TVA&lt;br /&gt;
* Pour le montant TTC, on effectue la somme des écritures de débit et de crédit liées aux&lt;br /&gt;
** comptes qui ne sont pas de catégorie TVA&lt;br /&gt;
** produits qui ne sont pas de type de vente TVA&lt;br /&gt;
* Pour le montant HT, on effectue la différence entre la TVA et le montant TTC&lt;br /&gt;
&lt;br /&gt;
==Relevés de factures clients==&lt;br /&gt;
Une facture client est un document unique. Les PDF d'une facture déjà exportée seront générés avec la mention &amp;quot;Duplicata&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formulaire de sélection===&lt;br /&gt;
Ce formulaire permet d'établir une sélection générale de factures clients.&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Rapports &amp;gt; Générique &amp;gt; Relevés de factures clients'''&lt;br /&gt;
*Les champs &amp;quot;A partir du&amp;quot; et &amp;quot;Jusqu'au&amp;quot; permettent d'établir une sélection en fonction des dates de facturation. Pour éviter un temps de chargement trop long, il est conseillé de définir une plage d'un mois maximum.&lt;br /&gt;
*Le champ &amp;quot;Compte client&amp;quot; permet de sélectionner les relevés de factures d'un client particulier&lt;br /&gt;
*Le champ &amp;quot;Types de vols&amp;quot; permet de sélectionner des factures en fonction du type de vol&lt;br /&gt;
*Le champ &amp;quot;Produits non stockés&amp;quot; permet de sélectionner des factures en fonction de la nature du produit&lt;br /&gt;
*Le champ &amp;quot;Validités&amp;quot; permet de sélectionner des factures en fonction des produits de type &amp;quot;validité&amp;quot;&lt;br /&gt;
*Valider pour accéder aux factures à exporter&lt;br /&gt;
&lt;br /&gt;
===Tableau de factures à exporter===&lt;br /&gt;
Ce tableau est le résultat du formulaire. Il liste des factures clients.&lt;br /&gt;
*Sélectionner au cas par cas les factures à exporter&lt;br /&gt;
*Cliquer sur le bouton '''Générer PDF''' en bas du tableau pour générer le PDF des factures sélectionnées&lt;br /&gt;
*Cliquer sur le bouton '''Sauver dans un fichier CSV''' en bas du tableau pour exporter les factures sélectionnées au format CSV&lt;br /&gt;
&lt;br /&gt;
=Gestion des règlements clients=&lt;br /&gt;
==Saisir un encaissement==&lt;br /&gt;
Cf. les [[Écritures comptables#Saisie_d'un_encaissement_(d'un_client)|mouvements associés à un encaissement client]] pour connaitre les mouvements créés lors de la saisie comptable.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' seuls les [[Comptabilité#Comptes_clients|comptes clients]] et les [[Comptabilité#Comptes_utilisateurs|comptes utilisateurs]] peuvent recevoir des encaissements. En effet, comptablement, cela n'a pas de sens de faire un encaissement sur d'autres types de comptes.&lt;br /&gt;
&lt;br /&gt;
*'''Comptes &amp;gt; Approvisionner''' ou '''Admin &amp;gt; Comptes &amp;gt; Encaissements &amp;gt; Saisir un encaissement'''&lt;br /&gt;
*'''Comptes clients''' :&lt;br /&gt;
**Si le payeur est un utilisateur de la plateforme, laisser sélectionné '''Utilisateur'''&lt;br /&gt;
**Sinon, sélectionner '''Non-utilisateur'''&lt;br /&gt;
*'''Date du paiement''' :&lt;br /&gt;
**pour les paiements par chèque on laisse en général la date du jour qui correspond &amp;quot;au mieux&amp;quot; à la date à laquelle l'encaissement sera fait.&lt;br /&gt;
**pour les paiements en espèce on met la date à laquelle les sommes ont été reçus.&lt;br /&gt;
**pour les paiements par virement on met la date du virement.&lt;br /&gt;
*'''Encaissement de l'utilisateur''' : sélectionner le nom de l'utilisateur effectuant le paiement&lt;br /&gt;
ou&lt;br /&gt;
*'''Compte à créditer''' : sélectionner le nom du client &amp;quot;connu&amp;quot; ou à défaut &amp;quot;Clients extérieurs&amp;quot;&lt;br /&gt;
Attention : il faut sélectionner le compte correspondant à celui qui a été facturé et donc débité.&lt;br /&gt;
*'''Montant''' : indiquer le montant du paiement&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' ou le bouton '''VALIDER ET SAISIR LE SUIVANT'''&lt;br /&gt;
&lt;br /&gt;
==Saisir l'encaissement d'un comité d'entreprise ou d'un groupement d'utilisateurs==&lt;br /&gt;
Dans le cas où un comité d'entreprise ou un groupement d'utilisateurs (comme la DGAC dans le cas des contrôleurs aériens) prend en charge tout ou partie du coût d'une activité générée par OpenFlyers, la plateforme est normalement configurée pour que ce soit le compte du CE ou du groupement qui soit automatiquement débité lors de la saisie de l'activité.&lt;br /&gt;
&lt;br /&gt;
De ce fait, saisir dans OpenFlyers un règlement provenant d'une telle entité revient à [[#Saisir_un_encaissement|saisir un encaissement d'un &amp;quot;non-utilisateur&amp;quot; sur son propre compte client]].&lt;br /&gt;
&lt;br /&gt;
==Validation des règlements clients==&lt;br /&gt;
Le comptable, trésorier, secrétaire, etc. doit valider les règlements avant de remettre l'argent à la banque, que la saisie soit faite pas un pilote ou par une personne tierce.&lt;br /&gt;
&lt;br /&gt;
Tant qu'une écriture n'est pas validée, elle apparaît différemment dans les extraits de compte afin de bien signifier que le mouvement n'est pas validé et que le solde du compte est donc susceptible d'être modifié. Une écriture non validée peut être modifiée mais '''Une fois la validation effectuée'''  il n'est plus possible de '''revenir en arrière'''. &lt;br /&gt;
&lt;br /&gt;
En cas d'erreur, le trésorier doit faire une écriture d'annulation et ressaisir le règlement correct.&lt;br /&gt;
&lt;br /&gt;
Pour valider les règlements le trésorier dispose d'une page accessible uniquement avec le droit &amp;quot;'''Valider les encaissements'''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Voici la description de la tâche de validation des règlements par le trésorier :&lt;br /&gt;
*Récupérer les chèques et espèces à valider&lt;br /&gt;
*Classer les chèques par ordre de date.&lt;br /&gt;
*Aller dans la page '''Admin &amp;gt; Comptes &amp;gt; Pointer &amp;gt; Chèques'''&lt;br /&gt;
*Cette pages affiche les règlements que les pilotes ont saisies et qui sont en attente de validation&lt;br /&gt;
*Cocher les règlements dont vous possédez les chèques.&lt;br /&gt;
*Si des règlements ne sont pas dans la liste en attente, le trésorier les ajoute à l'aide d'un bouton prévu à cet effet puis les coche.&lt;br /&gt;
*Si des saisies sont erronées, corrigez-les puis les cocher.&lt;br /&gt;
*Supprimer les saisies inopportunes.&lt;br /&gt;
*Une fois que tout les chèques sont pointés, cliquez sur '''Éditer le bordereau de remise'''.&lt;br /&gt;
*On passe sur la page de la liste de vos règlements validés, faite une vérification&lt;br /&gt;
*Imprimez la bordereau de remise en banque, utilisez le menu de votre navigateur '''Fichier &amp;gt; Imprimer'''.&lt;br /&gt;
*Valider le bordereau. &amp;quot;'''Attention, cette action est irréversible'''&amp;quot;&lt;br /&gt;
*Faire les opérations ci-dessus pour chaque type de règlement&lt;br /&gt;
*Porter les remises en banque&lt;br /&gt;
&lt;br /&gt;
La validation régulière de vos règlements permet de bloquer les modifications par les pilotes et augmente la fiabilité de votre comptabilité&lt;br /&gt;
&lt;br /&gt;
=Cas particuliers=&lt;br /&gt;
==Ecritures manuelles dans le cadre [[Conseils spécifiques pour la comptabilité#Facturation_automatique_à_des_organismes_avec_ou_sans_quotas|d'une facturation automatique à un organisme tiers]]==&lt;br /&gt;
Normalement, le paramétrage d'une plateforme OpenFlyers est effectué pour que les écritures soient automatiquement réalisées lors de la saisie d'une activité.&lt;br /&gt;
&lt;br /&gt;
Cependant, si les écritures ne se sont pas effectuées automatiquement, ne serait-ce que dans le cas où le paramétrage a été mis en place ultérieurement à la saisie d'activité et que ces saisies ont été validées, il est nécessaire d'effectuer la saisie manuelle des flux permettant d'obtenir la [[Facturation des clients#Cascade_d'écritures_comptables|situation comptable souhaitée]].&lt;br /&gt;
&lt;br /&gt;
Ainsi, si l'utilisateur a été intégralement débité du montant de l'activité et qu'il faut simplement saisir une écriture permettant de créditer son compte du montant devant être débité à l'organisme tiers, il suffit de [[#Saisie_d'un_flux|saisir un flux]] qui va créditer son compte du montant concerné et débiter le compte de l'organisme tiers du même montant.&lt;br /&gt;
&lt;br /&gt;
De plus, si une gestion de quota est en place, il faut également corriger le compte de quota de l'utilisateur concerné sur le même modèle d'écriture que pour l'[[Conseils spécifiques pour la comptabilité#Initialisation_du_solde_d'heures_lors_de_la_mise_en_place_des_packs|initialisation d'un quota]] mais en sens opposé (le compte quota de l'utilisateur doit être débité au lieu d'être crédité et inversement pour le compte de bilan correspondant).&lt;br /&gt;
&lt;br /&gt;
==Gestion des baptêmes==&lt;br /&gt;
===Utiliser le [[Configuration de la comptabilité#Gestion_des_baptêmes|paramétrage préconisé des baptêmes]]===&lt;br /&gt;
On appelle dans l'exemple &amp;quot;Clients extérieurs&amp;quot; le compte client qui est utilisé pour les clients baptêmes. La dénomination peut changer d'une configuration à l'autre.&lt;br /&gt;
Lorsqu'un baptême est effectué :&lt;br /&gt;
#Saisir le vol avec comme type de vol &amp;quot;baptême&amp;quot; : le coût du vol au tarif solo est alors débité sur le compte client &amp;quot;Clients extérieurs&amp;quot;.&lt;br /&gt;
#Encaisser le paiement du baptême sur le compte client &amp;quot;Clients extérieurs&amp;quot; (qui est accessible dans le formulaire de saisie des encaissements en sélectionnant comme type d'utilisateur &amp;quot;non utilisateur&amp;quot;).&lt;br /&gt;
Ainsi, le compte client &amp;quot;Clients extérieurs&amp;quot; se retrouvera avec un solde correspondant à la différence entre le prix du baptême payé par le client et le prix du vol solo facturé par OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Il suffit alors de passer une écriture, par exemple tous les mois, tous les trimestres ou tous les ans, entre le compte &amp;quot;Clients extérieurs&amp;quot; et un compte produit (par exemple compte produit &amp;quot;delta baptêmes&amp;quot;) qui va recevoir le solde du compte client &amp;quot;Clients extérieurs&amp;quot; afin de le ramener à 0.&lt;br /&gt;
&lt;br /&gt;
Cas pratique :&lt;br /&gt;
*Tarif solo : 100 €/h&lt;br /&gt;
*Tarif baptême : 60 €&lt;br /&gt;
*Vol effectué de 30 minutes&lt;br /&gt;
&lt;br /&gt;
Alors :&lt;br /&gt;
*En saisissant le vol de 30 minutes en tant que &amp;quot;baptême&amp;quot;, le compte &amp;quot;clients extérieurs&amp;quot; sera débité du montant du tarif solo soit 50 €.&lt;br /&gt;
*En saisissant l'encaissement du paiement de 60 € effectué par le baptisé, le compte &amp;quot;clients extérieurs&amp;quot; sera crédité de 60 €.&lt;br /&gt;
*Il est résulte sur le compte &amp;quot;clients extérieur&amp;quot; un solde positif de 10 €.&lt;br /&gt;
A la fin de l'année, le compte &amp;quot;clients extérieur&amp;quot; aura vu son solde augmenter au fur et à mesure que les baptêmes auront été effectuée. Admettons qu'il se retrouve avec un solde positif de 1210 €. Il faut alors passer un mouvement (via la saisie d'un flux) pour débiter le compte &amp;quot;clients extérieurs&amp;quot; de 1210 € et créditer un compte produit &amp;quot;delta baptêmes&amp;quot; de 1210 €. Ce faisant le solde du compte client &amp;quot;clients extérieurs&amp;quot; est ramené à 0 ce qui est important pour montrer comptablement que personne ne doit de l'argent à l'aéro-club et le gain spécifique aux baptêmes est enregistré dans le compte produit &amp;quot;delta baptêmes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Les taxes==&lt;br /&gt;
===Gérer les taxes d'atterrissage dans OpenFlyers===&lt;br /&gt;
Les taxes d'atterrissages sont facturées à la structure aéronautique qui souvent les débitent sur le compte de ses clients. Voici 2 méthodes pour gérer ces opérations dans OpenFlyers :&lt;br /&gt;
*La méthode la plus simple consiste à partir du principe que les factures des taxes d'atterrissages sont déjà existantes et qu'il s'agit juste de faire payer la personne réellement concernée par la taxe. Pour ce faire, il suffit de saisir un flux en débitant le compte du client du montant de la facture de la taxe d'atterrissage et de créditer un compte produit &amp;quot;taxe d'atterrissage&amp;quot;. Cette méthode est pratique dans le cas où le prix de la taxe n'est jamais le même.&lt;br /&gt;
*Pour les aérodromes dont les taxes sont récurrentes, il peut être intéressant de créer un type de vente pour gérer les taxes. Cette solution n'est pratique que dans le cas où les montants sont constants. Cela permet alors d'éviter d'avoir à saisir à chaque fois le prix de la taxe. L'autre intérêt de cette méthode est qu'elle permet de générer une facture fournisseur au nom de la structure dans le cas où le client le souhaiterait.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Alertes-de-configuration&amp;diff=15226</id>
		<title>Alertes de configuration</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Alertes-de-configuration&amp;diff=15226"/>
				<updated>2017-05-02T09:32:03Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Il n'y a pas de vol associé au mouvement comptable x du ... */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire les actions à entreprendre pour corriger les alertes de configuration qui peuvent apparaitre sur la page d'accueil côté administration.&lt;br /&gt;
&lt;br /&gt;
Attention : dès qu'une nouvelle alerte apparait, il faut la prendre en compte et la traiter sans délai. En effet, bien souvent ces alertes peuvent être corrigées directement par un gestionnaire de la structure sans avoir à remonter le problème à l'équipe OpenFlyers. Cependant, si les écritures comptables ou d'activité liées à cette alerte ont été validées, alors vous êtes obligé de faire intervenir l'équipe OpenFlyers. Dans ce cas, le temps d'intervention pour la dé-validation des écritures concernées est soit facturé soit décompté de votre bonus assistance / développement.&lt;br /&gt;
&lt;br /&gt;
=[[Utilisation de la comptabilité#Mettre_à_jour_les_tarifs|Action annulée car il faut que chaque variable dispose d'une valeur antérieure à la date de début de l'exercice comptable]]=&lt;br /&gt;
&lt;br /&gt;
=La gestion des comptes est activée mais l'utilisateur X n'a pas de compte Y=&lt;br /&gt;
Cette alerte apparait lorsqu'un utilisateur a été créé et que le compte Y correspondant à l'un de ces profils n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
Il faut [[Rapporter un bug|rapporter le problème]] pour prise en compte et en attendant sa correction, il est possible de contourner les conséquences de ce problème en créant manuellement les comptes concernés :&lt;br /&gt;
*Allant dans '''Comptes &amp;gt; Utilisateurs &amp;gt; Comptes utilisateurs'''&lt;br /&gt;
*Retrouver l'utilisateur concerné&lt;br /&gt;
*Cliquer sur l'icône symbolisant une &amp;quot;check&amp;quot; dans une pastille rouge correspondant à la ligne de l'utilisateur et à la colonne du compte concerné afin de l'activer.&lt;br /&gt;
&lt;br /&gt;
=La gestion des vols est activée mais l'autonomie n'est pas défini pour le type de ressource X=&lt;br /&gt;
Ce message d'erreur apparait lorsque un type de ressource a été créé sans définir d'autonomie.&lt;br /&gt;
&lt;br /&gt;
Cela se corriger en suivant la [[Gestion des ressources#Ajouter_un_type_de_ressource|procédure d'ajout de type de ressource]].&lt;br /&gt;
&lt;br /&gt;
=Le type de paiement X est sans ventilation=&lt;br /&gt;
Cette alerte apparait lorsqu'il existe un type de paiement sans de ventilation associée.&lt;br /&gt;
&lt;br /&gt;
Il faut :&lt;br /&gt;
*soit [[Configuration-de-la-comptabilité#Types-d'encaissements|supprimer le type de paiement inutile]]&lt;br /&gt;
*soit [[Configuration-de-la-comptabilité#Ventilation-des-types-d'encaissements|rajouter la ventilation]]&lt;br /&gt;
&lt;br /&gt;
=L'exercice comptable courant a plus d'un an=&lt;br /&gt;
Cette alerte apparait lorsque l'exercice comptable en cours date de plus de 400 jours, c'est à dire 35/36 jours après la fin d'un exercice comptable qui dure en général 1 an. Il a pour objectif de rappeler aux gestionnaires en charge du suivi de la comptabilité dans OpenFlyers qu'il leur faut [[Utilisation-de-la-comptabilité#Clôturer-l'exercice-comptable|procéder à la clôture de l'exercice comptable]].&lt;br /&gt;
&lt;br /&gt;
=Alertes liées à des absences de règles de tarification en base de données=&lt;br /&gt;
==Il n'y a pas de mouvement comptable associé au vol==&lt;br /&gt;
Tout vol génère une charge (essence, maintenance, etc.). De ce fait, tout vol doit généré un chiffre d'affaire. Même dans le cas où le coût du vol est supporté par la structure, comptablement ce vol doit générer une charge pour la structure.&lt;br /&gt;
&lt;br /&gt;
Il arrive parfois que le paramétrage puisse avoir été mis en place en oubliant un cas et ainsi lorsqu'un tel vol est saisi, il n'y a pas de mouvement comptable qui est généré. Afin, de pouvoir identifier ces &amp;quot;trous&amp;quot; comptables, une alerte est générée côté admin pour les vols dont la date est postérieure à la date de début de l'exercice comptable en cours.&lt;br /&gt;
&lt;br /&gt;
Pour résoudre ce problème, 2 cas possibles :&lt;br /&gt;
*Le vol n'a été validé : dans ce cas, il faut mettre en place (en général en demandant à l'équipe OpenFlyers) de vérifier les règles mises en place et de les compléter pour que ce cas soit traité. Une fois que les règles sont complétées, il suffit de re-saisir le vol.&lt;br /&gt;
*Le vol a été validé : dans ce cas, il n'est plus possible d'intervenir sur le vol. Par contre, il est possible de générer manuellement le flux manquant. Ensuite, il suffira d'attendre la clôture de la comptabilité pour que ce message disparaisse.&lt;br /&gt;
&lt;br /&gt;
=Alertes liées à des ruptures d'intégrité de base de données=&lt;br /&gt;
Une rupture d'intégrité de base de données se produit lorsqu'une entrée dans une table de la base de données fait référence à une autre entrée dans cette même base de données et que cette entrée n'existe pas. Par extension, l'équipe de développement OpenFlyers inclut dans la famille des ruptures d'intégrité de base de données un mauvais enregistrement qui devrait être lié à une autre entrée mais que cette liaison n'existe pas soit du fait que logiciel a été mal programmé ou que la plateforme a été mal configurée. D'un point de vu utilisateur le résultat est le même : la base de données n'est pas &amp;quot;propre&amp;quot; et il faut y remédier.&lt;br /&gt;
&lt;br /&gt;
==Il n'y a pas de vol associé au mouvement comptable x du ...==&lt;br /&gt;
Cette alerte apparait lorsqu'une rupture d'intégrité apparait en base de données entre une écriture comptable qui est identifiée comme liée à un vol mais qu'il n'y a pas de vol associé.&lt;br /&gt;
&lt;br /&gt;
Pour résoudre ce problème, il faut effectuer les actions correctives suivantes :&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Mouvements'''&lt;br /&gt;
*Modifier la période visible pour qu'elle corresponde à la date de l'écriture comptable en alerte&lt;br /&gt;
*Identifier l'écriture par son numéro de flux qui correspond au numéro indiqué dans l'alerte&lt;br /&gt;
*Noter tous les éléments concernant cette écriture. Le plus simple est d'[[Trucs et astuces#Effectuer_une_copie_d'écran|effectuer une copie d'écran]].&lt;br /&gt;
*Si l'écriture n'a pas été validée :&lt;br /&gt;
**il faut la supprimer&lt;br /&gt;
**la re-saisir en tant que vol&lt;br /&gt;
**vérifier que l'alerte a disparu&lt;br /&gt;
*Si l'écriture a été validée, il faut :&lt;br /&gt;
**Soit attendre la clôture de l'exercice qui fera disparaitre le message d'erreur&lt;br /&gt;
**Soit [[Rapporter un bug|rapporter le problème]] pour que l'équipe OpenFlyers traite le problème. Si l'écriture est postérieure à la date de début du dernier exercice comptable en cours sur la plateforme OpenFlyers, alors il faudra demander la dé-validation de l'écriture pour pouvoir se retrouver dans le cas précédent. Si l'écriture est antérieure à l'exercice comptable en cours, alors 2 options sont possible :&lt;br /&gt;
***Supprimer l'écriture (en général ce n'est pas souhaitable car la comptabilité ayant été clôturé, cette écriture a été prise en compte)&lt;br /&gt;
***Changer la nature de l'écriture pour qu'elle n'apparaisse plus comme liée à un vol et qu'ainsi elle ne crée plus d'alerte.&lt;br /&gt;
C'est à vous à préciser votre souhait dans votre [[Rapporter un bug|rapport de bug]].&lt;br /&gt;
&lt;br /&gt;
==Il n'y a pas de vol associé au mouvement comptable X (Probablement une duplication)==&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsqu'une rupture d'intégrité apparait en base de données entre une écriture comptable qui est identifiée comme liée à un vol mais qu'il n'y a pas de vol associé et qui pourrait faire doublon avec une autre écriture comptable liées à un vol.&lt;br /&gt;
&lt;br /&gt;
Pour résoudre ce problème, il faut effectuer les actions correctives suivantes :&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Mouvements'''&lt;br /&gt;
*Modifier la période visible pour qu'elle corresponde à la date de l'écriture comptable en alerte&lt;br /&gt;
*Identifier l'écriture par son numéro de flux qui correspond au numéro indiqué dans l'alerte&lt;br /&gt;
*Noter tous les éléments concernant cette écriture. Le plus simple est d'[[Trucs et astuces#Effectuer_une_copie_d'écran|effectuer une copie d'écran]].&lt;br /&gt;
*Si l'écriture n'a pas été validée :&lt;br /&gt;
**il faut la supprimer&lt;br /&gt;
**vérifier que l'alerte à disparu&lt;br /&gt;
*Si l'écriture a été validée, il faut alors [[Rapporter un bug|rapporter le problème]] pour que l'équipe OpenFlyers traite le problème. Si l'écriture est postérieure à la date de début du dernier exercice comptable en cours sur la plateforme OpenFlyers, alors il faudra demander la dé-validation de l'écriture pour pouvoir se retrouver dans le cas précédent. Si l'écriture est antérieure à l'exercice comptable en cours, alors 2 options sont possible :&lt;br /&gt;
**Supprimer l'écriture (en général ce n'est pas souhaitable car la comptabilité ayant été clôturé, cette écriture a été prise en compte)&lt;br /&gt;
**Changer la nature de l'écriture pour qu'elle n'apparaisse plus comme liée à un vol et qu'ainsi elle ne crée plus d'alerte.&lt;br /&gt;
C'est à vous à préciser votre souhait dans votre [[Rapporter un bug|rapport de bug]].&lt;br /&gt;
&lt;br /&gt;
==Le vol X est validé mais les écritures comptables du flux Y associées au vol ne sont pas validées==&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparaît lorsqu'un vol est validé sans que ses écritures comptables ne le soient.&lt;br /&gt;
&lt;br /&gt;
Pour résoudre ce problème, [[Rapporter un bug|rapporter le problème]] pour que l'équipe OpenFlyers intervienne en validant les écritures comptables associées.&lt;br /&gt;
&lt;br /&gt;
==Vous avez des flux qui pointent sur des comptes absents en base de données==&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsqu'une rupture d'intégrité apparait en base de données entre une écriture comptable et un compte qui n'existe plus.&lt;br /&gt;
&lt;br /&gt;
Pour résoudre ce problème :&lt;br /&gt;
*Créer un compte de bilan intitulé &amp;quot;En attente d'affectation&amp;quot; et de code d'export &amp;quot;471&amp;quot;&lt;br /&gt;
*[[Rapporter un bug|Rapporter le problème]]&lt;br /&gt;
L'équipe OpenFlyers attribuera le compte &amp;quot;En attente d'affectation&amp;quot; en lieu et place du compte disparu.&lt;br /&gt;
&lt;br /&gt;
=Vol X dans le futur au Y=&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsqu'il y a des vols dont la date de début est postérieure au lendemain.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=R%C3%A9cup%C3%A9ration-des-vols-par-un-logiciel-tiers&amp;diff=15184</id>
		<title>Récupération des vols par un logiciel tiers</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=R%C3%A9cup%C3%A9ration-des-vols-par-un-logiciel-tiers&amp;diff=15184"/>
				<updated>2017-02-28T14:33:31Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Présentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire la récupération des [[Introduction#saisie-de-l'activité|vols]] par un logiciel tiers. La récupération est réalisée à l'aide d'un [[Wikipedia-fr:Service web|service web]].&lt;br /&gt;
&lt;br /&gt;
C'est, par exemple, grâce à cette fonctionnalité que le livret de progression électronique [https://iflyinnovation.com/ iFly innovation] s'interface avec OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
=Interfaçage avec OpenFlyers=&lt;br /&gt;
&lt;br /&gt;
La récupération des X derniers vols se fait à l'aide du webservice '''getActivityList'''.&lt;br /&gt;
&lt;br /&gt;
Pour accéder à ce webservice, il faut :&lt;br /&gt;
* Utiliser le protocole de communication HTTPS&lt;br /&gt;
* Appeler l'URL ci-dessous en remplaçant &amp;quot;maplateforme&amp;quot; par le nom de la plateforme concernée :&lt;br /&gt;
&amp;lt;pre&amp;gt;https://openflyers.com/maplateforme/actionOnDemand.php&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Transmettre les paramètres suivantes par méthode POST :&lt;br /&gt;
** '''arguments[0]''' : getActivityList&lt;br /&gt;
** '''key''' : La clé de sécurité du service web.&lt;br /&gt;
** '''maxNumber''' : Le nombre de vols à récupérer&lt;br /&gt;
** '''startDate''' : La date de début en UTC des vols à récupérer. Ce paramètre est optionnel et doit être au format AAAA-MM-JJ hh:mm:ss&lt;br /&gt;
** '''endDate''' : La date de fin des en UTC vols à récupérer. Ce paramètre est optionnel et doit être au format AAAA-MM-JJ hh:mm:ss&lt;br /&gt;
&lt;br /&gt;
Le service web va renvoyer soit :&lt;br /&gt;
* Un message d'interdiction d'accès lorsque l'un de ces conditions est rencontrée :&lt;br /&gt;
** le protocole de communication HTTP est employé &lt;br /&gt;
** la clé de sécurité n'est pas bonne&lt;br /&gt;
** La date de début est renseignée et la date de fin de l'est pas. Une date de début/fin qui n'est pas au bon format sera remplacée par la date courante&lt;br /&gt;
** La date de fin est renseignée et la date de début ne l'est pas. Une date de début/fin qui n'est pas au bon format sera remplacée par la date courante&lt;br /&gt;
** La date de début et de fin sont toutes les deux renseignées et il y a un écart de plus de 32 jours entre ces dates&lt;br /&gt;
* Au format JSON :&lt;br /&gt;
** Lorsque '''startDate''' et '''endDate''' sont renseignés, la liste des vols entre ces périodes, ordonnés du plus récent au plus vieux&lt;br /&gt;
** Le cas échéant, la liste des '''maxNumber''' derniers vols ordonnés du plus récent au plus vieux&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exemple de formulaire pour récupérer les derniers vols sur la plateforme openflyers.com/demo-fr/ où on demande la clé et le nombre de vols :&lt;br /&gt;
&amp;lt;html4Strict&amp;gt;&amp;lt;form action=&amp;quot;https://openflyers.com/demo-fr/actionOnDemand.php&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;arguments[0]&amp;quot; value=&amp;quot;getActivityList&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;label&amp;gt;Clé :&amp;lt;/label&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;key&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;label&amp;gt;Limite :&amp;lt;/label&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;maxNumber&amp;quot; value=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;label&amp;gt;Date de début (AAAA-MM-JJ hh:mm:ss) :&amp;lt;/label&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;startDate&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;label&amp;gt;Date de fin (AAAA-MM-JJ hh:mm:ss) :&amp;lt;/label&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;endDate&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Test&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/html4Strict&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple de retour :&lt;br /&gt;
&amp;lt;javascript&amp;gt;[&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;first_person&amp;quot;:&amp;quot;DURAND Jacques&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date&amp;quot;:&amp;quot;2016-10-19 08:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;second_person&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;departure_location_name&amp;quot;:&amp;quot;LFPG&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date&amp;quot;:&amp;quot;2016-10-19 09:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;arrival_location_name&amp;quot;:&amp;quot;LFPG&amp;quot;,&lt;br /&gt;
        &amp;quot;duration&amp;quot;:&amp;quot;1:00&amp;quot;,&lt;br /&gt;
        &amp;quot;landing_number&amp;quot;:&amp;quot;2&amp;quot;,&lt;br /&gt;
        &amp;quot;resource_name&amp;quot;:&amp;quot;F-HABC&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;first_person&amp;quot;:&amp;quot;DUPONT Jean&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date&amp;quot;:&amp;quot;2016-10-18 15:16:00&amp;quot;,&lt;br /&gt;
        &amp;quot;second_person&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;departure_location_name&amp;quot;:null,&lt;br /&gt;
        &amp;quot;end_date&amp;quot;:&amp;quot;2016-10-18 16:46:00&amp;quot;,&lt;br /&gt;
        &amp;quot;arrival_location_name&amp;quot;:null,&lt;br /&gt;
        &amp;quot;duration&amp;quot;:&amp;quot;1:30&amp;quot;,&lt;br /&gt;
        &amp;quot;landing_number&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;resource_name&amp;quot;:&amp;quot;F-HDEF&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
]&amp;lt;/javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Paramétrer la clé de sécurité=&lt;br /&gt;
&lt;br /&gt;
* Menu '''Admin &amp;gt; Configuration &amp;gt; Paramétrage'''&lt;br /&gt;
* Aller dans le bloc '''Gestion générale'''&lt;br /&gt;
* Saisir le champ '''Clé de service web (lorsque requis)'''&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Configuration-de-la-comptabilit%C3%A9&amp;diff=15155</id>
		<title>Configuration de la comptabilité</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Configuration-de-la-comptabilit%C3%A9&amp;diff=15155"/>
				<updated>2017-02-17T14:25:01Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Comptes d'export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire la configuration de la [[Comptabilité|comptabilité]] dans Openflyers 3.&lt;br /&gt;
&lt;br /&gt;
=[[Bien débuter avec OpenFlyers#Mettre_en_place_la_gestion_d'activité_sur_OpenFlyers|Mise en place de la comptabilité dans OpenFlyers]]=&lt;br /&gt;
&lt;br /&gt;
=Paramétrage général de la gestion des comptes=&lt;br /&gt;
*Aller dans '''Admin'''.&lt;br /&gt;
*Puis choisir '''Configuration &amp;gt; Paramétrage'''.&lt;br /&gt;
*Aller dans le formulaire '''[[Documentation administrateur#Gestion_des_comptes|Gestion des comptes]]''' :&lt;br /&gt;
&lt;br /&gt;
[[Image:AdminDoc3.0.2_parametre_gestion_comptes.png|gestion des comptes détail]]&lt;br /&gt;
*Champ '''Gestion des comptes''' : activer ce champ et valider pour activer la gestion des comptes.&lt;br /&gt;
*Champ '''Gestion TVA''' : Activer ce champ si la structure est soumise à la TVA, sinon le laisser sur '''Désactivé(e)'''. Lorsque ce champ est désactivé, le champ '''Mention spécifique pour l'absence de TVA''' est saisissable.&lt;br /&gt;
*Exemple de valeurs possibles pour le champ '''Mention spécifique pour l'absence de TVA''' :&lt;br /&gt;
**&amp;quot;TVA non applicable : article 293B du CGI&amp;quot; pour une association loi 1901, exonérée de TVA car ne dépassant pas un certain chiffre d'affaire&lt;br /&gt;
**&amp;quot;Association exonérée des impôts commerciaux&amp;quot; pour une association exonérée de TVA du fait de son caractère non lucratif&lt;br /&gt;
**&amp;quot;TVA non applicable : article 202B du CGI&amp;quot; pour un organisme de formation professionnelle continue déclaré ayant opté pour l'exonération de TVA&lt;br /&gt;
**&amp;quot;TVA non applicable : article 294 du CGI&amp;quot; pour une structure dans les DOM.&lt;br /&gt;
*Exemple de valeurs possibles pour le champ '''Titre spécifique pour les factures validées''' :&lt;br /&gt;
**&amp;quot;Facture&amp;quot;&lt;br /&gt;
**&amp;quot;Note de participation aux frais&amp;quot;&lt;br /&gt;
*Exemple de valeurs possibles pour le champ '''Titre spécifique pour les factures non validées''' :&lt;br /&gt;
**&amp;quot;Facture PROFORMA&amp;quot;&lt;br /&gt;
**&amp;quot;Note de participation aux frais PROFORMA&amp;quot;&lt;br /&gt;
**&amp;quot;Devis&amp;quot;&lt;br /&gt;
**&amp;quot;Bon de commande&amp;quot;&lt;br /&gt;
*'''Mentions sur les conditions de paiement''' : remplace le champ [[Modèle de facture ODT#Variables|[payment_notice_tag]]] dans le template de la facture PDF. Exemple de texte possible :&lt;br /&gt;
&amp;lt;pre&amp;gt;Règlement à réception&lt;br /&gt;
&lt;br /&gt;
En cas de retard de paiement, il sera appliqué des pénalités correspondant au taux légal en vigueur par mois de retard.&lt;br /&gt;
&lt;br /&gt;
En outre, une indemnité forfaitaire pour frais de recouvrement de 40 € sera due.&lt;br /&gt;
&lt;br /&gt;
Pas d'escompte en cas de paiement anticipé.&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''Mentions pieds de page''' : remplace le champ [[Modèle de facture ODT#Variables|[footer_tag]]] dans le template de la facture PDF. Exemple de texte possible :&lt;br /&gt;
&amp;lt;pre&amp;gt;SARL DUPONT au capital de 22 000 €, SIREN 123 456 789 RCS Paris, FR01234567890&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Paramétrage général des comptabilités=&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Comptabilité'''.&lt;br /&gt;
[[Fichier:OF3_DDT_comptabilite.png]]&lt;br /&gt;
&lt;br /&gt;
Les différentes colonnes permettent de paramétrer une comptabilité :&lt;br /&gt;
* '''Nom''' : Nom de la comptabilité&lt;br /&gt;
* '''Unité''' : L'unité employé&lt;br /&gt;
* '''Symbole''' : Le symbole de l'unité&lt;br /&gt;
* '''Format''' : Le format d'affichage à utiliser pour les montants&lt;br /&gt;
* '''Nombre de chiffre après la virgule''' : Détermine à combien de chiffre après la virgule vont être arrondi les montants calculés au sein de la comptabilité. L'arrondissement s'effectue aussi sur les variable-formules.&lt;br /&gt;
* '''Si solde utilisateur inférieur au minimum''' et '''Solde minimum requis''' : Permettent d'alerter et de restreindre l'accès à un profil déterminé ou de bloquer l'accès lorsque l'un des soldes des comptes d'un utilisateur est inférieur au minimum requis.&lt;br /&gt;
* '''Seuil de compte pour l'envoi d'e-mail d'alerte''' : Permet l'envoi d'un e-mail d'alerte, [[Documentation utilisateur#Alertes_par_e-mail_uniquement_sur_les_plateformes_de_production|uniquement sur les plateformes en production]], lorsque l'utilisateur a un solde de compte inférieur au seuil.&lt;br /&gt;
* '''Fréquence de rappel pour l'envoi d'e-mail d'alerte''' : Détermine la fréquence de rappel pour l'envoi de l'e-mail d'alerte (Jamais, tous les jours, tous les 3 jours).&lt;br /&gt;
* '''Contenu de l'e-mail d'alerte''' : Le contenu à insérer dans le message d'e-mail d'alerte.&lt;br /&gt;
* '''Ajouté en copie d'e-mail''' : Permet d'ajouter les utilisateurs des profils cochés en copie de l'e-mail d'alerte envoyé à chaque utilisateur concerné.&lt;br /&gt;
&lt;br /&gt;
Exemple de message incluant le montant du solde du compte pour éviter tout problème de &amp;quot;communication&amp;quot; :&lt;br /&gt;
&amp;lt;pre&amp;gt;Cher client/adhérent&lt;br /&gt;
&lt;br /&gt;
Votre compte au sein de la société/l'association X présente un solde de %ACCOUNT_BALANCE € en dessous du seuil minimum de X €.&lt;br /&gt;
&lt;br /&gt;
Nous vous remercions par avance pour la régularisation de votre compte.&lt;br /&gt;
&lt;br /&gt;
Le service comptable/trésorier&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
Le contrôle de votre compte et l'envoi de ce message sont effectués de façon automatique&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nous recommandons fortement de mettre le paramètre %ACCOUNT_BALANCE € qui permet d'avoir une traçabilité du montant &amp;quot;vu&amp;quot; par OpenFlyers au moment de l'envoi de l'e-mail et ainsi d'éviter tout problème de discussion ultérieur.&lt;br /&gt;
&lt;br /&gt;
==Restriction d'accès en cas de solde insuffisant==&lt;br /&gt;
Il est possible de définir des règles de restriction et/ou alerte pour chaque comptabilité. Pour cela, il faut :&lt;br /&gt;
*[[Gestion des profils|Créer un profil]] spécifique qui peut s'intituler ''Accès restreint''. Lors de la restriction, seuls les droits présents à la fois sur ce profil et sur celui de l'utilisateur restreint, resteront valides. Il faut donc bien définir les droits qui doivent rester présent pour le profil restreint.&lt;br /&gt;
*Dans le [[#Paramétrage_général_des_comptabilités|paramétrage général des comptabilités]], paramétrer les colonnes '''Si solde utilisateur inférieur au minimum''' et '''Solde minimum requis''' pour permettent d'alerter et de [[Documentation utilisateur#Restriction_d'accès|restreindre l'accès à un profil déterminé]] ou de bloquer l'accès lorsque l'un des soldes des comptes d'un utilisateur est inférieur au minimum requis.&lt;br /&gt;
&lt;br /&gt;
Le fait de [[Documentation utilisateur#Restriction_d'accès|restreindre le profil d'un utilisateur]], permet de l'empêcher de pouvoir effectuer certaines actions comme réserver ou débuter une activité si l'un de ses soldes est insuffisant.&lt;br /&gt;
&lt;br /&gt;
Ce contrôle sur le solde du compte et les droits qui en résultent s'effectue :&lt;br /&gt;
*A la connexion de l'utilisateur pour en déduire le type d'accès auquel il a droit&lt;br /&gt;
*Lors d'une action de réservation ou de saisie de vol effectuée par n'importe quel utilisateur. Dans ce cas, OpenFlyers contrôle le solde non pas de la personne effectuant l'action mais celui pour qui l'action est effectuée. Cela permet d'empêcher à un utilisateur de contourner une restriction en demandant à un autre utilisateur disposant de droits étendus de faire par exemple une réservation à son nom.&lt;br /&gt;
&lt;br /&gt;
Il est possible d'attribuer à des profils le droit &amp;quot;[[Gestion des profils#Gestion_des_comptes|Surpasser la limitation du solde du compte]]&amp;quot; qui seraient ainsi mise en place.&lt;br /&gt;
&lt;br /&gt;
Il est possible d'empêcher les utilisateurs standards d'effectuer des réservations en cas de solde insuffisant en enlevant les droits [[Gestion des profils#Réservation|&amp;quot;Réservation solo&amp;quot; et &amp;quot;Réservation pour des tiers&amp;quot;]] au profil ''Accès restreint'' tout en permettant à des tiers de pouvoir effectuer des réservations pour eux en laissant le droit [[Gestion des profils#Réservation|&amp;quot;Etre sur une nouvelle réservation&amp;quot;]] au profil ''Accès restreint''.&lt;br /&gt;
&lt;br /&gt;
Conseil OpenFlyers : il est possible d'utiliser l'alerte sur une comptabilité pour mettre en place l'envoi automatique d'un e-mail lorsque le crédit d'heures de vol devient inférieur à une certaine valeur. Exemple : &amp;quot;Votre crédit d'heures de vol est inférieur à 1h, n'hésitez-pas à le recharger en achetant un pack de 10 heures&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Compte comptable=&lt;br /&gt;
==Créer un compte comptable==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Lister les comptes &amp;gt; Comptes X''' où X dépend du [[Comptabilité#Présentation_des_comptes|type de compte]] à créer.&lt;br /&gt;
*En bas du tableau :&lt;br /&gt;
**Remplir le champ de la colonne '''Nom''' avec le nom souhaité pour désigner le compte à créer. Certains caractères ne sont pas recommandés dans le nom [[OF_doc-en::Accounting-export-template-CsvWithPointDecimal#Introduction|car ils sont supprimées dans les fichiers d'exports]]&lt;br /&gt;
**Remplir le champ de la colonne '''Compte d'export''' avec le numéro de compte d'export comptable souhaité. Cette information peut être saisie ou mise à jour à tout moment jusqu'à avant l'export vers un logiciel de comptabilité.&lt;br /&gt;
**Dans le cas où il s'agit d'un compte client, il faut sélectionner la case à cocher de la colonne '''Reçoit les paiements des clients extérieurs''' si l'on souhaite pouvoir saisir des encaissements directement sur ce compte&lt;br /&gt;
**Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
&lt;br /&gt;
==Créer un compte pour les ressources==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Ressources &amp;gt; Comptes ressources'''&lt;br /&gt;
*Cliquer sur l'icône [[Fichier:Icone_creation_compte.png]]&lt;br /&gt;
&lt;br /&gt;
Les ressources affichées sont :&lt;br /&gt;
* celles utilisables pour la '''Saisie d'activité'''&lt;br /&gt;
* celles non utilisables pour la '''Saisie d'activité''' mais ayant au moins un compte actif : cela permet de continuer à pouvoir consulter l'historique du compte de la ressource alors que la ressource n'est plus utilisée.&lt;br /&gt;
&lt;br /&gt;
==Comptes d'export==&lt;br /&gt;
A chaque [[#Compte_comptable|compte comptable]] est associé un compte d'export qui lui est propre.&lt;br /&gt;
*Ce numéro de compte d'export est utilisé exclusivement pour les [[Utilisation de la comptabilité#Les_exports_comptables|exports comptables]] et les rapports comptables&lt;br /&gt;
*Tous les comptes d'export doivent être définis avant de pouvoir réaliser un export comptable.&lt;br /&gt;
*Cette attribution de compte d'export peut être effectuée et modifiée à n'importe quel moment.&lt;br /&gt;
*Ce compte d'export est éditable directement au niveau du compte.&lt;br /&gt;
*De plus, pour les comptes utilisateurs et les comptes ressources, il est possible et fortement recommandé de définir des règles de numérotation automatique qui permettent de créer automatiquement les numéros de compte d'export lors de la création de nouveaux utilisateurs ou de nouvelles ressources.&lt;br /&gt;
*Certains caractères ne sont pas recommandés dans le compte d'export [[OF_doc-en::Accounting-export-template-CsvWithPointDecimal#Introduction|car ils sont supprimées dans les fichiers d'exports]]&lt;br /&gt;
''Dans le cadre du paramétrage effectué par OpenFlyers, nous livrons la plateforme avec les comptes d'export attribués selon le modèle couramment utilisé pour tous les comptes créés par nos soins.''&lt;br /&gt;
===Attribuer les comptes d'export utilisateurs ou ressources===&lt;br /&gt;
Pour attribuer les comptes d'export aux comptes utilisateurs ou aux comptes ressources, il existe 2 possibilités :&lt;br /&gt;
*soit par [[#Attribuer_manuellement_les_comptes_d'export_utilisateurs_ou_ressources|édition du compte d'export de chaque compte individuellement]]&lt;br /&gt;
*soit par [[#Mettre_en_place_un_patron_de_génération_automatique_de_compte_d'export_utilisateurs_ou_ressources|mise en place d'une formule permettant de générer automatiquement les valeurs]]&lt;br /&gt;
Il est recommandé de mettre en place une formule pour chaque type de compte utilisateur/ressource. Cela permet, lors de l'ajout de nouveaux utilisateurs/ressources, d'être sûr d'avoir une règle qui va être respectée et de permettre une génération automatique du compte d'export.&lt;br /&gt;
&lt;br /&gt;
====Attribuer manuellement les comptes d'export utilisateurs ou ressources====&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs &amp;gt; Comptes Utilisateur''' ou '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Comptes ressource'''&lt;br /&gt;
*Retrouver le compte souhaité&lt;br /&gt;
*Cliquer sur l'icône &amp;quot;crayon&amp;quot; pour modifier : un formulaire apparait permettant de modifier/saisir le Code comptable pour l'exportation&lt;br /&gt;
&lt;br /&gt;
====Mettre en place un patron de génération automatique de compte d'export utilisateurs ou ressources====&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs &amp;gt; Types de compte actifs''' ou '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Types de compte actifs''' selon le cas.&lt;br /&gt;
*Cliquer sur l'icône symbolisant un crayon de la ligne du type de compte pour lequel vous souhaitez mettre en place/éditer le patron de code comptable.&lt;br /&gt;
*Renseigner le champ '''Patron de code comptable pour l'exportation''' (cf. [[Formules de calcul#Compte_d'export|les exemples]]).&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''.&lt;br /&gt;
Il faut ensuite appliquer le patron :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs &amp;gt; Gérer les comptes d'export''' ou dans '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Gérer les comptes d'export''' selon le cas.&lt;br /&gt;
*Dans le champ '''Appliquer la mise à jour sur les types de comptes''' sélectionner le type de compte concerné. Le champ '''Formule à appliquer''' doit automatiquement se remplir avec le patron précédemment créé&lt;br /&gt;
*Si vous souhaitez que le patron s'applique à tous les comptes, sélectionner '''Tous les comptes'''. Sinon, sélectionner '''Uniquement les comptes sans numéro d'export'''.&lt;br /&gt;
*Cliquer sur le bouton '''Appliquer'''.&lt;br /&gt;
&lt;br /&gt;
===Attribuer les comptes d'export pour un compte ni utilisateur ni ressource===&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Liste les comptes &amp;gt; Tous les comptes'''&lt;br /&gt;
*Modifier le champ Compte d'export, la validation est automatique lors de la sortie du champ&lt;br /&gt;
&lt;br /&gt;
=Types d'encaissements=&lt;br /&gt;
OpenFlyers permet de définir librement autant de types d'encaissements que l'on souhaite. Cela permet de créer, outre les types d'encaissements courants tels que les paiements par espèce, carte bancaire, chèque ou virement de définir des types de paiements plus spécifiques comme les chèques vacances, les bons de comités d'entreprises, etc.&lt;br /&gt;
&lt;br /&gt;
La définition des types d'encaissements se fait en allant dans le menu '''Comptes &amp;gt; Encaissements &amp;gt; Types d'encaissements'''. A partie de ce menu, on peut :&lt;br /&gt;
*Classer les types d'encaissements (en utilisant les flèches haut/bas dans la colonne '''Ordonner''' à droite du tableau qui liste les types d'encaissement.&lt;br /&gt;
*Créer un nouveau type d'encaissement en cliquant sur le bouton '''Ajouter un type d'encaissement'''.&lt;br /&gt;
*Modifier un type d'encaissement existant en cliquant sur l'icône symbolisant un crayon sur la ligne correspondante au type d'encaissement à modifier.&lt;br /&gt;
*Supprimer un type d'encaissement existant en cliquant sur l'icône symbolisant une poubelle sur la ligne correspondante au type d'encaissement à modifier.&lt;br /&gt;
Une fois qu'un type d'encaissement est créé, il faut [[#Ventilation_des_types_d'encaissements|définir la ventilation]] qui doit lui être associée.&lt;br /&gt;
&lt;br /&gt;
==Ventilation des types d'encaissements==&lt;br /&gt;
La ventilation des types d'encaissements se fait depuis le menu '''Comptes &amp;gt; Encaissements &amp;gt; Ventilation des types d'encaissements'''. Elle permet de définir sur quel compte de trésorerie les paiements doivent être affectés au débit en contre partie du crédit sur le compte de l'utilisateur concerné.&lt;br /&gt;
&lt;br /&gt;
En indiquant '''OUI''' pour le champ '''Remise à une personne''', la sélection du type d'encaissement rendra actif le champ '''Personne qui reçoit''' lors de la saisie d'un encaissement. La liste des utilisateurs apparaissant dans le menu déroulant de ce champ contient les utilisateurs disposant d'un profil ayant le droit [[Gestion des profils#Gestion_des_comptes|Recevoir de l'argent]].&lt;br /&gt;
&lt;br /&gt;
=[[Bien débuter avec OpenFlyers#Passer_en_production|Passer en production sur la saisie des vols dans OpenFlyers]]=&lt;br /&gt;
&lt;br /&gt;
=Spécificités métiers=&lt;br /&gt;
==[[Conseils spécifiques pour la comptabilité#Baptêmes_dans_un_aéro-club|Gestion des baptêmes]]==&lt;br /&gt;
#Créer un type de vol &amp;quot;baptême&amp;quot;&lt;br /&gt;
#Créer un compte client &amp;quot;Clients extérieurs&amp;quot;&lt;br /&gt;
#Créer une règle de tarification concernant le type de vol &amp;quot;baptême&amp;quot; qui va débiter le compte &amp;quot;Clients extérieurs&amp;quot; et créditer le compte du pilote qui effectue le baptême à hauteur du montant du prix du vol en solo&lt;br /&gt;
Ainsi :&lt;br /&gt;
*le pilote qui effectue le baptême ne sera pas facturé&lt;br /&gt;
*le compte client &amp;quot;Clients extérieurs&amp;quot; sera débité du montant du prix du vol &amp;quot;solo&amp;quot;&lt;br /&gt;
*le compte produit &amp;quot;heures de vol&amp;quot; sera crédité normalement&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Configuration-de-la-comptabilit%C3%A9&amp;diff=15154</id>
		<title>Configuration de la comptabilité</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Configuration-de-la-comptabilit%C3%A9&amp;diff=15154"/>
				<updated>2017-02-17T14:24:15Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Créer un compte comptable */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire la configuration de la [[Comptabilité|comptabilité]] dans Openflyers 3.&lt;br /&gt;
&lt;br /&gt;
=[[Bien débuter avec OpenFlyers#Mettre_en_place_la_gestion_d'activité_sur_OpenFlyers|Mise en place de la comptabilité dans OpenFlyers]]=&lt;br /&gt;
&lt;br /&gt;
=Paramétrage général de la gestion des comptes=&lt;br /&gt;
*Aller dans '''Admin'''.&lt;br /&gt;
*Puis choisir '''Configuration &amp;gt; Paramétrage'''.&lt;br /&gt;
*Aller dans le formulaire '''[[Documentation administrateur#Gestion_des_comptes|Gestion des comptes]]''' :&lt;br /&gt;
&lt;br /&gt;
[[Image:AdminDoc3.0.2_parametre_gestion_comptes.png|gestion des comptes détail]]&lt;br /&gt;
*Champ '''Gestion des comptes''' : activer ce champ et valider pour activer la gestion des comptes.&lt;br /&gt;
*Champ '''Gestion TVA''' : Activer ce champ si la structure est soumise à la TVA, sinon le laisser sur '''Désactivé(e)'''. Lorsque ce champ est désactivé, le champ '''Mention spécifique pour l'absence de TVA''' est saisissable.&lt;br /&gt;
*Exemple de valeurs possibles pour le champ '''Mention spécifique pour l'absence de TVA''' :&lt;br /&gt;
**&amp;quot;TVA non applicable : article 293B du CGI&amp;quot; pour une association loi 1901, exonérée de TVA car ne dépassant pas un certain chiffre d'affaire&lt;br /&gt;
**&amp;quot;Association exonérée des impôts commerciaux&amp;quot; pour une association exonérée de TVA du fait de son caractère non lucratif&lt;br /&gt;
**&amp;quot;TVA non applicable : article 202B du CGI&amp;quot; pour un organisme de formation professionnelle continue déclaré ayant opté pour l'exonération de TVA&lt;br /&gt;
**&amp;quot;TVA non applicable : article 294 du CGI&amp;quot; pour une structure dans les DOM.&lt;br /&gt;
*Exemple de valeurs possibles pour le champ '''Titre spécifique pour les factures validées''' :&lt;br /&gt;
**&amp;quot;Facture&amp;quot;&lt;br /&gt;
**&amp;quot;Note de participation aux frais&amp;quot;&lt;br /&gt;
*Exemple de valeurs possibles pour le champ '''Titre spécifique pour les factures non validées''' :&lt;br /&gt;
**&amp;quot;Facture PROFORMA&amp;quot;&lt;br /&gt;
**&amp;quot;Note de participation aux frais PROFORMA&amp;quot;&lt;br /&gt;
**&amp;quot;Devis&amp;quot;&lt;br /&gt;
**&amp;quot;Bon de commande&amp;quot;&lt;br /&gt;
*'''Mentions sur les conditions de paiement''' : remplace le champ [[Modèle de facture ODT#Variables|[payment_notice_tag]]] dans le template de la facture PDF. Exemple de texte possible :&lt;br /&gt;
&amp;lt;pre&amp;gt;Règlement à réception&lt;br /&gt;
&lt;br /&gt;
En cas de retard de paiement, il sera appliqué des pénalités correspondant au taux légal en vigueur par mois de retard.&lt;br /&gt;
&lt;br /&gt;
En outre, une indemnité forfaitaire pour frais de recouvrement de 40 € sera due.&lt;br /&gt;
&lt;br /&gt;
Pas d'escompte en cas de paiement anticipé.&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''Mentions pieds de page''' : remplace le champ [[Modèle de facture ODT#Variables|[footer_tag]]] dans le template de la facture PDF. Exemple de texte possible :&lt;br /&gt;
&amp;lt;pre&amp;gt;SARL DUPONT au capital de 22 000 €, SIREN 123 456 789 RCS Paris, FR01234567890&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Paramétrage général des comptabilités=&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Comptabilité'''.&lt;br /&gt;
[[Fichier:OF3_DDT_comptabilite.png]]&lt;br /&gt;
&lt;br /&gt;
Les différentes colonnes permettent de paramétrer une comptabilité :&lt;br /&gt;
* '''Nom''' : Nom de la comptabilité&lt;br /&gt;
* '''Unité''' : L'unité employé&lt;br /&gt;
* '''Symbole''' : Le symbole de l'unité&lt;br /&gt;
* '''Format''' : Le format d'affichage à utiliser pour les montants&lt;br /&gt;
* '''Nombre de chiffre après la virgule''' : Détermine à combien de chiffre après la virgule vont être arrondi les montants calculés au sein de la comptabilité. L'arrondissement s'effectue aussi sur les variable-formules.&lt;br /&gt;
* '''Si solde utilisateur inférieur au minimum''' et '''Solde minimum requis''' : Permettent d'alerter et de restreindre l'accès à un profil déterminé ou de bloquer l'accès lorsque l'un des soldes des comptes d'un utilisateur est inférieur au minimum requis.&lt;br /&gt;
* '''Seuil de compte pour l'envoi d'e-mail d'alerte''' : Permet l'envoi d'un e-mail d'alerte, [[Documentation utilisateur#Alertes_par_e-mail_uniquement_sur_les_plateformes_de_production|uniquement sur les plateformes en production]], lorsque l'utilisateur a un solde de compte inférieur au seuil.&lt;br /&gt;
* '''Fréquence de rappel pour l'envoi d'e-mail d'alerte''' : Détermine la fréquence de rappel pour l'envoi de l'e-mail d'alerte (Jamais, tous les jours, tous les 3 jours).&lt;br /&gt;
* '''Contenu de l'e-mail d'alerte''' : Le contenu à insérer dans le message d'e-mail d'alerte.&lt;br /&gt;
* '''Ajouté en copie d'e-mail''' : Permet d'ajouter les utilisateurs des profils cochés en copie de l'e-mail d'alerte envoyé à chaque utilisateur concerné.&lt;br /&gt;
&lt;br /&gt;
Exemple de message incluant le montant du solde du compte pour éviter tout problème de &amp;quot;communication&amp;quot; :&lt;br /&gt;
&amp;lt;pre&amp;gt;Cher client/adhérent&lt;br /&gt;
&lt;br /&gt;
Votre compte au sein de la société/l'association X présente un solde de %ACCOUNT_BALANCE € en dessous du seuil minimum de X €.&lt;br /&gt;
&lt;br /&gt;
Nous vous remercions par avance pour la régularisation de votre compte.&lt;br /&gt;
&lt;br /&gt;
Le service comptable/trésorier&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
Le contrôle de votre compte et l'envoi de ce message sont effectués de façon automatique&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nous recommandons fortement de mettre le paramètre %ACCOUNT_BALANCE € qui permet d'avoir une traçabilité du montant &amp;quot;vu&amp;quot; par OpenFlyers au moment de l'envoi de l'e-mail et ainsi d'éviter tout problème de discussion ultérieur.&lt;br /&gt;
&lt;br /&gt;
==Restriction d'accès en cas de solde insuffisant==&lt;br /&gt;
Il est possible de définir des règles de restriction et/ou alerte pour chaque comptabilité. Pour cela, il faut :&lt;br /&gt;
*[[Gestion des profils|Créer un profil]] spécifique qui peut s'intituler ''Accès restreint''. Lors de la restriction, seuls les droits présents à la fois sur ce profil et sur celui de l'utilisateur restreint, resteront valides. Il faut donc bien définir les droits qui doivent rester présent pour le profil restreint.&lt;br /&gt;
*Dans le [[#Paramétrage_général_des_comptabilités|paramétrage général des comptabilités]], paramétrer les colonnes '''Si solde utilisateur inférieur au minimum''' et '''Solde minimum requis''' pour permettent d'alerter et de [[Documentation utilisateur#Restriction_d'accès|restreindre l'accès à un profil déterminé]] ou de bloquer l'accès lorsque l'un des soldes des comptes d'un utilisateur est inférieur au minimum requis.&lt;br /&gt;
&lt;br /&gt;
Le fait de [[Documentation utilisateur#Restriction_d'accès|restreindre le profil d'un utilisateur]], permet de l'empêcher de pouvoir effectuer certaines actions comme réserver ou débuter une activité si l'un de ses soldes est insuffisant.&lt;br /&gt;
&lt;br /&gt;
Ce contrôle sur le solde du compte et les droits qui en résultent s'effectue :&lt;br /&gt;
*A la connexion de l'utilisateur pour en déduire le type d'accès auquel il a droit&lt;br /&gt;
*Lors d'une action de réservation ou de saisie de vol effectuée par n'importe quel utilisateur. Dans ce cas, OpenFlyers contrôle le solde non pas de la personne effectuant l'action mais celui pour qui l'action est effectuée. Cela permet d'empêcher à un utilisateur de contourner une restriction en demandant à un autre utilisateur disposant de droits étendus de faire par exemple une réservation à son nom.&lt;br /&gt;
&lt;br /&gt;
Il est possible d'attribuer à des profils le droit &amp;quot;[[Gestion des profils#Gestion_des_comptes|Surpasser la limitation du solde du compte]]&amp;quot; qui seraient ainsi mise en place.&lt;br /&gt;
&lt;br /&gt;
Il est possible d'empêcher les utilisateurs standards d'effectuer des réservations en cas de solde insuffisant en enlevant les droits [[Gestion des profils#Réservation|&amp;quot;Réservation solo&amp;quot; et &amp;quot;Réservation pour des tiers&amp;quot;]] au profil ''Accès restreint'' tout en permettant à des tiers de pouvoir effectuer des réservations pour eux en laissant le droit [[Gestion des profils#Réservation|&amp;quot;Etre sur une nouvelle réservation&amp;quot;]] au profil ''Accès restreint''.&lt;br /&gt;
&lt;br /&gt;
Conseil OpenFlyers : il est possible d'utiliser l'alerte sur une comptabilité pour mettre en place l'envoi automatique d'un e-mail lorsque le crédit d'heures de vol devient inférieur à une certaine valeur. Exemple : &amp;quot;Votre crédit d'heures de vol est inférieur à 1h, n'hésitez-pas à le recharger en achetant un pack de 10 heures&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Compte comptable=&lt;br /&gt;
==Créer un compte comptable==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Lister les comptes &amp;gt; Comptes X''' où X dépend du [[Comptabilité#Présentation_des_comptes|type de compte]] à créer.&lt;br /&gt;
*En bas du tableau :&lt;br /&gt;
**Remplir le champ de la colonne '''Nom''' avec le nom souhaité pour désigner le compte à créer. Certains caractères ne sont pas recommandés dans le nom [[OF_doc-en::Accounting-export-template-CsvWithPointDecimal#Introduction|car ils sont supprimées dans les fichiers d'exports]]&lt;br /&gt;
**Remplir le champ de la colonne '''Compte d'export''' avec le numéro de compte d'export comptable souhaité. Cette information peut être saisie ou mise à jour à tout moment jusqu'à avant l'export vers un logiciel de comptabilité.&lt;br /&gt;
**Dans le cas où il s'agit d'un compte client, il faut sélectionner la case à cocher de la colonne '''Reçoit les paiements des clients extérieurs''' si l'on souhaite pouvoir saisir des encaissements directement sur ce compte&lt;br /&gt;
**Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
&lt;br /&gt;
==Créer un compte pour les ressources==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Ressources &amp;gt; Comptes ressources'''&lt;br /&gt;
*Cliquer sur l'icône [[Fichier:Icone_creation_compte.png]]&lt;br /&gt;
&lt;br /&gt;
Les ressources affichées sont :&lt;br /&gt;
* celles utilisables pour la '''Saisie d'activité'''&lt;br /&gt;
* celles non utilisables pour la '''Saisie d'activité''' mais ayant au moins un compte actif : cela permet de continuer à pouvoir consulter l'historique du compte de la ressource alors que la ressource n'est plus utilisée.&lt;br /&gt;
&lt;br /&gt;
==Comptes d'export==&lt;br /&gt;
A chaque [[#Compte_comptable|compte comptable]] est associé un compte d'export qui lui est propre.&lt;br /&gt;
*Ce numéro de compte d'export est utilisé exclusivement pour les [[Utilisation de la comptabilité#Les_exports_comptables|exports comptables]] et les rapports comptables&lt;br /&gt;
*Tous les comptes d'export doivent être définis avant de pouvoir réaliser un export comptable.&lt;br /&gt;
*Cette attribution de compte d'export peut être effectuée et modifiée à n'importe quel moment.&lt;br /&gt;
*Ce compte d'export est éditable directement au niveau du compte.&lt;br /&gt;
*De plus, pour les comptes utilisateurs et les comptes ressources, il est possible et fortement recommandé de définir des règles de numérotation automatique qui permettent de créer automatiquement les numéros de compte d'export lors de la création de nouveaux utilisateurs ou de nouvelles ressources.&lt;br /&gt;
''Dans le cadre du paramétrage effectué par OpenFlyers, nous livrons la plateforme avec les comptes d'export attribués selon le modèle couramment utilisé pour tous les comptes créés par nos soins.''&lt;br /&gt;
===Attribuer les comptes d'export utilisateurs ou ressources===&lt;br /&gt;
Pour attribuer les comptes d'export aux comptes utilisateurs ou aux comptes ressources, il existe 2 possibilités :&lt;br /&gt;
*soit par [[#Attribuer_manuellement_les_comptes_d'export_utilisateurs_ou_ressources|édition du compte d'export de chaque compte individuellement]]&lt;br /&gt;
*soit par [[#Mettre_en_place_un_patron_de_génération_automatique_de_compte_d'export_utilisateurs_ou_ressources|mise en place d'une formule permettant de générer automatiquement les valeurs]]&lt;br /&gt;
Il est recommandé de mettre en place une formule pour chaque type de compte utilisateur/ressource. Cela permet, lors de l'ajout de nouveaux utilisateurs/ressources, d'être sûr d'avoir une règle qui va être respectée et de permettre une génération automatique du compte d'export.&lt;br /&gt;
&lt;br /&gt;
====Attribuer manuellement les comptes d'export utilisateurs ou ressources====&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs &amp;gt; Comptes Utilisateur''' ou '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Comptes ressource'''&lt;br /&gt;
*Retrouver le compte souhaité&lt;br /&gt;
*Cliquer sur l'icône &amp;quot;crayon&amp;quot; pour modifier : un formulaire apparait permettant de modifier/saisir le Code comptable pour l'exportation&lt;br /&gt;
&lt;br /&gt;
====Mettre en place un patron de génération automatique de compte d'export utilisateurs ou ressources====&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs &amp;gt; Types de compte actifs''' ou '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Types de compte actifs''' selon le cas.&lt;br /&gt;
*Cliquer sur l'icône symbolisant un crayon de la ligne du type de compte pour lequel vous souhaitez mettre en place/éditer le patron de code comptable.&lt;br /&gt;
*Renseigner le champ '''Patron de code comptable pour l'exportation''' (cf. [[Formules de calcul#Compte_d'export|les exemples]]).&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''.&lt;br /&gt;
Il faut ensuite appliquer le patron :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs &amp;gt; Gérer les comptes d'export''' ou dans '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Gérer les comptes d'export''' selon le cas.&lt;br /&gt;
*Dans le champ '''Appliquer la mise à jour sur les types de comptes''' sélectionner le type de compte concerné. Le champ '''Formule à appliquer''' doit automatiquement se remplir avec le patron précédemment créé&lt;br /&gt;
*Si vous souhaitez que le patron s'applique à tous les comptes, sélectionner '''Tous les comptes'''. Sinon, sélectionner '''Uniquement les comptes sans numéro d'export'''.&lt;br /&gt;
*Cliquer sur le bouton '''Appliquer'''.&lt;br /&gt;
&lt;br /&gt;
===Attribuer les comptes d'export pour un compte ni utilisateur ni ressource===&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Liste les comptes &amp;gt; Tous les comptes'''&lt;br /&gt;
*Modifier le champ Compte d'export, la validation est automatique lors de la sortie du champ&lt;br /&gt;
&lt;br /&gt;
=Types d'encaissements=&lt;br /&gt;
OpenFlyers permet de définir librement autant de types d'encaissements que l'on souhaite. Cela permet de créer, outre les types d'encaissements courants tels que les paiements par espèce, carte bancaire, chèque ou virement de définir des types de paiements plus spécifiques comme les chèques vacances, les bons de comités d'entreprises, etc.&lt;br /&gt;
&lt;br /&gt;
La définition des types d'encaissements se fait en allant dans le menu '''Comptes &amp;gt; Encaissements &amp;gt; Types d'encaissements'''. A partie de ce menu, on peut :&lt;br /&gt;
*Classer les types d'encaissements (en utilisant les flèches haut/bas dans la colonne '''Ordonner''' à droite du tableau qui liste les types d'encaissement.&lt;br /&gt;
*Créer un nouveau type d'encaissement en cliquant sur le bouton '''Ajouter un type d'encaissement'''.&lt;br /&gt;
*Modifier un type d'encaissement existant en cliquant sur l'icône symbolisant un crayon sur la ligne correspondante au type d'encaissement à modifier.&lt;br /&gt;
*Supprimer un type d'encaissement existant en cliquant sur l'icône symbolisant une poubelle sur la ligne correspondante au type d'encaissement à modifier.&lt;br /&gt;
Une fois qu'un type d'encaissement est créé, il faut [[#Ventilation_des_types_d'encaissements|définir la ventilation]] qui doit lui être associée.&lt;br /&gt;
&lt;br /&gt;
==Ventilation des types d'encaissements==&lt;br /&gt;
La ventilation des types d'encaissements se fait depuis le menu '''Comptes &amp;gt; Encaissements &amp;gt; Ventilation des types d'encaissements'''. Elle permet de définir sur quel compte de trésorerie les paiements doivent être affectés au débit en contre partie du crédit sur le compte de l'utilisateur concerné.&lt;br /&gt;
&lt;br /&gt;
En indiquant '''OUI''' pour le champ '''Remise à une personne''', la sélection du type d'encaissement rendra actif le champ '''Personne qui reçoit''' lors de la saisie d'un encaissement. La liste des utilisateurs apparaissant dans le menu déroulant de ce champ contient les utilisateurs disposant d'un profil ayant le droit [[Gestion des profils#Gestion_des_comptes|Recevoir de l'argent]].&lt;br /&gt;
&lt;br /&gt;
=[[Bien débuter avec OpenFlyers#Passer_en_production|Passer en production sur la saisie des vols dans OpenFlyers]]=&lt;br /&gt;
&lt;br /&gt;
=Spécificités métiers=&lt;br /&gt;
==[[Conseils spécifiques pour la comptabilité#Baptêmes_dans_un_aéro-club|Gestion des baptêmes]]==&lt;br /&gt;
#Créer un type de vol &amp;quot;baptême&amp;quot;&lt;br /&gt;
#Créer un compte client &amp;quot;Clients extérieurs&amp;quot;&lt;br /&gt;
#Créer une règle de tarification concernant le type de vol &amp;quot;baptême&amp;quot; qui va débiter le compte &amp;quot;Clients extérieurs&amp;quot; et créditer le compte du pilote qui effectue le baptême à hauteur du montant du prix du vol en solo&lt;br /&gt;
Ainsi :&lt;br /&gt;
*le pilote qui effectue le baptême ne sera pas facturé&lt;br /&gt;
*le compte client &amp;quot;Clients extérieurs&amp;quot; sera débité du montant du prix du vol &amp;quot;solo&amp;quot;&lt;br /&gt;
*le compte produit &amp;quot;heures de vol&amp;quot; sera crédité normalement&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Configuration-de-la-comptabilit%C3%A9&amp;diff=15153</id>
		<title>Configuration de la comptabilité</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Configuration-de-la-comptabilit%C3%A9&amp;diff=15153"/>
				<updated>2017-02-17T14:23:57Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Créer un compte comptable */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire la configuration de la [[Comptabilité|comptabilité]] dans Openflyers 3.&lt;br /&gt;
&lt;br /&gt;
=[[Bien débuter avec OpenFlyers#Mettre_en_place_la_gestion_d'activité_sur_OpenFlyers|Mise en place de la comptabilité dans OpenFlyers]]=&lt;br /&gt;
&lt;br /&gt;
=Paramétrage général de la gestion des comptes=&lt;br /&gt;
*Aller dans '''Admin'''.&lt;br /&gt;
*Puis choisir '''Configuration &amp;gt; Paramétrage'''.&lt;br /&gt;
*Aller dans le formulaire '''[[Documentation administrateur#Gestion_des_comptes|Gestion des comptes]]''' :&lt;br /&gt;
&lt;br /&gt;
[[Image:AdminDoc3.0.2_parametre_gestion_comptes.png|gestion des comptes détail]]&lt;br /&gt;
*Champ '''Gestion des comptes''' : activer ce champ et valider pour activer la gestion des comptes.&lt;br /&gt;
*Champ '''Gestion TVA''' : Activer ce champ si la structure est soumise à la TVA, sinon le laisser sur '''Désactivé(e)'''. Lorsque ce champ est désactivé, le champ '''Mention spécifique pour l'absence de TVA''' est saisissable.&lt;br /&gt;
*Exemple de valeurs possibles pour le champ '''Mention spécifique pour l'absence de TVA''' :&lt;br /&gt;
**&amp;quot;TVA non applicable : article 293B du CGI&amp;quot; pour une association loi 1901, exonérée de TVA car ne dépassant pas un certain chiffre d'affaire&lt;br /&gt;
**&amp;quot;Association exonérée des impôts commerciaux&amp;quot; pour une association exonérée de TVA du fait de son caractère non lucratif&lt;br /&gt;
**&amp;quot;TVA non applicable : article 202B du CGI&amp;quot; pour un organisme de formation professionnelle continue déclaré ayant opté pour l'exonération de TVA&lt;br /&gt;
**&amp;quot;TVA non applicable : article 294 du CGI&amp;quot; pour une structure dans les DOM.&lt;br /&gt;
*Exemple de valeurs possibles pour le champ '''Titre spécifique pour les factures validées''' :&lt;br /&gt;
**&amp;quot;Facture&amp;quot;&lt;br /&gt;
**&amp;quot;Note de participation aux frais&amp;quot;&lt;br /&gt;
*Exemple de valeurs possibles pour le champ '''Titre spécifique pour les factures non validées''' :&lt;br /&gt;
**&amp;quot;Facture PROFORMA&amp;quot;&lt;br /&gt;
**&amp;quot;Note de participation aux frais PROFORMA&amp;quot;&lt;br /&gt;
**&amp;quot;Devis&amp;quot;&lt;br /&gt;
**&amp;quot;Bon de commande&amp;quot;&lt;br /&gt;
*'''Mentions sur les conditions de paiement''' : remplace le champ [[Modèle de facture ODT#Variables|[payment_notice_tag]]] dans le template de la facture PDF. Exemple de texte possible :&lt;br /&gt;
&amp;lt;pre&amp;gt;Règlement à réception&lt;br /&gt;
&lt;br /&gt;
En cas de retard de paiement, il sera appliqué des pénalités correspondant au taux légal en vigueur par mois de retard.&lt;br /&gt;
&lt;br /&gt;
En outre, une indemnité forfaitaire pour frais de recouvrement de 40 € sera due.&lt;br /&gt;
&lt;br /&gt;
Pas d'escompte en cas de paiement anticipé.&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''Mentions pieds de page''' : remplace le champ [[Modèle de facture ODT#Variables|[footer_tag]]] dans le template de la facture PDF. Exemple de texte possible :&lt;br /&gt;
&amp;lt;pre&amp;gt;SARL DUPONT au capital de 22 000 €, SIREN 123 456 789 RCS Paris, FR01234567890&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Paramétrage général des comptabilités=&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Comptabilité'''.&lt;br /&gt;
[[Fichier:OF3_DDT_comptabilite.png]]&lt;br /&gt;
&lt;br /&gt;
Les différentes colonnes permettent de paramétrer une comptabilité :&lt;br /&gt;
* '''Nom''' : Nom de la comptabilité&lt;br /&gt;
* '''Unité''' : L'unité employé&lt;br /&gt;
* '''Symbole''' : Le symbole de l'unité&lt;br /&gt;
* '''Format''' : Le format d'affichage à utiliser pour les montants&lt;br /&gt;
* '''Nombre de chiffre après la virgule''' : Détermine à combien de chiffre après la virgule vont être arrondi les montants calculés au sein de la comptabilité. L'arrondissement s'effectue aussi sur les variable-formules.&lt;br /&gt;
* '''Si solde utilisateur inférieur au minimum''' et '''Solde minimum requis''' : Permettent d'alerter et de restreindre l'accès à un profil déterminé ou de bloquer l'accès lorsque l'un des soldes des comptes d'un utilisateur est inférieur au minimum requis.&lt;br /&gt;
* '''Seuil de compte pour l'envoi d'e-mail d'alerte''' : Permet l'envoi d'un e-mail d'alerte, [[Documentation utilisateur#Alertes_par_e-mail_uniquement_sur_les_plateformes_de_production|uniquement sur les plateformes en production]], lorsque l'utilisateur a un solde de compte inférieur au seuil.&lt;br /&gt;
* '''Fréquence de rappel pour l'envoi d'e-mail d'alerte''' : Détermine la fréquence de rappel pour l'envoi de l'e-mail d'alerte (Jamais, tous les jours, tous les 3 jours).&lt;br /&gt;
* '''Contenu de l'e-mail d'alerte''' : Le contenu à insérer dans le message d'e-mail d'alerte.&lt;br /&gt;
* '''Ajouté en copie d'e-mail''' : Permet d'ajouter les utilisateurs des profils cochés en copie de l'e-mail d'alerte envoyé à chaque utilisateur concerné.&lt;br /&gt;
&lt;br /&gt;
Exemple de message incluant le montant du solde du compte pour éviter tout problème de &amp;quot;communication&amp;quot; :&lt;br /&gt;
&amp;lt;pre&amp;gt;Cher client/adhérent&lt;br /&gt;
&lt;br /&gt;
Votre compte au sein de la société/l'association X présente un solde de %ACCOUNT_BALANCE € en dessous du seuil minimum de X €.&lt;br /&gt;
&lt;br /&gt;
Nous vous remercions par avance pour la régularisation de votre compte.&lt;br /&gt;
&lt;br /&gt;
Le service comptable/trésorier&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
Le contrôle de votre compte et l'envoi de ce message sont effectués de façon automatique&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nous recommandons fortement de mettre le paramètre %ACCOUNT_BALANCE € qui permet d'avoir une traçabilité du montant &amp;quot;vu&amp;quot; par OpenFlyers au moment de l'envoi de l'e-mail et ainsi d'éviter tout problème de discussion ultérieur.&lt;br /&gt;
&lt;br /&gt;
==Restriction d'accès en cas de solde insuffisant==&lt;br /&gt;
Il est possible de définir des règles de restriction et/ou alerte pour chaque comptabilité. Pour cela, il faut :&lt;br /&gt;
*[[Gestion des profils|Créer un profil]] spécifique qui peut s'intituler ''Accès restreint''. Lors de la restriction, seuls les droits présents à la fois sur ce profil et sur celui de l'utilisateur restreint, resteront valides. Il faut donc bien définir les droits qui doivent rester présent pour le profil restreint.&lt;br /&gt;
*Dans le [[#Paramétrage_général_des_comptabilités|paramétrage général des comptabilités]], paramétrer les colonnes '''Si solde utilisateur inférieur au minimum''' et '''Solde minimum requis''' pour permettent d'alerter et de [[Documentation utilisateur#Restriction_d'accès|restreindre l'accès à un profil déterminé]] ou de bloquer l'accès lorsque l'un des soldes des comptes d'un utilisateur est inférieur au minimum requis.&lt;br /&gt;
&lt;br /&gt;
Le fait de [[Documentation utilisateur#Restriction_d'accès|restreindre le profil d'un utilisateur]], permet de l'empêcher de pouvoir effectuer certaines actions comme réserver ou débuter une activité si l'un de ses soldes est insuffisant.&lt;br /&gt;
&lt;br /&gt;
Ce contrôle sur le solde du compte et les droits qui en résultent s'effectue :&lt;br /&gt;
*A la connexion de l'utilisateur pour en déduire le type d'accès auquel il a droit&lt;br /&gt;
*Lors d'une action de réservation ou de saisie de vol effectuée par n'importe quel utilisateur. Dans ce cas, OpenFlyers contrôle le solde non pas de la personne effectuant l'action mais celui pour qui l'action est effectuée. Cela permet d'empêcher à un utilisateur de contourner une restriction en demandant à un autre utilisateur disposant de droits étendus de faire par exemple une réservation à son nom.&lt;br /&gt;
&lt;br /&gt;
Il est possible d'attribuer à des profils le droit &amp;quot;[[Gestion des profils#Gestion_des_comptes|Surpasser la limitation du solde du compte]]&amp;quot; qui seraient ainsi mise en place.&lt;br /&gt;
&lt;br /&gt;
Il est possible d'empêcher les utilisateurs standards d'effectuer des réservations en cas de solde insuffisant en enlevant les droits [[Gestion des profils#Réservation|&amp;quot;Réservation solo&amp;quot; et &amp;quot;Réservation pour des tiers&amp;quot;]] au profil ''Accès restreint'' tout en permettant à des tiers de pouvoir effectuer des réservations pour eux en laissant le droit [[Gestion des profils#Réservation|&amp;quot;Etre sur une nouvelle réservation&amp;quot;]] au profil ''Accès restreint''.&lt;br /&gt;
&lt;br /&gt;
Conseil OpenFlyers : il est possible d'utiliser l'alerte sur une comptabilité pour mettre en place l'envoi automatique d'un e-mail lorsque le crédit d'heures de vol devient inférieur à une certaine valeur. Exemple : &amp;quot;Votre crédit d'heures de vol est inférieur à 1h, n'hésitez-pas à le recharger en achetant un pack de 10 heures&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Compte comptable=&lt;br /&gt;
==Créer un compte comptable==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Lister les comptes &amp;gt; Comptes X''' où X dépend du [[Comptabilité#Présentation_des_comptes|type de compte]] à créer.&lt;br /&gt;
*En bas du tableau :&lt;br /&gt;
**Remplir le champ de la colonne '''Nom''' avec le nom souhaité pour désigner le compte à créer. Certains caractères ne sont pas recommandés dans le nom [[Accounting-export-template-CsvWithPointDecimal#Introduction|car ils sont supprimées dans les fichiers d'exports]]&lt;br /&gt;
**Remplir le champ de la colonne '''Compte d'export''' avec le numéro de compte d'export comptable souhaité. Cette information peut être saisie ou mise à jour à tout moment jusqu'à avant l'export vers un logiciel de comptabilité.&lt;br /&gt;
**Dans le cas où il s'agit d'un compte client, il faut sélectionner la case à cocher de la colonne '''Reçoit les paiements des clients extérieurs''' si l'on souhaite pouvoir saisir des encaissements directement sur ce compte&lt;br /&gt;
**Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
&lt;br /&gt;
==Créer un compte pour les ressources==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Ressources &amp;gt; Comptes ressources'''&lt;br /&gt;
*Cliquer sur l'icône [[Fichier:Icone_creation_compte.png]]&lt;br /&gt;
&lt;br /&gt;
Les ressources affichées sont :&lt;br /&gt;
* celles utilisables pour la '''Saisie d'activité'''&lt;br /&gt;
* celles non utilisables pour la '''Saisie d'activité''' mais ayant au moins un compte actif : cela permet de continuer à pouvoir consulter l'historique du compte de la ressource alors que la ressource n'est plus utilisée.&lt;br /&gt;
&lt;br /&gt;
==Comptes d'export==&lt;br /&gt;
A chaque [[#Compte_comptable|compte comptable]] est associé un compte d'export qui lui est propre.&lt;br /&gt;
*Ce numéro de compte d'export est utilisé exclusivement pour les [[Utilisation de la comptabilité#Les_exports_comptables|exports comptables]] et les rapports comptables&lt;br /&gt;
*Tous les comptes d'export doivent être définis avant de pouvoir réaliser un export comptable.&lt;br /&gt;
*Cette attribution de compte d'export peut être effectuée et modifiée à n'importe quel moment.&lt;br /&gt;
*Ce compte d'export est éditable directement au niveau du compte.&lt;br /&gt;
*De plus, pour les comptes utilisateurs et les comptes ressources, il est possible et fortement recommandé de définir des règles de numérotation automatique qui permettent de créer automatiquement les numéros de compte d'export lors de la création de nouveaux utilisateurs ou de nouvelles ressources.&lt;br /&gt;
''Dans le cadre du paramétrage effectué par OpenFlyers, nous livrons la plateforme avec les comptes d'export attribués selon le modèle couramment utilisé pour tous les comptes créés par nos soins.''&lt;br /&gt;
===Attribuer les comptes d'export utilisateurs ou ressources===&lt;br /&gt;
Pour attribuer les comptes d'export aux comptes utilisateurs ou aux comptes ressources, il existe 2 possibilités :&lt;br /&gt;
*soit par [[#Attribuer_manuellement_les_comptes_d'export_utilisateurs_ou_ressources|édition du compte d'export de chaque compte individuellement]]&lt;br /&gt;
*soit par [[#Mettre_en_place_un_patron_de_génération_automatique_de_compte_d'export_utilisateurs_ou_ressources|mise en place d'une formule permettant de générer automatiquement les valeurs]]&lt;br /&gt;
Il est recommandé de mettre en place une formule pour chaque type de compte utilisateur/ressource. Cela permet, lors de l'ajout de nouveaux utilisateurs/ressources, d'être sûr d'avoir une règle qui va être respectée et de permettre une génération automatique du compte d'export.&lt;br /&gt;
&lt;br /&gt;
====Attribuer manuellement les comptes d'export utilisateurs ou ressources====&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs &amp;gt; Comptes Utilisateur''' ou '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Comptes ressource'''&lt;br /&gt;
*Retrouver le compte souhaité&lt;br /&gt;
*Cliquer sur l'icône &amp;quot;crayon&amp;quot; pour modifier : un formulaire apparait permettant de modifier/saisir le Code comptable pour l'exportation&lt;br /&gt;
&lt;br /&gt;
====Mettre en place un patron de génération automatique de compte d'export utilisateurs ou ressources====&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs &amp;gt; Types de compte actifs''' ou '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Types de compte actifs''' selon le cas.&lt;br /&gt;
*Cliquer sur l'icône symbolisant un crayon de la ligne du type de compte pour lequel vous souhaitez mettre en place/éditer le patron de code comptable.&lt;br /&gt;
*Renseigner le champ '''Patron de code comptable pour l'exportation''' (cf. [[Formules de calcul#Compte_d'export|les exemples]]).&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''.&lt;br /&gt;
Il faut ensuite appliquer le patron :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs &amp;gt; Gérer les comptes d'export''' ou dans '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Gérer les comptes d'export''' selon le cas.&lt;br /&gt;
*Dans le champ '''Appliquer la mise à jour sur les types de comptes''' sélectionner le type de compte concerné. Le champ '''Formule à appliquer''' doit automatiquement se remplir avec le patron précédemment créé&lt;br /&gt;
*Si vous souhaitez que le patron s'applique à tous les comptes, sélectionner '''Tous les comptes'''. Sinon, sélectionner '''Uniquement les comptes sans numéro d'export'''.&lt;br /&gt;
*Cliquer sur le bouton '''Appliquer'''.&lt;br /&gt;
&lt;br /&gt;
===Attribuer les comptes d'export pour un compte ni utilisateur ni ressource===&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Liste les comptes &amp;gt; Tous les comptes'''&lt;br /&gt;
*Modifier le champ Compte d'export, la validation est automatique lors de la sortie du champ&lt;br /&gt;
&lt;br /&gt;
=Types d'encaissements=&lt;br /&gt;
OpenFlyers permet de définir librement autant de types d'encaissements que l'on souhaite. Cela permet de créer, outre les types d'encaissements courants tels que les paiements par espèce, carte bancaire, chèque ou virement de définir des types de paiements plus spécifiques comme les chèques vacances, les bons de comités d'entreprises, etc.&lt;br /&gt;
&lt;br /&gt;
La définition des types d'encaissements se fait en allant dans le menu '''Comptes &amp;gt; Encaissements &amp;gt; Types d'encaissements'''. A partie de ce menu, on peut :&lt;br /&gt;
*Classer les types d'encaissements (en utilisant les flèches haut/bas dans la colonne '''Ordonner''' à droite du tableau qui liste les types d'encaissement.&lt;br /&gt;
*Créer un nouveau type d'encaissement en cliquant sur le bouton '''Ajouter un type d'encaissement'''.&lt;br /&gt;
*Modifier un type d'encaissement existant en cliquant sur l'icône symbolisant un crayon sur la ligne correspondante au type d'encaissement à modifier.&lt;br /&gt;
*Supprimer un type d'encaissement existant en cliquant sur l'icône symbolisant une poubelle sur la ligne correspondante au type d'encaissement à modifier.&lt;br /&gt;
Une fois qu'un type d'encaissement est créé, il faut [[#Ventilation_des_types_d'encaissements|définir la ventilation]] qui doit lui être associée.&lt;br /&gt;
&lt;br /&gt;
==Ventilation des types d'encaissements==&lt;br /&gt;
La ventilation des types d'encaissements se fait depuis le menu '''Comptes &amp;gt; Encaissements &amp;gt; Ventilation des types d'encaissements'''. Elle permet de définir sur quel compte de trésorerie les paiements doivent être affectés au débit en contre partie du crédit sur le compte de l'utilisateur concerné.&lt;br /&gt;
&lt;br /&gt;
En indiquant '''OUI''' pour le champ '''Remise à une personne''', la sélection du type d'encaissement rendra actif le champ '''Personne qui reçoit''' lors de la saisie d'un encaissement. La liste des utilisateurs apparaissant dans le menu déroulant de ce champ contient les utilisateurs disposant d'un profil ayant le droit [[Gestion des profils#Gestion_des_comptes|Recevoir de l'argent]].&lt;br /&gt;
&lt;br /&gt;
=[[Bien débuter avec OpenFlyers#Passer_en_production|Passer en production sur la saisie des vols dans OpenFlyers]]=&lt;br /&gt;
&lt;br /&gt;
=Spécificités métiers=&lt;br /&gt;
==[[Conseils spécifiques pour la comptabilité#Baptêmes_dans_un_aéro-club|Gestion des baptêmes]]==&lt;br /&gt;
#Créer un type de vol &amp;quot;baptême&amp;quot;&lt;br /&gt;
#Créer un compte client &amp;quot;Clients extérieurs&amp;quot;&lt;br /&gt;
#Créer une règle de tarification concernant le type de vol &amp;quot;baptême&amp;quot; qui va débiter le compte &amp;quot;Clients extérieurs&amp;quot; et créditer le compte du pilote qui effectue le baptême à hauteur du montant du prix du vol en solo&lt;br /&gt;
Ainsi :&lt;br /&gt;
*le pilote qui effectue le baptême ne sera pas facturé&lt;br /&gt;
*le compte client &amp;quot;Clients extérieurs&amp;quot; sera débité du montant du prix du vol &amp;quot;solo&amp;quot;&lt;br /&gt;
*le compte produit &amp;quot;heures de vol&amp;quot; sera crédité normalement&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Gestion-des-profils&amp;diff=15079</id>
		<title>Gestion des profils</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Gestion-des-profils&amp;diff=15079"/>
				<updated>2017-01-10T11:48:56Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Généralités */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
Le ''profil'' d'un utilisateur définit au travers des ''droits'' qui lui sont attribués les différentes actions qu'il pourra ou non effectuer à partir de son accès à une plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Il est préférable, avant d'ajouter/importer les utilisateurs, de créer au moins le profil le plus usuel par exemple le client ou le membre ou le pilote et paramétrer la plateforme OpenFlyers pour que ce profil soit attribué par défaut aux nouveaux utilisateurs. Ainsi, seuls les utilisateurs devant avoir des profils particuliers (administrateurs, gestionnaires, salariés, permanents, bénévoles, etc.) devront être repris.&lt;br /&gt;
&lt;br /&gt;
La gestion des profils se fait à partir du menu '''Admin &amp;gt; Utilisateurs &amp;gt; Profils'''.&lt;br /&gt;
&lt;br /&gt;
Par défaut, sur la page obtenue, il n'y a qu'un seul profil nommé &amp;quot;admin&amp;quot;. Vous pouvez le renommer en cliquant sur le nom du profil, mais veillez à ce qu'il possède toujours le droit '''Gestion des profils'''.&lt;br /&gt;
&lt;br /&gt;
Pour ajouter un nouveau profil, il suffit de cliquer sur '''AJOUTER UN PROFIL''' puis d'entrer le nom voulu (par exemple : ''Pilote'') et de valider.&lt;br /&gt;
&lt;br /&gt;
Il y a différentes pages que l'on peut assimiler à des onglets, leur nombre varie en fonction de la configuration de la plateforme OpenFlyers. Ainsi, si vous avez activé la gestion des vols vous aurez l'onglet '''Gestion des vols''' et de même pour la gestion des comptes.&lt;br /&gt;
&lt;br /&gt;
Par défaut un nouveau profil n'a aucun droit (les icônes &amp;quot;check&amp;quot; sont voilées), vous devez donc les paramétrer en cliquant sur l'icône &amp;quot;check&amp;quot; pour qu'elle devienne non-voilée et ainsi donner le droit correspondant à la case et vice versa pour retirer un droit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ci-dessous se trouve la liste des droits classés par &amp;quot;onglets&amp;quot; et leur signification.&lt;br /&gt;
&lt;br /&gt;
=Icônes symbolisant les droits des profils=&lt;br /&gt;
Dans la page '''Admin &amp;gt; Utilisateurs &amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
Les droits constituent les entêtes du tableau. Chaque entête de colonne correspond à un droit.&lt;br /&gt;
L’icône [[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] a été attribuée à l'ensemble de ces droits sauf deux :&lt;br /&gt;
*'''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&lt;br /&gt;
*'''Voir les noms sur les réservations et la liste des utilisateurs''' de l'onglet '''Réservations''' à laquelle l'icône [[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] à été attribuée&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
#L'icône d'un profil sera [[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] si le droit '''Profil non sélectionnable par l'utilisateur''' ci-dessus est coché&lt;br /&gt;
#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 et la liste des utilisateurs''' ci-dessus qui peut être coché ou non&lt;br /&gt;
#Dans tous les autres cas, l'icône d'un profil sera [[Fichier:Profile-management3.0.x_Userinfo_connected.gif]]&lt;br /&gt;
&lt;br /&gt;
==Définition des icônes représentant des droits==&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] : Droit qui définit un profil de base.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] : Droit qui rend un profil non sélectionnable par un utilisateur lors de sa connexion.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] : Droit qui rend un profil de type &amp;quot;public&amp;quot; permettant de consulter le planning uniquement. Si au moins un droit de base est activé, le profil devient un profil de base.&lt;br /&gt;
&lt;br /&gt;
==Définition des icônes attribuées aux profils==&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] : Profil de base&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] : Profil non sélectionnable par un utilisateur lors de sa connexion.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] : Profil de type &amp;quot;public&amp;quot; permettant de consulter le planning uniquement. Toute modification ou saisie par un utilisateur nécessitera une identification par le biais d'une fenêtre &amp;quot;pop-up&amp;quot; demandant à l'utilisateur son propre identifiant et mot de passe.&lt;br /&gt;
&lt;br /&gt;
=Page Profils=&lt;br /&gt;
&lt;br /&gt;
==Généralités==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] '''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 profils non sélectionnables ne seront pas proposés parmi la liste.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Pas de déconnexion automatique''' : Une session ouverte revient à la page d'identification après 5 min environ d'inactivité. Cette fonction annihile cet automatisme de sécurité (Fonction utile pour le compte &amp;quot;Invité&amp;quot; à afficher dans les locaux, en poste libre, de la structure aéronautique).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Mise à jour de sa date de naissance, de son sexe et de sa nationalité''' : permet la modification de ces données dans sa fiche.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Ajout et gestion de ses validités''' : Permet à un 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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion de ses validités détenues''' : Permet à un utilisateur de mettre à jour/supprimer uniquement les validités qui lui sont déjà attribuées et qui sont dans la liste [[#Page_Profils_Plus|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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser les restrictions sur les validités expirées''' : Permet à un utilisateur de supprimer les [[Documentation utilisateur#Restriction_d'accès|restrictions d'accès]] appliquées à la connexion pour des validités expirées.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] '''Editer sa photo''' : Permet à un utilisateur d'importer ou de supprimer sa photo.&lt;br /&gt;
&lt;br /&gt;
==Réservation==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Etre sur une nouvelle réservation''' : Permet lors d'une nouvelle réservation, que l'utilisateur disposant du profil concerné soit autorisée à être sur une des places. Permet entre autre à un utilisateur tiers, de pouvoir effectuer de nouvelles réservations pour un utilisateur disposant du profile concerné et n'ayant pas de droit de '''Réservation solo''', de '''Réservation pour des tiers''' ou de '''Réservation avec un instructeur'''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Planning personnel''' : Permet la gestion de ses propres disponibilités et de visualiser son propre planning.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Planning individuel visible pour les autres''' : Permet de rendre disponible son planning aux autres utilisateurs.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des disponibilités des tiers''' : Permet de gérer la disponibilité des utilisateurs.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Réservation solo''' : autorise la réservation d'une ressource sans instructeur pour les membres.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Réservation pour des tiers''' : 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 (Fonction utile pour le secrétariat).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Réservation avec un instructeur''' : autorise la réservation d'une ressource avec un instructeur.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des disponibilités des ressources''' : permet d'immobiliser une ressource (pour entretien, réparation, arrêt de vol, ...). Cela se fait comme pour une réservation, une case &amp;quot;immobiliser la ressource&amp;quot; est alors disponible. Sur la frise de réservation il sera indiqué &amp;quot;Mise en maintenance&amp;quot; pour la durée demandée (Fonction utile pour le mécano, secrétaire, chef pilote...).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser l'indisponibilité des instructeurs''' : 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).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser l'interdiction d'effectuer une réservation dans moins de X temps''' : autorise la réservation en annulant l'interdiction &amp;quot;d'effectuer une réservation débutant dans moins de&amp;quot; &lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la limite de durée minimum''' : autorise la réservation en annulant la restriction sur la durée minimum d'une réservation&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la limite de durée maximum''' : autorise la réservation en annulant la restriction sur la durée maximum d'une réservation&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la limite de temps''' : autorise la réservation en annulant la restriction sur la limitation dans le temps des réservations&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la limite de nombre''' : autorise la réservation en annulant la restriction sur le nombre maximum de réservation&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la réservation par type''' : en cas de chevauchement, cela permet de déplacer la réservation sur une autre ressource de type différent&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Alertable par e-mail pour toute réservation''' : permet la notification lors qu'une réservation est créée par n'importe quel utilisateur.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] ''' Créer ou modifier une réservation avec une date de début dépassée''' : autorise à créer ou modifier une réservation dont la date de début est dépassée.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] '''Voir les noms sur les réservations''' : permet de visualiser les noms des utilisateurs associés à la réservation&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] '''Champs additionnels visualisables dans les pop-ups de réservation''' : permet de visualiser le contenu des champs additionnels dans la pop-up de réservation&lt;br /&gt;
&lt;br /&gt;
==Généralités Admin==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion du paramétrage''' : permet d'accéder à la page &amp;quot;Paramètres&amp;quot; et &amp;quot;Configuration&amp;quot; (cf. leur description plus haut [NON CREE pour 'paramètres']). Autorise aussi l'import d'utilisateurs (ou mise à jour), de gérer les statuts (concerne la flotte), de modifier les types de vols et les (in)compatibilités entre ces derniers et les validités requises par type de vol (sans pouvoir toucher aux validités), modifier les terrains favoris.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des profils''' : permet de créer et modifier les profils. Attention, laisser cette autorisation à au moins un profil !&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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 [[Gestion des validités#Validité_à_vendre|validités à vendre]]. Couplé au droit '''Acheter pour les tiers''', il permet de gérer les [[Gestion des validités#Validité_à_vendre|validités qui sont à vendre]].&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des rapports''' : Fait apparaître le menu '''Rapports''' avec les items '''Rapports personnalisés &amp;gt; Champ(s) additionnel(s)''', '''Rapports personnalisés &amp;gt; Créer/Modifier''', '''Rapports personnalisés &amp;gt; Visualiser''', '''Rapports spécifiques &amp;gt; Vols et coûts''' et '''Modifier les rapports favoris'''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Voir tous les rapports''' : Fait apparaître le menu '''Rapports''' avec les items '''Rapports personnalisés &amp;gt; Visualiser''' et '''Rapports spécifiques &amp;gt; Vols et coûts'''. Cela permet de consulter l'intégralité des rapports, y compris les favoris.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des logs''' : fait apparaître un menu &amp;quot;Logs&amp;quot; avec les items &amp;quot;Historique d'une réservation&amp;quot;, &amp;quot;Actions effectuées&amp;quot;, &amp;quot;Identifiants bloqués&amp;quot;, &amp;quot;Adresses IP bloquées&amp;quot;, &amp;quot;Requête utilisateur en attente&amp;quot;.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des clefs''' : si l'option est activée, permet d'activer ou non la gestion des clefs de l'armoire à clé pour les ressources aéronefs et de les manipuler. Permet également le relâchement de clés.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Envoyer et suivre les emails''' : permet d'accéder à la page &amp;quot;Mailing&amp;quot; et de suivre les emails.&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Accès aux tableurs''' : permet d'accéder aux fichiers tableurs depuis le menu.&lt;br /&gt;
&lt;br /&gt;
==Gestion des vols==&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Etre sur une nouvelle ouverture d'activité''' : Permet lors d'une nouvelle ouverture d'activité, que la personne disposant du profil concerné soit autorisée à être sur une des places. 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 de '''Saisie d'activité pour soi-même''' ou de '''Saisie d'activité pour un tiers'''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Etre sur une nouvelle fermeture d'activité''' : Permet lors d'une nouvelle fermeture d'activité, que la personne disposant du profil concerné soit autorisée à être sur une des places. 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 de '''Saisie d'activité pour soi-même''' ou '''Saisie d'activité pour un tiers'''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisie d'activité pour soi-même''' : Autorise la saisie des vols et permet aussi à l'utilisateur de voir son carnet de vols. Permet également de supprimer ses propres vols.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisie d'activité pour un tiers''' : Autorise la saisie des vols pour des tiers et permet de voir les carnets de vols des utilisateurs. Permet également de supprimer les vols des tiers.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Vérifier la saisie des activités et les modifier''' : 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 &amp;quot;vols oubliés&amp;quot; aussi (trous dans les horamètres).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Visualisation du carnet de route''' : Accorde (ou pas) le droit de visualiser le carnet de route de chaque ressource aéronef.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Visualisation de son carnet de vol''' : Autorise l'utilisateur à voir son carnet de vol.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Visualiser toutes les trajectoires''' : Permet de visualiser les trajectoires d'un vol&lt;br /&gt;
&lt;br /&gt;
==Gestion des comptes==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des comptes''' : couplée à d'autres droits, permet de créer et modifier les différents comptes (baptême, boutiques, espèces...) ainsi que d'accéder à la comptabilité. Permet également lors de la visualisation des écritures d'un compte, de pouvoir consulter les écritures des comptes affectés&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des comptabilités''' : permet la gestion des comptabilités&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Encaisser ses paiements''' : Permet à l'utilisateur de saisir ses propres paiements, de les modifier ou de les supprimer tant qu'ils n'ont pas été validés. L'utilisateur ne pas saisir les types d'encaissements sont ''Accessible uniquement aux personnes autorisées à saisir pour les tiers''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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]].&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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é&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisir ses remboursements avitaillement''' : Non opérationnel&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Recevoir de l'argent''' : Permet à un utilisateur d'être sur la liste des paiements remis. Voir la [[Configuration de la comptabilité#Ventilation_des_types_d'encaissements|configuration de la ventilation des types d'encaissements]].&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Transfert de son compte''' : permet le transfert de compte à compte depuis la page '''Comptes &amp;gt; Transfert'''. Les transferts effectués avec ce seul droit (sans le droit '''Transfert de son compte sans validation''') depuis cette page sont validés automatiquement.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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''' est affecté au profil.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisir tout flux''' : permet de saisir des flux depuis '''Admin &amp;gt; Comptes &amp;gt; Saisir un flux''', de modifier/supprimer des flux non validés et de consulter la liste des flux depuis '''Admin &amp;gt; Comptes &amp;gt; Valider les flux'''&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Valider tout flux''' : Permet de valider les flux de la page '''Admin &amp;gt; Comptes &amp;gt; Valider les flux'''. Ce droit n'a effet que si le droit '''Saisir tout flux''' est affecté au profil.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Tarification des heures''' : permet de gérer les règles de tarification des heures de vols&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisie des valeurs de tarification''' : permet de gérer les variables et leurs valeurs destinés aux règles de tarification&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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 [[Documentation utilisateur#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.&lt;br /&gt;
&lt;br /&gt;
'''Conseil OpenFlyers :'''&lt;br /&gt;
*Le droit '''Transfert de son compte sans validation''' a été créé à la demande de clients OpenFlyers. Néanmoins, nous en déconseillons son usage. En effet, avec ce droit, un utilisateur qui &amp;quot;donne&amp;quot; de l'argent à un autre utilisateur peut ensuite reprendre sa donation. Or comme le dit l'expression : &amp;quot;[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]&amp;quot;. L'attribution du seul droit '''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.&lt;br /&gt;
&lt;br /&gt;
==Gestionnaire des stocks==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des stocks''' : permet de gérer les types de stocks et les stocks&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion du niveau de stock''' : permet de gérer les niveaux de stocks&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Vérification du stock''' : permet de vérifier les variations sur les stocks&lt;br /&gt;
&lt;br /&gt;
==Gestionnaire des ventes==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion globale des ventes''' : permet de gérer les produits, la tarification des produits, les stocks et [[Gestion des validités#Validité_à_vendre|validités à vendre]]. Permet également de modifier/supprimer des achats de produit.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Achat ventes libres''' : autorise à acheter tous les produits qui sont en vente libre. Permet également de modifier/supprimer des achats de produit.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Acheter pour les tiers''' : autorise à effectuer/modifier/supprimer des achats de produit pour un tiers. Couplé au droit '''Gestion des utilisateurs''', il permet de gérer les [[Gestion des validités#Validité_à_vendre|validités à vendre]] d'un tiers.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Vente de produit sans tarif''' : autorise à rendre disponible et à acheter des produits sans tarif&lt;br /&gt;
&lt;br /&gt;
==Gestionnaire des achats==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des achats''' : Permet la gestion des factures fournisseurs, à en créer, modifier et supprimer.&lt;br /&gt;
&lt;br /&gt;
==Gestionnaire des budgets==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des budgets''' : permet de gérer les groupes budgétaire et les budgets&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Visualiser synthèse''' : permet de visualiser la synthèse des comptes de chaque budget&lt;br /&gt;
&lt;br /&gt;
=Page Profils Plus=&lt;br /&gt;
*'''Admin'''&lt;br /&gt;
*'''Utilisateurs &amp;gt; Profils plus'''&lt;br /&gt;
&lt;br /&gt;
==Ajouter un profil==&lt;br /&gt;
*Cliquer sur une cellule contenant le caractère '''+'''&lt;br /&gt;
*remplissez la cellule puis appuyer sur la touche &amp;quot;Entrée&amp;quot;&lt;br /&gt;
*pour valider cliquer sur la disquette à gauche dans la colonne &amp;quot;Actions&amp;quot;&lt;br /&gt;
*le nouveau profil est placé à la fin du tableau&lt;br /&gt;
&lt;br /&gt;
==Modifier un profil==&lt;br /&gt;
*Cliquer sur une cellule du profil à modifier&lt;br /&gt;
*remplissez la cellule puis appuyer sur la touche &amp;quot;Entrée&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Colonnes du tableau Profils Plus==&lt;br /&gt;
===Nom (du profil)===&lt;br /&gt;
Nom du profil&lt;br /&gt;
&lt;br /&gt;
===Type de compte requis===&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
===Champ additionnel du formulaire utilisateur visible par le profil===&lt;br /&gt;
Permet d'afficher ou de cacher les champs additionnels des formulaires présents dans '''Données &amp;gt; Affichage et fiche personnelle''' et '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Actifs'''&lt;br /&gt;
&lt;br /&gt;
===Type de validité que l'utilisateur peut gérer===&lt;br /&gt;
Permet de sélectionner les types de validités qu'un utilisateur de ce [[#Généralités_Admin|profil]] peut ajouter/acheter/mettre/supprimer (ex: Licence fédérale, Visite Médicale, Autres licences) pour lui ou des tiers. Les validités d'un utilisateur sont accessibles depuis '''Données &amp;gt; Validités'''&lt;br /&gt;
&lt;br /&gt;
===Attribution de place===&lt;br /&gt;
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 &amp;gt; Réserver''' et '''Vols &amp;gt; Saisir un vol'''. La page '''Admin &amp;gt; Ressources &amp;gt; Type de ressource &amp;gt; Places''' permet de gérer les places d'un type de ressource. Permet également de définir qui a le droit d'être sur telle place en cas de restriction de profil.&lt;br /&gt;
&lt;br /&gt;
===Profils visibles===&lt;br /&gt;
Dans les pages '''Données &amp;gt; Affichage et fiche personnelle''', '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Actifs''' et '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Paramètres utilisateur 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 &amp;quot;Planning individuel&amp;quot; et &amp;quot;Planning individuel visible pour les autres&amp;quot;. 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.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' Il faut attribuer à un profil au moins une place de 1ère rang (numéro de place 0).&lt;br /&gt;
&lt;br /&gt;
===Types de ressources visible===&lt;br /&gt;
Dans les pages '''Données &amp;gt; Affichage et fiche personnelle''', '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Actifs''' et '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Paramètres utilisateur par défaut''', on peut sélectionner les ressources auxquelles on souhaite voir leur planning ou les rendre disponibles dans les formulaires de saisie de réservation et de vol. 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.&lt;br /&gt;
&lt;br /&gt;
===Comptabilités visibles===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Alerté par e-mail pour le renouvellement des validités de tous les utilisateurs===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Gestion des droits=&lt;br /&gt;
==Règles d'ajout de droit==&lt;br /&gt;
* Rendre un profil non-sélectionnable n'est possible que si celui-ci n'est pas le seul profil sélectionnable possédant le droit &amp;quot;gestion des profils&amp;quot; affecté à au moins un utilisateur&lt;br /&gt;
* Rendre un profil non-sélectionnable n'est possible que si cela ne rend pas un utilisateur activé à n'avoir aucun profil sélectionnable&lt;br /&gt;
&lt;br /&gt;
==Règles de suppression de profil==&lt;br /&gt;
&lt;br /&gt;
* La suppression d'un profil n'est pas possible si le niveau de permission de ses droits est supérieur au niveau de permission des droits du profil connecté&lt;br /&gt;
* La suppression d'un profil n'est possible que si celui-ci n'amène pas à rendre des utilisateurs activés sans profil sélectionnable&lt;br /&gt;
* La suppression d'un profil possédant le droit de &amp;quot;gestion des profils&amp;quot; n'est possible que s'il existe au moins un autre profil sélectionnable ayant ce droit et étant affecté à un ou des utilisateur(s) activé(s)&lt;br /&gt;
* La suppression d'un profil entraînant le détachement de celui-ci de tous les utilisateurs déclenche un avertissement non bloquant. Une confirmation permet d'outrepasser l'avertissement et de déclencher la suppression et le détachement&lt;br /&gt;
&lt;br /&gt;
==Règles de retrait de droit==&lt;br /&gt;
* La suppression d'un droit à un profil n'est pas possible si le niveau de permission de ses droits est supérieur au niveau de permission du droit qu'on veut supprimer&lt;br /&gt;
* La suppression du droit &amp;quot;gestion des profils&amp;quot; à un profil n'est possible que s'il existe au moins un autre profil sélectionnable ayant ce droit et étant affecté à un ou des utilisateur(s) activé(s)&lt;br /&gt;
&lt;br /&gt;
=Gestion des profils=&lt;br /&gt;
&lt;br /&gt;
==Valeurs par défaut lors de la création d'un profil==&lt;br /&gt;
&lt;br /&gt;
Lors de la création d'un profil, on affecte automatiquement par défaut :&lt;br /&gt;
* Tous les '''Profils visibles'''&lt;br /&gt;
* Tous les '''Types de ressources visibles'''&lt;br /&gt;
* Toutes les '''Comptabilités visibles'''&lt;br /&gt;
* Les '''Attribution de place''' correspondants à la première place de chaque type de ressource&lt;br /&gt;
&lt;br /&gt;
==Créer un profil qui surpasse la restriction en cas de solde insuffisant==&lt;br /&gt;
*'''Utilisateurs &amp;gt; Profils'''.&lt;br /&gt;
*Cliquer le bouton '''Ajouter un profil'''.&lt;br /&gt;
*Saisir par exemple comme nom '''Non restreignable'''.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''.&lt;br /&gt;
*Toujours dans '''Utilisateurs &amp;gt; 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]].&lt;br /&gt;
*Dans l'onglet '''Gestion des comptes''', sélectionner le droit '''Surpasser la limitation du solde du compte''' pour le profil concerné&lt;br /&gt;
Il suffit ensuite de rajouter ce profil aux utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des utilisateurs#Réactiver_un_utilisateur|Ré-activation d'un utilisateur]]==&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Gestion-des-profils&amp;diff=15078</id>
		<title>Gestion des profils</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Gestion-des-profils&amp;diff=15078"/>
				<updated>2017-01-10T11:48:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Généralités Admin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
Le ''profil'' d'un utilisateur définit au travers des ''droits'' qui lui sont attribués les différentes actions qu'il pourra ou non effectuer à partir de son accès à une plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Il est préférable, avant d'ajouter/importer les utilisateurs, de créer au moins le profil le plus usuel par exemple le client ou le membre ou le pilote et paramétrer la plateforme OpenFlyers pour que ce profil soit attribué par défaut aux nouveaux utilisateurs. Ainsi, seuls les utilisateurs devant avoir des profils particuliers (administrateurs, gestionnaires, salariés, permanents, bénévoles, etc.) devront être repris.&lt;br /&gt;
&lt;br /&gt;
La gestion des profils se fait à partir du menu '''Admin &amp;gt; Utilisateurs &amp;gt; Profils'''.&lt;br /&gt;
&lt;br /&gt;
Par défaut, sur la page obtenue, il n'y a qu'un seul profil nommé &amp;quot;admin&amp;quot;. Vous pouvez le renommer en cliquant sur le nom du profil, mais veillez à ce qu'il possède toujours le droit '''Gestion des profils'''.&lt;br /&gt;
&lt;br /&gt;
Pour ajouter un nouveau profil, il suffit de cliquer sur '''AJOUTER UN PROFIL''' puis d'entrer le nom voulu (par exemple : ''Pilote'') et de valider.&lt;br /&gt;
&lt;br /&gt;
Il y a différentes pages que l'on peut assimiler à des onglets, leur nombre varie en fonction de la configuration de la plateforme OpenFlyers. Ainsi, si vous avez activé la gestion des vols vous aurez l'onglet '''Gestion des vols''' et de même pour la gestion des comptes.&lt;br /&gt;
&lt;br /&gt;
Par défaut un nouveau profil n'a aucun droit (les icônes &amp;quot;check&amp;quot; sont voilées), vous devez donc les paramétrer en cliquant sur l'icône &amp;quot;check&amp;quot; pour qu'elle devienne non-voilée et ainsi donner le droit correspondant à la case et vice versa pour retirer un droit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ci-dessous se trouve la liste des droits classés par &amp;quot;onglets&amp;quot; et leur signification.&lt;br /&gt;
&lt;br /&gt;
=Icônes symbolisant les droits des profils=&lt;br /&gt;
Dans la page '''Admin &amp;gt; Utilisateurs &amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
Les droits constituent les entêtes du tableau. Chaque entête de colonne correspond à un droit.&lt;br /&gt;
L’icône [[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] a été attribuée à l'ensemble de ces droits sauf deux :&lt;br /&gt;
*'''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&lt;br /&gt;
*'''Voir les noms sur les réservations et la liste des utilisateurs''' de l'onglet '''Réservations''' à laquelle l'icône [[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] à été attribuée&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
#L'icône d'un profil sera [[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] si le droit '''Profil non sélectionnable par l'utilisateur''' ci-dessus est coché&lt;br /&gt;
#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 et la liste des utilisateurs''' ci-dessus qui peut être coché ou non&lt;br /&gt;
#Dans tous les autres cas, l'icône d'un profil sera [[Fichier:Profile-management3.0.x_Userinfo_connected.gif]]&lt;br /&gt;
&lt;br /&gt;
==Définition des icônes représentant des droits==&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] : Droit qui définit un profil de base.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] : Droit qui rend un profil non sélectionnable par un utilisateur lors de sa connexion.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] : Droit qui rend un profil de type &amp;quot;public&amp;quot; permettant de consulter le planning uniquement. Si au moins un droit de base est activé, le profil devient un profil de base.&lt;br /&gt;
&lt;br /&gt;
==Définition des icônes attribuées aux profils==&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] : Profil de base&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] : Profil non sélectionnable par un utilisateur lors de sa connexion.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] : Profil de type &amp;quot;public&amp;quot; permettant de consulter le planning uniquement. Toute modification ou saisie par un utilisateur nécessitera une identification par le biais d'une fenêtre &amp;quot;pop-up&amp;quot; demandant à l'utilisateur son propre identifiant et mot de passe.&lt;br /&gt;
&lt;br /&gt;
=Page Profils=&lt;br /&gt;
&lt;br /&gt;
==Généralités==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] '''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 profils non sélectionnables ne seront pas proposés parmi la liste.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Pas de déconnexion automatique''' : Une session ouverte revient à la page d'identification après 5 min environ d'inactivité. Cette fonction annihile cet automatisme de sécurité (Fonction utile pour le compte &amp;quot;Invité&amp;quot; à afficher dans les locaux, en poste libre, de la structure aéronautique).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Mise à jour de sa date de naissance, de son sexe et de sa nationalité''' : permet la modification de ces données dans sa fiche.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Ajout et gestion de ses validités''' : Permet à un 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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion de ses validités détenues''' : Permet à un utilisateur de mettre à jour/supprimer uniquement les validités qui lui sont déjà attribuées et qui sont dans la liste [[#Page_Profils_Plus|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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser les restrictions sur les validités expirées''' : Permet à un utilisateur de supprimer les [[Documentation utilisateur#Restriction_d'accès|restrictions d'accès]] appliquées à la connexion pour des validités expirées.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] '''Editer sa photo''' : Permet à un utilisateur d'importer ou de supprimer sa photo. Couplé au droit '''[[Gestion-des-utilisateurs#Gestion-des-utilisateurs|Gestion des utilisateurs]]''', il permet de gérer la photo d'un tiers.&lt;br /&gt;
&lt;br /&gt;
==Réservation==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Etre sur une nouvelle réservation''' : Permet lors d'une nouvelle réservation, que l'utilisateur disposant du profil concerné soit autorisée à être sur une des places. Permet entre autre à un utilisateur tiers, de pouvoir effectuer de nouvelles réservations pour un utilisateur disposant du profile concerné et n'ayant pas de droit de '''Réservation solo''', de '''Réservation pour des tiers''' ou de '''Réservation avec un instructeur'''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Planning personnel''' : Permet la gestion de ses propres disponibilités et de visualiser son propre planning.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Planning individuel visible pour les autres''' : Permet de rendre disponible son planning aux autres utilisateurs.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des disponibilités des tiers''' : Permet de gérer la disponibilité des utilisateurs.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Réservation solo''' : autorise la réservation d'une ressource sans instructeur pour les membres.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Réservation pour des tiers''' : 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 (Fonction utile pour le secrétariat).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Réservation avec un instructeur''' : autorise la réservation d'une ressource avec un instructeur.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des disponibilités des ressources''' : permet d'immobiliser une ressource (pour entretien, réparation, arrêt de vol, ...). Cela se fait comme pour une réservation, une case &amp;quot;immobiliser la ressource&amp;quot; est alors disponible. Sur la frise de réservation il sera indiqué &amp;quot;Mise en maintenance&amp;quot; pour la durée demandée (Fonction utile pour le mécano, secrétaire, chef pilote...).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser l'indisponibilité des instructeurs''' : 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).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser l'interdiction d'effectuer une réservation dans moins de X temps''' : autorise la réservation en annulant l'interdiction &amp;quot;d'effectuer une réservation débutant dans moins de&amp;quot; &lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la limite de durée minimum''' : autorise la réservation en annulant la restriction sur la durée minimum d'une réservation&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la limite de durée maximum''' : autorise la réservation en annulant la restriction sur la durée maximum d'une réservation&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la limite de temps''' : autorise la réservation en annulant la restriction sur la limitation dans le temps des réservations&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la limite de nombre''' : autorise la réservation en annulant la restriction sur le nombre maximum de réservation&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la réservation par type''' : en cas de chevauchement, cela permet de déplacer la réservation sur une autre ressource de type différent&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Alertable par e-mail pour toute réservation''' : permet la notification lors qu'une réservation est créée par n'importe quel utilisateur.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] ''' Créer ou modifier une réservation avec une date de début dépassée''' : autorise à créer ou modifier une réservation dont la date de début est dépassée.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] '''Voir les noms sur les réservations''' : permet de visualiser les noms des utilisateurs associés à la réservation&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] '''Champs additionnels visualisables dans les pop-ups de réservation''' : permet de visualiser le contenu des champs additionnels dans la pop-up de réservation&lt;br /&gt;
&lt;br /&gt;
==Généralités Admin==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion du paramétrage''' : permet d'accéder à la page &amp;quot;Paramètres&amp;quot; et &amp;quot;Configuration&amp;quot; (cf. leur description plus haut [NON CREE pour 'paramètres']). Autorise aussi l'import d'utilisateurs (ou mise à jour), de gérer les statuts (concerne la flotte), de modifier les types de vols et les (in)compatibilités entre ces derniers et les validités requises par type de vol (sans pouvoir toucher aux validités), modifier les terrains favoris.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des profils''' : permet de créer et modifier les profils. Attention, laisser cette autorisation à au moins un profil !&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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 [[Gestion des validités#Validité_à_vendre|validités à vendre]]. Couplé au droit '''Acheter pour les tiers''', il permet de gérer les [[Gestion des validités#Validité_à_vendre|validités qui sont à vendre]].&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des rapports''' : Fait apparaître le menu '''Rapports''' avec les items '''Rapports personnalisés &amp;gt; Champ(s) additionnel(s)''', '''Rapports personnalisés &amp;gt; Créer/Modifier''', '''Rapports personnalisés &amp;gt; Visualiser''', '''Rapports spécifiques &amp;gt; Vols et coûts''' et '''Modifier les rapports favoris'''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Voir tous les rapports''' : Fait apparaître le menu '''Rapports''' avec les items '''Rapports personnalisés &amp;gt; Visualiser''' et '''Rapports spécifiques &amp;gt; Vols et coûts'''. Cela permet de consulter l'intégralité des rapports, y compris les favoris.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des logs''' : fait apparaître un menu &amp;quot;Logs&amp;quot; avec les items &amp;quot;Historique d'une réservation&amp;quot;, &amp;quot;Actions effectuées&amp;quot;, &amp;quot;Identifiants bloqués&amp;quot;, &amp;quot;Adresses IP bloquées&amp;quot;, &amp;quot;Requête utilisateur en attente&amp;quot;.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des clefs''' : si l'option est activée, permet d'activer ou non la gestion des clefs de l'armoire à clé pour les ressources aéronefs et de les manipuler. Permet également le relâchement de clés.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Envoyer et suivre les emails''' : permet d'accéder à la page &amp;quot;Mailing&amp;quot; et de suivre les emails.&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Accès aux tableurs''' : permet d'accéder aux fichiers tableurs depuis le menu.&lt;br /&gt;
&lt;br /&gt;
==Gestion des vols==&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Etre sur une nouvelle ouverture d'activité''' : Permet lors d'une nouvelle ouverture d'activité, que la personne disposant du profil concerné soit autorisée à être sur une des places. 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 de '''Saisie d'activité pour soi-même''' ou de '''Saisie d'activité pour un tiers'''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Etre sur une nouvelle fermeture d'activité''' : Permet lors d'une nouvelle fermeture d'activité, que la personne disposant du profil concerné soit autorisée à être sur une des places. 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 de '''Saisie d'activité pour soi-même''' ou '''Saisie d'activité pour un tiers'''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisie d'activité pour soi-même''' : Autorise la saisie des vols et permet aussi à l'utilisateur de voir son carnet de vols. Permet également de supprimer ses propres vols.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisie d'activité pour un tiers''' : Autorise la saisie des vols pour des tiers et permet de voir les carnets de vols des utilisateurs. Permet également de supprimer les vols des tiers.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Vérifier la saisie des activités et les modifier''' : 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 &amp;quot;vols oubliés&amp;quot; aussi (trous dans les horamètres).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Visualisation du carnet de route''' : Accorde (ou pas) le droit de visualiser le carnet de route de chaque ressource aéronef.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Visualisation de son carnet de vol''' : Autorise l'utilisateur à voir son carnet de vol.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Visualiser toutes les trajectoires''' : Permet de visualiser les trajectoires d'un vol&lt;br /&gt;
&lt;br /&gt;
==Gestion des comptes==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des comptes''' : couplée à d'autres droits, permet de créer et modifier les différents comptes (baptême, boutiques, espèces...) ainsi que d'accéder à la comptabilité. Permet également lors de la visualisation des écritures d'un compte, de pouvoir consulter les écritures des comptes affectés&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des comptabilités''' : permet la gestion des comptabilités&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Encaisser ses paiements''' : Permet à l'utilisateur de saisir ses propres paiements, de les modifier ou de les supprimer tant qu'ils n'ont pas été validés. L'utilisateur ne pas saisir les types d'encaissements sont ''Accessible uniquement aux personnes autorisées à saisir pour les tiers''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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]].&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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é&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisir ses remboursements avitaillement''' : Non opérationnel&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Recevoir de l'argent''' : Permet à un utilisateur d'être sur la liste des paiements remis. Voir la [[Configuration de la comptabilité#Ventilation_des_types_d'encaissements|configuration de la ventilation des types d'encaissements]].&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Transfert de son compte''' : permet le transfert de compte à compte depuis la page '''Comptes &amp;gt; Transfert'''. Les transferts effectués avec ce seul droit (sans le droit '''Transfert de son compte sans validation''') depuis cette page sont validés automatiquement.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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''' est affecté au profil.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisir tout flux''' : permet de saisir des flux depuis '''Admin &amp;gt; Comptes &amp;gt; Saisir un flux''', de modifier/supprimer des flux non validés et de consulter la liste des flux depuis '''Admin &amp;gt; Comptes &amp;gt; Valider les flux'''&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Valider tout flux''' : Permet de valider les flux de la page '''Admin &amp;gt; Comptes &amp;gt; Valider les flux'''. Ce droit n'a effet que si le droit '''Saisir tout flux''' est affecté au profil.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Tarification des heures''' : permet de gérer les règles de tarification des heures de vols&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisie des valeurs de tarification''' : permet de gérer les variables et leurs valeurs destinés aux règles de tarification&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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 [[Documentation utilisateur#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.&lt;br /&gt;
&lt;br /&gt;
'''Conseil OpenFlyers :'''&lt;br /&gt;
*Le droit '''Transfert de son compte sans validation''' a été créé à la demande de clients OpenFlyers. Néanmoins, nous en déconseillons son usage. En effet, avec ce droit, un utilisateur qui &amp;quot;donne&amp;quot; de l'argent à un autre utilisateur peut ensuite reprendre sa donation. Or comme le dit l'expression : &amp;quot;[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]&amp;quot;. L'attribution du seul droit '''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.&lt;br /&gt;
&lt;br /&gt;
==Gestionnaire des stocks==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des stocks''' : permet de gérer les types de stocks et les stocks&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion du niveau de stock''' : permet de gérer les niveaux de stocks&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Vérification du stock''' : permet de vérifier les variations sur les stocks&lt;br /&gt;
&lt;br /&gt;
==Gestionnaire des ventes==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion globale des ventes''' : permet de gérer les produits, la tarification des produits, les stocks et [[Gestion des validités#Validité_à_vendre|validités à vendre]]. Permet également de modifier/supprimer des achats de produit.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Achat ventes libres''' : autorise à acheter tous les produits qui sont en vente libre. Permet également de modifier/supprimer des achats de produit.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Acheter pour les tiers''' : autorise à effectuer/modifier/supprimer des achats de produit pour un tiers. Couplé au droit '''Gestion des utilisateurs''', il permet de gérer les [[Gestion des validités#Validité_à_vendre|validités à vendre]] d'un tiers.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Vente de produit sans tarif''' : autorise à rendre disponible et à acheter des produits sans tarif&lt;br /&gt;
&lt;br /&gt;
==Gestionnaire des achats==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des achats''' : Permet la gestion des factures fournisseurs, à en créer, modifier et supprimer.&lt;br /&gt;
&lt;br /&gt;
==Gestionnaire des budgets==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des budgets''' : permet de gérer les groupes budgétaire et les budgets&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Visualiser synthèse''' : permet de visualiser la synthèse des comptes de chaque budget&lt;br /&gt;
&lt;br /&gt;
=Page Profils Plus=&lt;br /&gt;
*'''Admin'''&lt;br /&gt;
*'''Utilisateurs &amp;gt; Profils plus'''&lt;br /&gt;
&lt;br /&gt;
==Ajouter un profil==&lt;br /&gt;
*Cliquer sur une cellule contenant le caractère '''+'''&lt;br /&gt;
*remplissez la cellule puis appuyer sur la touche &amp;quot;Entrée&amp;quot;&lt;br /&gt;
*pour valider cliquer sur la disquette à gauche dans la colonne &amp;quot;Actions&amp;quot;&lt;br /&gt;
*le nouveau profil est placé à la fin du tableau&lt;br /&gt;
&lt;br /&gt;
==Modifier un profil==&lt;br /&gt;
*Cliquer sur une cellule du profil à modifier&lt;br /&gt;
*remplissez la cellule puis appuyer sur la touche &amp;quot;Entrée&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Colonnes du tableau Profils Plus==&lt;br /&gt;
===Nom (du profil)===&lt;br /&gt;
Nom du profil&lt;br /&gt;
&lt;br /&gt;
===Type de compte requis===&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
===Champ additionnel du formulaire utilisateur visible par le profil===&lt;br /&gt;
Permet d'afficher ou de cacher les champs additionnels des formulaires présents dans '''Données &amp;gt; Affichage et fiche personnelle''' et '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Actifs'''&lt;br /&gt;
&lt;br /&gt;
===Type de validité que l'utilisateur peut gérer===&lt;br /&gt;
Permet de sélectionner les types de validités qu'un utilisateur de ce [[#Généralités_Admin|profil]] peut ajouter/acheter/mettre/supprimer (ex: Licence fédérale, Visite Médicale, Autres licences) pour lui ou des tiers. Les validités d'un utilisateur sont accessibles depuis '''Données &amp;gt; Validités'''&lt;br /&gt;
&lt;br /&gt;
===Attribution de place===&lt;br /&gt;
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 &amp;gt; Réserver''' et '''Vols &amp;gt; Saisir un vol'''. La page '''Admin &amp;gt; Ressources &amp;gt; Type de ressource &amp;gt; Places''' permet de gérer les places d'un type de ressource. Permet également de définir qui a le droit d'être sur telle place en cas de restriction de profil.&lt;br /&gt;
&lt;br /&gt;
===Profils visibles===&lt;br /&gt;
Dans les pages '''Données &amp;gt; Affichage et fiche personnelle''', '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Actifs''' et '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Paramètres utilisateur 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 &amp;quot;Planning individuel&amp;quot; et &amp;quot;Planning individuel visible pour les autres&amp;quot;. 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.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' Il faut attribuer à un profil au moins une place de 1ère rang (numéro de place 0).&lt;br /&gt;
&lt;br /&gt;
===Types de ressources visible===&lt;br /&gt;
Dans les pages '''Données &amp;gt; Affichage et fiche personnelle''', '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Actifs''' et '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Paramètres utilisateur par défaut''', on peut sélectionner les ressources auxquelles on souhaite voir leur planning ou les rendre disponibles dans les formulaires de saisie de réservation et de vol. 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.&lt;br /&gt;
&lt;br /&gt;
===Comptabilités visibles===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Alerté par e-mail pour le renouvellement des validités de tous les utilisateurs===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Gestion des droits=&lt;br /&gt;
==Règles d'ajout de droit==&lt;br /&gt;
* Rendre un profil non-sélectionnable n'est possible que si celui-ci n'est pas le seul profil sélectionnable possédant le droit &amp;quot;gestion des profils&amp;quot; affecté à au moins un utilisateur&lt;br /&gt;
* Rendre un profil non-sélectionnable n'est possible que si cela ne rend pas un utilisateur activé à n'avoir aucun profil sélectionnable&lt;br /&gt;
&lt;br /&gt;
==Règles de suppression de profil==&lt;br /&gt;
&lt;br /&gt;
* La suppression d'un profil n'est pas possible si le niveau de permission de ses droits est supérieur au niveau de permission des droits du profil connecté&lt;br /&gt;
* La suppression d'un profil n'est possible que si celui-ci n'amène pas à rendre des utilisateurs activés sans profil sélectionnable&lt;br /&gt;
* La suppression d'un profil possédant le droit de &amp;quot;gestion des profils&amp;quot; n'est possible que s'il existe au moins un autre profil sélectionnable ayant ce droit et étant affecté à un ou des utilisateur(s) activé(s)&lt;br /&gt;
* La suppression d'un profil entraînant le détachement de celui-ci de tous les utilisateurs déclenche un avertissement non bloquant. Une confirmation permet d'outrepasser l'avertissement et de déclencher la suppression et le détachement&lt;br /&gt;
&lt;br /&gt;
==Règles de retrait de droit==&lt;br /&gt;
* La suppression d'un droit à un profil n'est pas possible si le niveau de permission de ses droits est supérieur au niveau de permission du droit qu'on veut supprimer&lt;br /&gt;
* La suppression du droit &amp;quot;gestion des profils&amp;quot; à un profil n'est possible que s'il existe au moins un autre profil sélectionnable ayant ce droit et étant affecté à un ou des utilisateur(s) activé(s)&lt;br /&gt;
&lt;br /&gt;
=Gestion des profils=&lt;br /&gt;
&lt;br /&gt;
==Valeurs par défaut lors de la création d'un profil==&lt;br /&gt;
&lt;br /&gt;
Lors de la création d'un profil, on affecte automatiquement par défaut :&lt;br /&gt;
* Tous les '''Profils visibles'''&lt;br /&gt;
* Tous les '''Types de ressources visibles'''&lt;br /&gt;
* Toutes les '''Comptabilités visibles'''&lt;br /&gt;
* Les '''Attribution de place''' correspondants à la première place de chaque type de ressource&lt;br /&gt;
&lt;br /&gt;
==Créer un profil qui surpasse la restriction en cas de solde insuffisant==&lt;br /&gt;
*'''Utilisateurs &amp;gt; Profils'''.&lt;br /&gt;
*Cliquer le bouton '''Ajouter un profil'''.&lt;br /&gt;
*Saisir par exemple comme nom '''Non restreignable'''.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''.&lt;br /&gt;
*Toujours dans '''Utilisateurs &amp;gt; 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]].&lt;br /&gt;
*Dans l'onglet '''Gestion des comptes''', sélectionner le droit '''Surpasser la limitation du solde du compte''' pour le profil concerné&lt;br /&gt;
Il suffit ensuite de rajouter ce profil aux utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des utilisateurs#Réactiver_un_utilisateur|Ré-activation d'un utilisateur]]==&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Gestion-des-profils&amp;diff=15077</id>
		<title>Gestion des profils</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Gestion-des-profils&amp;diff=15077"/>
				<updated>2017-01-09T15:08:17Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Généralités */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
Le ''profil'' d'un utilisateur définit au travers des ''droits'' qui lui sont attribués les différentes actions qu'il pourra ou non effectuer à partir de son accès à une plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Il est préférable, avant d'ajouter/importer les utilisateurs, de créer au moins le profil le plus usuel par exemple le client ou le membre ou le pilote et paramétrer la plateforme OpenFlyers pour que ce profil soit attribué par défaut aux nouveaux utilisateurs. Ainsi, seuls les utilisateurs devant avoir des profils particuliers (administrateurs, gestionnaires, salariés, permanents, bénévoles, etc.) devront être repris.&lt;br /&gt;
&lt;br /&gt;
La gestion des profils se fait à partir du menu '''Admin &amp;gt; Utilisateurs &amp;gt; Profils'''.&lt;br /&gt;
&lt;br /&gt;
Par défaut, sur la page obtenue, il n'y a qu'un seul profil nommé &amp;quot;admin&amp;quot;. Vous pouvez le renommer en cliquant sur le nom du profil, mais veillez à ce qu'il possède toujours le droit '''Gestion des profils'''.&lt;br /&gt;
&lt;br /&gt;
Pour ajouter un nouveau profil, il suffit de cliquer sur '''AJOUTER UN PROFIL''' puis d'entrer le nom voulu (par exemple : ''Pilote'') et de valider.&lt;br /&gt;
&lt;br /&gt;
Il y a différentes pages que l'on peut assimiler à des onglets, leur nombre varie en fonction de la configuration de la plateforme OpenFlyers. Ainsi, si vous avez activé la gestion des vols vous aurez l'onglet '''Gestion des vols''' et de même pour la gestion des comptes.&lt;br /&gt;
&lt;br /&gt;
Par défaut un nouveau profil n'a aucun droit (les icônes &amp;quot;check&amp;quot; sont voilées), vous devez donc les paramétrer en cliquant sur l'icône &amp;quot;check&amp;quot; pour qu'elle devienne non-voilée et ainsi donner le droit correspondant à la case et vice versa pour retirer un droit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ci-dessous se trouve la liste des droits classés par &amp;quot;onglets&amp;quot; et leur signification.&lt;br /&gt;
&lt;br /&gt;
=Icônes symbolisant les droits des profils=&lt;br /&gt;
Dans la page '''Admin &amp;gt; Utilisateurs &amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
Les droits constituent les entêtes du tableau. Chaque entête de colonne correspond à un droit.&lt;br /&gt;
L’icône [[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] a été attribuée à l'ensemble de ces droits sauf deux :&lt;br /&gt;
*'''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&lt;br /&gt;
*'''Voir les noms sur les réservations et la liste des utilisateurs''' de l'onglet '''Réservations''' à laquelle l'icône [[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] à été attribuée&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
#L'icône d'un profil sera [[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] si le droit '''Profil non sélectionnable par l'utilisateur''' ci-dessus est coché&lt;br /&gt;
#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 et la liste des utilisateurs''' ci-dessus qui peut être coché ou non&lt;br /&gt;
#Dans tous les autres cas, l'icône d'un profil sera [[Fichier:Profile-management3.0.x_Userinfo_connected.gif]]&lt;br /&gt;
&lt;br /&gt;
==Définition des icônes représentant des droits==&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] : Droit qui définit un profil de base.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] : Droit qui rend un profil non sélectionnable par un utilisateur lors de sa connexion.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] : Droit qui rend un profil de type &amp;quot;public&amp;quot; permettant de consulter le planning uniquement. Si au moins un droit de base est activé, le profil devient un profil de base.&lt;br /&gt;
&lt;br /&gt;
==Définition des icônes attribuées aux profils==&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] : Profil de base&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] : Profil non sélectionnable par un utilisateur lors de sa connexion.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] : Profil de type &amp;quot;public&amp;quot; permettant de consulter le planning uniquement. Toute modification ou saisie par un utilisateur nécessitera une identification par le biais d'une fenêtre &amp;quot;pop-up&amp;quot; demandant à l'utilisateur son propre identifiant et mot de passe.&lt;br /&gt;
&lt;br /&gt;
=Page Profils=&lt;br /&gt;
&lt;br /&gt;
==Généralités==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] '''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 profils non sélectionnables ne seront pas proposés parmi la liste.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Pas de déconnexion automatique''' : Une session ouverte revient à la page d'identification après 5 min environ d'inactivité. Cette fonction annihile cet automatisme de sécurité (Fonction utile pour le compte &amp;quot;Invité&amp;quot; à afficher dans les locaux, en poste libre, de la structure aéronautique).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Mise à jour de sa date de naissance, de son sexe et de sa nationalité''' : permet la modification de ces données dans sa fiche.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Ajout et gestion de ses validités''' : Permet à un 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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion de ses validités détenues''' : Permet à un utilisateur de mettre à jour/supprimer uniquement les validités qui lui sont déjà attribuées et qui sont dans la liste [[#Page_Profils_Plus|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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser les restrictions sur les validités expirées''' : Permet à un utilisateur de supprimer les [[Documentation utilisateur#Restriction_d'accès|restrictions d'accès]] appliquées à la connexion pour des validités expirées.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] '''Editer sa photo''' : Permet à un utilisateur d'importer ou de supprimer sa photo. Couplé au droit '''[[Gestion-des-utilisateurs#Gestion-des-utilisateurs|Gestion des utilisateurs]]''', il permet de gérer la photo d'un tiers.&lt;br /&gt;
&lt;br /&gt;
==Réservation==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Etre sur une nouvelle réservation''' : Permet lors d'une nouvelle réservation, que l'utilisateur disposant du profil concerné soit autorisée à être sur une des places. Permet entre autre à un utilisateur tiers, de pouvoir effectuer de nouvelles réservations pour un utilisateur disposant du profile concerné et n'ayant pas de droit de '''Réservation solo''', de '''Réservation pour des tiers''' ou de '''Réservation avec un instructeur'''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Planning personnel''' : Permet la gestion de ses propres disponibilités et de visualiser son propre planning.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Planning individuel visible pour les autres''' : Permet de rendre disponible son planning aux autres utilisateurs.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des disponibilités des tiers''' : Permet de gérer la disponibilité des utilisateurs.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Réservation solo''' : autorise la réservation d'une ressource sans instructeur pour les membres.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Réservation pour des tiers''' : 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 (Fonction utile pour le secrétariat).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Réservation avec un instructeur''' : autorise la réservation d'une ressource avec un instructeur.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des disponibilités des ressources''' : permet d'immobiliser une ressource (pour entretien, réparation, arrêt de vol, ...). Cela se fait comme pour une réservation, une case &amp;quot;immobiliser la ressource&amp;quot; est alors disponible. Sur la frise de réservation il sera indiqué &amp;quot;Mise en maintenance&amp;quot; pour la durée demandée (Fonction utile pour le mécano, secrétaire, chef pilote...).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser l'indisponibilité des instructeurs''' : 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).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser l'interdiction d'effectuer une réservation dans moins de X temps''' : autorise la réservation en annulant l'interdiction &amp;quot;d'effectuer une réservation débutant dans moins de&amp;quot; &lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la limite de durée minimum''' : autorise la réservation en annulant la restriction sur la durée minimum d'une réservation&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la limite de durée maximum''' : autorise la réservation en annulant la restriction sur la durée maximum d'une réservation&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la limite de temps''' : autorise la réservation en annulant la restriction sur la limitation dans le temps des réservations&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la limite de nombre''' : autorise la réservation en annulant la restriction sur le nombre maximum de réservation&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la réservation par type''' : en cas de chevauchement, cela permet de déplacer la réservation sur une autre ressource de type différent&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Alertable par e-mail pour toute réservation''' : permet la notification lors qu'une réservation est créée par n'importe quel utilisateur.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] ''' Créer ou modifier une réservation avec une date de début dépassée''' : autorise à créer ou modifier une réservation dont la date de début est dépassée.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] '''Voir les noms sur les réservations''' : permet de visualiser les noms des utilisateurs associés à la réservation&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] '''Champs additionnels visualisables dans les pop-ups de réservation''' : permet de visualiser le contenu des champs additionnels dans la pop-up de réservation&lt;br /&gt;
&lt;br /&gt;
==Généralités Admin==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion du paramétrage''' : permet d'accéder à la page &amp;quot;Paramètres&amp;quot; et &amp;quot;Configuration&amp;quot; (cf. leur description plus haut [NON CREE pour 'paramètres']). Autorise aussi l'import d'utilisateurs (ou mise à jour), de gérer les statuts (concerne la flotte), de modifier les types de vols et les (in)compatibilités entre ces derniers et les validités requises par type de vol (sans pouvoir toucher aux validités), modifier les terrains favoris.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des profils''' : permet de créer et modifier les profils. Attention, laisser cette autorisation à au moins un profil !&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des utilisateurs''' : permet de modifier les caractéristiques et infos des utilisateurs, les désactiver et gérer leurs validités qui ne correspondent pas à des [[Gestion des validités#Validité_à_vendre|validités à vendre]]. Couplé au droit '''Acheter pour les tiers''', il permet de gérer les [[Gestion des validités#Validité_à_vendre|validités qui sont à vendre]].&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des rapports''' : Fait apparaître le menu '''Rapports''' avec les items '''Rapports personnalisés &amp;gt; Champ(s) additionnel(s)''', '''Rapports personnalisés &amp;gt; Créer/Modifier''', '''Rapports personnalisés &amp;gt; Visualiser''', '''Rapports spécifiques &amp;gt; Vols et coûts''' et '''Modifier les rapports favoris'''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Voir tous les rapports''' : Fait apparaître le menu '''Rapports''' avec les items '''Rapports personnalisés &amp;gt; Visualiser''' et '''Rapports spécifiques &amp;gt; Vols et coûts'''. Cela permet de consulter l'intégralité des rapports, y compris les favoris.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des logs''' : fait apparaître un menu &amp;quot;Logs&amp;quot; avec les items &amp;quot;Historique d'une réservation&amp;quot;, &amp;quot;Actions effectuées&amp;quot;, &amp;quot;Identifiants bloqués&amp;quot;, &amp;quot;Adresses IP bloquées&amp;quot;, &amp;quot;Requête utilisateur en attente&amp;quot;.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des clefs''' : si l'option est activée, permet d'activer ou non la gestion des clefs de l'armoire à clé pour les ressources aéronefs et de les manipuler. Permet également le relâchement de clés.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Envoyer et suivre les emails''' : permet d'accéder à la page &amp;quot;Mailing&amp;quot; et de suivre les emails.&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Accès aux tableurs''' : permet d'accéder aux fichiers tableurs depuis le menu.&lt;br /&gt;
&lt;br /&gt;
==Gestion des vols==&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Etre sur une nouvelle ouverture d'activité''' : Permet lors d'une nouvelle ouverture d'activité, que la personne disposant du profil concerné soit autorisée à être sur une des places. 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 de '''Saisie d'activité pour soi-même''' ou de '''Saisie d'activité pour un tiers'''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Etre sur une nouvelle fermeture d'activité''' : Permet lors d'une nouvelle fermeture d'activité, que la personne disposant du profil concerné soit autorisée à être sur une des places. 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 de '''Saisie d'activité pour soi-même''' ou '''Saisie d'activité pour un tiers'''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisie d'activité pour soi-même''' : Autorise la saisie des vols et permet aussi à l'utilisateur de voir son carnet de vols. Permet également de supprimer ses propres vols.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisie d'activité pour un tiers''' : Autorise la saisie des vols pour des tiers et permet de voir les carnets de vols des utilisateurs. Permet également de supprimer les vols des tiers.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Vérifier la saisie des activités et les modifier''' : 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 &amp;quot;vols oubliés&amp;quot; aussi (trous dans les horamètres).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Visualisation du carnet de route''' : Accorde (ou pas) le droit de visualiser le carnet de route de chaque ressource aéronef.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Visualisation de son carnet de vol''' : Autorise l'utilisateur à voir son carnet de vol.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Visualiser toutes les trajectoires''' : Permet de visualiser les trajectoires d'un vol&lt;br /&gt;
&lt;br /&gt;
==Gestion des comptes==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des comptes''' : couplée à d'autres droits, permet de créer et modifier les différents comptes (baptême, boutiques, espèces...) ainsi que d'accéder à la comptabilité. Permet également lors de la visualisation des écritures d'un compte, de pouvoir consulter les écritures des comptes affectés&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des comptabilités''' : permet la gestion des comptabilités&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Encaisser ses paiements''' : Permet à l'utilisateur de saisir ses propres paiements, de les modifier ou de les supprimer tant qu'ils n'ont pas été validés. L'utilisateur ne pas saisir les types d'encaissements sont ''Accessible uniquement aux personnes autorisées à saisir pour les tiers''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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]].&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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é&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisir ses remboursements avitaillement''' : Non opérationnel&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Recevoir de l'argent''' : Permet à un utilisateur d'être sur la liste des paiements remis. Voir la [[Configuration de la comptabilité#Ventilation_des_types_d'encaissements|configuration de la ventilation des types d'encaissements]].&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Transfert de son compte''' : permet le transfert de compte à compte depuis la page '''Comptes &amp;gt; Transfert'''. Les transferts effectués avec ce seul droit (sans le droit '''Transfert de son compte sans validation''') depuis cette page sont validés automatiquement.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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''' est affecté au profil.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisir tout flux''' : permet de saisir des flux depuis '''Admin &amp;gt; Comptes &amp;gt; Saisir un flux''', de modifier/supprimer des flux non validés et de consulter la liste des flux depuis '''Admin &amp;gt; Comptes &amp;gt; Valider les flux'''&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Valider tout flux''' : Permet de valider les flux de la page '''Admin &amp;gt; Comptes &amp;gt; Valider les flux'''. Ce droit n'a effet que si le droit '''Saisir tout flux''' est affecté au profil.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Tarification des heures''' : permet de gérer les règles de tarification des heures de vols&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisie des valeurs de tarification''' : permet de gérer les variables et leurs valeurs destinés aux règles de tarification&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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 [[Documentation utilisateur#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.&lt;br /&gt;
&lt;br /&gt;
'''Conseil OpenFlyers :'''&lt;br /&gt;
*Le droit '''Transfert de son compte sans validation''' a été créé à la demande de clients OpenFlyers. Néanmoins, nous en déconseillons son usage. En effet, avec ce droit, un utilisateur qui &amp;quot;donne&amp;quot; de l'argent à un autre utilisateur peut ensuite reprendre sa donation. Or comme le dit l'expression : &amp;quot;[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]&amp;quot;. L'attribution du seul droit '''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.&lt;br /&gt;
&lt;br /&gt;
==Gestionnaire des stocks==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des stocks''' : permet de gérer les types de stocks et les stocks&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion du niveau de stock''' : permet de gérer les niveaux de stocks&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Vérification du stock''' : permet de vérifier les variations sur les stocks&lt;br /&gt;
&lt;br /&gt;
==Gestionnaire des ventes==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion globale des ventes''' : permet de gérer les produits, la tarification des produits, les stocks et [[Gestion des validités#Validité_à_vendre|validités à vendre]]. Permet également de modifier/supprimer des achats de produit.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Achat ventes libres''' : autorise à acheter tous les produits qui sont en vente libre. Permet également de modifier/supprimer des achats de produit.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Acheter pour les tiers''' : autorise à effectuer/modifier/supprimer des achats de produit pour un tiers. Couplé au droit '''Gestion des utilisateurs''', il permet de gérer les [[Gestion des validités#Validité_à_vendre|validités à vendre]] d'un tiers.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Vente de produit sans tarif''' : autorise à rendre disponible et à acheter des produits sans tarif&lt;br /&gt;
&lt;br /&gt;
==Gestionnaire des achats==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des achats''' : Permet la gestion des factures fournisseurs, à en créer, modifier et supprimer.&lt;br /&gt;
&lt;br /&gt;
==Gestionnaire des budgets==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des budgets''' : permet de gérer les groupes budgétaire et les budgets&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Visualiser synthèse''' : permet de visualiser la synthèse des comptes de chaque budget&lt;br /&gt;
&lt;br /&gt;
=Page Profils Plus=&lt;br /&gt;
*'''Admin'''&lt;br /&gt;
*'''Utilisateurs &amp;gt; Profils plus'''&lt;br /&gt;
&lt;br /&gt;
==Ajouter un profil==&lt;br /&gt;
*Cliquer sur une cellule contenant le caractère '''+'''&lt;br /&gt;
*remplissez la cellule puis appuyer sur la touche &amp;quot;Entrée&amp;quot;&lt;br /&gt;
*pour valider cliquer sur la disquette à gauche dans la colonne &amp;quot;Actions&amp;quot;&lt;br /&gt;
*le nouveau profil est placé à la fin du tableau&lt;br /&gt;
&lt;br /&gt;
==Modifier un profil==&lt;br /&gt;
*Cliquer sur une cellule du profil à modifier&lt;br /&gt;
*remplissez la cellule puis appuyer sur la touche &amp;quot;Entrée&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Colonnes du tableau Profils Plus==&lt;br /&gt;
===Nom (du profil)===&lt;br /&gt;
Nom du profil&lt;br /&gt;
&lt;br /&gt;
===Type de compte requis===&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
===Champ additionnel du formulaire utilisateur visible par le profil===&lt;br /&gt;
Permet d'afficher ou de cacher les champs additionnels des formulaires présents dans '''Données &amp;gt; Affichage et fiche personnelle''' et '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Actifs'''&lt;br /&gt;
&lt;br /&gt;
===Type de validité que l'utilisateur peut gérer===&lt;br /&gt;
Permet de sélectionner les types de validités qu'un utilisateur de ce [[#Généralités_Admin|profil]] peut ajouter/acheter/mettre/supprimer (ex: Licence fédérale, Visite Médicale, Autres licences) pour lui ou des tiers. Les validités d'un utilisateur sont accessibles depuis '''Données &amp;gt; Validités'''&lt;br /&gt;
&lt;br /&gt;
===Attribution de place===&lt;br /&gt;
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 &amp;gt; Réserver''' et '''Vols &amp;gt; Saisir un vol'''. La page '''Admin &amp;gt; Ressources &amp;gt; Type de ressource &amp;gt; Places''' permet de gérer les places d'un type de ressource. Permet également de définir qui a le droit d'être sur telle place en cas de restriction de profil.&lt;br /&gt;
&lt;br /&gt;
===Profils visibles===&lt;br /&gt;
Dans les pages '''Données &amp;gt; Affichage et fiche personnelle''', '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Actifs''' et '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Paramètres utilisateur 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 &amp;quot;Planning individuel&amp;quot; et &amp;quot;Planning individuel visible pour les autres&amp;quot;. 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.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' Il faut attribuer à un profil au moins une place de 1ère rang (numéro de place 0).&lt;br /&gt;
&lt;br /&gt;
===Types de ressources visible===&lt;br /&gt;
Dans les pages '''Données &amp;gt; Affichage et fiche personnelle''', '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Actifs''' et '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Paramètres utilisateur par défaut''', on peut sélectionner les ressources auxquelles on souhaite voir leur planning ou les rendre disponibles dans les formulaires de saisie de réservation et de vol. 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.&lt;br /&gt;
&lt;br /&gt;
===Comptabilités visibles===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Alerté par e-mail pour le renouvellement des validités de tous les utilisateurs===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Gestion des droits=&lt;br /&gt;
==Règles d'ajout de droit==&lt;br /&gt;
* Rendre un profil non-sélectionnable n'est possible que si celui-ci n'est pas le seul profil sélectionnable possédant le droit &amp;quot;gestion des profils&amp;quot; affecté à au moins un utilisateur&lt;br /&gt;
* Rendre un profil non-sélectionnable n'est possible que si cela ne rend pas un utilisateur activé à n'avoir aucun profil sélectionnable&lt;br /&gt;
&lt;br /&gt;
==Règles de suppression de profil==&lt;br /&gt;
&lt;br /&gt;
* La suppression d'un profil n'est pas possible si le niveau de permission de ses droits est supérieur au niveau de permission des droits du profil connecté&lt;br /&gt;
* La suppression d'un profil n'est possible que si celui-ci n'amène pas à rendre des utilisateurs activés sans profil sélectionnable&lt;br /&gt;
* La suppression d'un profil possédant le droit de &amp;quot;gestion des profils&amp;quot; n'est possible que s'il existe au moins un autre profil sélectionnable ayant ce droit et étant affecté à un ou des utilisateur(s) activé(s)&lt;br /&gt;
* La suppression d'un profil entraînant le détachement de celui-ci de tous les utilisateurs déclenche un avertissement non bloquant. Une confirmation permet d'outrepasser l'avertissement et de déclencher la suppression et le détachement&lt;br /&gt;
&lt;br /&gt;
==Règles de retrait de droit==&lt;br /&gt;
* La suppression d'un droit à un profil n'est pas possible si le niveau de permission de ses droits est supérieur au niveau de permission du droit qu'on veut supprimer&lt;br /&gt;
* La suppression du droit &amp;quot;gestion des profils&amp;quot; à un profil n'est possible que s'il existe au moins un autre profil sélectionnable ayant ce droit et étant affecté à un ou des utilisateur(s) activé(s)&lt;br /&gt;
&lt;br /&gt;
=Gestion des profils=&lt;br /&gt;
&lt;br /&gt;
==Valeurs par défaut lors de la création d'un profil==&lt;br /&gt;
&lt;br /&gt;
Lors de la création d'un profil, on affecte automatiquement par défaut :&lt;br /&gt;
* Tous les '''Profils visibles'''&lt;br /&gt;
* Tous les '''Types de ressources visibles'''&lt;br /&gt;
* Toutes les '''Comptabilités visibles'''&lt;br /&gt;
* Les '''Attribution de place''' correspondants à la première place de chaque type de ressource&lt;br /&gt;
&lt;br /&gt;
==Créer un profil qui surpasse la restriction en cas de solde insuffisant==&lt;br /&gt;
*'''Utilisateurs &amp;gt; Profils'''.&lt;br /&gt;
*Cliquer le bouton '''Ajouter un profil'''.&lt;br /&gt;
*Saisir par exemple comme nom '''Non restreignable'''.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''.&lt;br /&gt;
*Toujours dans '''Utilisateurs &amp;gt; 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]].&lt;br /&gt;
*Dans l'onglet '''Gestion des comptes''', sélectionner le droit '''Surpasser la limitation du solde du compte''' pour le profil concerné&lt;br /&gt;
Il suffit ensuite de rajouter ce profil aux utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des utilisateurs#Réactiver_un_utilisateur|Ré-activation d'un utilisateur]]==&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Gestion-des-utilisateurs&amp;diff=15076</id>
		<title>Gestion des utilisateurs</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Gestion-des-utilisateurs&amp;diff=15076"/>
				<updated>2017-01-09T15:07:53Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Gestion des utilisateurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire la gestion des utilisateurs pour la version 3 d'OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des profils|Gestion des profils]]=&lt;br /&gt;
=Gestion des utilisateurs=&lt;br /&gt;
&lt;br /&gt;
Cette page permet de gérer les utilisateurs d'une plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Pour gérer les utilisateurs, [[Gestion-des-profils#Page-Profils|des droits sont nécessaires]] comme par exemple, la '''Gestion des utilisateurs'''.&lt;br /&gt;
&lt;br /&gt;
Cette liste doit contenir '''tous''' les utilisateurs OpenFlyers au sens large, par exemple : les clients, les membres, les gérants, le secrétaire, le trésorier, le comptable, le mécanicien, l'utilisateur &amp;quot;invité&amp;quot; affiché constamment en poste libre, etc. C'est à dire aussi bien des personnes qui physiquement se connectent pour utiliser la plateforme OpenFlyers que des personnes qui ne se connecteront jamais comme des personnes morales mais qui doivent être facturées en tant que client.&lt;br /&gt;
&lt;br /&gt;
Nota : Certains utilisateurs apparaissent sur fond rouge dans la liste. C'est que les champs Date de naissance, Sexe ou Nationalité n'ont pas été renseignés.&lt;br /&gt;
&lt;br /&gt;
==Ajouter un utilisateur==&lt;br /&gt;
*Aller dans '''Utilisateurs &amp;gt; Utilisateurs'''.&lt;br /&gt;
*Cliquer sur le bouton '''AJOUTER UN UTILISATEUR'''.&lt;br /&gt;
*Un formulaire vide s'affiche qu'il faut compléter. La saisie d'un mot de passe est obligatoire pour Valider.&lt;br /&gt;
&lt;br /&gt;
L'option [[Documentation-utilisateur#Etre-informé-des-actualités-OpenFlyers-par-email|Etre informé des actualités OpenFlyers par email]] sera automatiquement activé si l'utilisateur possède au moins un profil ayant des droits de gestion.&lt;br /&gt;
&lt;br /&gt;
==Ajouter un intervenant (instructeur, formateur, etc.)==&lt;br /&gt;
Pour ajouter un intervenant il faut d'abord le [[#Ajouter_un_utilisateur|créer en tant qu'utilisateur]]. Ensuite, pour qu'il soit visible sur le planning, il faut lui [[Documentation-utilisateur#(In)disponibilités|rajouter des disponibilités]].&lt;br /&gt;
&lt;br /&gt;
==Bloquer l'accès à un utilisateur==&lt;br /&gt;
Si on souhaite bloquer l'accès à un utilisateur il existe plusieurs méthodes. La plus simple consiste à [[#Supprimer/Désactiver_un_utilisateur|supprimer/désactiver l'utilisateur]].&lt;br /&gt;
&lt;br /&gt;
Parfois, cette solution n'est pas possible immédiatement car le compte comptable associé à l'utilisateur ne remplit pas tous les critères. Dans ce cas, il est possible de bloquer l'accès à l'utilisateur concerné en effectuant les 2 opérations suivantes :&lt;br /&gt;
*Supprimer l'adresse e-mail de l'utilisateur&lt;br /&gt;
*Changer son mot de passe&lt;br /&gt;
Ainsi, l'utilisateur ne pourra plus se connecter et ne pourra pas réinitialiser son mot de passe.&lt;br /&gt;
&lt;br /&gt;
Il existe d'autres solutions :&lt;br /&gt;
*Attribuer une validité périmée et dont la péremption entraine le blocage de l'accès&lt;br /&gt;
*Attribuer un profil sans droit qui permettra donc de se connecter mais sa possibilité de réserver.&lt;br /&gt;
&lt;br /&gt;
==Restreindre les droits d'un utilisateur==&lt;br /&gt;
===[[Configuration de la comptabilité#Restriction_d'accès_en_cas_de_solde_insuffisant|Restreindre les droits d'un utilisateur dont le solde est insuffisant]]===&lt;br /&gt;
&lt;br /&gt;
===[[Gestion des validités#Alerte_à_la_connexion|Restreindre les droits d'un utilisateur dont une validité est périmée]]===&lt;br /&gt;
&lt;br /&gt;
==Gestion des disponibilités des intervenants==&lt;br /&gt;
La gestion des disponibilités se fait au [[Documentation-utilisateur#(In)disponibilités|même endroit]] qu'on le fasse pour soi-même ou pour les autres.&lt;br /&gt;
&lt;br /&gt;
===Génération automatique des disponibilités===&lt;br /&gt;
&lt;br /&gt;
[[#Ajouter-un-intervenant-(instructeur,-formateur,-etc.)|Ajouter un intervenant]] ou [[#Modifier-un-utilisateur|modifier les profils d'un utilisateur]] provoque la génération de disponibilités permanentes lorsque toutes ces conditions sont rencontrées :&lt;br /&gt;
* L'utilisateur n'avait de base aucun profil avec les droits [[Gestion-des-profils#Réservation|&amp;quot;Planning personnel&amp;quot; et &amp;quot;Planning individuel visible pour les autres&amp;quot;]]&lt;br /&gt;
* Un profil avec les droits [[Gestion-des-profils#Réservation|&amp;quot;Planning personnel&amp;quot; et &amp;quot;Planning individuel visible pour les autres&amp;quot;]] vient d'être affecté à l'utilisateur&lt;br /&gt;
* L'utilisateur n'avait de base, aucune (in)disponibilités exceptionnelles/régulières&lt;br /&gt;
&lt;br /&gt;
===Réserver un intervenant seul===&lt;br /&gt;
Pour réserver un intervenant seul sans réserver de ressource réelle, il faut en fait réserver l'intervenant avec une ressource factice. Pour cela il faut intervenir au niveau du paramétrage :&lt;br /&gt;
*Créer un type de ressource &amp;quot;Salle&amp;quot; de catégorie &amp;quot;Salle de classe&amp;quot;&lt;br /&gt;
*Créer une ou plusieurs ressources de type &amp;quot;Salle&amp;quot;.&lt;br /&gt;
*Cocher pour les ressources ainsi créées '''Réservable''' et ne pas cocher '''Saisie d'activité'''.&lt;br /&gt;
&lt;br /&gt;
==Modifier un utilisateur==&lt;br /&gt;
*Dans '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs''' cliquer sur l’icône Edition (le crayon). Vous accédez à la page de saisie des informations des utilisateurs, Valider.&lt;br /&gt;
&lt;br /&gt;
L'option [[Documentation-utilisateur#Etre-informé-des-actualités-OpenFlyers-par-email|Etre informé des actualités OpenFlyers par email]] sera automatiquement activé si l'utilisateur n'avait pas de base de profil ayant des droits de gestion et qu'il se retrouve maintenant avec au moins un de ces profils.&lt;br /&gt;
&lt;br /&gt;
==Réactiver un utilisateur==&lt;br /&gt;
Les utilisateurs désactivés peuvent être réactivés :&lt;br /&gt;
*Aller dans '''Utilisateurs &amp;gt; Utilisateurs &amp;gt; Désactivés'''.&lt;br /&gt;
*Sur la ligne de l'utilisateur concerné, cliquer sur l'icône représentant une flèche verte dans la colonne '''Réactiver'''.&lt;br /&gt;
&lt;br /&gt;
Quand un utilisateur est ré-activé :&lt;br /&gt;
* Lorsque celui-ci ne possède plus de [[Gestion des profils|profil]] existant alors cet utilisateur va prendre automatiquement les profils par défaut à attribuer lors de la création d'un utilisateur. Ces profils par défaut se trouvent dans la page '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Paramètres utilisateur par défaut'''.&lt;br /&gt;
* Lorsque la [[Configuration de la comptabilité|gestion des comptes]] est activée, ses comptes sont réactivés. Egalement, les comptes définit dans '''Admin &amp;gt; Utilisateurs &amp;gt; [[Gestion des profils#Page_Profils_Plus|Profils plus]] &amp;gt; Type de compte requis''' sont créés pour cet utilisateur si manquant.&lt;br /&gt;
&lt;br /&gt;
==Supprimer/Désactiver un utilisateur==&lt;br /&gt;
Lorsqu'un utilisateur n'est plus présent, on peut le supprimer sans pour autant perdre l'historique en le désactivant.&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir désactiver un utilisateur il faut au préalable :&lt;br /&gt;
*que les [[Utilisation de la comptabilité#Désactiver_un_compte|comptes associés soient désactivables]]&lt;br /&gt;
La liste des comptes associés à un utilisateur se trouve dans '''Comptes &amp;gt; Utilisateurs &amp;gt; Comptes utilisateur'''&lt;br /&gt;
&lt;br /&gt;
Ensuite, on peut procéder à sa désactivation :&lt;br /&gt;
*Aller dans '''Utilisateurs &amp;gt; Utilisateurs'''.&lt;br /&gt;
*Cliquer sur l'icône symbolisant une poubelle sur la ligne de l'utilisateur à désactiver.&lt;br /&gt;
&lt;br /&gt;
Si l'utilisateur n'est pas désactivable car son compte n'est pas soldé mais que l'on souhaite néanmoins lui empêcher l'accès à OpenFlyers, il suffit de lui attribuer une validité dépassée et obligatoire pour la connexion comme par exemple une validité &amp;quot;Cotisation&amp;quot;. Cette validité doit être paramétrée à &amp;quot;Pas d'accès&amp;quot; dans le champ [[Gestion des validités#Alerte_à_la_connexion|Alerte à la connexion]].&lt;br /&gt;
&lt;br /&gt;
=[[Module pour importation|Importer une liste d'utilisateurs]]=&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Gestion-des-profils&amp;diff=15075</id>
		<title>Gestion des profils</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Gestion-des-profils&amp;diff=15075"/>
				<updated>2017-01-09T15:07:30Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Généralités */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
Le ''profil'' d'un utilisateur définit au travers des ''droits'' qui lui sont attribués les différentes actions qu'il pourra ou non effectuer à partir de son accès à une plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Il est préférable, avant d'ajouter/importer les utilisateurs, de créer au moins le profil le plus usuel par exemple le client ou le membre ou le pilote et paramétrer la plateforme OpenFlyers pour que ce profil soit attribué par défaut aux nouveaux utilisateurs. Ainsi, seuls les utilisateurs devant avoir des profils particuliers (administrateurs, gestionnaires, salariés, permanents, bénévoles, etc.) devront être repris.&lt;br /&gt;
&lt;br /&gt;
La gestion des profils se fait à partir du menu '''Admin &amp;gt; Utilisateurs &amp;gt; Profils'''.&lt;br /&gt;
&lt;br /&gt;
Par défaut, sur la page obtenue, il n'y a qu'un seul profil nommé &amp;quot;admin&amp;quot;. Vous pouvez le renommer en cliquant sur le nom du profil, mais veillez à ce qu'il possède toujours le droit '''Gestion des profils'''.&lt;br /&gt;
&lt;br /&gt;
Pour ajouter un nouveau profil, il suffit de cliquer sur '''AJOUTER UN PROFIL''' puis d'entrer le nom voulu (par exemple : ''Pilote'') et de valider.&lt;br /&gt;
&lt;br /&gt;
Il y a différentes pages que l'on peut assimiler à des onglets, leur nombre varie en fonction de la configuration de la plateforme OpenFlyers. Ainsi, si vous avez activé la gestion des vols vous aurez l'onglet '''Gestion des vols''' et de même pour la gestion des comptes.&lt;br /&gt;
&lt;br /&gt;
Par défaut un nouveau profil n'a aucun droit (les icônes &amp;quot;check&amp;quot; sont voilées), vous devez donc les paramétrer en cliquant sur l'icône &amp;quot;check&amp;quot; pour qu'elle devienne non-voilée et ainsi donner le droit correspondant à la case et vice versa pour retirer un droit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ci-dessous se trouve la liste des droits classés par &amp;quot;onglets&amp;quot; et leur signification.&lt;br /&gt;
&lt;br /&gt;
=Icônes symbolisant les droits des profils=&lt;br /&gt;
Dans la page '''Admin &amp;gt; Utilisateurs &amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
Les droits constituent les entêtes du tableau. Chaque entête de colonne correspond à un droit.&lt;br /&gt;
L’icône [[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] a été attribuée à l'ensemble de ces droits sauf deux :&lt;br /&gt;
*'''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&lt;br /&gt;
*'''Voir les noms sur les réservations et la liste des utilisateurs''' de l'onglet '''Réservations''' à laquelle l'icône [[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] à été attribuée&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
#L'icône d'un profil sera [[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] si le droit '''Profil non sélectionnable par l'utilisateur''' ci-dessus est coché&lt;br /&gt;
#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 et la liste des utilisateurs''' ci-dessus qui peut être coché ou non&lt;br /&gt;
#Dans tous les autres cas, l'icône d'un profil sera [[Fichier:Profile-management3.0.x_Userinfo_connected.gif]]&lt;br /&gt;
&lt;br /&gt;
==Définition des icônes représentant des droits==&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] : Droit qui définit un profil de base.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] : Droit qui rend un profil non sélectionnable par un utilisateur lors de sa connexion.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] : Droit qui rend un profil de type &amp;quot;public&amp;quot; permettant de consulter le planning uniquement. Si au moins un droit de base est activé, le profil devient un profil de base.&lt;br /&gt;
&lt;br /&gt;
==Définition des icônes attribuées aux profils==&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] : Profil de base&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] : Profil non sélectionnable par un utilisateur lors de sa connexion.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] : Profil de type &amp;quot;public&amp;quot; permettant de consulter le planning uniquement. Toute modification ou saisie par un utilisateur nécessitera une identification par le biais d'une fenêtre &amp;quot;pop-up&amp;quot; demandant à l'utilisateur son propre identifiant et mot de passe.&lt;br /&gt;
&lt;br /&gt;
=Page Profils=&lt;br /&gt;
&lt;br /&gt;
==Généralités==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_ConnectedNoFilling.png]] '''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 profils non sélectionnables ne seront pas proposés parmi la liste.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Pas de déconnexion automatique''' : Une session ouverte revient à la page d'identification après 5 min environ d'inactivité. Cette fonction annihile cet automatisme de sécurité (Fonction utile pour le compte &amp;quot;Invité&amp;quot; à afficher dans les locaux, en poste libre, de la structure aéronautique).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Mise à jour de sa date de naissance, de son sexe et de sa nationalité''' : permet la modification de ces données dans sa fiche.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Ajout et gestion de ses validités''' : Permet à un 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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion de ses validités détenues''' : Permet à un utilisateur de mettre à jour/supprimer uniquement les validités qui lui sont déjà attribuées et qui sont dans la liste [[#Page_Profils_Plus|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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser les restrictions sur les validités expirées''' : Permet à un utilisateur de supprimer les [[Documentation utilisateur#Restriction_d'accès|restrictions d'accès]] appliquées à la connexion pour des validités expirées.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] '''Editer sa photo''' : Permet à un utilisateur d'importer ou de supprimer sa photo. Couplé au droit '''[[Gestion-des-utilisateurs|Gestion des utilisateurs]]''', il permet de gérer la photo d'un tiers.&lt;br /&gt;
&lt;br /&gt;
==Réservation==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Etre sur une nouvelle réservation''' : Permet lors d'une nouvelle réservation, que l'utilisateur disposant du profil concerné soit autorisée à être sur une des places. Permet entre autre à un utilisateur tiers, de pouvoir effectuer de nouvelles réservations pour un utilisateur disposant du profile concerné et n'ayant pas de droit de '''Réservation solo''', de '''Réservation pour des tiers''' ou de '''Réservation avec un instructeur'''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Planning personnel''' : Permet la gestion de ses propres disponibilités et de visualiser son propre planning.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Planning individuel visible pour les autres''' : Permet de rendre disponible son planning aux autres utilisateurs.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des disponibilités des tiers''' : Permet de gérer la disponibilité des utilisateurs.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Réservation solo''' : autorise la réservation d'une ressource sans instructeur pour les membres.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Réservation pour des tiers''' : 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 (Fonction utile pour le secrétariat).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Réservation avec un instructeur''' : autorise la réservation d'une ressource avec un instructeur.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des disponibilités des ressources''' : permet d'immobiliser une ressource (pour entretien, réparation, arrêt de vol, ...). Cela se fait comme pour une réservation, une case &amp;quot;immobiliser la ressource&amp;quot; est alors disponible. Sur la frise de réservation il sera indiqué &amp;quot;Mise en maintenance&amp;quot; pour la durée demandée (Fonction utile pour le mécano, secrétaire, chef pilote...).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser l'indisponibilité des instructeurs''' : 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).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser l'interdiction d'effectuer une réservation dans moins de X temps''' : autorise la réservation en annulant l'interdiction &amp;quot;d'effectuer une réservation débutant dans moins de&amp;quot; &lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la limite de durée minimum''' : autorise la réservation en annulant la restriction sur la durée minimum d'une réservation&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la limite de durée maximum''' : autorise la réservation en annulant la restriction sur la durée maximum d'une réservation&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la limite de temps''' : autorise la réservation en annulant la restriction sur la limitation dans le temps des réservations&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la limite de nombre''' : autorise la réservation en annulant la restriction sur le nombre maximum de réservation&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Surpasser la réservation par type''' : en cas de chevauchement, cela permet de déplacer la réservation sur une autre ressource de type différent&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Alertable par e-mail pour toute réservation''' : permet la notification lors qu'une réservation est créée par n'importe quel utilisateur.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] ''' Créer ou modifier une réservation avec une date de début dépassée''' : autorise à créer ou modifier une réservation dont la date de début est dépassée.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] '''Voir les noms sur les réservations''' : permet de visualiser les noms des utilisateurs associés à la réservation&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_kiosk.gif]] '''Champs additionnels visualisables dans les pop-ups de réservation''' : permet de visualiser le contenu des champs additionnels dans la pop-up de réservation&lt;br /&gt;
&lt;br /&gt;
==Généralités Admin==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion du paramétrage''' : permet d'accéder à la page &amp;quot;Paramètres&amp;quot; et &amp;quot;Configuration&amp;quot; (cf. leur description plus haut [NON CREE pour 'paramètres']). Autorise aussi l'import d'utilisateurs (ou mise à jour), de gérer les statuts (concerne la flotte), de modifier les types de vols et les (in)compatibilités entre ces derniers et les validités requises par type de vol (sans pouvoir toucher aux validités), modifier les terrains favoris.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des profils''' : permet de créer et modifier les profils. Attention, laisser cette autorisation à au moins un profil !&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des utilisateurs''' : permet de modifier les caractéristiques et infos des utilisateurs, les désactiver et gérer leurs validités qui ne correspondent pas à des [[Gestion des validités#Validité_à_vendre|validités à vendre]]. Couplé au droit '''Acheter pour les tiers''', il permet de gérer les [[Gestion des validités#Validité_à_vendre|validités qui sont à vendre]].&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des rapports''' : Fait apparaître le menu '''Rapports''' avec les items '''Rapports personnalisés &amp;gt; Champ(s) additionnel(s)''', '''Rapports personnalisés &amp;gt; Créer/Modifier''', '''Rapports personnalisés &amp;gt; Visualiser''', '''Rapports spécifiques &amp;gt; Vols et coûts''' et '''Modifier les rapports favoris'''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Voir tous les rapports''' : Fait apparaître le menu '''Rapports''' avec les items '''Rapports personnalisés &amp;gt; Visualiser''' et '''Rapports spécifiques &amp;gt; Vols et coûts'''. Cela permet de consulter l'intégralité des rapports, y compris les favoris.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des logs''' : fait apparaître un menu &amp;quot;Logs&amp;quot; avec les items &amp;quot;Historique d'une réservation&amp;quot;, &amp;quot;Actions effectuées&amp;quot;, &amp;quot;Identifiants bloqués&amp;quot;, &amp;quot;Adresses IP bloquées&amp;quot;, &amp;quot;Requête utilisateur en attente&amp;quot;.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des clefs''' : si l'option est activée, permet d'activer ou non la gestion des clefs de l'armoire à clé pour les ressources aéronefs et de les manipuler. Permet également le relâchement de clés.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Envoyer et suivre les emails''' : permet d'accéder à la page &amp;quot;Mailing&amp;quot; et de suivre les emails.&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Accès aux tableurs''' : permet d'accéder aux fichiers tableurs depuis le menu.&lt;br /&gt;
&lt;br /&gt;
==Gestion des vols==&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Etre sur une nouvelle ouverture d'activité''' : Permet lors d'une nouvelle ouverture d'activité, que la personne disposant du profil concerné soit autorisée à être sur une des places. 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 de '''Saisie d'activité pour soi-même''' ou de '''Saisie d'activité pour un tiers'''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Etre sur une nouvelle fermeture d'activité''' : Permet lors d'une nouvelle fermeture d'activité, que la personne disposant du profil concerné soit autorisée à être sur une des places. 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 de '''Saisie d'activité pour soi-même''' ou '''Saisie d'activité pour un tiers'''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisie d'activité pour soi-même''' : Autorise la saisie des vols et permet aussi à l'utilisateur de voir son carnet de vols. Permet également de supprimer ses propres vols.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisie d'activité pour un tiers''' : Autorise la saisie des vols pour des tiers et permet de voir les carnets de vols des utilisateurs. Permet également de supprimer les vols des tiers.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Vérifier la saisie des activités et les modifier''' : 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 &amp;quot;vols oubliés&amp;quot; aussi (trous dans les horamètres).&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Visualisation du carnet de route''' : Accorde (ou pas) le droit de visualiser le carnet de route de chaque ressource aéronef.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Visualisation de son carnet de vol''' : Autorise l'utilisateur à voir son carnet de vol.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Visualiser toutes les trajectoires''' : Permet de visualiser les trajectoires d'un vol&lt;br /&gt;
&lt;br /&gt;
==Gestion des comptes==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des comptes''' : couplée à d'autres droits, permet de créer et modifier les différents comptes (baptême, boutiques, espèces...) ainsi que d'accéder à la comptabilité. Permet également lors de la visualisation des écritures d'un compte, de pouvoir consulter les écritures des comptes affectés&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des comptabilités''' : permet la gestion des comptabilités&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Encaisser ses paiements''' : Permet à l'utilisateur de saisir ses propres paiements, de les modifier ou de les supprimer tant qu'ils n'ont pas été validés. L'utilisateur ne pas saisir les types d'encaissements sont ''Accessible uniquement aux personnes autorisées à saisir pour les tiers''.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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]].&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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é&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisir ses remboursements avitaillement''' : Non opérationnel&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Recevoir de l'argent''' : Permet à un utilisateur d'être sur la liste des paiements remis. Voir la [[Configuration de la comptabilité#Ventilation_des_types_d'encaissements|configuration de la ventilation des types d'encaissements]].&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Transfert de son compte''' : permet le transfert de compte à compte depuis la page '''Comptes &amp;gt; Transfert'''. Les transferts effectués avec ce seul droit (sans le droit '''Transfert de son compte sans validation''') depuis cette page sont validés automatiquement.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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''' est affecté au profil.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisir tout flux''' : permet de saisir des flux depuis '''Admin &amp;gt; Comptes &amp;gt; Saisir un flux''', de modifier/supprimer des flux non validés et de consulter la liste des flux depuis '''Admin &amp;gt; Comptes &amp;gt; Valider les flux'''&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Valider tout flux''' : Permet de valider les flux de la page '''Admin &amp;gt; Comptes &amp;gt; Valider les flux'''. Ce droit n'a effet que si le droit '''Saisir tout flux''' est affecté au profil.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Tarification des heures''' : permet de gérer les règles de tarification des heures de vols&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Saisie des valeurs de tarification''' : permet de gérer les variables et leurs valeurs destinés aux règles de tarification&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''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 [[Documentation utilisateur#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.&lt;br /&gt;
&lt;br /&gt;
'''Conseil OpenFlyers :'''&lt;br /&gt;
*Le droit '''Transfert de son compte sans validation''' a été créé à la demande de clients OpenFlyers. Néanmoins, nous en déconseillons son usage. En effet, avec ce droit, un utilisateur qui &amp;quot;donne&amp;quot; de l'argent à un autre utilisateur peut ensuite reprendre sa donation. Or comme le dit l'expression : &amp;quot;[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]&amp;quot;. L'attribution du seul droit '''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.&lt;br /&gt;
&lt;br /&gt;
==Gestionnaire des stocks==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des stocks''' : permet de gérer les types de stocks et les stocks&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion du niveau de stock''' : permet de gérer les niveaux de stocks&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Vérification du stock''' : permet de vérifier les variations sur les stocks&lt;br /&gt;
&lt;br /&gt;
==Gestionnaire des ventes==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion globale des ventes''' : permet de gérer les produits, la tarification des produits, les stocks et [[Gestion des validités#Validité_à_vendre|validités à vendre]]. Permet également de modifier/supprimer des achats de produit.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Achat ventes libres''' : autorise à acheter tous les produits qui sont en vente libre. Permet également de modifier/supprimer des achats de produit.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Acheter pour les tiers''' : autorise à effectuer/modifier/supprimer des achats de produit pour un tiers. Couplé au droit '''Gestion des utilisateurs''', il permet de gérer les [[Gestion des validités#Validité_à_vendre|validités à vendre]] d'un tiers.&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Vente de produit sans tarif''' : autorise à rendre disponible et à acheter des produits sans tarif&lt;br /&gt;
&lt;br /&gt;
==Gestionnaire des achats==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des achats''' : Permet la gestion des factures fournisseurs, à en créer, modifier et supprimer.&lt;br /&gt;
&lt;br /&gt;
==Gestionnaire des budgets==&lt;br /&gt;
&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Gestion des budgets''' : permet de gérer les groupes budgétaire et les budgets&lt;br /&gt;
:[[Fichier:Profile-management3.0.x_Userinfo_connected.gif]] '''Visualiser synthèse''' : permet de visualiser la synthèse des comptes de chaque budget&lt;br /&gt;
&lt;br /&gt;
=Page Profils Plus=&lt;br /&gt;
*'''Admin'''&lt;br /&gt;
*'''Utilisateurs &amp;gt; Profils plus'''&lt;br /&gt;
&lt;br /&gt;
==Ajouter un profil==&lt;br /&gt;
*Cliquer sur une cellule contenant le caractère '''+'''&lt;br /&gt;
*remplissez la cellule puis appuyer sur la touche &amp;quot;Entrée&amp;quot;&lt;br /&gt;
*pour valider cliquer sur la disquette à gauche dans la colonne &amp;quot;Actions&amp;quot;&lt;br /&gt;
*le nouveau profil est placé à la fin du tableau&lt;br /&gt;
&lt;br /&gt;
==Modifier un profil==&lt;br /&gt;
*Cliquer sur une cellule du profil à modifier&lt;br /&gt;
*remplissez la cellule puis appuyer sur la touche &amp;quot;Entrée&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Colonnes du tableau Profils Plus==&lt;br /&gt;
===Nom (du profil)===&lt;br /&gt;
Nom du profil&lt;br /&gt;
&lt;br /&gt;
===Type de compte requis===&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
===Champ additionnel du formulaire utilisateur visible par le profil===&lt;br /&gt;
Permet d'afficher ou de cacher les champs additionnels des formulaires présents dans '''Données &amp;gt; Affichage et fiche personnelle''' et '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Actifs'''&lt;br /&gt;
&lt;br /&gt;
===Type de validité que l'utilisateur peut gérer===&lt;br /&gt;
Permet de sélectionner les types de validités qu'un utilisateur de ce [[#Généralités_Admin|profil]] peut ajouter/acheter/mettre/supprimer (ex: Licence fédérale, Visite Médicale, Autres licences) pour lui ou des tiers. Les validités d'un utilisateur sont accessibles depuis '''Données &amp;gt; Validités'''&lt;br /&gt;
&lt;br /&gt;
===Attribution de place===&lt;br /&gt;
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 &amp;gt; Réserver''' et '''Vols &amp;gt; Saisir un vol'''. La page '''Admin &amp;gt; Ressources &amp;gt; Type de ressource &amp;gt; Places''' permet de gérer les places d'un type de ressource. Permet également de définir qui a le droit d'être sur telle place en cas de restriction de profil.&lt;br /&gt;
&lt;br /&gt;
===Profils visibles===&lt;br /&gt;
Dans les pages '''Données &amp;gt; Affichage et fiche personnelle''', '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Actifs''' et '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Paramètres utilisateur 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 &amp;quot;Planning individuel&amp;quot; et &amp;quot;Planning individuel visible pour les autres&amp;quot;. 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.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' Il faut attribuer à un profil au moins une place de 1ère rang (numéro de place 0).&lt;br /&gt;
&lt;br /&gt;
===Types de ressources visible===&lt;br /&gt;
Dans les pages '''Données &amp;gt; Affichage et fiche personnelle''', '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Actifs''' et '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Paramètres utilisateur par défaut''', on peut sélectionner les ressources auxquelles on souhaite voir leur planning ou les rendre disponibles dans les formulaires de saisie de réservation et de vol. 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.&lt;br /&gt;
&lt;br /&gt;
===Comptabilités visibles===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Alerté par e-mail pour le renouvellement des validités de tous les utilisateurs===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Gestion des droits=&lt;br /&gt;
==Règles d'ajout de droit==&lt;br /&gt;
* Rendre un profil non-sélectionnable n'est possible que si celui-ci n'est pas le seul profil sélectionnable possédant le droit &amp;quot;gestion des profils&amp;quot; affecté à au moins un utilisateur&lt;br /&gt;
* Rendre un profil non-sélectionnable n'est possible que si cela ne rend pas un utilisateur activé à n'avoir aucun profil sélectionnable&lt;br /&gt;
&lt;br /&gt;
==Règles de suppression de profil==&lt;br /&gt;
&lt;br /&gt;
* La suppression d'un profil n'est pas possible si le niveau de permission de ses droits est supérieur au niveau de permission des droits du profil connecté&lt;br /&gt;
* La suppression d'un profil n'est possible que si celui-ci n'amène pas à rendre des utilisateurs activés sans profil sélectionnable&lt;br /&gt;
* La suppression d'un profil possédant le droit de &amp;quot;gestion des profils&amp;quot; n'est possible que s'il existe au moins un autre profil sélectionnable ayant ce droit et étant affecté à un ou des utilisateur(s) activé(s)&lt;br /&gt;
* La suppression d'un profil entraînant le détachement de celui-ci de tous les utilisateurs déclenche un avertissement non bloquant. Une confirmation permet d'outrepasser l'avertissement et de déclencher la suppression et le détachement&lt;br /&gt;
&lt;br /&gt;
==Règles de retrait de droit==&lt;br /&gt;
* La suppression d'un droit à un profil n'est pas possible si le niveau de permission de ses droits est supérieur au niveau de permission du droit qu'on veut supprimer&lt;br /&gt;
* La suppression du droit &amp;quot;gestion des profils&amp;quot; à un profil n'est possible que s'il existe au moins un autre profil sélectionnable ayant ce droit et étant affecté à un ou des utilisateur(s) activé(s)&lt;br /&gt;
&lt;br /&gt;
=Gestion des profils=&lt;br /&gt;
&lt;br /&gt;
==Valeurs par défaut lors de la création d'un profil==&lt;br /&gt;
&lt;br /&gt;
Lors de la création d'un profil, on affecte automatiquement par défaut :&lt;br /&gt;
* Tous les '''Profils visibles'''&lt;br /&gt;
* Tous les '''Types de ressources visibles'''&lt;br /&gt;
* Toutes les '''Comptabilités visibles'''&lt;br /&gt;
* Les '''Attribution de place''' correspondants à la première place de chaque type de ressource&lt;br /&gt;
&lt;br /&gt;
==Créer un profil qui surpasse la restriction en cas de solde insuffisant==&lt;br /&gt;
*'''Utilisateurs &amp;gt; Profils'''.&lt;br /&gt;
*Cliquer le bouton '''Ajouter un profil'''.&lt;br /&gt;
*Saisir par exemple comme nom '''Non restreignable'''.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''.&lt;br /&gt;
*Toujours dans '''Utilisateurs &amp;gt; 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]].&lt;br /&gt;
*Dans l'onglet '''Gestion des comptes''', sélectionner le droit '''Surpasser la limitation du solde du compte''' pour le profil concerné&lt;br /&gt;
Il suffit ensuite de rajouter ce profil aux utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des utilisateurs#Réactiver_un_utilisateur|Ré-activation d'un utilisateur]]==&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Gestion-des-utilisateurs&amp;diff=15074</id>
		<title>Gestion des utilisateurs</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Gestion-des-utilisateurs&amp;diff=15074"/>
				<updated>2017-01-09T15:06:45Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Gestion des utilisateurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire la gestion des utilisateurs pour la version 3 d'OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des profils|Gestion des profils]]=&lt;br /&gt;
=Gestion des utilisateurs=&lt;br /&gt;
&lt;br /&gt;
Cette page permet de gérer les utilisateurs d'une plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Pour gérer les utilisateurs, [[Gestion-des-profils#Page-Profils|des droits sont nécessaires]] comme par exemple, la '''gestion des utilisateurs'''.&lt;br /&gt;
&lt;br /&gt;
Cette liste doit contenir '''tous''' les utilisateurs OpenFlyers au sens large, par exemple : les clients, les membres, les gérants, le secrétaire, le trésorier, le comptable, le mécanicien, l'utilisateur &amp;quot;invité&amp;quot; affiché constamment en poste libre, etc. C'est à dire aussi bien des personnes qui physiquement se connectent pour utiliser la plateforme OpenFlyers que des personnes qui ne se connecteront jamais comme des personnes morales mais qui doivent être facturées en tant que client.&lt;br /&gt;
&lt;br /&gt;
Nota : Certains utilisateurs apparaissent sur fond rouge dans la liste. C'est que les champs Date de naissance, Sexe ou Nationalité n'ont pas été renseignés.&lt;br /&gt;
&lt;br /&gt;
==Ajouter un utilisateur==&lt;br /&gt;
*Aller dans '''Utilisateurs &amp;gt; Utilisateurs'''.&lt;br /&gt;
*Cliquer sur le bouton '''AJOUTER UN UTILISATEUR'''.&lt;br /&gt;
*Un formulaire vide s'affiche qu'il faut compléter. La saisie d'un mot de passe est obligatoire pour Valider.&lt;br /&gt;
&lt;br /&gt;
L'option [[Documentation-utilisateur#Etre-informé-des-actualités-OpenFlyers-par-email|Etre informé des actualités OpenFlyers par email]] sera automatiquement activé si l'utilisateur possède au moins un profil ayant des droits de gestion.&lt;br /&gt;
&lt;br /&gt;
==Ajouter un intervenant (instructeur, formateur, etc.)==&lt;br /&gt;
Pour ajouter un intervenant il faut d'abord le [[#Ajouter_un_utilisateur|créer en tant qu'utilisateur]]. Ensuite, pour qu'il soit visible sur le planning, il faut lui [[Documentation-utilisateur#(In)disponibilités|rajouter des disponibilités]].&lt;br /&gt;
&lt;br /&gt;
==Bloquer l'accès à un utilisateur==&lt;br /&gt;
Si on souhaite bloquer l'accès à un utilisateur il existe plusieurs méthodes. La plus simple consiste à [[#Supprimer/Désactiver_un_utilisateur|supprimer/désactiver l'utilisateur]].&lt;br /&gt;
&lt;br /&gt;
Parfois, cette solution n'est pas possible immédiatement car le compte comptable associé à l'utilisateur ne remplit pas tous les critères. Dans ce cas, il est possible de bloquer l'accès à l'utilisateur concerné en effectuant les 2 opérations suivantes :&lt;br /&gt;
*Supprimer l'adresse e-mail de l'utilisateur&lt;br /&gt;
*Changer son mot de passe&lt;br /&gt;
Ainsi, l'utilisateur ne pourra plus se connecter et ne pourra pas réinitialiser son mot de passe.&lt;br /&gt;
&lt;br /&gt;
Il existe d'autres solutions :&lt;br /&gt;
*Attribuer une validité périmée et dont la péremption entraine le blocage de l'accès&lt;br /&gt;
*Attribuer un profil sans droit qui permettra donc de se connecter mais sa possibilité de réserver.&lt;br /&gt;
&lt;br /&gt;
==Restreindre les droits d'un utilisateur==&lt;br /&gt;
===[[Configuration de la comptabilité#Restriction_d'accès_en_cas_de_solde_insuffisant|Restreindre les droits d'un utilisateur dont le solde est insuffisant]]===&lt;br /&gt;
&lt;br /&gt;
===[[Gestion des validités#Alerte_à_la_connexion|Restreindre les droits d'un utilisateur dont une validité est périmée]]===&lt;br /&gt;
&lt;br /&gt;
==Gestion des disponibilités des intervenants==&lt;br /&gt;
La gestion des disponibilités se fait au [[Documentation-utilisateur#(In)disponibilités|même endroit]] qu'on le fasse pour soi-même ou pour les autres.&lt;br /&gt;
&lt;br /&gt;
===Génération automatique des disponibilités===&lt;br /&gt;
&lt;br /&gt;
[[#Ajouter-un-intervenant-(instructeur,-formateur,-etc.)|Ajouter un intervenant]] ou [[#Modifier-un-utilisateur|modifier les profils d'un utilisateur]] provoque la génération de disponibilités permanentes lorsque toutes ces conditions sont rencontrées :&lt;br /&gt;
* L'utilisateur n'avait de base aucun profil avec les droits [[Gestion-des-profils#Réservation|&amp;quot;Planning personnel&amp;quot; et &amp;quot;Planning individuel visible pour les autres&amp;quot;]]&lt;br /&gt;
* Un profil avec les droits [[Gestion-des-profils#Réservation|&amp;quot;Planning personnel&amp;quot; et &amp;quot;Planning individuel visible pour les autres&amp;quot;]] vient d'être affecté à l'utilisateur&lt;br /&gt;
* L'utilisateur n'avait de base, aucune (in)disponibilités exceptionnelles/régulières&lt;br /&gt;
&lt;br /&gt;
===Réserver un intervenant seul===&lt;br /&gt;
Pour réserver un intervenant seul sans réserver de ressource réelle, il faut en fait réserver l'intervenant avec une ressource factice. Pour cela il faut intervenir au niveau du paramétrage :&lt;br /&gt;
*Créer un type de ressource &amp;quot;Salle&amp;quot; de catégorie &amp;quot;Salle de classe&amp;quot;&lt;br /&gt;
*Créer une ou plusieurs ressources de type &amp;quot;Salle&amp;quot;.&lt;br /&gt;
*Cocher pour les ressources ainsi créées '''Réservable''' et ne pas cocher '''Saisie d'activité'''.&lt;br /&gt;
&lt;br /&gt;
==Modifier un utilisateur==&lt;br /&gt;
*Dans '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs''' cliquer sur l’icône Edition (le crayon). Vous accédez à la page de saisie des informations des utilisateurs, Valider.&lt;br /&gt;
&lt;br /&gt;
L'option [[Documentation-utilisateur#Etre-informé-des-actualités-OpenFlyers-par-email|Etre informé des actualités OpenFlyers par email]] sera automatiquement activé si l'utilisateur n'avait pas de base de profil ayant des droits de gestion et qu'il se retrouve maintenant avec au moins un de ces profils.&lt;br /&gt;
&lt;br /&gt;
==Réactiver un utilisateur==&lt;br /&gt;
Les utilisateurs désactivés peuvent être réactivés :&lt;br /&gt;
*Aller dans '''Utilisateurs &amp;gt; Utilisateurs &amp;gt; Désactivés'''.&lt;br /&gt;
*Sur la ligne de l'utilisateur concerné, cliquer sur l'icône représentant une flèche verte dans la colonne '''Réactiver'''.&lt;br /&gt;
&lt;br /&gt;
Quand un utilisateur est ré-activé :&lt;br /&gt;
* Lorsque celui-ci ne possède plus de [[Gestion des profils|profil]] existant alors cet utilisateur va prendre automatiquement les profils par défaut à attribuer lors de la création d'un utilisateur. Ces profils par défaut se trouvent dans la page '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Paramètres utilisateur par défaut'''.&lt;br /&gt;
* Lorsque la [[Configuration de la comptabilité|gestion des comptes]] est activée, ses comptes sont réactivés. Egalement, les comptes définit dans '''Admin &amp;gt; Utilisateurs &amp;gt; [[Gestion des profils#Page_Profils_Plus|Profils plus]] &amp;gt; Type de compte requis''' sont créés pour cet utilisateur si manquant.&lt;br /&gt;
&lt;br /&gt;
==Supprimer/Désactiver un utilisateur==&lt;br /&gt;
Lorsqu'un utilisateur n'est plus présent, on peut le supprimer sans pour autant perdre l'historique en le désactivant.&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir désactiver un utilisateur il faut au préalable :&lt;br /&gt;
*que les [[Utilisation de la comptabilité#Désactiver_un_compte|comptes associés soient désactivables]]&lt;br /&gt;
La liste des comptes associés à un utilisateur se trouve dans '''Comptes &amp;gt; Utilisateurs &amp;gt; Comptes utilisateur'''&lt;br /&gt;
&lt;br /&gt;
Ensuite, on peut procéder à sa désactivation :&lt;br /&gt;
*Aller dans '''Utilisateurs &amp;gt; Utilisateurs'''.&lt;br /&gt;
*Cliquer sur l'icône symbolisant une poubelle sur la ligne de l'utilisateur à désactiver.&lt;br /&gt;
&lt;br /&gt;
Si l'utilisateur n'est pas désactivable car son compte n'est pas soldé mais que l'on souhaite néanmoins lui empêcher l'accès à OpenFlyers, il suffit de lui attribuer une validité dépassée et obligatoire pour la connexion comme par exemple une validité &amp;quot;Cotisation&amp;quot;. Cette validité doit être paramétrée à &amp;quot;Pas d'accès&amp;quot; dans le champ [[Gestion des validités#Alerte_à_la_connexion|Alerte à la connexion]].&lt;br /&gt;
&lt;br /&gt;
=[[Module pour importation|Importer une liste d'utilisateurs]]=&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Gestion-des-utilisateurs&amp;diff=15073</id>
		<title>Gestion des utilisateurs</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Gestion-des-utilisateurs&amp;diff=15073"/>
				<updated>2017-01-09T15:05:31Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Gestion des utilisateurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire la gestion des utilisateurs pour la version 3 d'OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des profils|Gestion des profils]]=&lt;br /&gt;
=Gestion des utilisateurs=&lt;br /&gt;
&lt;br /&gt;
Cette page permet de gérer les utilisateurs d'une plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Pour gérer les utilisateurs, [[Gestion-des-profils#Page-Profils|des droits sont nécessaires]] comme par exemple, la ''gestion des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Cette liste doit contenir '''tous''' les utilisateurs OpenFlyers au sens large, par exemple : les clients, les membres, les gérants, le secrétaire, le trésorier, le comptable, le mécanicien, l'utilisateur &amp;quot;invité&amp;quot; affiché constamment en poste libre, etc. C'est à dire aussi bien des personnes qui physiquement se connectent pour utiliser la plateforme OpenFlyers que des personnes qui ne se connecteront jamais comme des personnes morales mais qui doivent être facturées en tant que client.&lt;br /&gt;
&lt;br /&gt;
Nota : Certains utilisateurs apparaissent sur fond rouge dans la liste. C'est que les champs Date de naissance, Sexe ou Nationalité n'ont pas été renseignés.&lt;br /&gt;
&lt;br /&gt;
==Ajouter un utilisateur==&lt;br /&gt;
*Aller dans '''Utilisateurs &amp;gt; Utilisateurs'''.&lt;br /&gt;
*Cliquer sur le bouton '''AJOUTER UN UTILISATEUR'''.&lt;br /&gt;
*Un formulaire vide s'affiche qu'il faut compléter. La saisie d'un mot de passe est obligatoire pour Valider.&lt;br /&gt;
&lt;br /&gt;
L'option [[Documentation-utilisateur#Etre-informé-des-actualités-OpenFlyers-par-email|Etre informé des actualités OpenFlyers par email]] sera automatiquement activé si l'utilisateur possède au moins un profil ayant des droits de gestion.&lt;br /&gt;
&lt;br /&gt;
==Ajouter un intervenant (instructeur, formateur, etc.)==&lt;br /&gt;
Pour ajouter un intervenant il faut d'abord le [[#Ajouter_un_utilisateur|créer en tant qu'utilisateur]]. Ensuite, pour qu'il soit visible sur le planning, il faut lui [[Documentation-utilisateur#(In)disponibilités|rajouter des disponibilités]].&lt;br /&gt;
&lt;br /&gt;
==Bloquer l'accès à un utilisateur==&lt;br /&gt;
Si on souhaite bloquer l'accès à un utilisateur il existe plusieurs méthodes. La plus simple consiste à [[#Supprimer/Désactiver_un_utilisateur|supprimer/désactiver l'utilisateur]].&lt;br /&gt;
&lt;br /&gt;
Parfois, cette solution n'est pas possible immédiatement car le compte comptable associé à l'utilisateur ne remplit pas tous les critères. Dans ce cas, il est possible de bloquer l'accès à l'utilisateur concerné en effectuant les 2 opérations suivantes :&lt;br /&gt;
*Supprimer l'adresse e-mail de l'utilisateur&lt;br /&gt;
*Changer son mot de passe&lt;br /&gt;
Ainsi, l'utilisateur ne pourra plus se connecter et ne pourra pas réinitialiser son mot de passe.&lt;br /&gt;
&lt;br /&gt;
Il existe d'autres solutions :&lt;br /&gt;
*Attribuer une validité périmée et dont la péremption entraine le blocage de l'accès&lt;br /&gt;
*Attribuer un profil sans droit qui permettra donc de se connecter mais sa possibilité de réserver.&lt;br /&gt;
&lt;br /&gt;
==Restreindre les droits d'un utilisateur==&lt;br /&gt;
===[[Configuration de la comptabilité#Restriction_d'accès_en_cas_de_solde_insuffisant|Restreindre les droits d'un utilisateur dont le solde est insuffisant]]===&lt;br /&gt;
&lt;br /&gt;
===[[Gestion des validités#Alerte_à_la_connexion|Restreindre les droits d'un utilisateur dont une validité est périmée]]===&lt;br /&gt;
&lt;br /&gt;
==Gestion des disponibilités des intervenants==&lt;br /&gt;
La gestion des disponibilités se fait au [[Documentation-utilisateur#(In)disponibilités|même endroit]] qu'on le fasse pour soi-même ou pour les autres.&lt;br /&gt;
&lt;br /&gt;
===Génération automatique des disponibilités===&lt;br /&gt;
&lt;br /&gt;
[[#Ajouter-un-intervenant-(instructeur,-formateur,-etc.)|Ajouter un intervenant]] ou [[#Modifier-un-utilisateur|modifier les profils d'un utilisateur]] provoque la génération de disponibilités permanentes lorsque toutes ces conditions sont rencontrées :&lt;br /&gt;
* L'utilisateur n'avait de base aucun profil avec les droits [[Gestion-des-profils#Réservation|&amp;quot;Planning personnel&amp;quot; et &amp;quot;Planning individuel visible pour les autres&amp;quot;]]&lt;br /&gt;
* Un profil avec les droits [[Gestion-des-profils#Réservation|&amp;quot;Planning personnel&amp;quot; et &amp;quot;Planning individuel visible pour les autres&amp;quot;]] vient d'être affecté à l'utilisateur&lt;br /&gt;
* L'utilisateur n'avait de base, aucune (in)disponibilités exceptionnelles/régulières&lt;br /&gt;
&lt;br /&gt;
===Réserver un intervenant seul===&lt;br /&gt;
Pour réserver un intervenant seul sans réserver de ressource réelle, il faut en fait réserver l'intervenant avec une ressource factice. Pour cela il faut intervenir au niveau du paramétrage :&lt;br /&gt;
*Créer un type de ressource &amp;quot;Salle&amp;quot; de catégorie &amp;quot;Salle de classe&amp;quot;&lt;br /&gt;
*Créer une ou plusieurs ressources de type &amp;quot;Salle&amp;quot;.&lt;br /&gt;
*Cocher pour les ressources ainsi créées '''Réservable''' et ne pas cocher '''Saisie d'activité'''.&lt;br /&gt;
&lt;br /&gt;
==Modifier un utilisateur==&lt;br /&gt;
*Dans '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs''' cliquer sur l’icône Edition (le crayon). Vous accédez à la page de saisie des informations des utilisateurs, Valider.&lt;br /&gt;
&lt;br /&gt;
L'option [[Documentation-utilisateur#Etre-informé-des-actualités-OpenFlyers-par-email|Etre informé des actualités OpenFlyers par email]] sera automatiquement activé si l'utilisateur n'avait pas de base de profil ayant des droits de gestion et qu'il se retrouve maintenant avec au moins un de ces profils.&lt;br /&gt;
&lt;br /&gt;
==Réactiver un utilisateur==&lt;br /&gt;
Les utilisateurs désactivés peuvent être réactivés :&lt;br /&gt;
*Aller dans '''Utilisateurs &amp;gt; Utilisateurs &amp;gt; Désactivés'''.&lt;br /&gt;
*Sur la ligne de l'utilisateur concerné, cliquer sur l'icône représentant une flèche verte dans la colonne '''Réactiver'''.&lt;br /&gt;
&lt;br /&gt;
Quand un utilisateur est ré-activé :&lt;br /&gt;
* Lorsque celui-ci ne possède plus de [[Gestion des profils|profil]] existant alors cet utilisateur va prendre automatiquement les profils par défaut à attribuer lors de la création d'un utilisateur. Ces profils par défaut se trouvent dans la page '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Paramètres utilisateur par défaut'''.&lt;br /&gt;
* Lorsque la [[Configuration de la comptabilité|gestion des comptes]] est activée, ses comptes sont réactivés. Egalement, les comptes définit dans '''Admin &amp;gt; Utilisateurs &amp;gt; [[Gestion des profils#Page_Profils_Plus|Profils plus]] &amp;gt; Type de compte requis''' sont créés pour cet utilisateur si manquant.&lt;br /&gt;
&lt;br /&gt;
==Supprimer/Désactiver un utilisateur==&lt;br /&gt;
Lorsqu'un utilisateur n'est plus présent, on peut le supprimer sans pour autant perdre l'historique en le désactivant.&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir désactiver un utilisateur il faut au préalable :&lt;br /&gt;
*que les [[Utilisation de la comptabilité#Désactiver_un_compte|comptes associés soient désactivables]]&lt;br /&gt;
La liste des comptes associés à un utilisateur se trouve dans '''Comptes &amp;gt; Utilisateurs &amp;gt; Comptes utilisateur'''&lt;br /&gt;
&lt;br /&gt;
Ensuite, on peut procéder à sa désactivation :&lt;br /&gt;
*Aller dans '''Utilisateurs &amp;gt; Utilisateurs'''.&lt;br /&gt;
*Cliquer sur l'icône symbolisant une poubelle sur la ligne de l'utilisateur à désactiver.&lt;br /&gt;
&lt;br /&gt;
Si l'utilisateur n'est pas désactivable car son compte n'est pas soldé mais que l'on souhaite néanmoins lui empêcher l'accès à OpenFlyers, il suffit de lui attribuer une validité dépassée et obligatoire pour la connexion comme par exemple une validité &amp;quot;Cotisation&amp;quot;. Cette validité doit être paramétrée à &amp;quot;Pas d'accès&amp;quot; dans le champ [[Gestion des validités#Alerte_à_la_connexion|Alerte à la connexion]].&lt;br /&gt;
&lt;br /&gt;
=[[Module pour importation|Importer une liste d'utilisateurs]]=&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15072</id>
		<title>Documentation utilisateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15072"/>
				<updated>2017-01-09T14:36:41Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Editer de sa photo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de regrouper les informations utiles pour l'ensemble des utilisateurs finaux d'[[Accueil|OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
=Accès à OpenFlyers=&lt;br /&gt;
==Impossible de se connecter à la plateforme OpenFlyers de sa structure==&lt;br /&gt;
Si vous n'arrivez pas à accéder une plateforme OpenFlyers il faut en rechercher la raison. Voici un certain nombre de questions qui peuvent vous permettre de solutionner votre problème :&lt;br /&gt;
*Accédez-vous à la page d'identification de la plateforme OpenFlyers ?&lt;br /&gt;
**Si non, alors il faut regarder la FAQ [[#Page_indisponible|Page indisponible]]&lt;br /&gt;
*Lorsque vous vous identifiez, avez-vous un message de rejet indiquant que votre identifiant et/ou votre mot de passe ne sont pas corrects ?&lt;br /&gt;
**Si oui, alors le problème peut venir du mot de passe qui a changé. Dans ce cas là, vous pouvez ré-initialiser votre mot de passe en suivant la procédure [[#Réinitialiser-son-mot-de-passe|de réinitialisation de mot de passe]]. Cela peut également venir de votre identifiant qui n'est pas bon. Dans ce cas, il faut demander à la personne en charge de la gestion d'OpenFlyers au sein de votre structure aéronautique&lt;br /&gt;
*Une fois connecté, revenez-vous sur la page d'identification lorsque vous changez de page ?&lt;br /&gt;
**Si oui, alors il faut regarder la [[FAQ-utilisateur#Navigation-dans-OpenFlyers|procédure de gestion des cookies du navigateur]].&lt;br /&gt;
Si vous n'êtes dans aucun des cas répertoriés ci-dessus, alors vous pouvez rapporter votre problème en nous envoyant un e-mail et en décrivant le plus précisément possible le problème que vous rencontrez :&lt;br /&gt;
*Navigateur utilisé&lt;br /&gt;
*Système d'exploitation&lt;br /&gt;
*type de PC, smartphone ou tablette&lt;br /&gt;
*Nom du fournisseur d'accès internet&lt;br /&gt;
*Actions effectuées&lt;br /&gt;
*Message d'erreur s'affichant&lt;br /&gt;
&lt;br /&gt;
==Message d'alerte adresse IP bloquée==&lt;br /&gt;
&lt;br /&gt;
Un message d'alerte signalant que '''l'adresse IP est bloquée''' peut apparaître lorsque vous souhaitez vous connecter. Ce message apparaît lorsque vous avez tenté de vous connecter à plusieurs reprises mais que le couple identifiant / mot de passe est incorrect.&lt;br /&gt;
&lt;br /&gt;
Après avoir attendu le temps indiqué par le message d'alerte, vous pouvez tenter de vous reconnecter en faisant attention [[Wikipedia-fr:Sensibilit%C3%A9_%C3%A0_la_casse|à la casse]].&lt;br /&gt;
&lt;br /&gt;
==Page indisponible==&lt;br /&gt;
Si vous n'arrivez pas à accéder à la plateforme OpenFlyers de votre structure, voici une liste d'actions à effectuer :&lt;br /&gt;
*Redémarrer votre ordinateur&lt;br /&gt;
*Redémarrer la &amp;quot;box&amp;quot; ADSL&lt;br /&gt;
*Si cela ne fonctionne toujours pas, il faut [[#Tester_les_résolutions_DNS|tester les résolutions DNS]].&lt;br /&gt;
&lt;br /&gt;
===Tester les résolutions DNS===&lt;br /&gt;
Pour effectuer les tests suivants, il faut ouvrir une fenêtre &amp;quot;[[#Ouvrir_une_fenêtre_en_ligne_de_commande|en ligne de commandes]]&amp;quot;. En cas de problème, il faut nous rapporter les résultats en ouvrant un rapport de bug sur le [http://bts.openflyers.org BTS]. Pour cela, il est pratique de procéder par [[#Copier/Coller_dans_une_fenêtre_en_ligne_de_commande|copier/coller]].&lt;br /&gt;
*Dans la fenêtre en ligne de commande taper ce qui suit (en remplaçant '''structure''' par le sous-domaine correspondant à votre structure) :&lt;br /&gt;
&amp;lt;bash&amp;gt;ping structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
La réponse normale est pour OpenFlyers 3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of3.openflyers.net [87.98.143.237] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.143.237 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of3.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.143.237&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 2.1 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur8-of21.openflyers.net [87.98.145.26] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.145.26 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur8-of21.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.145.26&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 1.3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of1.openflyers.net [178.33.105.217] avec 32 octets de données :&lt;br /&gt;
 Réponse de 178.33.105.217 : octets=32 temps=41 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of1.openflyers.net&amp;quot; ou &amp;quot;Réponse de 178.33.105.217&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
====Tests plus poussés====&lt;br /&gt;
*Faire un :&lt;br /&gt;
&amp;lt;bash&amp;gt;nslookup structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Et un :&lt;br /&gt;
&amp;lt;bash&amp;gt;tracert structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Faire le test avec '''dig +trace''' :&lt;br /&gt;
&amp;lt;bash&amp;gt;dig +trace structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
Sous Windows, il faudra au préalable récupérer l'utilitaire (par exemple dans un package [http://www.isc.org./downloads bind]). Une fois télécharger le package, il faut copier/coller le programme dig ainsi que les fichiers .dll dans un répertoire commun et se positionner dans ce répertoire depuis la fenêtre en ligne de commandes avec la commande dir '''&amp;quot;nom du chemin du répertoire&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
====Tester les résolutions DNS sous Mac====&lt;br /&gt;
De plus, nous disposons de commandes plus puissantes qui permettent d'avoir d'avantage d'informations :&lt;br /&gt;
*cat /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
===Vérifier la configuration de résolution des DNS===&lt;br /&gt;
====Vérifier la configuration de résolution des DNS sous Windows====&lt;br /&gt;
Si vous avez un problème de résolution DNS sous windows, il peut être utile de vérifier que la résolution DNS est dynamique :&lt;br /&gt;
#Double-cliquer sur la connexion réseau concernée (par exemple le symbole &amp;quot;WIFI&amp;quot;)&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot; dans l'onglet &amp;quot;Général&amp;quot; de l'&amp;quot;Etat de Connexion réseau sans fil&amp;quot; (si WIFI))&lt;br /&gt;
#Sélectionner &amp;quot;Protocole internet TCP/IP&amp;quot;&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot;&lt;br /&gt;
#Vérifier qu'est sélectionné &amp;quot;Obtenir les adresses des serveurs DNS automatiquement&amp;quot;. (si ce n'est pas le cas, modifier).&lt;br /&gt;
#En dernier ressort, [[#Changer de serveur DNS|Changer de serveur DNS]] ou [[#Forcer_les_DNS|Forcer les DNS]].&lt;br /&gt;
&lt;br /&gt;
===Nous communiquer les adresses IP des serveurs DNS===&lt;br /&gt;
====Nous communiquer les adresses IP des serveurs DNS sous Windows====&lt;br /&gt;
#[[#Ouvrir_une_fenêtre_en_ligne_de_commande|Ouvrir une fenêtre en ligne de commande]]&lt;br /&gt;
#Taper : '''ipconfig /all'''&lt;br /&gt;
Les adresses IP des serveurs DNS se trouvent au droit de '''Serveurs DNS'''&lt;br /&gt;
&lt;br /&gt;
===Changer de serveur DNS===&lt;br /&gt;
Si vous rencontrez un problème de résolution de DNS avec votre fournisseur d'accès, vous pouvez changer les serveurs qui effectue la résolution des DNS pour votre accès.&lt;br /&gt;
====Changer de serveur DNS sous Mac====&lt;br /&gt;
*Dans '''Préférences Systèmes''', choisir '''Réseau''', puis une fois la bonne carte réseau sélectionnée, appuyer sur Avancé.&lt;br /&gt;
*Dans la fenêtre qui apparaît, aller sur l'onglet '''DNS''' et dans '''Serveurs DNS''' appuyer sur le + pour ajouter '''8.8.8.8''' et une autre fois pour ajouter '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Il ne reste plus qu'à '''Appliquer''' et à tester.&lt;br /&gt;
&lt;br /&gt;
====Changer de serveur DNS sous Windows XP====&lt;br /&gt;
*'''Démarrer &amp;gt; Connexions''' puis cliquer sur la connexion réseau active (par exemple la connexion WIFI)&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*Sélectionner '''Protocole Internet (TCP/IP)'''&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*En général, en bas de la fenêtre '''Propriétés de Protocole Internet (TCP/IP)''' la configuration active est : '''Obtenir les adresses des serveurs DNS automatiquement'''&lt;br /&gt;
*Cocher '''Utiliser l'adresse de serveur DNS suivante :'''&lt;br /&gt;
*Pour '''Serveur DNS préféré''', saisir '''8.8.8.8'''&lt;br /&gt;
*Pour '''Serveur DNS auxiliaire''', saisir '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''Fermer'''&lt;br /&gt;
&lt;br /&gt;
===Forcer les DNS===&lt;br /&gt;
====Forcer les DNS sous Windows====&lt;br /&gt;
Attention, avec Vista, il faut appliquer une [[#Particularité_avec_Windows_Vista|procédure préalable]].&lt;br /&gt;
*Il est possible de résoudre ce problème de DNS en éditant le fichier C:\WINDOWS\system32\drivers\etc\hosts (avec le bloc-notes) en rajoutant la ligne (il faut remplacer structure par le sous-domaine de la plateforme OpenFlyers de votre structure) :&lt;br /&gt;
**Pour OF 1.3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;178.33.105.217 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 2.1 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.145.26 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.143.237  structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Ensuite, il faut relancer votre PC&lt;br /&gt;
*Une fois la connexion correctement effectuée, il est parfois possible de supprimer cette entrée dans le fichier hosts tout en gardant la connexion.&lt;br /&gt;
&lt;br /&gt;
====Particularité avec Windows Vista====&lt;br /&gt;
*Il faut être administrateur pour pouvoir modifier le fichier hosts.&lt;br /&gt;
*Il faut également copier le fichier hosts sur le bureau pour le modifier puis ensuite le recopier dans le bon répertoire (si on édite directement le fichier hosts depuis (system32\drivers\etc\) on ne peut pas le ré-enregistrer).&lt;br /&gt;
&lt;br /&gt;
====Forcer les DNS sous Mac====&lt;br /&gt;
*lancer Terminal (dans Applications/Utilitaires)&lt;br /&gt;
*taper &amp;quot;sudo nano /etc/hosts&amp;quot; (il demande le mot de passe de l'utilisateur qui a les droits admin sur la machine)&lt;br /&gt;
*Ajouter les entrées sur le modèle de la [[#Forcer_les_DNS_sous_Windows|procédure sous Windows]]&lt;br /&gt;
*Faire controle-o pour enregistrer puis controle-x pour quitter&lt;br /&gt;
*Eventuellement, faire &amp;quot;dscacheutil -flushcache&amp;quot; si le changement n'est pas encore pris en compte.&lt;br /&gt;
&lt;br /&gt;
===Ouvrir une fenêtre en ligne de commande===&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
*Aller dans le menu &amp;quot;Démarrer&amp;quot;&lt;br /&gt;
*Puis Tous les programmes/Accessoires&lt;br /&gt;
*Lancer l'&amp;quot;invite de commandes&amp;quot;&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Sous OSX (mac) il faut lancer un Terminal. Pour cela 2 solutions :&lt;br /&gt;
*Taper &amp;quot;terminal&amp;quot; dans spotlight&lt;br /&gt;
ou&lt;br /&gt;
*lancer l'application qui est dans Applications &amp;gt; Utilitaires.&lt;br /&gt;
&lt;br /&gt;
===Copier/Coller dans une fenêtre en ligne de commande===&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
Vous pouvez faire un copier/coller en utilisant le bouton droit de la souris dans la fenêtre de l'invite de commandes puis en choisissant &amp;quot;sélectionner&amp;quot; et ensuite en appuyant sur le bouton gauche et en le laissant appuyer tout en sélectionnant la zone souhaitée)&lt;br /&gt;
&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Pour faire un copier/coller de ces informations et nous les communiquer, il suffit d'utiliser commande-C dans le terminal.&lt;br /&gt;
&lt;br /&gt;
==Restriction d'accès==&lt;br /&gt;
En fonction de la politique de la structure, le paramétrage d'une plateforme OpenFlyers peut entrainer des restrictions lors de la connexion.  Un message s'affiche, à ce moment là, indiquant les raisons de la restriction et le type de restriction. L'intitulé du profil est inchangé une fois connecté mais les droits associés peuvent être restreints. Par exemple, il peut ne plus être possible d'effectuer une réservation ou d'ouvrir une activité (vol).&lt;br /&gt;
&lt;br /&gt;
Ces restrictions peuvent avoir lieu dans les cas suivants :&lt;br /&gt;
*En cas de solde insuffisant.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Gestion_des_comptes|Surpasser la limitation du solde du compte]]. Lorsque l'utilisateur dispose de ce droit et que l'accès devrait être limité à cause du solde de l'un de ses comptes, un message d'alerte sans restriction s'affiche pour indiquer que son solde de compte est inférieur au seuil requis.&lt;br /&gt;
*En cas de validité obsolète.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Généralités|Surpasser les restrictions sur les validités expirées]]. Lorsque l'utilisateur dispose de ce droit, il n'y a pas de message d'alerte pour lui indiquer que l'absence de telle ou telle validité devrait entrainer la restriction de ses droits.&lt;br /&gt;
&lt;br /&gt;
=Activité=&lt;br /&gt;
==Alertes générées lors de la saisie d'une activité==&lt;br /&gt;
&lt;br /&gt;
===[[Facturation des clients#Alertes_générées_par_le_moteur_de_tarification|Alertes générées par le moteur de tarification]]===&lt;br /&gt;
&lt;br /&gt;
===[[#Alertes_lors_d'une_réservation_ou_une_saisie_de_vol|Alertes générées sur les validités]]===&lt;br /&gt;
&lt;br /&gt;
===L'aéronef est déjà en l'air===&lt;br /&gt;
Si en tentant d'ouvrir le vol d'un aéronef, apparait une alerte rouge '''L'aéronef est déjà en l'air''' cela veut dire qu'un vol a déjà ouvert avec cet aéronef. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===La différence entre le temps de vol calculé et le temps de vol saisi est de : X:XX heure(s)===&lt;br /&gt;
Cette alerte est suivie du message :&lt;br /&gt;
&amp;lt;pre&amp;gt;Veuillez contacter votre administrateur à propos de l'incompatibilité entre votre saisie et la formule du temps de vol choisie pour le type d'aéronef : X&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsque la valeur saisie du temps de vol est incompatible avec la valeur calculée par la [[Formules de calcul#Temps_d'activité|formule de calcul de temps de vol]] définie pour l'aéronef X.&lt;br /&gt;
&lt;br /&gt;
En général elle provient du fait que le temps de vol qui avait été calculé automatiquement dans le formulaire lors de la saisie des champs de compteurs départ/arrivée et/ou des heures de départ/arrivée ont été modifiés manuellement.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une telle erreur apparait, vous devez :&lt;br /&gt;
*Essayer de reprendre la saisie et essayer de comprendre pourquoi vous saisissez mal les valeurs dans les champs concernés&lt;br /&gt;
*Si vous n'arrivez pas à comprendre la raison, contacter sans délai un gestionnaire de votre structure afin qu'il vous explique les erreurs que vous commettez lorsque le problème vient d'une saisie erronée ou qu'il analyser lui-même le problème.&lt;br /&gt;
*Si vous êtes vous-même un gestionnaire de la plateforme, vous devez également pousser l'analyse pour comprendre en quoi votre saisie est incompatible avec la formule de calcul et le cas échéant faire effectuer une modification du paramétrage.&lt;br /&gt;
&lt;br /&gt;
Voir également, comment [[#Forcer_la_saisie_d'une_durée_de_vol_incompatible_avec_sa_formule_de_calcul|saisir un temps de vol qui ne respecte pas la formule de calcul]].&lt;br /&gt;
&lt;br /&gt;
===Le pilote X est déjà en l'air===&lt;br /&gt;
Ce message apparait lorsque vous tentez de saisir un vol en ouverture de vol et que le pilote occupant la position X est déjà enregistré sur un vol ouvert, c'est à dire en l'air.&lt;br /&gt;
&lt;br /&gt;
Cette protection permet de ne pas avoir un utilisateur occupé simultanément sur 2 ressources.&lt;br /&gt;
&lt;br /&gt;
S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Seul le type de vol requis dans le cas de la présence d'un second pilote a été sélectionné, vous devez en sélectionner au moins un autre en plus===&lt;br /&gt;
Lors de la saisie d'un vol, cette alerte s'affiche si la configuration de la plateforme nécessite la saisie d'au moins un type de vol supplémentaire en plus du type de vol obligatoire dans le cas de la présence d'un second pilote.&lt;br /&gt;
&lt;br /&gt;
C'est typiquement le cas pour les vols d'instruction où le paramétrage nécessite généralement de préciser un 2ème type de vol comme &amp;quot;local&amp;quot;, &amp;quot;navigation&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
===Vous êtes actuellement en l'air===&lt;br /&gt;
Si en tentant de saisir un vol, l'alerte '''Vous êtes actuellement en l'air''' apparait cela veut dire qu'il y a déjà un vol d'ouvert à votre nom. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Vous ne pouvez ouvrir un vol avec une date de début dépassée===&lt;br /&gt;
Cette protection empêche d'ouvrir une activité avec un horodatage de début antérieur à l'heure actuelle moins 15 minutes.&lt;br /&gt;
&lt;br /&gt;
En général, pour un tel cas, le souhait n'est pas d'ouvrir une activité mais de fermer une activité. Il faut donc penser à passer le champ '''Etat du vol''' en &amp;quot;Retour de vol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Annuler un vol ouvert==&lt;br /&gt;
*Aller sur le planning&lt;br /&gt;
*Cliquer sur le rectangle sur fond bleu correspondant à l'immatriculation de l'aéronef considéré&lt;br /&gt;
*Cliquer sur le bouton '''Annuler le vol''' tout en bas du formulaire.&lt;br /&gt;
&lt;br /&gt;
==Consulter un vol ouvert==&lt;br /&gt;
Pour pouvoir consulter un vol ouvert d'un tiers, il faut disposer du [[Gestion des profils#Gestion_des_vols|droit de &amp;quot;Saisie d'activité pour un tiers&amp;quot;]].&lt;br /&gt;
*Sur le planning de réservation, cliquer sur le rectangle de l'aéronef considéré qui doit être sur fond bleu pour indiquer que l'aéronef est en l'air.&lt;br /&gt;
&lt;br /&gt;
==Saisie d'un vol==&lt;br /&gt;
*Aller dans '''Vols &amp;gt; Saisir un vol''', remplir le formulaire&lt;br /&gt;
*La saisie d'un vol d'une durée inférieure à 15 minutes déclenchera l'affichage d'un message d'avertissement (en orange). Cliquer sur '''Confirmer la validation''' au dessous de ce message pour saisir définitivement le vol.&lt;br /&gt;
*Après la saisie d'un vol, l'utilisateur est renvoyé sur :&lt;br /&gt;
**Le planning lors d'un vol en ouverture&lt;br /&gt;
**Le formulaire de saisie d'un vol lors d'un nouveau vol en fermeture et que le terrain d'arrivée saisie est différent du terrain par défaut de la structure&lt;br /&gt;
**Dans les autres cas, l'[[Documentation utilisateur#Extrait_de_compte|extrait de compte]] de la personne en première place. Si plusieurs comptes sont impactés, c'est le premier compte impacté de la personne qui est choisi.&lt;br /&gt;
**Si l'utilisateur connecté n'a pas le droit de visualiser le compte concerné, alors c'est le carnet de route qui est affiché.&lt;br /&gt;
&lt;br /&gt;
===Forcer la saisie d'une durée de vol incompatible avec sa formule de calcul===&lt;br /&gt;
Un gestionnaire peut forcer la saisie d'un [[#La_différence_entre_le_temps_de_vol_calculé_et_le_temps_de_vol_saisi_est_de_:_X:XX_heure(s)|temps de vol incompatible avec la formule de calcul]] associée au type d'aéronef pour lequel on souhaite saisir un vol.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il doit :&lt;br /&gt;
*Saisir le vol en modification le compteur arrivé de sorte à obtenir le temps de vol souhaité.&lt;br /&gt;
*[[Gestion des ressources#Changer_la_valeur_du_compteur_en_cours|Changer la valeur du compteur en cours]] de l'aéronef.&lt;br /&gt;
&lt;br /&gt;
Dans le cas où plusieurs vols successifs doivent être saisis, il est alors judicieux de ne mettre à jour le compteur de l'aéronef qu'une que tous les vols ont été saisis.&lt;br /&gt;
&lt;br /&gt;
=Comptabilité=&lt;br /&gt;
&lt;br /&gt;
==Alertes générées lors de la [[Utilisation de la comptabilité#Saisie_d'écritures_comptables|saisie d'écritures comptables]]==&lt;br /&gt;
&lt;br /&gt;
===Les comptes n'ont pas la même comptabilité===&lt;br /&gt;
Cette alerte apparait lors d'une [[Comptabilité#Comptabilités_multiples|comptabilité multiple]] : Le compte débité et le compte crédité doivent être issues de la même comptabilité.&lt;br /&gt;
&lt;br /&gt;
==Créditer son compte utilisateur==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Approvisionner'''&lt;br /&gt;
*Si vous disposez de droit de gestion comptable, choisir dans le champ '''Encaissement de l'utilisateur''' le nom de l'utilisateur concerné&lt;br /&gt;
*Si vous disposez de plusieurs comptes sur lesquels vous pouvez choisir où ventiler votre encaissement, choisir dans le champ '''Compte à créditer''' le nom du compte concerné&lt;br /&gt;
*Dans le champ '''Type de règlement''', sélectionner le type de règlement&lt;br /&gt;
*Si vous effectuez un paiement avec une remise à une personne physique, vous devez préciser le nom de cette personne dans le champ '''Personne qui reçoit'''&lt;br /&gt;
*Dans le champ, montant indiquer le montant de votre paiement.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
Dans le cas où le type de paiement est un paiement par carte bancaire en ligne mis en place par votre structure, alors êtes redirigé sur le terminal de paiement électronique de la banque de votre structure. Il vous faut alors saisir les informations de votre carte bancaire. Il est possible que le terminal de paiement électronique supporte le &amp;quot;[[Wikipedia-fr:3-D_Secure|3-D Secure]]&amp;quot; qui implique un contrôle renforcé. Dans ce cas, c'est votre propre banque qui vous demandera des informations complémentaires pour confirmer que c'est bien vous qui êtes à l'origine de la demande de paiement par carte bancaire.&lt;br /&gt;
&lt;br /&gt;
==Extrait de compte==&lt;br /&gt;
'''OpenFlyers''' offre la possibilité à un utilisateur de consulter des extraits de compte : C'est un rapport permettant de visualiser le détail des écritures comptables effectuées sur une période (une année complète ou un mois d'une année) d'un compte ou de tous les comptes d'une comptabilité donnée. Si la gestion des budgets est activée, il est possible de filtrer l'affichage des écritures selon les budgets.&lt;br /&gt;
&lt;br /&gt;
Dès qu'il y a plus de 50 écritures à afficher pour un extrait de compte, la liste des écritures est paginée pour afficher 50 écritures par page.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est validée, les montants au débit et au crédit sont affichés en noir gras.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est non validée, les montants au débit et au crédit sont affichés en vert gras. En fonction du [[Gestion des profils|profil et de ses droits]], une colonne '''Actions''' peut apparaître avec des icônes pour permettre de modifier ou supprimer une écriture non validée selon [[Gestion-des-écritures-comptables#Types-d'écritures-comptable-générées-par-OpenFlyers|le type d'écriture comptable qui est générée]].&lt;br /&gt;
&lt;br /&gt;
===Colonne &amp;quot;Numéro de pointage ou de facture&amp;quot;===&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_fournisseur|facture fournisseur]], la colonne affiche le numéro de pointage.&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_client|facture client]] et que l'utilisateur dispose du [[Gestion des profils#Gestion_des_comptes|droit de '''Gestion des comptes''']] ou que la facture à afficher lui est destinée :&lt;br /&gt;
**Pour une écriture non-validée, la colonne affiche les icônes [[Fichier:IconHTML.png]] qui amènent aux factures pro-format associées.&lt;br /&gt;
**Pour une écriture validée, la colonne affiche les icônes [[Fichier:IconPDF.png]] qui amène aux factures PDF associées.&lt;br /&gt;
*:Dans le cas contraire, ce sont les numéros des factures qui sont affichés à la place des icônes.&lt;br /&gt;
&lt;br /&gt;
La colonne affiche &amp;quot;--&amp;quot; lorsqu'il s'agit d'une écriture :&lt;br /&gt;
* D'[[Écritures comptables#Saisie_d'un_encaissement_(d'un_client)|encaissement client]].&lt;br /&gt;
* De [[Écritures comptables#Les_4_grands_types_d'écritures|flux]].&lt;br /&gt;
* De [[Écritures comptables#Saisie_d'une_facture_client|facture client]] n'ayant pas de facture associée.&lt;br /&gt;
&lt;br /&gt;
==Imprimer un extrait de compte==&lt;br /&gt;
*Afficher l'extrait de compte souhaité&lt;br /&gt;
*[[Trucs et astuces#Imprimer_avec_un_navigateur|Imprimer avec la commande du navigateur]]&lt;br /&gt;
&lt;br /&gt;
==Transférer de l'argent==&lt;br /&gt;
Selon les droits accordés aux utilisateurs par la structure, il peut être possible d'effectuer un transfert d'argent depuis son compte vers le compte d'un autre utilisateur en suivant la procédure suivante :&lt;br /&gt;
*Aller sur '''Comptes &amp;gt;Transférer'''&lt;br /&gt;
*Dans le champ '''Compte à créditer''' choisir le nom de la personne concernée&lt;br /&gt;
*Dans le champ '''Montant''', saisir le montant que l'on souhaite transférer&lt;br /&gt;
*Remplir éventuellement le champ '''Commentaires'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' : '''Attention''' cette opération est irrévocable et une fois que vous aurez validé, il ne sera pas possible de supprimer le virement. Si vous souhaitez faire annuler l'opération, il faudra contacter la personne recevant l'argent pour qu'elle fasse à son tour un transfert sur votre compte.&lt;br /&gt;
&lt;br /&gt;
=E-mails automatiques=&lt;br /&gt;
==Alertes par e-mail uniquement sur les plateformes de production==&lt;br /&gt;
Les [[Configuration de la comptabilité#Paramétrage_général_des_comptabilités|e-mails d'alertes de solde]] ou de [[#E-mail-de-rappel-de-réservation|rappel des réservations]] ne sont pas envoyés sur les plateformes qui ne sont pas en production afin de ne pas polluer les messageries des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Les différentes notifications d'e-mail de réservation sont paramétrables du côté de [[#Affichage-et-fiche-personnelle|la fiche utilisateur]].&lt;br /&gt;
&lt;br /&gt;
==E-mail d'annulation de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une annulation de réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une annulation de réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est le même que pour l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]].&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Notification d'annulation de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est annulée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les annulations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails d'annulation en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_annulées&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de mise en maintenance==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une mise en maintenance sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une mise en maintenance sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** la ressource mise en maintenance&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de maintenance si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération de maintenance&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
La mise en maintenance pour le type-de-ressource F-ABCD du 01/04/2015 à 08:00 au 01/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Remplacement roue est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de notification de réservation==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot;Confirmation d'une nouvelle réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration. Confirmation d'une nouvelle réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Notification de création de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** le type de ressource et la ressource réservés&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en seconde place si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération sur la réservation&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-par-e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ceci est une notification de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Rappel d'une réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Rappel d'une réservation sur OpenFlyers sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du corps de l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]] où les dates sont sous le format &amp;quot;JJ/MM/AAAA/MM à HHhMM&amp;quot; et sous le fuseau horaire de l'utilisateur recevant l'e-mail&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail :&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 2015/04/01 à 08h00 au 2015/04/01 à 09h00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie=&lt;br /&gt;
==Optimiser la navigation dans OpenFlyers==&lt;br /&gt;
&lt;br /&gt;
===Navigation par onglet===&lt;br /&gt;
Afin d'avoir à disposition les différentes pages dont vous avez besoin pour effectuer une action, il est possible d'afficher chacune d'entre elles dans un [[Wikipedia-fr:Onglet_%28informatique%29|onglet]] du navigateur.&lt;br /&gt;
Lorsque vous effectuez un clic gauche sur un lien situé dans une page donnée pour accéder à une autre page, la page initiale est remplacée par la page de destination. Ce qui rend fastidieux la réalisation des tâches nécessitant un accès répétitif à certaines pages.&lt;br /&gt;
&lt;br /&gt;
===Clic droit et clic molette===&lt;br /&gt;
Afin de gagner en efficacité et en confort d'utilisation, pensez à utiliser les autres boutons de la souris qui vous permettent d'ouvrir une page dans un '''nouvel onglet'''. Pour cela il existe deux méthodes lorsqu'on survole un lien dans un navigateur Internet pour ouvrir la page de destination dans un nouvel onglet :&lt;br /&gt;
*'''Le clic droit :''' il permet d'afficher un menu contextuel qui contient une action nommée « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
*'''Le clic molette :''' il est encore plus efficace que le clic droit, car il correspond directement à l'action « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
&lt;br /&gt;
Normalement le clic molette est configuré pour cette action. Dans le cas contraire, il faut [[Trucs et astuces#Modifier_le_comportement_la_souris|en modifier le comportement]].&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-1.png]]&lt;br /&gt;
&lt;br /&gt;
L'exemple suivant explique comment modifier successivement les validités de plusieurs utilisateurs :&lt;br /&gt;
*Dans un premier onglet, ouvrir le tableau présentant la liste des utilisateurs.&lt;br /&gt;
[[Fichier:OF3.5-clics-2.png]]&lt;br /&gt;
*Effectuer un '''clic droit''' ou '''clic molette''' sur le pictogramme des validités pour déplier un second onglet.&lt;br /&gt;
[[Fichier:OF3.5-clics-3.png]]&lt;br /&gt;
*Effectuer et enregistrer les modifications dans le second onglet, présentant les validités d'un utilisateur.&lt;br /&gt;
[[Fichier:OF3.5-clics-4.jpg]]&lt;br /&gt;
*Replier le second onglet en cliquant sur la croix ou en pressant '''CTRL + W'''.&lt;br /&gt;
[[Fichier:OF3.5-clics-5.png]]&lt;br /&gt;
*Retour au premier onglet, présentant la liste des utilisateurs. Répéter les opérations du 2 au 4 pour les autres utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
Il est possible de naviguer rapidement d'un onglet à l'autre sans utiliser la souris en utilisant simplement les raccourcis clavier : '''CTRL + TAB''' pour avancer d'un onglet ou '''CTRL + SHIFT + TAB''' pour reculer d'un onglet.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-6.png]]&lt;br /&gt;
&lt;br /&gt;
=Fiche utilisateur (Données)=&lt;br /&gt;
==Affichage et fiche personnelle==&lt;br /&gt;
===Affichage du menu contextuel===&lt;br /&gt;
Le menu contextuel et un menu déroulant qui apparait lors du survol d'une réservation ou d'un vol ouvert. Ce menu contextuel peut apparaitre :&lt;br /&gt;
*soit automatiquement&lt;br /&gt;
*soit par un clic droit de la souris&lt;br /&gt;
Ce paramétrage est personnalisable pour chaque utilisateur :&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Cocher ou décocher '''N'afficher la description des réservations qu'avec le bouton droit de la souris''' selon le comportement souhaité&lt;br /&gt;
*Cliquer sur le bouton '''Sauver''' tout en bas du formulaire&lt;br /&gt;
&lt;br /&gt;
===Choisir l'unité de temps===&lt;br /&gt;
Chaque utilisateur peut choisir l'unité de temps qui sert à afficher les heures.&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Choisir dans le champ '''Unité de temps''' parmi :&lt;br /&gt;
**heures minutes&lt;br /&gt;
**heures centièmes&lt;br /&gt;
**heures dixièmes&lt;br /&gt;
*Appuyer sur le bouton '''Sauver'''.&lt;br /&gt;
&lt;br /&gt;
===Etre informé des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]] par email===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par email des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
===Editer sa photo===&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
* L'import ou la suppression d'une photo requiert le droit [[Gestion-des-profils#Généralités|Editer sa photo]]. Ce droit n'est pas nécessaire pour rendre sa photo visible pour tous&lt;br /&gt;
&lt;br /&gt;
===Notification de la maintenance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_mise_en_maintenance|e-mail des réservations de maintenance]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_notification_de_réservation|e-mail des réservations créées ou modifiées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations annulées===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_d'annulation_de_réservation|e-mail des réservations annulées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Rappel des réservations de 2 jours d'avance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin de recevoir ou non par [[#E-mail_de_rappel_de_réservation|e-mail un rappel de réservation]].&lt;br /&gt;
&lt;br /&gt;
Les rappels sont envoyés entre 0h et 6h au fuseau Europe/Paris pour les réservations ayant une ressource d'assignée et débutant entre 2 et 3 jours après.&lt;br /&gt;
&lt;br /&gt;
Les [[#Alertes_par_e-mail_uniquement_sur_les_plateformes_de_production|rappels ne sont effectifs que sur les plateformes en production]].&lt;br /&gt;
&lt;br /&gt;
===Recevoir un e-mail pour toute réservation===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
Lorsque l'utilisateur dispose d'un profil avec le droit [[Gestion des profils#Réservation|Alertable par e-mail pour toute réservation]], apparait une case à cocher '''Recevoir un e-mail pour toute réservation'''.&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par e-mail lorsqu'une nouvelle réservation est créée par n'importe quel utilisateur.&lt;br /&gt;
&lt;br /&gt;
==(In)disponibilités==&lt;br /&gt;
Lorsque vous êtes intervenant (formateur, instructeur, moniteur, mécanicien, etc.), vous pouvez gérer vos disponibilités en allant dans '''Données &amp;gt; (in)disponibilités'''&lt;br /&gt;
&lt;br /&gt;
Il existe deux types de disponibilités :&lt;br /&gt;
:Les disponibilités régulières qui reviennent chaque semaine, par exemple : le lundi de 9h00 à 18h00.&lt;br /&gt;
:Les disponibilités exceptionnelles (ou les indisponibilités exceptionnelles) sont ponctuelles : présent (ou absent) le 1er décembre de 8h00 à 12h00.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez cumuler ces modes pour avoir une flexibilité maximum. &lt;br /&gt;
&lt;br /&gt;
:Exemple :&lt;br /&gt;
::- disponible du Lundi 8 h 00 au Mercredi 19 h 00 en permanent&lt;br /&gt;
::- disponible du Vendredi 8 h 00 au Samedi 19 h 00 en permanent&lt;br /&gt;
::- Absent du 15 Juillet au 30 Juillet pour raison de congé&lt;br /&gt;
:Attention à ne pas créer des incohérences.&lt;br /&gt;
&lt;br /&gt;
De même, si vous faites une pause déjeuner, il faut créer des disponibilités par demi-journées pour chaque jour concerné, en présence régulière en créant une disponibilité tous les jours de 9h à 12h et une disponibilité tous les jours de 14h à 18h (par ex.).&lt;br /&gt;
&lt;br /&gt;
Il est possible de créer une disponibilité permanente : Pour cela, créez une disponibilité régulière sur le même jour, avec une heure de début et de fin identique. Par exemple, disponible du &amp;quot;Lundi 0h00 au Lundi 0h00&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
En cas de problème, affichez la liste des disponibilités et supprimez tous les créneaux puis reconstruisez les disponibilités.&lt;br /&gt;
&lt;br /&gt;
==Réinitialiser son mot de passe==&lt;br /&gt;
Attention, lorsqu'un mot de passe est perdu vous n'avez que trois tentatives possibles pour le retrouver. A la 4ème tentative un compteur exponentiel s'active pour éviter les robots créés par les pirates de tenter d'accéder aux plateformes par des [[Wikipedia-fr:Attaque_par_force_brute|attaques par force brute]].&lt;br /&gt;
&lt;br /&gt;
Par contre, vous pouvez ré-initialiser votre mot de passe depuis la page d'accueil de votre plateforme OpenFlyers :&lt;br /&gt;
*Cliquez sur le lien '''Mot de passe oublié ?'''&lt;br /&gt;
*Dans le formulaire '''Demande de réinitialisation du mot de passe''', remplissez le champ '''Identifiant''' avec votre nom d'utilisateur utilisé pour la connexion sur l'application OpenFlyers&lt;br /&gt;
*Cliquez sur le bouton '''Enregistrer'''&lt;br /&gt;
*Si le nom d'utilisateur est présent en base de données, alors le message suivant doit s'afficher :&lt;br /&gt;
'''Merci, un e-mail a été envoyé à l'adresse du compte nom-utilisateur. Cliquez sur le lien dans l'email afin de poursuivre la réinitialisation du mot de passe.'''&lt;br /&gt;
*Récupérez l'e-mail dans votre messagerie, il s'intitule :&lt;br /&gt;
'''[nom-de-la-plateforme] Demande de réinitialisation du mot de passe à XXhXX (UTC)'''&lt;br /&gt;
et contient les éléments suivants :&lt;br /&gt;
&amp;lt;pre&amp;gt;Jean DUPONT,&lt;br /&gt;
&lt;br /&gt;
Une demande de réinitialisation de mot de passe a été effectué.&lt;br /&gt;
Pour poursuivre l'opération, cliquez ici.&lt;br /&gt;
Si vous n'avez pas fait la demande, veuillez ignorer l'email.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez également saisir ou copier le lien suivant dans votre navigateur internet afin d'accéder à la page de réinitilisalisation de mot de passe :&lt;br /&gt;
http://openflyers.com/nom-de-la-plateforme/index.php?menuAction=password_reset&amp;amp;token=154551560257977557617df&lt;br /&gt;
&lt;br /&gt;
L'équipe OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' L'email est valide uniquement pendant '''une heure''' après la demande de réinitialisation de mot de passe. Passé ce délai, le lien indiqué dans l'email ne sera plus valide. Il sera donc nécessaire de refaire une '''nouvelle demande''' de réinitialisation de mot de passe.&lt;br /&gt;
&lt;br /&gt;
*Cliquez sur la partie du texte correspondant au lien coloré ou copiez dans votre navigateur internet lien contenu à la fin de l'e-mail pour retourner sur la page de réinitialisation de mot de passe&lt;br /&gt;
*Dans le 2ème formulaire intitulé '''Réinitialisation du mot de passe''', renseignez les champs :&lt;br /&gt;
**'''Réinitialisation du mot de passe''' avec votre nouveau mot de passe&lt;br /&gt;
**'''Répétition du mot de passe''' avec la confirmation de votre nouveau mot de passe&lt;br /&gt;
*Cliquez sur le bouton '''Réinitialiser'''&lt;br /&gt;
&lt;br /&gt;
Après avoir réinitialisé votre mot de passe, l'application vous connecte automatiquement en vous redirigeant sur la page du planning.&lt;br /&gt;
&lt;br /&gt;
=Planning=&lt;br /&gt;
==Codes couleurs==&lt;br /&gt;
[[Fichier:Codes couleurs.png]]&lt;br /&gt;
&lt;br /&gt;
==Éphémérides==&lt;br /&gt;
Nous calculons les éphémérides d'après les définitions officielles.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les heures de lever et de coucher du soleil correspondent au passage du centre du soleil sous l'horizon, c'est à dire lorsque le centre du soleil est situé 3 degrés sous l'horizon. En effet, il est considéré, en première approximation que le soleil a un diamètre apparent de 6 degrés.&lt;br /&gt;
&lt;br /&gt;
Les heures du jour et de la nuit aéronautique correspondent au passage du soleil 6 degrés sous l'horizon. Il s'agit de la définition officielle, aussi bien française, qu'internationale (OACI). Notre formule de calcul est validée pour les latitudes inférieures à 65 degrés. Sa précision est de l'ordre de la minute sous des latitudes inférieures à 50 degrés. La précision diminue au fur et à mesure que la latitude augmente, c'est à dire que l'on se rapproche des pôles.&lt;br /&gt;
&lt;br /&gt;
Conséquence du calcul : les résultats trouvés ne correspondent pas à la simple addition de + ou - 30 minutes. Mais il n'a jamais été écrit dans un texte officiel que la journée aéronautique commençait au lever du soleil moins trente minutes, et que la nuit aéronautique commençait au coucher du soleil plus trente minutes. Dans la règlementation française, il est admis d'utiliser + ou - 30 minutes pour faire les calculs sous des latitudes comprises entre 30 et 60 degrés et 15 minutes sous les latitudes inférieures à 30 degrés). Pour l'Europe, voir le [http://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32012R0923&amp;amp;from=EN Règlement n°923/2012 concernant les Standardised European Rules of the Air) - Article 2 - Définition 97]. Pour la France voir la [http://www.developpement-durable.gouv.fr/IMG/pdf/SERA_RCA_consolide.pdf version consolidée des règles de l'air, définition de la &amp;quot;Nuit&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
Mises en garde :&lt;br /&gt;
*Le programme calcule les heures à partir des coordonnées géographiques de l'aérodrome indiqué comme étant la base aéronautique de la plateforme OpenFlyers considérée. Si les heures sont erronées, il faut contacter l'administrateur OpenFlyers de la plateforme afin qu'il vérifie le code OACI renseigné pour la plateforme.&lt;br /&gt;
*Certains pays n'utilisent pas la nuit aéronautique et ne permettent pas le vol en dehors du lever et du coucher du soleil. D'autres pays utilisent d'autres types de définition pour déterminer si le vol est de jour ou de nuit comme notamment une référence à la luminosité réelle mesurée.&lt;br /&gt;
&lt;br /&gt;
Remarque :&lt;br /&gt;
*Si l'utilisateur ne souhaite pas utiliser la définition réelle mais une approximation, comme le fait d'ajouter ou retrancher 30 minutes, il suffit d'effectuer l'opération de calcul à partir des heures de lever ou de coucher du soleil.&lt;br /&gt;
&lt;br /&gt;
=Rapports=&lt;br /&gt;
Tous les rapports sont regroupés sur une même page qui est accessible depuis '''Données &amp;gt; Rapports''' ou côté admin '''Rapports &amp;gt; Structure &amp;gt; Visualiser''' (si on dispose d'un droit spécifique).&lt;br /&gt;
&lt;br /&gt;
Cette page est constituée de 2 parties :&lt;br /&gt;
*Une liste de champs dans le formulaire général&lt;br /&gt;
*Une liste de rapports&lt;br /&gt;
&lt;br /&gt;
Les données qui doivent être saisies dans les champs du formulaire général varient en fonction des rapports.&lt;br /&gt;
&lt;br /&gt;
Les données prises en compte dans les rapports sont affichés dans le titre du rapport au-dessus du tableau de résultat.&lt;br /&gt;
&lt;br /&gt;
Aussi, si on constate que malgré le fait d'avoir préciser une valeur, celle-ci semble ignorer par le rapport, il faut vérifier si cette donnée apparait dans la liste données prises en compte. Si c'est le cas, alors il y a potentiellement un bug. Si ce n'est pas le cas, alors c'est &amp;quot;normal&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
La version 4 d'OpenFlyers proposera une interface différente où on choisira d'abord son rapport et ensuite les données pour les seules variables prises seront demandées.&lt;br /&gt;
&lt;br /&gt;
=Réservations=&lt;br /&gt;
==Immobiliser une ressource==&lt;br /&gt;
Les utilisateurs disposant du droit '''[[Gestion des profils#Réservation|Gestion des disponibilités des ressources]]''' peuvent rendre une ressource indisponible pour un créneau horaire donné. Cela permet d'indiquer aux autres utilisateurs que la ressource considérée n'est pas disponible.&lt;br /&gt;
&lt;br /&gt;
Il n'est pas possible d'avoir plus d'un créneau d'immobilisation sur une même ressource et la même période.&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des validités|Validités]]=&lt;br /&gt;
Un utilisateur peut [[Gestion des profils#Type_de_validité_que_l'utilisateur_peut_gérer|gérer uniquement les validités définies comme telles pour son profil]] en allant dans '''Données &amp;gt; Validités'''.&lt;br /&gt;
&lt;br /&gt;
De plus :&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à ajouter une nouvelle validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à renouveler une validité détenue ou à mettre à jour le '''Code identifiant''', la '''Date d'obtention''', la '''Limite de validité''' (d'une validité non achetable) ou à supprimer une validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]] ou le droit [[Gestion des profils#Généralités|Gestion de ses validités détenues]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à acheter ou renouveler une validité-produit, il doit détenir le droit [[Gestion des profils#Gestionnaire_des_ventes|Achat ventes libres]] et le produit associé à la validité doit être en vente libre.&lt;br /&gt;
&lt;br /&gt;
Pour renouveler une validité détenue, il faut cliquer sur l'icône [[Fichier:Refresh.png]] qui apparaît dans la colonne '''Limite de validité'''.&lt;br /&gt;
&lt;br /&gt;
Remarques :&lt;br /&gt;
*Les validités arrivées à échéance apparaissent sur fond rouge.&lt;br /&gt;
*La mise à jour de la date d'échéance d'une validité réactive automatiquement la cellule de la colonne [[#Données_&amp;gt;_Validités_&amp;gt;_Alertes_?|Alertes ?]].&lt;br /&gt;
*Une validité-produit déjà détenue ne peut pas être supprimée.&lt;br /&gt;
&lt;br /&gt;
==Données &amp;gt; Validités &amp;gt; Alertes ?==&lt;br /&gt;
La colonne '''Alertes ?''' permet à un utilisateur d'activer ou désactiver les rappels à la connexion de ses validités arrivant à expiration ou ayant expirées.&lt;br /&gt;
&lt;br /&gt;
Le champ '''Délai de prévenance en semaines avant chaque échéance''' permet de définir le délai de rappel des validités arrivant à expiration.&lt;br /&gt;
&lt;br /&gt;
==Alertes sur les validités==&lt;br /&gt;
===Alerte à la connexion===&lt;br /&gt;
Les validités contrôlées à la connexion sont uniquement :&lt;br /&gt;
*celles possédées par l'utilisateur qui se connecte et qui sont soumises à échéance&lt;br /&gt;
*les validités à expérience récente.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les validités sans échéance ne sont pas contrôlées.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers affiche un message d'alerte pour les validités dont la date d'échéance est expirée ou va expirer dans un délai inférieur à la période d'alerte définie dans la fiche utilisateur. L'utilisateur a la possibilité de cliquer sur la case à cocher &amp;quot;Ne plus le rappeler&amp;quot; afin de ne plus avoir de message de rappel. Dans ce cas, lors des connexions ultérieures, il n'aura plus de message de rappel. Il peut cependant réactiver cette alerte en la réactivant dans la colonne &amp;quot;Alertes&amp;quot; de la ligne correspondante dans '''Données &amp;gt; Validités'''. Cette réactivation est automatique lors d'une modification de la validité.&lt;br /&gt;
&lt;br /&gt;
===Alertes lors d'une réservation ou une saisie de vol===&lt;br /&gt;
Les validités périmées apparaissent systématiquement lors de la saisie d'une réservation ou d'un vol comme à la connexion. Leur affichage ne dépend pas du type de ressource. C'est juste un rappel.&lt;br /&gt;
&lt;br /&gt;
Ce rappel est notamment utile lorsqu'une personne effectue une réservation ou une saisie de vol pour le compte d'un tiers. Cela lui permet d'être informé et d'informer ce tiers de sa situation.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15071</id>
		<title>Documentation utilisateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15071"/>
				<updated>2017-01-09T14:36:03Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Edition de sa photo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de regrouper les informations utiles pour l'ensemble des utilisateurs finaux d'[[Accueil|OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
=Accès à OpenFlyers=&lt;br /&gt;
==Impossible de se connecter à la plateforme OpenFlyers de sa structure==&lt;br /&gt;
Si vous n'arrivez pas à accéder une plateforme OpenFlyers il faut en rechercher la raison. Voici un certain nombre de questions qui peuvent vous permettre de solutionner votre problème :&lt;br /&gt;
*Accédez-vous à la page d'identification de la plateforme OpenFlyers ?&lt;br /&gt;
**Si non, alors il faut regarder la FAQ [[#Page_indisponible|Page indisponible]]&lt;br /&gt;
*Lorsque vous vous identifiez, avez-vous un message de rejet indiquant que votre identifiant et/ou votre mot de passe ne sont pas corrects ?&lt;br /&gt;
**Si oui, alors le problème peut venir du mot de passe qui a changé. Dans ce cas là, vous pouvez ré-initialiser votre mot de passe en suivant la procédure [[#Réinitialiser-son-mot-de-passe|de réinitialisation de mot de passe]]. Cela peut également venir de votre identifiant qui n'est pas bon. Dans ce cas, il faut demander à la personne en charge de la gestion d'OpenFlyers au sein de votre structure aéronautique&lt;br /&gt;
*Une fois connecté, revenez-vous sur la page d'identification lorsque vous changez de page ?&lt;br /&gt;
**Si oui, alors il faut regarder la [[FAQ-utilisateur#Navigation-dans-OpenFlyers|procédure de gestion des cookies du navigateur]].&lt;br /&gt;
Si vous n'êtes dans aucun des cas répertoriés ci-dessus, alors vous pouvez rapporter votre problème en nous envoyant un e-mail et en décrivant le plus précisément possible le problème que vous rencontrez :&lt;br /&gt;
*Navigateur utilisé&lt;br /&gt;
*Système d'exploitation&lt;br /&gt;
*type de PC, smartphone ou tablette&lt;br /&gt;
*Nom du fournisseur d'accès internet&lt;br /&gt;
*Actions effectuées&lt;br /&gt;
*Message d'erreur s'affichant&lt;br /&gt;
&lt;br /&gt;
==Message d'alerte adresse IP bloquée==&lt;br /&gt;
&lt;br /&gt;
Un message d'alerte signalant que '''l'adresse IP est bloquée''' peut apparaître lorsque vous souhaitez vous connecter. Ce message apparaît lorsque vous avez tenté de vous connecter à plusieurs reprises mais que le couple identifiant / mot de passe est incorrect.&lt;br /&gt;
&lt;br /&gt;
Après avoir attendu le temps indiqué par le message d'alerte, vous pouvez tenter de vous reconnecter en faisant attention [[Wikipedia-fr:Sensibilit%C3%A9_%C3%A0_la_casse|à la casse]].&lt;br /&gt;
&lt;br /&gt;
==Page indisponible==&lt;br /&gt;
Si vous n'arrivez pas à accéder à la plateforme OpenFlyers de votre structure, voici une liste d'actions à effectuer :&lt;br /&gt;
*Redémarrer votre ordinateur&lt;br /&gt;
*Redémarrer la &amp;quot;box&amp;quot; ADSL&lt;br /&gt;
*Si cela ne fonctionne toujours pas, il faut [[#Tester_les_résolutions_DNS|tester les résolutions DNS]].&lt;br /&gt;
&lt;br /&gt;
===Tester les résolutions DNS===&lt;br /&gt;
Pour effectuer les tests suivants, il faut ouvrir une fenêtre &amp;quot;[[#Ouvrir_une_fenêtre_en_ligne_de_commande|en ligne de commandes]]&amp;quot;. En cas de problème, il faut nous rapporter les résultats en ouvrant un rapport de bug sur le [http://bts.openflyers.org BTS]. Pour cela, il est pratique de procéder par [[#Copier/Coller_dans_une_fenêtre_en_ligne_de_commande|copier/coller]].&lt;br /&gt;
*Dans la fenêtre en ligne de commande taper ce qui suit (en remplaçant '''structure''' par le sous-domaine correspondant à votre structure) :&lt;br /&gt;
&amp;lt;bash&amp;gt;ping structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
La réponse normale est pour OpenFlyers 3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of3.openflyers.net [87.98.143.237] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.143.237 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of3.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.143.237&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 2.1 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur8-of21.openflyers.net [87.98.145.26] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.145.26 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur8-of21.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.145.26&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 1.3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of1.openflyers.net [178.33.105.217] avec 32 octets de données :&lt;br /&gt;
 Réponse de 178.33.105.217 : octets=32 temps=41 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of1.openflyers.net&amp;quot; ou &amp;quot;Réponse de 178.33.105.217&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
====Tests plus poussés====&lt;br /&gt;
*Faire un :&lt;br /&gt;
&amp;lt;bash&amp;gt;nslookup structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Et un :&lt;br /&gt;
&amp;lt;bash&amp;gt;tracert structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Faire le test avec '''dig +trace''' :&lt;br /&gt;
&amp;lt;bash&amp;gt;dig +trace structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
Sous Windows, il faudra au préalable récupérer l'utilitaire (par exemple dans un package [http://www.isc.org./downloads bind]). Une fois télécharger le package, il faut copier/coller le programme dig ainsi que les fichiers .dll dans un répertoire commun et se positionner dans ce répertoire depuis la fenêtre en ligne de commandes avec la commande dir '''&amp;quot;nom du chemin du répertoire&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
====Tester les résolutions DNS sous Mac====&lt;br /&gt;
De plus, nous disposons de commandes plus puissantes qui permettent d'avoir d'avantage d'informations :&lt;br /&gt;
*cat /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
===Vérifier la configuration de résolution des DNS===&lt;br /&gt;
====Vérifier la configuration de résolution des DNS sous Windows====&lt;br /&gt;
Si vous avez un problème de résolution DNS sous windows, il peut être utile de vérifier que la résolution DNS est dynamique :&lt;br /&gt;
#Double-cliquer sur la connexion réseau concernée (par exemple le symbole &amp;quot;WIFI&amp;quot;)&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot; dans l'onglet &amp;quot;Général&amp;quot; de l'&amp;quot;Etat de Connexion réseau sans fil&amp;quot; (si WIFI))&lt;br /&gt;
#Sélectionner &amp;quot;Protocole internet TCP/IP&amp;quot;&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot;&lt;br /&gt;
#Vérifier qu'est sélectionné &amp;quot;Obtenir les adresses des serveurs DNS automatiquement&amp;quot;. (si ce n'est pas le cas, modifier).&lt;br /&gt;
#En dernier ressort, [[#Changer de serveur DNS|Changer de serveur DNS]] ou [[#Forcer_les_DNS|Forcer les DNS]].&lt;br /&gt;
&lt;br /&gt;
===Nous communiquer les adresses IP des serveurs DNS===&lt;br /&gt;
====Nous communiquer les adresses IP des serveurs DNS sous Windows====&lt;br /&gt;
#[[#Ouvrir_une_fenêtre_en_ligne_de_commande|Ouvrir une fenêtre en ligne de commande]]&lt;br /&gt;
#Taper : '''ipconfig /all'''&lt;br /&gt;
Les adresses IP des serveurs DNS se trouvent au droit de '''Serveurs DNS'''&lt;br /&gt;
&lt;br /&gt;
===Changer de serveur DNS===&lt;br /&gt;
Si vous rencontrez un problème de résolution de DNS avec votre fournisseur d'accès, vous pouvez changer les serveurs qui effectue la résolution des DNS pour votre accès.&lt;br /&gt;
====Changer de serveur DNS sous Mac====&lt;br /&gt;
*Dans '''Préférences Systèmes''', choisir '''Réseau''', puis une fois la bonne carte réseau sélectionnée, appuyer sur Avancé.&lt;br /&gt;
*Dans la fenêtre qui apparaît, aller sur l'onglet '''DNS''' et dans '''Serveurs DNS''' appuyer sur le + pour ajouter '''8.8.8.8''' et une autre fois pour ajouter '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Il ne reste plus qu'à '''Appliquer''' et à tester.&lt;br /&gt;
&lt;br /&gt;
====Changer de serveur DNS sous Windows XP====&lt;br /&gt;
*'''Démarrer &amp;gt; Connexions''' puis cliquer sur la connexion réseau active (par exemple la connexion WIFI)&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*Sélectionner '''Protocole Internet (TCP/IP)'''&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*En général, en bas de la fenêtre '''Propriétés de Protocole Internet (TCP/IP)''' la configuration active est : '''Obtenir les adresses des serveurs DNS automatiquement'''&lt;br /&gt;
*Cocher '''Utiliser l'adresse de serveur DNS suivante :'''&lt;br /&gt;
*Pour '''Serveur DNS préféré''', saisir '''8.8.8.8'''&lt;br /&gt;
*Pour '''Serveur DNS auxiliaire''', saisir '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''Fermer'''&lt;br /&gt;
&lt;br /&gt;
===Forcer les DNS===&lt;br /&gt;
====Forcer les DNS sous Windows====&lt;br /&gt;
Attention, avec Vista, il faut appliquer une [[#Particularité_avec_Windows_Vista|procédure préalable]].&lt;br /&gt;
*Il est possible de résoudre ce problème de DNS en éditant le fichier C:\WINDOWS\system32\drivers\etc\hosts (avec le bloc-notes) en rajoutant la ligne (il faut remplacer structure par le sous-domaine de la plateforme OpenFlyers de votre structure) :&lt;br /&gt;
**Pour OF 1.3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;178.33.105.217 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 2.1 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.145.26 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.143.237  structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Ensuite, il faut relancer votre PC&lt;br /&gt;
*Une fois la connexion correctement effectuée, il est parfois possible de supprimer cette entrée dans le fichier hosts tout en gardant la connexion.&lt;br /&gt;
&lt;br /&gt;
====Particularité avec Windows Vista====&lt;br /&gt;
*Il faut être administrateur pour pouvoir modifier le fichier hosts.&lt;br /&gt;
*Il faut également copier le fichier hosts sur le bureau pour le modifier puis ensuite le recopier dans le bon répertoire (si on édite directement le fichier hosts depuis (system32\drivers\etc\) on ne peut pas le ré-enregistrer).&lt;br /&gt;
&lt;br /&gt;
====Forcer les DNS sous Mac====&lt;br /&gt;
*lancer Terminal (dans Applications/Utilitaires)&lt;br /&gt;
*taper &amp;quot;sudo nano /etc/hosts&amp;quot; (il demande le mot de passe de l'utilisateur qui a les droits admin sur la machine)&lt;br /&gt;
*Ajouter les entrées sur le modèle de la [[#Forcer_les_DNS_sous_Windows|procédure sous Windows]]&lt;br /&gt;
*Faire controle-o pour enregistrer puis controle-x pour quitter&lt;br /&gt;
*Eventuellement, faire &amp;quot;dscacheutil -flushcache&amp;quot; si le changement n'est pas encore pris en compte.&lt;br /&gt;
&lt;br /&gt;
===Ouvrir une fenêtre en ligne de commande===&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
*Aller dans le menu &amp;quot;Démarrer&amp;quot;&lt;br /&gt;
*Puis Tous les programmes/Accessoires&lt;br /&gt;
*Lancer l'&amp;quot;invite de commandes&amp;quot;&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Sous OSX (mac) il faut lancer un Terminal. Pour cela 2 solutions :&lt;br /&gt;
*Taper &amp;quot;terminal&amp;quot; dans spotlight&lt;br /&gt;
ou&lt;br /&gt;
*lancer l'application qui est dans Applications &amp;gt; Utilitaires.&lt;br /&gt;
&lt;br /&gt;
===Copier/Coller dans une fenêtre en ligne de commande===&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
Vous pouvez faire un copier/coller en utilisant le bouton droit de la souris dans la fenêtre de l'invite de commandes puis en choisissant &amp;quot;sélectionner&amp;quot; et ensuite en appuyant sur le bouton gauche et en le laissant appuyer tout en sélectionnant la zone souhaitée)&lt;br /&gt;
&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Pour faire un copier/coller de ces informations et nous les communiquer, il suffit d'utiliser commande-C dans le terminal.&lt;br /&gt;
&lt;br /&gt;
==Restriction d'accès==&lt;br /&gt;
En fonction de la politique de la structure, le paramétrage d'une plateforme OpenFlyers peut entrainer des restrictions lors de la connexion.  Un message s'affiche, à ce moment là, indiquant les raisons de la restriction et le type de restriction. L'intitulé du profil est inchangé une fois connecté mais les droits associés peuvent être restreints. Par exemple, il peut ne plus être possible d'effectuer une réservation ou d'ouvrir une activité (vol).&lt;br /&gt;
&lt;br /&gt;
Ces restrictions peuvent avoir lieu dans les cas suivants :&lt;br /&gt;
*En cas de solde insuffisant.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Gestion_des_comptes|Surpasser la limitation du solde du compte]]. Lorsque l'utilisateur dispose de ce droit et que l'accès devrait être limité à cause du solde de l'un de ses comptes, un message d'alerte sans restriction s'affiche pour indiquer que son solde de compte est inférieur au seuil requis.&lt;br /&gt;
*En cas de validité obsolète.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Généralités|Surpasser les restrictions sur les validités expirées]]. Lorsque l'utilisateur dispose de ce droit, il n'y a pas de message d'alerte pour lui indiquer que l'absence de telle ou telle validité devrait entrainer la restriction de ses droits.&lt;br /&gt;
&lt;br /&gt;
=Activité=&lt;br /&gt;
==Alertes générées lors de la saisie d'une activité==&lt;br /&gt;
&lt;br /&gt;
===[[Facturation des clients#Alertes_générées_par_le_moteur_de_tarification|Alertes générées par le moteur de tarification]]===&lt;br /&gt;
&lt;br /&gt;
===[[#Alertes_lors_d'une_réservation_ou_une_saisie_de_vol|Alertes générées sur les validités]]===&lt;br /&gt;
&lt;br /&gt;
===L'aéronef est déjà en l'air===&lt;br /&gt;
Si en tentant d'ouvrir le vol d'un aéronef, apparait une alerte rouge '''L'aéronef est déjà en l'air''' cela veut dire qu'un vol a déjà ouvert avec cet aéronef. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===La différence entre le temps de vol calculé et le temps de vol saisi est de : X:XX heure(s)===&lt;br /&gt;
Cette alerte est suivie du message :&lt;br /&gt;
&amp;lt;pre&amp;gt;Veuillez contacter votre administrateur à propos de l'incompatibilité entre votre saisie et la formule du temps de vol choisie pour le type d'aéronef : X&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsque la valeur saisie du temps de vol est incompatible avec la valeur calculée par la [[Formules de calcul#Temps_d'activité|formule de calcul de temps de vol]] définie pour l'aéronef X.&lt;br /&gt;
&lt;br /&gt;
En général elle provient du fait que le temps de vol qui avait été calculé automatiquement dans le formulaire lors de la saisie des champs de compteurs départ/arrivée et/ou des heures de départ/arrivée ont été modifiés manuellement.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une telle erreur apparait, vous devez :&lt;br /&gt;
*Essayer de reprendre la saisie et essayer de comprendre pourquoi vous saisissez mal les valeurs dans les champs concernés&lt;br /&gt;
*Si vous n'arrivez pas à comprendre la raison, contacter sans délai un gestionnaire de votre structure afin qu'il vous explique les erreurs que vous commettez lorsque le problème vient d'une saisie erronée ou qu'il analyser lui-même le problème.&lt;br /&gt;
*Si vous êtes vous-même un gestionnaire de la plateforme, vous devez également pousser l'analyse pour comprendre en quoi votre saisie est incompatible avec la formule de calcul et le cas échéant faire effectuer une modification du paramétrage.&lt;br /&gt;
&lt;br /&gt;
Voir également, comment [[#Forcer_la_saisie_d'une_durée_de_vol_incompatible_avec_sa_formule_de_calcul|saisir un temps de vol qui ne respecte pas la formule de calcul]].&lt;br /&gt;
&lt;br /&gt;
===Le pilote X est déjà en l'air===&lt;br /&gt;
Ce message apparait lorsque vous tentez de saisir un vol en ouverture de vol et que le pilote occupant la position X est déjà enregistré sur un vol ouvert, c'est à dire en l'air.&lt;br /&gt;
&lt;br /&gt;
Cette protection permet de ne pas avoir un utilisateur occupé simultanément sur 2 ressources.&lt;br /&gt;
&lt;br /&gt;
S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Seul le type de vol requis dans le cas de la présence d'un second pilote a été sélectionné, vous devez en sélectionner au moins un autre en plus===&lt;br /&gt;
Lors de la saisie d'un vol, cette alerte s'affiche si la configuration de la plateforme nécessite la saisie d'au moins un type de vol supplémentaire en plus du type de vol obligatoire dans le cas de la présence d'un second pilote.&lt;br /&gt;
&lt;br /&gt;
C'est typiquement le cas pour les vols d'instruction où le paramétrage nécessite généralement de préciser un 2ème type de vol comme &amp;quot;local&amp;quot;, &amp;quot;navigation&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
===Vous êtes actuellement en l'air===&lt;br /&gt;
Si en tentant de saisir un vol, l'alerte '''Vous êtes actuellement en l'air''' apparait cela veut dire qu'il y a déjà un vol d'ouvert à votre nom. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Vous ne pouvez ouvrir un vol avec une date de début dépassée===&lt;br /&gt;
Cette protection empêche d'ouvrir une activité avec un horodatage de début antérieur à l'heure actuelle moins 15 minutes.&lt;br /&gt;
&lt;br /&gt;
En général, pour un tel cas, le souhait n'est pas d'ouvrir une activité mais de fermer une activité. Il faut donc penser à passer le champ '''Etat du vol''' en &amp;quot;Retour de vol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Annuler un vol ouvert==&lt;br /&gt;
*Aller sur le planning&lt;br /&gt;
*Cliquer sur le rectangle sur fond bleu correspondant à l'immatriculation de l'aéronef considéré&lt;br /&gt;
*Cliquer sur le bouton '''Annuler le vol''' tout en bas du formulaire.&lt;br /&gt;
&lt;br /&gt;
==Consulter un vol ouvert==&lt;br /&gt;
Pour pouvoir consulter un vol ouvert d'un tiers, il faut disposer du [[Gestion des profils#Gestion_des_vols|droit de &amp;quot;Saisie d'activité pour un tiers&amp;quot;]].&lt;br /&gt;
*Sur le planning de réservation, cliquer sur le rectangle de l'aéronef considéré qui doit être sur fond bleu pour indiquer que l'aéronef est en l'air.&lt;br /&gt;
&lt;br /&gt;
==Saisie d'un vol==&lt;br /&gt;
*Aller dans '''Vols &amp;gt; Saisir un vol''', remplir le formulaire&lt;br /&gt;
*La saisie d'un vol d'une durée inférieure à 15 minutes déclenchera l'affichage d'un message d'avertissement (en orange). Cliquer sur '''Confirmer la validation''' au dessous de ce message pour saisir définitivement le vol.&lt;br /&gt;
*Après la saisie d'un vol, l'utilisateur est renvoyé sur :&lt;br /&gt;
**Le planning lors d'un vol en ouverture&lt;br /&gt;
**Le formulaire de saisie d'un vol lors d'un nouveau vol en fermeture et que le terrain d'arrivée saisie est différent du terrain par défaut de la structure&lt;br /&gt;
**Dans les autres cas, l'[[Documentation utilisateur#Extrait_de_compte|extrait de compte]] de la personne en première place. Si plusieurs comptes sont impactés, c'est le premier compte impacté de la personne qui est choisi.&lt;br /&gt;
**Si l'utilisateur connecté n'a pas le droit de visualiser le compte concerné, alors c'est le carnet de route qui est affiché.&lt;br /&gt;
&lt;br /&gt;
===Forcer la saisie d'une durée de vol incompatible avec sa formule de calcul===&lt;br /&gt;
Un gestionnaire peut forcer la saisie d'un [[#La_différence_entre_le_temps_de_vol_calculé_et_le_temps_de_vol_saisi_est_de_:_X:XX_heure(s)|temps de vol incompatible avec la formule de calcul]] associée au type d'aéronef pour lequel on souhaite saisir un vol.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il doit :&lt;br /&gt;
*Saisir le vol en modification le compteur arrivé de sorte à obtenir le temps de vol souhaité.&lt;br /&gt;
*[[Gestion des ressources#Changer_la_valeur_du_compteur_en_cours|Changer la valeur du compteur en cours]] de l'aéronef.&lt;br /&gt;
&lt;br /&gt;
Dans le cas où plusieurs vols successifs doivent être saisis, il est alors judicieux de ne mettre à jour le compteur de l'aéronef qu'une que tous les vols ont été saisis.&lt;br /&gt;
&lt;br /&gt;
=Comptabilité=&lt;br /&gt;
&lt;br /&gt;
==Alertes générées lors de la [[Utilisation de la comptabilité#Saisie_d'écritures_comptables|saisie d'écritures comptables]]==&lt;br /&gt;
&lt;br /&gt;
===Les comptes n'ont pas la même comptabilité===&lt;br /&gt;
Cette alerte apparait lors d'une [[Comptabilité#Comptabilités_multiples|comptabilité multiple]] : Le compte débité et le compte crédité doivent être issues de la même comptabilité.&lt;br /&gt;
&lt;br /&gt;
==Créditer son compte utilisateur==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Approvisionner'''&lt;br /&gt;
*Si vous disposez de droit de gestion comptable, choisir dans le champ '''Encaissement de l'utilisateur''' le nom de l'utilisateur concerné&lt;br /&gt;
*Si vous disposez de plusieurs comptes sur lesquels vous pouvez choisir où ventiler votre encaissement, choisir dans le champ '''Compte à créditer''' le nom du compte concerné&lt;br /&gt;
*Dans le champ '''Type de règlement''', sélectionner le type de règlement&lt;br /&gt;
*Si vous effectuez un paiement avec une remise à une personne physique, vous devez préciser le nom de cette personne dans le champ '''Personne qui reçoit'''&lt;br /&gt;
*Dans le champ, montant indiquer le montant de votre paiement.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
Dans le cas où le type de paiement est un paiement par carte bancaire en ligne mis en place par votre structure, alors êtes redirigé sur le terminal de paiement électronique de la banque de votre structure. Il vous faut alors saisir les informations de votre carte bancaire. Il est possible que le terminal de paiement électronique supporte le &amp;quot;[[Wikipedia-fr:3-D_Secure|3-D Secure]]&amp;quot; qui implique un contrôle renforcé. Dans ce cas, c'est votre propre banque qui vous demandera des informations complémentaires pour confirmer que c'est bien vous qui êtes à l'origine de la demande de paiement par carte bancaire.&lt;br /&gt;
&lt;br /&gt;
==Extrait de compte==&lt;br /&gt;
'''OpenFlyers''' offre la possibilité à un utilisateur de consulter des extraits de compte : C'est un rapport permettant de visualiser le détail des écritures comptables effectuées sur une période (une année complète ou un mois d'une année) d'un compte ou de tous les comptes d'une comptabilité donnée. Si la gestion des budgets est activée, il est possible de filtrer l'affichage des écritures selon les budgets.&lt;br /&gt;
&lt;br /&gt;
Dès qu'il y a plus de 50 écritures à afficher pour un extrait de compte, la liste des écritures est paginée pour afficher 50 écritures par page.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est validée, les montants au débit et au crédit sont affichés en noir gras.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est non validée, les montants au débit et au crédit sont affichés en vert gras. En fonction du [[Gestion des profils|profil et de ses droits]], une colonne '''Actions''' peut apparaître avec des icônes pour permettre de modifier ou supprimer une écriture non validée selon [[Gestion-des-écritures-comptables#Types-d'écritures-comptable-générées-par-OpenFlyers|le type d'écriture comptable qui est générée]].&lt;br /&gt;
&lt;br /&gt;
===Colonne &amp;quot;Numéro de pointage ou de facture&amp;quot;===&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_fournisseur|facture fournisseur]], la colonne affiche le numéro de pointage.&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_client|facture client]] et que l'utilisateur dispose du [[Gestion des profils#Gestion_des_comptes|droit de '''Gestion des comptes''']] ou que la facture à afficher lui est destinée :&lt;br /&gt;
**Pour une écriture non-validée, la colonne affiche les icônes [[Fichier:IconHTML.png]] qui amènent aux factures pro-format associées.&lt;br /&gt;
**Pour une écriture validée, la colonne affiche les icônes [[Fichier:IconPDF.png]] qui amène aux factures PDF associées.&lt;br /&gt;
*:Dans le cas contraire, ce sont les numéros des factures qui sont affichés à la place des icônes.&lt;br /&gt;
&lt;br /&gt;
La colonne affiche &amp;quot;--&amp;quot; lorsqu'il s'agit d'une écriture :&lt;br /&gt;
* D'[[Écritures comptables#Saisie_d'un_encaissement_(d'un_client)|encaissement client]].&lt;br /&gt;
* De [[Écritures comptables#Les_4_grands_types_d'écritures|flux]].&lt;br /&gt;
* De [[Écritures comptables#Saisie_d'une_facture_client|facture client]] n'ayant pas de facture associée.&lt;br /&gt;
&lt;br /&gt;
==Imprimer un extrait de compte==&lt;br /&gt;
*Afficher l'extrait de compte souhaité&lt;br /&gt;
*[[Trucs et astuces#Imprimer_avec_un_navigateur|Imprimer avec la commande du navigateur]]&lt;br /&gt;
&lt;br /&gt;
==Transférer de l'argent==&lt;br /&gt;
Selon les droits accordés aux utilisateurs par la structure, il peut être possible d'effectuer un transfert d'argent depuis son compte vers le compte d'un autre utilisateur en suivant la procédure suivante :&lt;br /&gt;
*Aller sur '''Comptes &amp;gt;Transférer'''&lt;br /&gt;
*Dans le champ '''Compte à créditer''' choisir le nom de la personne concernée&lt;br /&gt;
*Dans le champ '''Montant''', saisir le montant que l'on souhaite transférer&lt;br /&gt;
*Remplir éventuellement le champ '''Commentaires'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' : '''Attention''' cette opération est irrévocable et une fois que vous aurez validé, il ne sera pas possible de supprimer le virement. Si vous souhaitez faire annuler l'opération, il faudra contacter la personne recevant l'argent pour qu'elle fasse à son tour un transfert sur votre compte.&lt;br /&gt;
&lt;br /&gt;
=E-mails automatiques=&lt;br /&gt;
==Alertes par e-mail uniquement sur les plateformes de production==&lt;br /&gt;
Les [[Configuration de la comptabilité#Paramétrage_général_des_comptabilités|e-mails d'alertes de solde]] ou de [[#E-mail-de-rappel-de-réservation|rappel des réservations]] ne sont pas envoyés sur les plateformes qui ne sont pas en production afin de ne pas polluer les messageries des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Les différentes notifications d'e-mail de réservation sont paramétrables du côté de [[#Affichage-et-fiche-personnelle|la fiche utilisateur]].&lt;br /&gt;
&lt;br /&gt;
==E-mail d'annulation de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une annulation de réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une annulation de réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est le même que pour l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]].&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Notification d'annulation de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est annulée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les annulations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails d'annulation en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_annulées&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de mise en maintenance==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une mise en maintenance sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une mise en maintenance sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** la ressource mise en maintenance&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de maintenance si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération de maintenance&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
La mise en maintenance pour le type-de-ressource F-ABCD du 01/04/2015 à 08:00 au 01/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Remplacement roue est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de notification de réservation==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot;Confirmation d'une nouvelle réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration. Confirmation d'une nouvelle réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Notification de création de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** le type de ressource et la ressource réservés&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en seconde place si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération sur la réservation&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-par-e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ceci est une notification de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Rappel d'une réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Rappel d'une réservation sur OpenFlyers sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du corps de l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]] où les dates sont sous le format &amp;quot;JJ/MM/AAAA/MM à HHhMM&amp;quot; et sous le fuseau horaire de l'utilisateur recevant l'e-mail&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail :&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 2015/04/01 à 08h00 au 2015/04/01 à 09h00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie=&lt;br /&gt;
==Optimiser la navigation dans OpenFlyers==&lt;br /&gt;
&lt;br /&gt;
===Navigation par onglet===&lt;br /&gt;
Afin d'avoir à disposition les différentes pages dont vous avez besoin pour effectuer une action, il est possible d'afficher chacune d'entre elles dans un [[Wikipedia-fr:Onglet_%28informatique%29|onglet]] du navigateur.&lt;br /&gt;
Lorsque vous effectuez un clic gauche sur un lien situé dans une page donnée pour accéder à une autre page, la page initiale est remplacée par la page de destination. Ce qui rend fastidieux la réalisation des tâches nécessitant un accès répétitif à certaines pages.&lt;br /&gt;
&lt;br /&gt;
===Clic droit et clic molette===&lt;br /&gt;
Afin de gagner en efficacité et en confort d'utilisation, pensez à utiliser les autres boutons de la souris qui vous permettent d'ouvrir une page dans un '''nouvel onglet'''. Pour cela il existe deux méthodes lorsqu'on survole un lien dans un navigateur Internet pour ouvrir la page de destination dans un nouvel onglet :&lt;br /&gt;
*'''Le clic droit :''' il permet d'afficher un menu contextuel qui contient une action nommée « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
*'''Le clic molette :''' il est encore plus efficace que le clic droit, car il correspond directement à l'action « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
&lt;br /&gt;
Normalement le clic molette est configuré pour cette action. Dans le cas contraire, il faut [[Trucs et astuces#Modifier_le_comportement_la_souris|en modifier le comportement]].&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-1.png]]&lt;br /&gt;
&lt;br /&gt;
L'exemple suivant explique comment modifier successivement les validités de plusieurs utilisateurs :&lt;br /&gt;
*Dans un premier onglet, ouvrir le tableau présentant la liste des utilisateurs.&lt;br /&gt;
[[Fichier:OF3.5-clics-2.png]]&lt;br /&gt;
*Effectuer un '''clic droit''' ou '''clic molette''' sur le pictogramme des validités pour déplier un second onglet.&lt;br /&gt;
[[Fichier:OF3.5-clics-3.png]]&lt;br /&gt;
*Effectuer et enregistrer les modifications dans le second onglet, présentant les validités d'un utilisateur.&lt;br /&gt;
[[Fichier:OF3.5-clics-4.jpg]]&lt;br /&gt;
*Replier le second onglet en cliquant sur la croix ou en pressant '''CTRL + W'''.&lt;br /&gt;
[[Fichier:OF3.5-clics-5.png]]&lt;br /&gt;
*Retour au premier onglet, présentant la liste des utilisateurs. Répéter les opérations du 2 au 4 pour les autres utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
Il est possible de naviguer rapidement d'un onglet à l'autre sans utiliser la souris en utilisant simplement les raccourcis clavier : '''CTRL + TAB''' pour avancer d'un onglet ou '''CTRL + SHIFT + TAB''' pour reculer d'un onglet.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-6.png]]&lt;br /&gt;
&lt;br /&gt;
=Fiche utilisateur (Données)=&lt;br /&gt;
==Affichage et fiche personnelle==&lt;br /&gt;
===Affichage du menu contextuel===&lt;br /&gt;
Le menu contextuel et un menu déroulant qui apparait lors du survol d'une réservation ou d'un vol ouvert. Ce menu contextuel peut apparaitre :&lt;br /&gt;
*soit automatiquement&lt;br /&gt;
*soit par un clic droit de la souris&lt;br /&gt;
Ce paramétrage est personnalisable pour chaque utilisateur :&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Cocher ou décocher '''N'afficher la description des réservations qu'avec le bouton droit de la souris''' selon le comportement souhaité&lt;br /&gt;
*Cliquer sur le bouton '''Sauver''' tout en bas du formulaire&lt;br /&gt;
&lt;br /&gt;
===Choisir l'unité de temps===&lt;br /&gt;
Chaque utilisateur peut choisir l'unité de temps qui sert à afficher les heures.&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Choisir dans le champ '''Unité de temps''' parmi :&lt;br /&gt;
**heures minutes&lt;br /&gt;
**heures centièmes&lt;br /&gt;
**heures dixièmes&lt;br /&gt;
*Appuyer sur le bouton '''Sauver'''.&lt;br /&gt;
&lt;br /&gt;
===Etre informé des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]] par email===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par email des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
===Editer de sa photo===&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
* L'import ou la suppression d'une photo requiert le droit [[Gestion-des-profils#Généralités|Editer sa photo]]. Ce droit n'est pas nécessaire pour rendre sa photo visible pour tous&lt;br /&gt;
&lt;br /&gt;
===Notification de la maintenance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_mise_en_maintenance|e-mail des réservations de maintenance]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_notification_de_réservation|e-mail des réservations créées ou modifiées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations annulées===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_d'annulation_de_réservation|e-mail des réservations annulées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Rappel des réservations de 2 jours d'avance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin de recevoir ou non par [[#E-mail_de_rappel_de_réservation|e-mail un rappel de réservation]].&lt;br /&gt;
&lt;br /&gt;
Les rappels sont envoyés entre 0h et 6h au fuseau Europe/Paris pour les réservations ayant une ressource d'assignée et débutant entre 2 et 3 jours après.&lt;br /&gt;
&lt;br /&gt;
Les [[#Alertes_par_e-mail_uniquement_sur_les_plateformes_de_production|rappels ne sont effectifs que sur les plateformes en production]].&lt;br /&gt;
&lt;br /&gt;
===Recevoir un e-mail pour toute réservation===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
Lorsque l'utilisateur dispose d'un profil avec le droit [[Gestion des profils#Réservation|Alertable par e-mail pour toute réservation]], apparait une case à cocher '''Recevoir un e-mail pour toute réservation'''.&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par e-mail lorsqu'une nouvelle réservation est créée par n'importe quel utilisateur.&lt;br /&gt;
&lt;br /&gt;
==(In)disponibilités==&lt;br /&gt;
Lorsque vous êtes intervenant (formateur, instructeur, moniteur, mécanicien, etc.), vous pouvez gérer vos disponibilités en allant dans '''Données &amp;gt; (in)disponibilités'''&lt;br /&gt;
&lt;br /&gt;
Il existe deux types de disponibilités :&lt;br /&gt;
:Les disponibilités régulières qui reviennent chaque semaine, par exemple : le lundi de 9h00 à 18h00.&lt;br /&gt;
:Les disponibilités exceptionnelles (ou les indisponibilités exceptionnelles) sont ponctuelles : présent (ou absent) le 1er décembre de 8h00 à 12h00.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez cumuler ces modes pour avoir une flexibilité maximum. &lt;br /&gt;
&lt;br /&gt;
:Exemple :&lt;br /&gt;
::- disponible du Lundi 8 h 00 au Mercredi 19 h 00 en permanent&lt;br /&gt;
::- disponible du Vendredi 8 h 00 au Samedi 19 h 00 en permanent&lt;br /&gt;
::- Absent du 15 Juillet au 30 Juillet pour raison de congé&lt;br /&gt;
:Attention à ne pas créer des incohérences.&lt;br /&gt;
&lt;br /&gt;
De même, si vous faites une pause déjeuner, il faut créer des disponibilités par demi-journées pour chaque jour concerné, en présence régulière en créant une disponibilité tous les jours de 9h à 12h et une disponibilité tous les jours de 14h à 18h (par ex.).&lt;br /&gt;
&lt;br /&gt;
Il est possible de créer une disponibilité permanente : Pour cela, créez une disponibilité régulière sur le même jour, avec une heure de début et de fin identique. Par exemple, disponible du &amp;quot;Lundi 0h00 au Lundi 0h00&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
En cas de problème, affichez la liste des disponibilités et supprimez tous les créneaux puis reconstruisez les disponibilités.&lt;br /&gt;
&lt;br /&gt;
==Réinitialiser son mot de passe==&lt;br /&gt;
Attention, lorsqu'un mot de passe est perdu vous n'avez que trois tentatives possibles pour le retrouver. A la 4ème tentative un compteur exponentiel s'active pour éviter les robots créés par les pirates de tenter d'accéder aux plateformes par des [[Wikipedia-fr:Attaque_par_force_brute|attaques par force brute]].&lt;br /&gt;
&lt;br /&gt;
Par contre, vous pouvez ré-initialiser votre mot de passe depuis la page d'accueil de votre plateforme OpenFlyers :&lt;br /&gt;
*Cliquez sur le lien '''Mot de passe oublié ?'''&lt;br /&gt;
*Dans le formulaire '''Demande de réinitialisation du mot de passe''', remplissez le champ '''Identifiant''' avec votre nom d'utilisateur utilisé pour la connexion sur l'application OpenFlyers&lt;br /&gt;
*Cliquez sur le bouton '''Enregistrer'''&lt;br /&gt;
*Si le nom d'utilisateur est présent en base de données, alors le message suivant doit s'afficher :&lt;br /&gt;
'''Merci, un e-mail a été envoyé à l'adresse du compte nom-utilisateur. Cliquez sur le lien dans l'email afin de poursuivre la réinitialisation du mot de passe.'''&lt;br /&gt;
*Récupérez l'e-mail dans votre messagerie, il s'intitule :&lt;br /&gt;
'''[nom-de-la-plateforme] Demande de réinitialisation du mot de passe à XXhXX (UTC)'''&lt;br /&gt;
et contient les éléments suivants :&lt;br /&gt;
&amp;lt;pre&amp;gt;Jean DUPONT,&lt;br /&gt;
&lt;br /&gt;
Une demande de réinitialisation de mot de passe a été effectué.&lt;br /&gt;
Pour poursuivre l'opération, cliquez ici.&lt;br /&gt;
Si vous n'avez pas fait la demande, veuillez ignorer l'email.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez également saisir ou copier le lien suivant dans votre navigateur internet afin d'accéder à la page de réinitilisalisation de mot de passe :&lt;br /&gt;
http://openflyers.com/nom-de-la-plateforme/index.php?menuAction=password_reset&amp;amp;token=154551560257977557617df&lt;br /&gt;
&lt;br /&gt;
L'équipe OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' L'email est valide uniquement pendant '''une heure''' après la demande de réinitialisation de mot de passe. Passé ce délai, le lien indiqué dans l'email ne sera plus valide. Il sera donc nécessaire de refaire une '''nouvelle demande''' de réinitialisation de mot de passe.&lt;br /&gt;
&lt;br /&gt;
*Cliquez sur la partie du texte correspondant au lien coloré ou copiez dans votre navigateur internet lien contenu à la fin de l'e-mail pour retourner sur la page de réinitialisation de mot de passe&lt;br /&gt;
*Dans le 2ème formulaire intitulé '''Réinitialisation du mot de passe''', renseignez les champs :&lt;br /&gt;
**'''Réinitialisation du mot de passe''' avec votre nouveau mot de passe&lt;br /&gt;
**'''Répétition du mot de passe''' avec la confirmation de votre nouveau mot de passe&lt;br /&gt;
*Cliquez sur le bouton '''Réinitialiser'''&lt;br /&gt;
&lt;br /&gt;
Après avoir réinitialisé votre mot de passe, l'application vous connecte automatiquement en vous redirigeant sur la page du planning.&lt;br /&gt;
&lt;br /&gt;
=Planning=&lt;br /&gt;
==Codes couleurs==&lt;br /&gt;
[[Fichier:Codes couleurs.png]]&lt;br /&gt;
&lt;br /&gt;
==Éphémérides==&lt;br /&gt;
Nous calculons les éphémérides d'après les définitions officielles.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les heures de lever et de coucher du soleil correspondent au passage du centre du soleil sous l'horizon, c'est à dire lorsque le centre du soleil est situé 3 degrés sous l'horizon. En effet, il est considéré, en première approximation que le soleil a un diamètre apparent de 6 degrés.&lt;br /&gt;
&lt;br /&gt;
Les heures du jour et de la nuit aéronautique correspondent au passage du soleil 6 degrés sous l'horizon. Il s'agit de la définition officielle, aussi bien française, qu'internationale (OACI). Notre formule de calcul est validée pour les latitudes inférieures à 65 degrés. Sa précision est de l'ordre de la minute sous des latitudes inférieures à 50 degrés. La précision diminue au fur et à mesure que la latitude augmente, c'est à dire que l'on se rapproche des pôles.&lt;br /&gt;
&lt;br /&gt;
Conséquence du calcul : les résultats trouvés ne correspondent pas à la simple addition de + ou - 30 minutes. Mais il n'a jamais été écrit dans un texte officiel que la journée aéronautique commençait au lever du soleil moins trente minutes, et que la nuit aéronautique commençait au coucher du soleil plus trente minutes. Dans la règlementation française, il est admis d'utiliser + ou - 30 minutes pour faire les calculs sous des latitudes comprises entre 30 et 60 degrés et 15 minutes sous les latitudes inférieures à 30 degrés). Pour l'Europe, voir le [http://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32012R0923&amp;amp;from=EN Règlement n°923/2012 concernant les Standardised European Rules of the Air) - Article 2 - Définition 97]. Pour la France voir la [http://www.developpement-durable.gouv.fr/IMG/pdf/SERA_RCA_consolide.pdf version consolidée des règles de l'air, définition de la &amp;quot;Nuit&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
Mises en garde :&lt;br /&gt;
*Le programme calcule les heures à partir des coordonnées géographiques de l'aérodrome indiqué comme étant la base aéronautique de la plateforme OpenFlyers considérée. Si les heures sont erronées, il faut contacter l'administrateur OpenFlyers de la plateforme afin qu'il vérifie le code OACI renseigné pour la plateforme.&lt;br /&gt;
*Certains pays n'utilisent pas la nuit aéronautique et ne permettent pas le vol en dehors du lever et du coucher du soleil. D'autres pays utilisent d'autres types de définition pour déterminer si le vol est de jour ou de nuit comme notamment une référence à la luminosité réelle mesurée.&lt;br /&gt;
&lt;br /&gt;
Remarque :&lt;br /&gt;
*Si l'utilisateur ne souhaite pas utiliser la définition réelle mais une approximation, comme le fait d'ajouter ou retrancher 30 minutes, il suffit d'effectuer l'opération de calcul à partir des heures de lever ou de coucher du soleil.&lt;br /&gt;
&lt;br /&gt;
=Rapports=&lt;br /&gt;
Tous les rapports sont regroupés sur une même page qui est accessible depuis '''Données &amp;gt; Rapports''' ou côté admin '''Rapports &amp;gt; Structure &amp;gt; Visualiser''' (si on dispose d'un droit spécifique).&lt;br /&gt;
&lt;br /&gt;
Cette page est constituée de 2 parties :&lt;br /&gt;
*Une liste de champs dans le formulaire général&lt;br /&gt;
*Une liste de rapports&lt;br /&gt;
&lt;br /&gt;
Les données qui doivent être saisies dans les champs du formulaire général varient en fonction des rapports.&lt;br /&gt;
&lt;br /&gt;
Les données prises en compte dans les rapports sont affichés dans le titre du rapport au-dessus du tableau de résultat.&lt;br /&gt;
&lt;br /&gt;
Aussi, si on constate que malgré le fait d'avoir préciser une valeur, celle-ci semble ignorer par le rapport, il faut vérifier si cette donnée apparait dans la liste données prises en compte. Si c'est le cas, alors il y a potentiellement un bug. Si ce n'est pas le cas, alors c'est &amp;quot;normal&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
La version 4 d'OpenFlyers proposera une interface différente où on choisira d'abord son rapport et ensuite les données pour les seules variables prises seront demandées.&lt;br /&gt;
&lt;br /&gt;
=Réservations=&lt;br /&gt;
==Immobiliser une ressource==&lt;br /&gt;
Les utilisateurs disposant du droit '''[[Gestion des profils#Réservation|Gestion des disponibilités des ressources]]''' peuvent rendre une ressource indisponible pour un créneau horaire donné. Cela permet d'indiquer aux autres utilisateurs que la ressource considérée n'est pas disponible.&lt;br /&gt;
&lt;br /&gt;
Il n'est pas possible d'avoir plus d'un créneau d'immobilisation sur une même ressource et la même période.&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des validités|Validités]]=&lt;br /&gt;
Un utilisateur peut [[Gestion des profils#Type_de_validité_que_l'utilisateur_peut_gérer|gérer uniquement les validités définies comme telles pour son profil]] en allant dans '''Données &amp;gt; Validités'''.&lt;br /&gt;
&lt;br /&gt;
De plus :&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à ajouter une nouvelle validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à renouveler une validité détenue ou à mettre à jour le '''Code identifiant''', la '''Date d'obtention''', la '''Limite de validité''' (d'une validité non achetable) ou à supprimer une validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]] ou le droit [[Gestion des profils#Généralités|Gestion de ses validités détenues]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à acheter ou renouveler une validité-produit, il doit détenir le droit [[Gestion des profils#Gestionnaire_des_ventes|Achat ventes libres]] et le produit associé à la validité doit être en vente libre.&lt;br /&gt;
&lt;br /&gt;
Pour renouveler une validité détenue, il faut cliquer sur l'icône [[Fichier:Refresh.png]] qui apparaît dans la colonne '''Limite de validité'''.&lt;br /&gt;
&lt;br /&gt;
Remarques :&lt;br /&gt;
*Les validités arrivées à échéance apparaissent sur fond rouge.&lt;br /&gt;
*La mise à jour de la date d'échéance d'une validité réactive automatiquement la cellule de la colonne [[#Données_&amp;gt;_Validités_&amp;gt;_Alertes_?|Alertes ?]].&lt;br /&gt;
*Une validité-produit déjà détenue ne peut pas être supprimée.&lt;br /&gt;
&lt;br /&gt;
==Données &amp;gt; Validités &amp;gt; Alertes ?==&lt;br /&gt;
La colonne '''Alertes ?''' permet à un utilisateur d'activer ou désactiver les rappels à la connexion de ses validités arrivant à expiration ou ayant expirées.&lt;br /&gt;
&lt;br /&gt;
Le champ '''Délai de prévenance en semaines avant chaque échéance''' permet de définir le délai de rappel des validités arrivant à expiration.&lt;br /&gt;
&lt;br /&gt;
==Alertes sur les validités==&lt;br /&gt;
===Alerte à la connexion===&lt;br /&gt;
Les validités contrôlées à la connexion sont uniquement :&lt;br /&gt;
*celles possédées par l'utilisateur qui se connecte et qui sont soumises à échéance&lt;br /&gt;
*les validités à expérience récente.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les validités sans échéance ne sont pas contrôlées.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers affiche un message d'alerte pour les validités dont la date d'échéance est expirée ou va expirer dans un délai inférieur à la période d'alerte définie dans la fiche utilisateur. L'utilisateur a la possibilité de cliquer sur la case à cocher &amp;quot;Ne plus le rappeler&amp;quot; afin de ne plus avoir de message de rappel. Dans ce cas, lors des connexions ultérieures, il n'aura plus de message de rappel. Il peut cependant réactiver cette alerte en la réactivant dans la colonne &amp;quot;Alertes&amp;quot; de la ligne correspondante dans '''Données &amp;gt; Validités'''. Cette réactivation est automatique lors d'une modification de la validité.&lt;br /&gt;
&lt;br /&gt;
===Alertes lors d'une réservation ou une saisie de vol===&lt;br /&gt;
Les validités périmées apparaissent systématiquement lors de la saisie d'une réservation ou d'un vol comme à la connexion. Leur affichage ne dépend pas du type de ressource. C'est juste un rappel.&lt;br /&gt;
&lt;br /&gt;
Ce rappel est notamment utile lorsqu'une personne effectue une réservation ou une saisie de vol pour le compte d'un tiers. Cela lui permet d'être informé et d'informer ce tiers de sa situation.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15070</id>
		<title>Documentation utilisateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15070"/>
				<updated>2017-01-09T14:04:50Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Edition de sa photo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de regrouper les informations utiles pour l'ensemble des utilisateurs finaux d'[[Accueil|OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
=Accès à OpenFlyers=&lt;br /&gt;
==Impossible de se connecter à la plateforme OpenFlyers de sa structure==&lt;br /&gt;
Si vous n'arrivez pas à accéder une plateforme OpenFlyers il faut en rechercher la raison. Voici un certain nombre de questions qui peuvent vous permettre de solutionner votre problème :&lt;br /&gt;
*Accédez-vous à la page d'identification de la plateforme OpenFlyers ?&lt;br /&gt;
**Si non, alors il faut regarder la FAQ [[#Page_indisponible|Page indisponible]]&lt;br /&gt;
*Lorsque vous vous identifiez, avez-vous un message de rejet indiquant que votre identifiant et/ou votre mot de passe ne sont pas corrects ?&lt;br /&gt;
**Si oui, alors le problème peut venir du mot de passe qui a changé. Dans ce cas là, vous pouvez ré-initialiser votre mot de passe en suivant la procédure [[#Réinitialiser-son-mot-de-passe|de réinitialisation de mot de passe]]. Cela peut également venir de votre identifiant qui n'est pas bon. Dans ce cas, il faut demander à la personne en charge de la gestion d'OpenFlyers au sein de votre structure aéronautique&lt;br /&gt;
*Une fois connecté, revenez-vous sur la page d'identification lorsque vous changez de page ?&lt;br /&gt;
**Si oui, alors il faut regarder la [[FAQ-utilisateur#Navigation-dans-OpenFlyers|procédure de gestion des cookies du navigateur]].&lt;br /&gt;
Si vous n'êtes dans aucun des cas répertoriés ci-dessus, alors vous pouvez rapporter votre problème en nous envoyant un e-mail et en décrivant le plus précisément possible le problème que vous rencontrez :&lt;br /&gt;
*Navigateur utilisé&lt;br /&gt;
*Système d'exploitation&lt;br /&gt;
*type de PC, smartphone ou tablette&lt;br /&gt;
*Nom du fournisseur d'accès internet&lt;br /&gt;
*Actions effectuées&lt;br /&gt;
*Message d'erreur s'affichant&lt;br /&gt;
&lt;br /&gt;
==Message d'alerte adresse IP bloquée==&lt;br /&gt;
&lt;br /&gt;
Un message d'alerte signalant que '''l'adresse IP est bloquée''' peut apparaître lorsque vous souhaitez vous connecter. Ce message apparaît lorsque vous avez tenté de vous connecter à plusieurs reprises mais que le couple identifiant / mot de passe est incorrect.&lt;br /&gt;
&lt;br /&gt;
Après avoir attendu le temps indiqué par le message d'alerte, vous pouvez tenter de vous reconnecter en faisant attention [[Wikipedia-fr:Sensibilit%C3%A9_%C3%A0_la_casse|à la casse]].&lt;br /&gt;
&lt;br /&gt;
==Page indisponible==&lt;br /&gt;
Si vous n'arrivez pas à accéder à la plateforme OpenFlyers de votre structure, voici une liste d'actions à effectuer :&lt;br /&gt;
*Redémarrer votre ordinateur&lt;br /&gt;
*Redémarrer la &amp;quot;box&amp;quot; ADSL&lt;br /&gt;
*Si cela ne fonctionne toujours pas, il faut [[#Tester_les_résolutions_DNS|tester les résolutions DNS]].&lt;br /&gt;
&lt;br /&gt;
===Tester les résolutions DNS===&lt;br /&gt;
Pour effectuer les tests suivants, il faut ouvrir une fenêtre &amp;quot;[[#Ouvrir_une_fenêtre_en_ligne_de_commande|en ligne de commandes]]&amp;quot;. En cas de problème, il faut nous rapporter les résultats en ouvrant un rapport de bug sur le [http://bts.openflyers.org BTS]. Pour cela, il est pratique de procéder par [[#Copier/Coller_dans_une_fenêtre_en_ligne_de_commande|copier/coller]].&lt;br /&gt;
*Dans la fenêtre en ligne de commande taper ce qui suit (en remplaçant '''structure''' par le sous-domaine correspondant à votre structure) :&lt;br /&gt;
&amp;lt;bash&amp;gt;ping structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
La réponse normale est pour OpenFlyers 3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of3.openflyers.net [87.98.143.237] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.143.237 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of3.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.143.237&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 2.1 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur8-of21.openflyers.net [87.98.145.26] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.145.26 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur8-of21.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.145.26&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 1.3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of1.openflyers.net [178.33.105.217] avec 32 octets de données :&lt;br /&gt;
 Réponse de 178.33.105.217 : octets=32 temps=41 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of1.openflyers.net&amp;quot; ou &amp;quot;Réponse de 178.33.105.217&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
====Tests plus poussés====&lt;br /&gt;
*Faire un :&lt;br /&gt;
&amp;lt;bash&amp;gt;nslookup structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Et un :&lt;br /&gt;
&amp;lt;bash&amp;gt;tracert structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Faire le test avec '''dig +trace''' :&lt;br /&gt;
&amp;lt;bash&amp;gt;dig +trace structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
Sous Windows, il faudra au préalable récupérer l'utilitaire (par exemple dans un package [http://www.isc.org./downloads bind]). Une fois télécharger le package, il faut copier/coller le programme dig ainsi que les fichiers .dll dans un répertoire commun et se positionner dans ce répertoire depuis la fenêtre en ligne de commandes avec la commande dir '''&amp;quot;nom du chemin du répertoire&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
====Tester les résolutions DNS sous Mac====&lt;br /&gt;
De plus, nous disposons de commandes plus puissantes qui permettent d'avoir d'avantage d'informations :&lt;br /&gt;
*cat /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
===Vérifier la configuration de résolution des DNS===&lt;br /&gt;
====Vérifier la configuration de résolution des DNS sous Windows====&lt;br /&gt;
Si vous avez un problème de résolution DNS sous windows, il peut être utile de vérifier que la résolution DNS est dynamique :&lt;br /&gt;
#Double-cliquer sur la connexion réseau concernée (par exemple le symbole &amp;quot;WIFI&amp;quot;)&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot; dans l'onglet &amp;quot;Général&amp;quot; de l'&amp;quot;Etat de Connexion réseau sans fil&amp;quot; (si WIFI))&lt;br /&gt;
#Sélectionner &amp;quot;Protocole internet TCP/IP&amp;quot;&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot;&lt;br /&gt;
#Vérifier qu'est sélectionné &amp;quot;Obtenir les adresses des serveurs DNS automatiquement&amp;quot;. (si ce n'est pas le cas, modifier).&lt;br /&gt;
#En dernier ressort, [[#Changer de serveur DNS|Changer de serveur DNS]] ou [[#Forcer_les_DNS|Forcer les DNS]].&lt;br /&gt;
&lt;br /&gt;
===Nous communiquer les adresses IP des serveurs DNS===&lt;br /&gt;
====Nous communiquer les adresses IP des serveurs DNS sous Windows====&lt;br /&gt;
#[[#Ouvrir_une_fenêtre_en_ligne_de_commande|Ouvrir une fenêtre en ligne de commande]]&lt;br /&gt;
#Taper : '''ipconfig /all'''&lt;br /&gt;
Les adresses IP des serveurs DNS se trouvent au droit de '''Serveurs DNS'''&lt;br /&gt;
&lt;br /&gt;
===Changer de serveur DNS===&lt;br /&gt;
Si vous rencontrez un problème de résolution de DNS avec votre fournisseur d'accès, vous pouvez changer les serveurs qui effectue la résolution des DNS pour votre accès.&lt;br /&gt;
====Changer de serveur DNS sous Mac====&lt;br /&gt;
*Dans '''Préférences Systèmes''', choisir '''Réseau''', puis une fois la bonne carte réseau sélectionnée, appuyer sur Avancé.&lt;br /&gt;
*Dans la fenêtre qui apparaît, aller sur l'onglet '''DNS''' et dans '''Serveurs DNS''' appuyer sur le + pour ajouter '''8.8.8.8''' et une autre fois pour ajouter '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Il ne reste plus qu'à '''Appliquer''' et à tester.&lt;br /&gt;
&lt;br /&gt;
====Changer de serveur DNS sous Windows XP====&lt;br /&gt;
*'''Démarrer &amp;gt; Connexions''' puis cliquer sur la connexion réseau active (par exemple la connexion WIFI)&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*Sélectionner '''Protocole Internet (TCP/IP)'''&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*En général, en bas de la fenêtre '''Propriétés de Protocole Internet (TCP/IP)''' la configuration active est : '''Obtenir les adresses des serveurs DNS automatiquement'''&lt;br /&gt;
*Cocher '''Utiliser l'adresse de serveur DNS suivante :'''&lt;br /&gt;
*Pour '''Serveur DNS préféré''', saisir '''8.8.8.8'''&lt;br /&gt;
*Pour '''Serveur DNS auxiliaire''', saisir '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''Fermer'''&lt;br /&gt;
&lt;br /&gt;
===Forcer les DNS===&lt;br /&gt;
====Forcer les DNS sous Windows====&lt;br /&gt;
Attention, avec Vista, il faut appliquer une [[#Particularité_avec_Windows_Vista|procédure préalable]].&lt;br /&gt;
*Il est possible de résoudre ce problème de DNS en éditant le fichier C:\WINDOWS\system32\drivers\etc\hosts (avec le bloc-notes) en rajoutant la ligne (il faut remplacer structure par le sous-domaine de la plateforme OpenFlyers de votre structure) :&lt;br /&gt;
**Pour OF 1.3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;178.33.105.217 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 2.1 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.145.26 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.143.237  structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Ensuite, il faut relancer votre PC&lt;br /&gt;
*Une fois la connexion correctement effectuée, il est parfois possible de supprimer cette entrée dans le fichier hosts tout en gardant la connexion.&lt;br /&gt;
&lt;br /&gt;
====Particularité avec Windows Vista====&lt;br /&gt;
*Il faut être administrateur pour pouvoir modifier le fichier hosts.&lt;br /&gt;
*Il faut également copier le fichier hosts sur le bureau pour le modifier puis ensuite le recopier dans le bon répertoire (si on édite directement le fichier hosts depuis (system32\drivers\etc\) on ne peut pas le ré-enregistrer).&lt;br /&gt;
&lt;br /&gt;
====Forcer les DNS sous Mac====&lt;br /&gt;
*lancer Terminal (dans Applications/Utilitaires)&lt;br /&gt;
*taper &amp;quot;sudo nano /etc/hosts&amp;quot; (il demande le mot de passe de l'utilisateur qui a les droits admin sur la machine)&lt;br /&gt;
*Ajouter les entrées sur le modèle de la [[#Forcer_les_DNS_sous_Windows|procédure sous Windows]]&lt;br /&gt;
*Faire controle-o pour enregistrer puis controle-x pour quitter&lt;br /&gt;
*Eventuellement, faire &amp;quot;dscacheutil -flushcache&amp;quot; si le changement n'est pas encore pris en compte.&lt;br /&gt;
&lt;br /&gt;
===Ouvrir une fenêtre en ligne de commande===&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
*Aller dans le menu &amp;quot;Démarrer&amp;quot;&lt;br /&gt;
*Puis Tous les programmes/Accessoires&lt;br /&gt;
*Lancer l'&amp;quot;invite de commandes&amp;quot;&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Sous OSX (mac) il faut lancer un Terminal. Pour cela 2 solutions :&lt;br /&gt;
*Taper &amp;quot;terminal&amp;quot; dans spotlight&lt;br /&gt;
ou&lt;br /&gt;
*lancer l'application qui est dans Applications &amp;gt; Utilitaires.&lt;br /&gt;
&lt;br /&gt;
===Copier/Coller dans une fenêtre en ligne de commande===&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
Vous pouvez faire un copier/coller en utilisant le bouton droit de la souris dans la fenêtre de l'invite de commandes puis en choisissant &amp;quot;sélectionner&amp;quot; et ensuite en appuyant sur le bouton gauche et en le laissant appuyer tout en sélectionnant la zone souhaitée)&lt;br /&gt;
&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Pour faire un copier/coller de ces informations et nous les communiquer, il suffit d'utiliser commande-C dans le terminal.&lt;br /&gt;
&lt;br /&gt;
==Restriction d'accès==&lt;br /&gt;
En fonction de la politique de la structure, le paramétrage d'une plateforme OpenFlyers peut entrainer des restrictions lors de la connexion.  Un message s'affiche, à ce moment là, indiquant les raisons de la restriction et le type de restriction. L'intitulé du profil est inchangé une fois connecté mais les droits associés peuvent être restreints. Par exemple, il peut ne plus être possible d'effectuer une réservation ou d'ouvrir une activité (vol).&lt;br /&gt;
&lt;br /&gt;
Ces restrictions peuvent avoir lieu dans les cas suivants :&lt;br /&gt;
*En cas de solde insuffisant.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Gestion_des_comptes|Surpasser la limitation du solde du compte]]. Lorsque l'utilisateur dispose de ce droit et que l'accès devrait être limité à cause du solde de l'un de ses comptes, un message d'alerte sans restriction s'affiche pour indiquer que son solde de compte est inférieur au seuil requis.&lt;br /&gt;
*En cas de validité obsolète.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Généralités|Surpasser les restrictions sur les validités expirées]]. Lorsque l'utilisateur dispose de ce droit, il n'y a pas de message d'alerte pour lui indiquer que l'absence de telle ou telle validité devrait entrainer la restriction de ses droits.&lt;br /&gt;
&lt;br /&gt;
=Activité=&lt;br /&gt;
==Alertes générées lors de la saisie d'une activité==&lt;br /&gt;
&lt;br /&gt;
===[[Facturation des clients#Alertes_générées_par_le_moteur_de_tarification|Alertes générées par le moteur de tarification]]===&lt;br /&gt;
&lt;br /&gt;
===[[#Alertes_lors_d'une_réservation_ou_une_saisie_de_vol|Alertes générées sur les validités]]===&lt;br /&gt;
&lt;br /&gt;
===L'aéronef est déjà en l'air===&lt;br /&gt;
Si en tentant d'ouvrir le vol d'un aéronef, apparait une alerte rouge '''L'aéronef est déjà en l'air''' cela veut dire qu'un vol a déjà ouvert avec cet aéronef. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===La différence entre le temps de vol calculé et le temps de vol saisi est de : X:XX heure(s)===&lt;br /&gt;
Cette alerte est suivie du message :&lt;br /&gt;
&amp;lt;pre&amp;gt;Veuillez contacter votre administrateur à propos de l'incompatibilité entre votre saisie et la formule du temps de vol choisie pour le type d'aéronef : X&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsque la valeur saisie du temps de vol est incompatible avec la valeur calculée par la [[Formules de calcul#Temps_d'activité|formule de calcul de temps de vol]] définie pour l'aéronef X.&lt;br /&gt;
&lt;br /&gt;
En général elle provient du fait que le temps de vol qui avait été calculé automatiquement dans le formulaire lors de la saisie des champs de compteurs départ/arrivée et/ou des heures de départ/arrivée ont été modifiés manuellement.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une telle erreur apparait, vous devez :&lt;br /&gt;
*Essayer de reprendre la saisie et essayer de comprendre pourquoi vous saisissez mal les valeurs dans les champs concernés&lt;br /&gt;
*Si vous n'arrivez pas à comprendre la raison, contacter sans délai un gestionnaire de votre structure afin qu'il vous explique les erreurs que vous commettez lorsque le problème vient d'une saisie erronée ou qu'il analyser lui-même le problème.&lt;br /&gt;
*Si vous êtes vous-même un gestionnaire de la plateforme, vous devez également pousser l'analyse pour comprendre en quoi votre saisie est incompatible avec la formule de calcul et le cas échéant faire effectuer une modification du paramétrage.&lt;br /&gt;
&lt;br /&gt;
Voir également, comment [[#Forcer_la_saisie_d'une_durée_de_vol_incompatible_avec_sa_formule_de_calcul|saisir un temps de vol qui ne respecte pas la formule de calcul]].&lt;br /&gt;
&lt;br /&gt;
===Le pilote X est déjà en l'air===&lt;br /&gt;
Ce message apparait lorsque vous tentez de saisir un vol en ouverture de vol et que le pilote occupant la position X est déjà enregistré sur un vol ouvert, c'est à dire en l'air.&lt;br /&gt;
&lt;br /&gt;
Cette protection permet de ne pas avoir un utilisateur occupé simultanément sur 2 ressources.&lt;br /&gt;
&lt;br /&gt;
S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Seul le type de vol requis dans le cas de la présence d'un second pilote a été sélectionné, vous devez en sélectionner au moins un autre en plus===&lt;br /&gt;
Lors de la saisie d'un vol, cette alerte s'affiche si la configuration de la plateforme nécessite la saisie d'au moins un type de vol supplémentaire en plus du type de vol obligatoire dans le cas de la présence d'un second pilote.&lt;br /&gt;
&lt;br /&gt;
C'est typiquement le cas pour les vols d'instruction où le paramétrage nécessite généralement de préciser un 2ème type de vol comme &amp;quot;local&amp;quot;, &amp;quot;navigation&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
===Vous êtes actuellement en l'air===&lt;br /&gt;
Si en tentant de saisir un vol, l'alerte '''Vous êtes actuellement en l'air''' apparait cela veut dire qu'il y a déjà un vol d'ouvert à votre nom. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Vous ne pouvez ouvrir un vol avec une date de début dépassée===&lt;br /&gt;
Cette protection empêche d'ouvrir une activité avec un horodatage de début antérieur à l'heure actuelle moins 15 minutes.&lt;br /&gt;
&lt;br /&gt;
En général, pour un tel cas, le souhait n'est pas d'ouvrir une activité mais de fermer une activité. Il faut donc penser à passer le champ '''Etat du vol''' en &amp;quot;Retour de vol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Annuler un vol ouvert==&lt;br /&gt;
*Aller sur le planning&lt;br /&gt;
*Cliquer sur le rectangle sur fond bleu correspondant à l'immatriculation de l'aéronef considéré&lt;br /&gt;
*Cliquer sur le bouton '''Annuler le vol''' tout en bas du formulaire.&lt;br /&gt;
&lt;br /&gt;
==Consulter un vol ouvert==&lt;br /&gt;
Pour pouvoir consulter un vol ouvert d'un tiers, il faut disposer du [[Gestion des profils#Gestion_des_vols|droit de &amp;quot;Saisie d'activité pour un tiers&amp;quot;]].&lt;br /&gt;
*Sur le planning de réservation, cliquer sur le rectangle de l'aéronef considéré qui doit être sur fond bleu pour indiquer que l'aéronef est en l'air.&lt;br /&gt;
&lt;br /&gt;
==Saisie d'un vol==&lt;br /&gt;
*Aller dans '''Vols &amp;gt; Saisir un vol''', remplir le formulaire&lt;br /&gt;
*La saisie d'un vol d'une durée inférieure à 15 minutes déclenchera l'affichage d'un message d'avertissement (en orange). Cliquer sur '''Confirmer la validation''' au dessous de ce message pour saisir définitivement le vol.&lt;br /&gt;
*Après la saisie d'un vol, l'utilisateur est renvoyé sur :&lt;br /&gt;
**Le planning lors d'un vol en ouverture&lt;br /&gt;
**Le formulaire de saisie d'un vol lors d'un nouveau vol en fermeture et que le terrain d'arrivée saisie est différent du terrain par défaut de la structure&lt;br /&gt;
**Dans les autres cas, l'[[Documentation utilisateur#Extrait_de_compte|extrait de compte]] de la personne en première place. Si plusieurs comptes sont impactés, c'est le premier compte impacté de la personne qui est choisi.&lt;br /&gt;
**Si l'utilisateur connecté n'a pas le droit de visualiser le compte concerné, alors c'est le carnet de route qui est affiché.&lt;br /&gt;
&lt;br /&gt;
===Forcer la saisie d'une durée de vol incompatible avec sa formule de calcul===&lt;br /&gt;
Un gestionnaire peut forcer la saisie d'un [[#La_différence_entre_le_temps_de_vol_calculé_et_le_temps_de_vol_saisi_est_de_:_X:XX_heure(s)|temps de vol incompatible avec la formule de calcul]] associée au type d'aéronef pour lequel on souhaite saisir un vol.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il doit :&lt;br /&gt;
*Saisir le vol en modification le compteur arrivé de sorte à obtenir le temps de vol souhaité.&lt;br /&gt;
*[[Gestion des ressources#Changer_la_valeur_du_compteur_en_cours|Changer la valeur du compteur en cours]] de l'aéronef.&lt;br /&gt;
&lt;br /&gt;
Dans le cas où plusieurs vols successifs doivent être saisis, il est alors judicieux de ne mettre à jour le compteur de l'aéronef qu'une que tous les vols ont été saisis.&lt;br /&gt;
&lt;br /&gt;
=Comptabilité=&lt;br /&gt;
&lt;br /&gt;
==Alertes générées lors de la [[Utilisation de la comptabilité#Saisie_d'écritures_comptables|saisie d'écritures comptables]]==&lt;br /&gt;
&lt;br /&gt;
===Les comptes n'ont pas la même comptabilité===&lt;br /&gt;
Cette alerte apparait lors d'une [[Comptabilité#Comptabilités_multiples|comptabilité multiple]] : Le compte débité et le compte crédité doivent être issues de la même comptabilité.&lt;br /&gt;
&lt;br /&gt;
==Créditer son compte utilisateur==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Approvisionner'''&lt;br /&gt;
*Si vous disposez de droit de gestion comptable, choisir dans le champ '''Encaissement de l'utilisateur''' le nom de l'utilisateur concerné&lt;br /&gt;
*Si vous disposez de plusieurs comptes sur lesquels vous pouvez choisir où ventiler votre encaissement, choisir dans le champ '''Compte à créditer''' le nom du compte concerné&lt;br /&gt;
*Dans le champ '''Type de règlement''', sélectionner le type de règlement&lt;br /&gt;
*Si vous effectuez un paiement avec une remise à une personne physique, vous devez préciser le nom de cette personne dans le champ '''Personne qui reçoit'''&lt;br /&gt;
*Dans le champ, montant indiquer le montant de votre paiement.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
Dans le cas où le type de paiement est un paiement par carte bancaire en ligne mis en place par votre structure, alors êtes redirigé sur le terminal de paiement électronique de la banque de votre structure. Il vous faut alors saisir les informations de votre carte bancaire. Il est possible que le terminal de paiement électronique supporte le &amp;quot;[[Wikipedia-fr:3-D_Secure|3-D Secure]]&amp;quot; qui implique un contrôle renforcé. Dans ce cas, c'est votre propre banque qui vous demandera des informations complémentaires pour confirmer que c'est bien vous qui êtes à l'origine de la demande de paiement par carte bancaire.&lt;br /&gt;
&lt;br /&gt;
==Extrait de compte==&lt;br /&gt;
'''OpenFlyers''' offre la possibilité à un utilisateur de consulter des extraits de compte : C'est un rapport permettant de visualiser le détail des écritures comptables effectuées sur une période (une année complète ou un mois d'une année) d'un compte ou de tous les comptes d'une comptabilité donnée. Si la gestion des budgets est activée, il est possible de filtrer l'affichage des écritures selon les budgets.&lt;br /&gt;
&lt;br /&gt;
Dès qu'il y a plus de 50 écritures à afficher pour un extrait de compte, la liste des écritures est paginée pour afficher 50 écritures par page.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est validée, les montants au débit et au crédit sont affichés en noir gras.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est non validée, les montants au débit et au crédit sont affichés en vert gras. En fonction du [[Gestion des profils|profil et de ses droits]], une colonne '''Actions''' peut apparaître avec des icônes pour permettre de modifier ou supprimer une écriture non validée selon [[Gestion-des-écritures-comptables#Types-d'écritures-comptable-générées-par-OpenFlyers|le type d'écriture comptable qui est générée]].&lt;br /&gt;
&lt;br /&gt;
===Colonne &amp;quot;Numéro de pointage ou de facture&amp;quot;===&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_fournisseur|facture fournisseur]], la colonne affiche le numéro de pointage.&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_client|facture client]] et que l'utilisateur dispose du [[Gestion des profils#Gestion_des_comptes|droit de '''Gestion des comptes''']] ou que la facture à afficher lui est destinée :&lt;br /&gt;
**Pour une écriture non-validée, la colonne affiche les icônes [[Fichier:IconHTML.png]] qui amènent aux factures pro-format associées.&lt;br /&gt;
**Pour une écriture validée, la colonne affiche les icônes [[Fichier:IconPDF.png]] qui amène aux factures PDF associées.&lt;br /&gt;
*:Dans le cas contraire, ce sont les numéros des factures qui sont affichés à la place des icônes.&lt;br /&gt;
&lt;br /&gt;
La colonne affiche &amp;quot;--&amp;quot; lorsqu'il s'agit d'une écriture :&lt;br /&gt;
* D'[[Écritures comptables#Saisie_d'un_encaissement_(d'un_client)|encaissement client]].&lt;br /&gt;
* De [[Écritures comptables#Les_4_grands_types_d'écritures|flux]].&lt;br /&gt;
* De [[Écritures comptables#Saisie_d'une_facture_client|facture client]] n'ayant pas de facture associée.&lt;br /&gt;
&lt;br /&gt;
==Imprimer un extrait de compte==&lt;br /&gt;
*Afficher l'extrait de compte souhaité&lt;br /&gt;
*[[Trucs et astuces#Imprimer_avec_un_navigateur|Imprimer avec la commande du navigateur]]&lt;br /&gt;
&lt;br /&gt;
==Transférer de l'argent==&lt;br /&gt;
Selon les droits accordés aux utilisateurs par la structure, il peut être possible d'effectuer un transfert d'argent depuis son compte vers le compte d'un autre utilisateur en suivant la procédure suivante :&lt;br /&gt;
*Aller sur '''Comptes &amp;gt;Transférer'''&lt;br /&gt;
*Dans le champ '''Compte à créditer''' choisir le nom de la personne concernée&lt;br /&gt;
*Dans le champ '''Montant''', saisir le montant que l'on souhaite transférer&lt;br /&gt;
*Remplir éventuellement le champ '''Commentaires'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' : '''Attention''' cette opération est irrévocable et une fois que vous aurez validé, il ne sera pas possible de supprimer le virement. Si vous souhaitez faire annuler l'opération, il faudra contacter la personne recevant l'argent pour qu'elle fasse à son tour un transfert sur votre compte.&lt;br /&gt;
&lt;br /&gt;
=E-mails automatiques=&lt;br /&gt;
==Alertes par e-mail uniquement sur les plateformes de production==&lt;br /&gt;
Les [[Configuration de la comptabilité#Paramétrage_général_des_comptabilités|e-mails d'alertes de solde]] ou de [[#E-mail-de-rappel-de-réservation|rappel des réservations]] ne sont pas envoyés sur les plateformes qui ne sont pas en production afin de ne pas polluer les messageries des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Les différentes notifications d'e-mail de réservation sont paramétrables du côté de [[#Affichage-et-fiche-personnelle|la fiche utilisateur]].&lt;br /&gt;
&lt;br /&gt;
==E-mail d'annulation de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une annulation de réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une annulation de réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est le même que pour l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]].&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Notification d'annulation de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est annulée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les annulations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails d'annulation en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_annulées&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de mise en maintenance==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une mise en maintenance sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une mise en maintenance sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** la ressource mise en maintenance&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de maintenance si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération de maintenance&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
La mise en maintenance pour le type-de-ressource F-ABCD du 01/04/2015 à 08:00 au 01/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Remplacement roue est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de notification de réservation==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot;Confirmation d'une nouvelle réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration. Confirmation d'une nouvelle réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Notification de création de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** le type de ressource et la ressource réservés&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en seconde place si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération sur la réservation&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-par-e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ceci est une notification de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Rappel d'une réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Rappel d'une réservation sur OpenFlyers sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du corps de l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]] où les dates sont sous le format &amp;quot;JJ/MM/AAAA/MM à HHhMM&amp;quot; et sous le fuseau horaire de l'utilisateur recevant l'e-mail&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail :&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 2015/04/01 à 08h00 au 2015/04/01 à 09h00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie=&lt;br /&gt;
==Optimiser la navigation dans OpenFlyers==&lt;br /&gt;
&lt;br /&gt;
===Navigation par onglet===&lt;br /&gt;
Afin d'avoir à disposition les différentes pages dont vous avez besoin pour effectuer une action, il est possible d'afficher chacune d'entre elles dans un [[Wikipedia-fr:Onglet_%28informatique%29|onglet]] du navigateur.&lt;br /&gt;
Lorsque vous effectuez un clic gauche sur un lien situé dans une page donnée pour accéder à une autre page, la page initiale est remplacée par la page de destination. Ce qui rend fastidieux la réalisation des tâches nécessitant un accès répétitif à certaines pages.&lt;br /&gt;
&lt;br /&gt;
===Clic droit et clic molette===&lt;br /&gt;
Afin de gagner en efficacité et en confort d'utilisation, pensez à utiliser les autres boutons de la souris qui vous permettent d'ouvrir une page dans un '''nouvel onglet'''. Pour cela il existe deux méthodes lorsqu'on survole un lien dans un navigateur Internet pour ouvrir la page de destination dans un nouvel onglet :&lt;br /&gt;
*'''Le clic droit :''' il permet d'afficher un menu contextuel qui contient une action nommée « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
*'''Le clic molette :''' il est encore plus efficace que le clic droit, car il correspond directement à l'action « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
&lt;br /&gt;
Normalement le clic molette est configuré pour cette action. Dans le cas contraire, il faut [[Trucs et astuces#Modifier_le_comportement_la_souris|en modifier le comportement]].&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-1.png]]&lt;br /&gt;
&lt;br /&gt;
L'exemple suivant explique comment modifier successivement les validités de plusieurs utilisateurs :&lt;br /&gt;
*Dans un premier onglet, ouvrir le tableau présentant la liste des utilisateurs.&lt;br /&gt;
[[Fichier:OF3.5-clics-2.png]]&lt;br /&gt;
*Effectuer un '''clic droit''' ou '''clic molette''' sur le pictogramme des validités pour déplier un second onglet.&lt;br /&gt;
[[Fichier:OF3.5-clics-3.png]]&lt;br /&gt;
*Effectuer et enregistrer les modifications dans le second onglet, présentant les validités d'un utilisateur.&lt;br /&gt;
[[Fichier:OF3.5-clics-4.jpg]]&lt;br /&gt;
*Replier le second onglet en cliquant sur la croix ou en pressant '''CTRL + W'''.&lt;br /&gt;
[[Fichier:OF3.5-clics-5.png]]&lt;br /&gt;
*Retour au premier onglet, présentant la liste des utilisateurs. Répéter les opérations du 2 au 4 pour les autres utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
Il est possible de naviguer rapidement d'un onglet à l'autre sans utiliser la souris en utilisant simplement les raccourcis clavier : '''CTRL + TAB''' pour avancer d'un onglet ou '''CTRL + SHIFT + TAB''' pour reculer d'un onglet.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-6.png]]&lt;br /&gt;
&lt;br /&gt;
=Fiche utilisateur (Données)=&lt;br /&gt;
==Affichage et fiche personnelle==&lt;br /&gt;
===Affichage du menu contextuel===&lt;br /&gt;
Le menu contextuel et un menu déroulant qui apparait lors du survol d'une réservation ou d'un vol ouvert. Ce menu contextuel peut apparaitre :&lt;br /&gt;
*soit automatiquement&lt;br /&gt;
*soit par un clic droit de la souris&lt;br /&gt;
Ce paramétrage est personnalisable pour chaque utilisateur :&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Cocher ou décocher '''N'afficher la description des réservations qu'avec le bouton droit de la souris''' selon le comportement souhaité&lt;br /&gt;
*Cliquer sur le bouton '''Sauver''' tout en bas du formulaire&lt;br /&gt;
&lt;br /&gt;
===Choisir l'unité de temps===&lt;br /&gt;
Chaque utilisateur peut choisir l'unité de temps qui sert à afficher les heures.&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Choisir dans le champ '''Unité de temps''' parmi :&lt;br /&gt;
**heures minutes&lt;br /&gt;
**heures centièmes&lt;br /&gt;
**heures dixièmes&lt;br /&gt;
*Appuyer sur le bouton '''Sauver'''.&lt;br /&gt;
&lt;br /&gt;
===Etre informé des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]] par email===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par email des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
===Edition de sa photo===&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
* L'import ou la suppression d'une photo requiert le droit [[Gestion-des-profils#Généralités|Editer sa photo]]. Ce droit n'est pas nécessaire pour rendre sa photo visible pour tous&lt;br /&gt;
&lt;br /&gt;
===Notification de la maintenance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_mise_en_maintenance|e-mail des réservations de maintenance]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_notification_de_réservation|e-mail des réservations créées ou modifiées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations annulées===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_d'annulation_de_réservation|e-mail des réservations annulées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Rappel des réservations de 2 jours d'avance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin de recevoir ou non par [[#E-mail_de_rappel_de_réservation|e-mail un rappel de réservation]].&lt;br /&gt;
&lt;br /&gt;
Les rappels sont envoyés entre 0h et 6h au fuseau Europe/Paris pour les réservations ayant une ressource d'assignée et débutant entre 2 et 3 jours après.&lt;br /&gt;
&lt;br /&gt;
Les [[#Alertes_par_e-mail_uniquement_sur_les_plateformes_de_production|rappels ne sont effectifs que sur les plateformes en production]].&lt;br /&gt;
&lt;br /&gt;
===Recevoir un e-mail pour toute réservation===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
Lorsque l'utilisateur dispose d'un profil avec le droit [[Gestion des profils#Réservation|Alertable par e-mail pour toute réservation]], apparait une case à cocher '''Recevoir un e-mail pour toute réservation'''.&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par e-mail lorsqu'une nouvelle réservation est créée par n'importe quel utilisateur.&lt;br /&gt;
&lt;br /&gt;
==(In)disponibilités==&lt;br /&gt;
Lorsque vous êtes intervenant (formateur, instructeur, moniteur, mécanicien, etc.), vous pouvez gérer vos disponibilités en allant dans '''Données &amp;gt; (in)disponibilités'''&lt;br /&gt;
&lt;br /&gt;
Il existe deux types de disponibilités :&lt;br /&gt;
:Les disponibilités régulières qui reviennent chaque semaine, par exemple : le lundi de 9h00 à 18h00.&lt;br /&gt;
:Les disponibilités exceptionnelles (ou les indisponibilités exceptionnelles) sont ponctuelles : présent (ou absent) le 1er décembre de 8h00 à 12h00.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez cumuler ces modes pour avoir une flexibilité maximum. &lt;br /&gt;
&lt;br /&gt;
:Exemple :&lt;br /&gt;
::- disponible du Lundi 8 h 00 au Mercredi 19 h 00 en permanent&lt;br /&gt;
::- disponible du Vendredi 8 h 00 au Samedi 19 h 00 en permanent&lt;br /&gt;
::- Absent du 15 Juillet au 30 Juillet pour raison de congé&lt;br /&gt;
:Attention à ne pas créer des incohérences.&lt;br /&gt;
&lt;br /&gt;
De même, si vous faites une pause déjeuner, il faut créer des disponibilités par demi-journées pour chaque jour concerné, en présence régulière en créant une disponibilité tous les jours de 9h à 12h et une disponibilité tous les jours de 14h à 18h (par ex.).&lt;br /&gt;
&lt;br /&gt;
Il est possible de créer une disponibilité permanente : Pour cela, créez une disponibilité régulière sur le même jour, avec une heure de début et de fin identique. Par exemple, disponible du &amp;quot;Lundi 0h00 au Lundi 0h00&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
En cas de problème, affichez la liste des disponibilités et supprimez tous les créneaux puis reconstruisez les disponibilités.&lt;br /&gt;
&lt;br /&gt;
==Réinitialiser son mot de passe==&lt;br /&gt;
Attention, lorsqu'un mot de passe est perdu vous n'avez que trois tentatives possibles pour le retrouver. A la 4ème tentative un compteur exponentiel s'active pour éviter les robots créés par les pirates de tenter d'accéder aux plateformes par des [[Wikipedia-fr:Attaque_par_force_brute|attaques par force brute]].&lt;br /&gt;
&lt;br /&gt;
Par contre, vous pouvez ré-initialiser votre mot de passe depuis la page d'accueil de votre plateforme OpenFlyers :&lt;br /&gt;
*Cliquez sur le lien '''Mot de passe oublié ?'''&lt;br /&gt;
*Dans le formulaire '''Demande de réinitialisation du mot de passe''', remplissez le champ '''Identifiant''' avec votre nom d'utilisateur utilisé pour la connexion sur l'application OpenFlyers&lt;br /&gt;
*Cliquez sur le bouton '''Enregistrer'''&lt;br /&gt;
*Si le nom d'utilisateur est présent en base de données, alors le message suivant doit s'afficher :&lt;br /&gt;
'''Merci, un e-mail a été envoyé à l'adresse du compte nom-utilisateur. Cliquez sur le lien dans l'email afin de poursuivre la réinitialisation du mot de passe.'''&lt;br /&gt;
*Récupérez l'e-mail dans votre messagerie, il s'intitule :&lt;br /&gt;
'''[nom-de-la-plateforme] Demande de réinitialisation du mot de passe à XXhXX (UTC)'''&lt;br /&gt;
et contient les éléments suivants :&lt;br /&gt;
&amp;lt;pre&amp;gt;Jean DUPONT,&lt;br /&gt;
&lt;br /&gt;
Une demande de réinitialisation de mot de passe a été effectué.&lt;br /&gt;
Pour poursuivre l'opération, cliquez ici.&lt;br /&gt;
Si vous n'avez pas fait la demande, veuillez ignorer l'email.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez également saisir ou copier le lien suivant dans votre navigateur internet afin d'accéder à la page de réinitilisalisation de mot de passe :&lt;br /&gt;
http://openflyers.com/nom-de-la-plateforme/index.php?menuAction=password_reset&amp;amp;token=154551560257977557617df&lt;br /&gt;
&lt;br /&gt;
L'équipe OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' L'email est valide uniquement pendant '''une heure''' après la demande de réinitialisation de mot de passe. Passé ce délai, le lien indiqué dans l'email ne sera plus valide. Il sera donc nécessaire de refaire une '''nouvelle demande''' de réinitialisation de mot de passe.&lt;br /&gt;
&lt;br /&gt;
*Cliquez sur la partie du texte correspondant au lien coloré ou copiez dans votre navigateur internet lien contenu à la fin de l'e-mail pour retourner sur la page de réinitialisation de mot de passe&lt;br /&gt;
*Dans le 2ème formulaire intitulé '''Réinitialisation du mot de passe''', renseignez les champs :&lt;br /&gt;
**'''Réinitialisation du mot de passe''' avec votre nouveau mot de passe&lt;br /&gt;
**'''Répétition du mot de passe''' avec la confirmation de votre nouveau mot de passe&lt;br /&gt;
*Cliquez sur le bouton '''Réinitialiser'''&lt;br /&gt;
&lt;br /&gt;
Après avoir réinitialisé votre mot de passe, l'application vous connecte automatiquement en vous redirigeant sur la page du planning.&lt;br /&gt;
&lt;br /&gt;
=Planning=&lt;br /&gt;
==Codes couleurs==&lt;br /&gt;
[[Fichier:Codes couleurs.png]]&lt;br /&gt;
&lt;br /&gt;
==Éphémérides==&lt;br /&gt;
Nous calculons les éphémérides d'après les définitions officielles.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les heures de lever et de coucher du soleil correspondent au passage du centre du soleil sous l'horizon, c'est à dire lorsque le centre du soleil est situé 3 degrés sous l'horizon. En effet, il est considéré, en première approximation que le soleil a un diamètre apparent de 6 degrés.&lt;br /&gt;
&lt;br /&gt;
Les heures du jour et de la nuit aéronautique correspondent au passage du soleil 6 degrés sous l'horizon. Il s'agit de la définition officielle, aussi bien française, qu'internationale (OACI). Notre formule de calcul est validée pour les latitudes inférieures à 65 degrés. Sa précision est de l'ordre de la minute sous des latitudes inférieures à 50 degrés. La précision diminue au fur et à mesure que la latitude augmente, c'est à dire que l'on se rapproche des pôles.&lt;br /&gt;
&lt;br /&gt;
Conséquence du calcul : les résultats trouvés ne correspondent pas à la simple addition de + ou - 30 minutes. Mais il n'a jamais été écrit dans un texte officiel que la journée aéronautique commençait au lever du soleil moins trente minutes, et que la nuit aéronautique commençait au coucher du soleil plus trente minutes. Dans la règlementation française, il est admis d'utiliser + ou - 30 minutes pour faire les calculs sous des latitudes comprises entre 30 et 60 degrés et 15 minutes sous les latitudes inférieures à 30 degrés). Pour l'Europe, voir le [http://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32012R0923&amp;amp;from=EN Règlement n°923/2012 concernant les Standardised European Rules of the Air) - Article 2 - Définition 97]. Pour la France voir la [http://www.developpement-durable.gouv.fr/IMG/pdf/SERA_RCA_consolide.pdf version consolidée des règles de l'air, définition de la &amp;quot;Nuit&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
Mises en garde :&lt;br /&gt;
*Le programme calcule les heures à partir des coordonnées géographiques de l'aérodrome indiqué comme étant la base aéronautique de la plateforme OpenFlyers considérée. Si les heures sont erronées, il faut contacter l'administrateur OpenFlyers de la plateforme afin qu'il vérifie le code OACI renseigné pour la plateforme.&lt;br /&gt;
*Certains pays n'utilisent pas la nuit aéronautique et ne permettent pas le vol en dehors du lever et du coucher du soleil. D'autres pays utilisent d'autres types de définition pour déterminer si le vol est de jour ou de nuit comme notamment une référence à la luminosité réelle mesurée.&lt;br /&gt;
&lt;br /&gt;
Remarque :&lt;br /&gt;
*Si l'utilisateur ne souhaite pas utiliser la définition réelle mais une approximation, comme le fait d'ajouter ou retrancher 30 minutes, il suffit d'effectuer l'opération de calcul à partir des heures de lever ou de coucher du soleil.&lt;br /&gt;
&lt;br /&gt;
=Rapports=&lt;br /&gt;
Tous les rapports sont regroupés sur une même page qui est accessible depuis '''Données &amp;gt; Rapports''' ou côté admin '''Rapports &amp;gt; Structure &amp;gt; Visualiser''' (si on dispose d'un droit spécifique).&lt;br /&gt;
&lt;br /&gt;
Cette page est constituée de 2 parties :&lt;br /&gt;
*Une liste de champs dans le formulaire général&lt;br /&gt;
*Une liste de rapports&lt;br /&gt;
&lt;br /&gt;
Les données qui doivent être saisies dans les champs du formulaire général varient en fonction des rapports.&lt;br /&gt;
&lt;br /&gt;
Les données prises en compte dans les rapports sont affichés dans le titre du rapport au-dessus du tableau de résultat.&lt;br /&gt;
&lt;br /&gt;
Aussi, si on constate que malgré le fait d'avoir préciser une valeur, celle-ci semble ignorer par le rapport, il faut vérifier si cette donnée apparait dans la liste données prises en compte. Si c'est le cas, alors il y a potentiellement un bug. Si ce n'est pas le cas, alors c'est &amp;quot;normal&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
La version 4 d'OpenFlyers proposera une interface différente où on choisira d'abord son rapport et ensuite les données pour les seules variables prises seront demandées.&lt;br /&gt;
&lt;br /&gt;
=Réservations=&lt;br /&gt;
==Immobiliser une ressource==&lt;br /&gt;
Les utilisateurs disposant du droit '''[[Gestion des profils#Réservation|Gestion des disponibilités des ressources]]''' peuvent rendre une ressource indisponible pour un créneau horaire donné. Cela permet d'indiquer aux autres utilisateurs que la ressource considérée n'est pas disponible.&lt;br /&gt;
&lt;br /&gt;
Il n'est pas possible d'avoir plus d'un créneau d'immobilisation sur une même ressource et la même période.&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des validités|Validités]]=&lt;br /&gt;
Un utilisateur peut [[Gestion des profils#Type_de_validité_que_l'utilisateur_peut_gérer|gérer uniquement les validités définies comme telles pour son profil]] en allant dans '''Données &amp;gt; Validités'''.&lt;br /&gt;
&lt;br /&gt;
De plus :&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à ajouter une nouvelle validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à renouveler une validité détenue ou à mettre à jour le '''Code identifiant''', la '''Date d'obtention''', la '''Limite de validité''' (d'une validité non achetable) ou à supprimer une validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]] ou le droit [[Gestion des profils#Généralités|Gestion de ses validités détenues]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à acheter ou renouveler une validité-produit, il doit détenir le droit [[Gestion des profils#Gestionnaire_des_ventes|Achat ventes libres]] et le produit associé à la validité doit être en vente libre.&lt;br /&gt;
&lt;br /&gt;
Pour renouveler une validité détenue, il faut cliquer sur l'icône [[Fichier:Refresh.png]] qui apparaît dans la colonne '''Limite de validité'''.&lt;br /&gt;
&lt;br /&gt;
Remarques :&lt;br /&gt;
*Les validités arrivées à échéance apparaissent sur fond rouge.&lt;br /&gt;
*La mise à jour de la date d'échéance d'une validité réactive automatiquement la cellule de la colonne [[#Données_&amp;gt;_Validités_&amp;gt;_Alertes_?|Alertes ?]].&lt;br /&gt;
*Une validité-produit déjà détenue ne peut pas être supprimée.&lt;br /&gt;
&lt;br /&gt;
==Données &amp;gt; Validités &amp;gt; Alertes ?==&lt;br /&gt;
La colonne '''Alertes ?''' permet à un utilisateur d'activer ou désactiver les rappels à la connexion de ses validités arrivant à expiration ou ayant expirées.&lt;br /&gt;
&lt;br /&gt;
Le champ '''Délai de prévenance en semaines avant chaque échéance''' permet de définir le délai de rappel des validités arrivant à expiration.&lt;br /&gt;
&lt;br /&gt;
==Alertes sur les validités==&lt;br /&gt;
===Alerte à la connexion===&lt;br /&gt;
Les validités contrôlées à la connexion sont uniquement :&lt;br /&gt;
*celles possédées par l'utilisateur qui se connecte et qui sont soumises à échéance&lt;br /&gt;
*les validités à expérience récente.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les validités sans échéance ne sont pas contrôlées.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers affiche un message d'alerte pour les validités dont la date d'échéance est expirée ou va expirer dans un délai inférieur à la période d'alerte définie dans la fiche utilisateur. L'utilisateur a la possibilité de cliquer sur la case à cocher &amp;quot;Ne plus le rappeler&amp;quot; afin de ne plus avoir de message de rappel. Dans ce cas, lors des connexions ultérieures, il n'aura plus de message de rappel. Il peut cependant réactiver cette alerte en la réactivant dans la colonne &amp;quot;Alertes&amp;quot; de la ligne correspondante dans '''Données &amp;gt; Validités'''. Cette réactivation est automatique lors d'une modification de la validité.&lt;br /&gt;
&lt;br /&gt;
===Alertes lors d'une réservation ou une saisie de vol===&lt;br /&gt;
Les validités périmées apparaissent systématiquement lors de la saisie d'une réservation ou d'un vol comme à la connexion. Leur affichage ne dépend pas du type de ressource. C'est juste un rappel.&lt;br /&gt;
&lt;br /&gt;
Ce rappel est notamment utile lorsqu'une personne effectue une réservation ou une saisie de vol pour le compte d'un tiers. Cela lui permet d'être informé et d'informer ce tiers de sa situation.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15069</id>
		<title>Documentation utilisateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Documentation-utilisateur&amp;diff=15069"/>
				<updated>2017-01-09T14:02:18Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Etre informé des actualités OpenFlyers par email */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de regrouper les informations utiles pour l'ensemble des utilisateurs finaux d'[[Accueil|OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
=Accès à OpenFlyers=&lt;br /&gt;
==Impossible de se connecter à la plateforme OpenFlyers de sa structure==&lt;br /&gt;
Si vous n'arrivez pas à accéder une plateforme OpenFlyers il faut en rechercher la raison. Voici un certain nombre de questions qui peuvent vous permettre de solutionner votre problème :&lt;br /&gt;
*Accédez-vous à la page d'identification de la plateforme OpenFlyers ?&lt;br /&gt;
**Si non, alors il faut regarder la FAQ [[#Page_indisponible|Page indisponible]]&lt;br /&gt;
*Lorsque vous vous identifiez, avez-vous un message de rejet indiquant que votre identifiant et/ou votre mot de passe ne sont pas corrects ?&lt;br /&gt;
**Si oui, alors le problème peut venir du mot de passe qui a changé. Dans ce cas là, vous pouvez ré-initialiser votre mot de passe en suivant la procédure [[#Réinitialiser-son-mot-de-passe|de réinitialisation de mot de passe]]. Cela peut également venir de votre identifiant qui n'est pas bon. Dans ce cas, il faut demander à la personne en charge de la gestion d'OpenFlyers au sein de votre structure aéronautique&lt;br /&gt;
*Une fois connecté, revenez-vous sur la page d'identification lorsque vous changez de page ?&lt;br /&gt;
**Si oui, alors il faut regarder la [[FAQ-utilisateur#Navigation-dans-OpenFlyers|procédure de gestion des cookies du navigateur]].&lt;br /&gt;
Si vous n'êtes dans aucun des cas répertoriés ci-dessus, alors vous pouvez rapporter votre problème en nous envoyant un e-mail et en décrivant le plus précisément possible le problème que vous rencontrez :&lt;br /&gt;
*Navigateur utilisé&lt;br /&gt;
*Système d'exploitation&lt;br /&gt;
*type de PC, smartphone ou tablette&lt;br /&gt;
*Nom du fournisseur d'accès internet&lt;br /&gt;
*Actions effectuées&lt;br /&gt;
*Message d'erreur s'affichant&lt;br /&gt;
&lt;br /&gt;
==Message d'alerte adresse IP bloquée==&lt;br /&gt;
&lt;br /&gt;
Un message d'alerte signalant que '''l'adresse IP est bloquée''' peut apparaître lorsque vous souhaitez vous connecter. Ce message apparaît lorsque vous avez tenté de vous connecter à plusieurs reprises mais que le couple identifiant / mot de passe est incorrect.&lt;br /&gt;
&lt;br /&gt;
Après avoir attendu le temps indiqué par le message d'alerte, vous pouvez tenter de vous reconnecter en faisant attention [[Wikipedia-fr:Sensibilit%C3%A9_%C3%A0_la_casse|à la casse]].&lt;br /&gt;
&lt;br /&gt;
==Page indisponible==&lt;br /&gt;
Si vous n'arrivez pas à accéder à la plateforme OpenFlyers de votre structure, voici une liste d'actions à effectuer :&lt;br /&gt;
*Redémarrer votre ordinateur&lt;br /&gt;
*Redémarrer la &amp;quot;box&amp;quot; ADSL&lt;br /&gt;
*Si cela ne fonctionne toujours pas, il faut [[#Tester_les_résolutions_DNS|tester les résolutions DNS]].&lt;br /&gt;
&lt;br /&gt;
===Tester les résolutions DNS===&lt;br /&gt;
Pour effectuer les tests suivants, il faut ouvrir une fenêtre &amp;quot;[[#Ouvrir_une_fenêtre_en_ligne_de_commande|en ligne de commandes]]&amp;quot;. En cas de problème, il faut nous rapporter les résultats en ouvrant un rapport de bug sur le [http://bts.openflyers.org BTS]. Pour cela, il est pratique de procéder par [[#Copier/Coller_dans_une_fenêtre_en_ligne_de_commande|copier/coller]].&lt;br /&gt;
*Dans la fenêtre en ligne de commande taper ce qui suit (en remplaçant '''structure''' par le sous-domaine correspondant à votre structure) :&lt;br /&gt;
&amp;lt;bash&amp;gt;ping structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
La réponse normale est pour OpenFlyers 3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of3.openflyers.net [87.98.143.237] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.143.237 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of3.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.143.237&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 2.1 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur8-of21.openflyers.net [87.98.145.26] avec 32 octets de données :&lt;br /&gt;
 Réponse de 87.98.145.26 : octets=32 temps=37 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur8-of21.openflyers.net&amp;quot; ou &amp;quot;Réponse de 87.98.145.26&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
La réponse normale est pour OpenFlyers 1.3 :&lt;br /&gt;
 Envoi d'une requête 'ping' sur serveur6-of1.openflyers.net [178.33.105.217] avec 32 octets de données :&lt;br /&gt;
 Réponse de 178.33.105.217 : octets=32 temps=41 ms TTL=55&lt;br /&gt;
Si vous n'avez pas &amp;quot;serveur6-of1.openflyers.net&amp;quot; ou &amp;quot;Réponse de 178.33.105.217&amp;quot; cela veut dire que vous avez un [[#Vérifier la configuration de résolution des DNS|problème de résolution de DNS]].&lt;br /&gt;
&lt;br /&gt;
====Tests plus poussés====&lt;br /&gt;
*Faire un :&lt;br /&gt;
&amp;lt;bash&amp;gt;nslookup structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Et un :&lt;br /&gt;
&amp;lt;bash&amp;gt;tracert structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
*Faire le test avec '''dig +trace''' :&lt;br /&gt;
&amp;lt;bash&amp;gt;dig +trace structure.openflyers.fr&amp;lt;/bash&amp;gt;&lt;br /&gt;
Sous Windows, il faudra au préalable récupérer l'utilitaire (par exemple dans un package [http://www.isc.org./downloads bind]). Une fois télécharger le package, il faut copier/coller le programme dig ainsi que les fichiers .dll dans un répertoire commun et se positionner dans ce répertoire depuis la fenêtre en ligne de commandes avec la commande dir '''&amp;quot;nom du chemin du répertoire&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
====Tester les résolutions DNS sous Mac====&lt;br /&gt;
De plus, nous disposons de commandes plus puissantes qui permettent d'avoir d'avantage d'informations :&lt;br /&gt;
*cat /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
===Vérifier la configuration de résolution des DNS===&lt;br /&gt;
====Vérifier la configuration de résolution des DNS sous Windows====&lt;br /&gt;
Si vous avez un problème de résolution DNS sous windows, il peut être utile de vérifier que la résolution DNS est dynamique :&lt;br /&gt;
#Double-cliquer sur la connexion réseau concernée (par exemple le symbole &amp;quot;WIFI&amp;quot;)&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot; dans l'onglet &amp;quot;Général&amp;quot; de l'&amp;quot;Etat de Connexion réseau sans fil&amp;quot; (si WIFI))&lt;br /&gt;
#Sélectionner &amp;quot;Protocole internet TCP/IP&amp;quot;&lt;br /&gt;
#Cliquer sur &amp;quot;Propriétés&amp;quot;&lt;br /&gt;
#Vérifier qu'est sélectionné &amp;quot;Obtenir les adresses des serveurs DNS automatiquement&amp;quot;. (si ce n'est pas le cas, modifier).&lt;br /&gt;
#En dernier ressort, [[#Changer de serveur DNS|Changer de serveur DNS]] ou [[#Forcer_les_DNS|Forcer les DNS]].&lt;br /&gt;
&lt;br /&gt;
===Nous communiquer les adresses IP des serveurs DNS===&lt;br /&gt;
====Nous communiquer les adresses IP des serveurs DNS sous Windows====&lt;br /&gt;
#[[#Ouvrir_une_fenêtre_en_ligne_de_commande|Ouvrir une fenêtre en ligne de commande]]&lt;br /&gt;
#Taper : '''ipconfig /all'''&lt;br /&gt;
Les adresses IP des serveurs DNS se trouvent au droit de '''Serveurs DNS'''&lt;br /&gt;
&lt;br /&gt;
===Changer de serveur DNS===&lt;br /&gt;
Si vous rencontrez un problème de résolution de DNS avec votre fournisseur d'accès, vous pouvez changer les serveurs qui effectue la résolution des DNS pour votre accès.&lt;br /&gt;
====Changer de serveur DNS sous Mac====&lt;br /&gt;
*Dans '''Préférences Systèmes''', choisir '''Réseau''', puis une fois la bonne carte réseau sélectionnée, appuyer sur Avancé.&lt;br /&gt;
*Dans la fenêtre qui apparaît, aller sur l'onglet '''DNS''' et dans '''Serveurs DNS''' appuyer sur le + pour ajouter '''8.8.8.8''' et une autre fois pour ajouter '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Il ne reste plus qu'à '''Appliquer''' et à tester.&lt;br /&gt;
&lt;br /&gt;
====Changer de serveur DNS sous Windows XP====&lt;br /&gt;
*'''Démarrer &amp;gt; Connexions''' puis cliquer sur la connexion réseau active (par exemple la connexion WIFI)&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*Sélectionner '''Protocole Internet (TCP/IP)'''&lt;br /&gt;
*Cliquer sur '''Propriétés'''&lt;br /&gt;
*En général, en bas de la fenêtre '''Propriétés de Protocole Internet (TCP/IP)''' la configuration active est : '''Obtenir les adresses des serveurs DNS automatiquement'''&lt;br /&gt;
*Cocher '''Utiliser l'adresse de serveur DNS suivante :'''&lt;br /&gt;
*Pour '''Serveur DNS préféré''', saisir '''8.8.8.8'''&lt;br /&gt;
*Pour '''Serveur DNS auxiliaire''', saisir '''8.8.4.4''' (ce sont les [http://code.google.com/speed/public-dns/|serveurs DNS public Google])&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Cliquer sur '''Fermer'''&lt;br /&gt;
&lt;br /&gt;
===Forcer les DNS===&lt;br /&gt;
====Forcer les DNS sous Windows====&lt;br /&gt;
Attention, avec Vista, il faut appliquer une [[#Particularité_avec_Windows_Vista|procédure préalable]].&lt;br /&gt;
*Il est possible de résoudre ce problème de DNS en éditant le fichier C:\WINDOWS\system32\drivers\etc\hosts (avec le bloc-notes) en rajoutant la ligne (il faut remplacer structure par le sous-domaine de la plateforme OpenFlyers de votre structure) :&lt;br /&gt;
**Pour OF 1.3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;178.33.105.217 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 2.1 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.145.26 structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Pour OF 3 :&lt;br /&gt;
&amp;lt;pre&amp;gt;87.98.143.237  structure.openflyers.fr&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Ensuite, il faut relancer votre PC&lt;br /&gt;
*Une fois la connexion correctement effectuée, il est parfois possible de supprimer cette entrée dans le fichier hosts tout en gardant la connexion.&lt;br /&gt;
&lt;br /&gt;
====Particularité avec Windows Vista====&lt;br /&gt;
*Il faut être administrateur pour pouvoir modifier le fichier hosts.&lt;br /&gt;
*Il faut également copier le fichier hosts sur le bureau pour le modifier puis ensuite le recopier dans le bon répertoire (si on édite directement le fichier hosts depuis (system32\drivers\etc\) on ne peut pas le ré-enregistrer).&lt;br /&gt;
&lt;br /&gt;
====Forcer les DNS sous Mac====&lt;br /&gt;
*lancer Terminal (dans Applications/Utilitaires)&lt;br /&gt;
*taper &amp;quot;sudo nano /etc/hosts&amp;quot; (il demande le mot de passe de l'utilisateur qui a les droits admin sur la machine)&lt;br /&gt;
*Ajouter les entrées sur le modèle de la [[#Forcer_les_DNS_sous_Windows|procédure sous Windows]]&lt;br /&gt;
*Faire controle-o pour enregistrer puis controle-x pour quitter&lt;br /&gt;
*Eventuellement, faire &amp;quot;dscacheutil -flushcache&amp;quot; si le changement n'est pas encore pris en compte.&lt;br /&gt;
&lt;br /&gt;
===Ouvrir une fenêtre en ligne de commande===&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
*Aller dans le menu &amp;quot;Démarrer&amp;quot;&lt;br /&gt;
*Puis Tous les programmes/Accessoires&lt;br /&gt;
*Lancer l'&amp;quot;invite de commandes&amp;quot;&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Sous OSX (mac) il faut lancer un Terminal. Pour cela 2 solutions :&lt;br /&gt;
*Taper &amp;quot;terminal&amp;quot; dans spotlight&lt;br /&gt;
ou&lt;br /&gt;
*lancer l'application qui est dans Applications &amp;gt; Utilitaires.&lt;br /&gt;
&lt;br /&gt;
===Copier/Coller dans une fenêtre en ligne de commande===&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
Vous pouvez faire un copier/coller en utilisant le bouton droit de la souris dans la fenêtre de l'invite de commandes puis en choisissant &amp;quot;sélectionner&amp;quot; et ensuite en appuyant sur le bouton gauche et en le laissant appuyer tout en sélectionnant la zone souhaitée)&lt;br /&gt;
&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Pour faire un copier/coller de ces informations et nous les communiquer, il suffit d'utiliser commande-C dans le terminal.&lt;br /&gt;
&lt;br /&gt;
==Restriction d'accès==&lt;br /&gt;
En fonction de la politique de la structure, le paramétrage d'une plateforme OpenFlyers peut entrainer des restrictions lors de la connexion.  Un message s'affiche, à ce moment là, indiquant les raisons de la restriction et le type de restriction. L'intitulé du profil est inchangé une fois connecté mais les droits associés peuvent être restreints. Par exemple, il peut ne plus être possible d'effectuer une réservation ou d'ouvrir une activité (vol).&lt;br /&gt;
&lt;br /&gt;
Ces restrictions peuvent avoir lieu dans les cas suivants :&lt;br /&gt;
*En cas de solde insuffisant.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Gestion_des_comptes|Surpasser la limitation du solde du compte]]. Lorsque l'utilisateur dispose de ce droit et que l'accès devrait être limité à cause du solde de l'un de ses comptes, un message d'alerte sans restriction s'affiche pour indiquer que son solde de compte est inférieur au seuil requis.&lt;br /&gt;
*En cas de validité obsolète.&lt;br /&gt;
Cette restriction peut être surpassée à l'aide du droit [[Gestion des profils#Généralités|Surpasser les restrictions sur les validités expirées]]. Lorsque l'utilisateur dispose de ce droit, il n'y a pas de message d'alerte pour lui indiquer que l'absence de telle ou telle validité devrait entrainer la restriction de ses droits.&lt;br /&gt;
&lt;br /&gt;
=Activité=&lt;br /&gt;
==Alertes générées lors de la saisie d'une activité==&lt;br /&gt;
&lt;br /&gt;
===[[Facturation des clients#Alertes_générées_par_le_moteur_de_tarification|Alertes générées par le moteur de tarification]]===&lt;br /&gt;
&lt;br /&gt;
===[[#Alertes_lors_d'une_réservation_ou_une_saisie_de_vol|Alertes générées sur les validités]]===&lt;br /&gt;
&lt;br /&gt;
===L'aéronef est déjà en l'air===&lt;br /&gt;
Si en tentant d'ouvrir le vol d'un aéronef, apparait une alerte rouge '''L'aéronef est déjà en l'air''' cela veut dire qu'un vol a déjà ouvert avec cet aéronef. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===La différence entre le temps de vol calculé et le temps de vol saisi est de : X:XX heure(s)===&lt;br /&gt;
Cette alerte est suivie du message :&lt;br /&gt;
&amp;lt;pre&amp;gt;Veuillez contacter votre administrateur à propos de l'incompatibilité entre votre saisie et la formule du temps de vol choisie pour le type d'aéronef : X&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsque la valeur saisie du temps de vol est incompatible avec la valeur calculée par la [[Formules de calcul#Temps_d'activité|formule de calcul de temps de vol]] définie pour l'aéronef X.&lt;br /&gt;
&lt;br /&gt;
En général elle provient du fait que le temps de vol qui avait été calculé automatiquement dans le formulaire lors de la saisie des champs de compteurs départ/arrivée et/ou des heures de départ/arrivée ont été modifiés manuellement.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une telle erreur apparait, vous devez :&lt;br /&gt;
*Essayer de reprendre la saisie et essayer de comprendre pourquoi vous saisissez mal les valeurs dans les champs concernés&lt;br /&gt;
*Si vous n'arrivez pas à comprendre la raison, contacter sans délai un gestionnaire de votre structure afin qu'il vous explique les erreurs que vous commettez lorsque le problème vient d'une saisie erronée ou qu'il analyser lui-même le problème.&lt;br /&gt;
*Si vous êtes vous-même un gestionnaire de la plateforme, vous devez également pousser l'analyse pour comprendre en quoi votre saisie est incompatible avec la formule de calcul et le cas échéant faire effectuer une modification du paramétrage.&lt;br /&gt;
&lt;br /&gt;
Voir également, comment [[#Forcer_la_saisie_d'une_durée_de_vol_incompatible_avec_sa_formule_de_calcul|saisir un temps de vol qui ne respecte pas la formule de calcul]].&lt;br /&gt;
&lt;br /&gt;
===Le pilote X est déjà en l'air===&lt;br /&gt;
Ce message apparait lorsque vous tentez de saisir un vol en ouverture de vol et que le pilote occupant la position X est déjà enregistré sur un vol ouvert, c'est à dire en l'air.&lt;br /&gt;
&lt;br /&gt;
Cette protection permet de ne pas avoir un utilisateur occupé simultanément sur 2 ressources.&lt;br /&gt;
&lt;br /&gt;
S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Seul le type de vol requis dans le cas de la présence d'un second pilote a été sélectionné, vous devez en sélectionner au moins un autre en plus===&lt;br /&gt;
Lors de la saisie d'un vol, cette alerte s'affiche si la configuration de la plateforme nécessite la saisie d'au moins un type de vol supplémentaire en plus du type de vol obligatoire dans le cas de la présence d'un second pilote.&lt;br /&gt;
&lt;br /&gt;
C'est typiquement le cas pour les vols d'instruction où le paramétrage nécessite généralement de préciser un 2ème type de vol comme &amp;quot;local&amp;quot;, &amp;quot;navigation&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
===Vous êtes actuellement en l'air===&lt;br /&gt;
Si en tentant de saisir un vol, l'alerte '''Vous êtes actuellement en l'air''' apparait cela veut dire qu'il y a déjà un vol d'ouvert à votre nom. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler_un_vol_ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
===Vous ne pouvez ouvrir un vol avec une date de début dépassée===&lt;br /&gt;
Cette protection empêche d'ouvrir une activité avec un horodatage de début antérieur à l'heure actuelle moins 15 minutes.&lt;br /&gt;
&lt;br /&gt;
En général, pour un tel cas, le souhait n'est pas d'ouvrir une activité mais de fermer une activité. Il faut donc penser à passer le champ '''Etat du vol''' en &amp;quot;Retour de vol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Annuler un vol ouvert==&lt;br /&gt;
*Aller sur le planning&lt;br /&gt;
*Cliquer sur le rectangle sur fond bleu correspondant à l'immatriculation de l'aéronef considéré&lt;br /&gt;
*Cliquer sur le bouton '''Annuler le vol''' tout en bas du formulaire.&lt;br /&gt;
&lt;br /&gt;
==Consulter un vol ouvert==&lt;br /&gt;
Pour pouvoir consulter un vol ouvert d'un tiers, il faut disposer du [[Gestion des profils#Gestion_des_vols|droit de &amp;quot;Saisie d'activité pour un tiers&amp;quot;]].&lt;br /&gt;
*Sur le planning de réservation, cliquer sur le rectangle de l'aéronef considéré qui doit être sur fond bleu pour indiquer que l'aéronef est en l'air.&lt;br /&gt;
&lt;br /&gt;
==Saisie d'un vol==&lt;br /&gt;
*Aller dans '''Vols &amp;gt; Saisir un vol''', remplir le formulaire&lt;br /&gt;
*La saisie d'un vol d'une durée inférieure à 15 minutes déclenchera l'affichage d'un message d'avertissement (en orange). Cliquer sur '''Confirmer la validation''' au dessous de ce message pour saisir définitivement le vol.&lt;br /&gt;
*Après la saisie d'un vol, l'utilisateur est renvoyé sur :&lt;br /&gt;
**Le planning lors d'un vol en ouverture&lt;br /&gt;
**Le formulaire de saisie d'un vol lors d'un nouveau vol en fermeture et que le terrain d'arrivée saisie est différent du terrain par défaut de la structure&lt;br /&gt;
**Dans les autres cas, l'[[Documentation utilisateur#Extrait_de_compte|extrait de compte]] de la personne en première place. Si plusieurs comptes sont impactés, c'est le premier compte impacté de la personne qui est choisi.&lt;br /&gt;
**Si l'utilisateur connecté n'a pas le droit de visualiser le compte concerné, alors c'est le carnet de route qui est affiché.&lt;br /&gt;
&lt;br /&gt;
===Forcer la saisie d'une durée de vol incompatible avec sa formule de calcul===&lt;br /&gt;
Un gestionnaire peut forcer la saisie d'un [[#La_différence_entre_le_temps_de_vol_calculé_et_le_temps_de_vol_saisi_est_de_:_X:XX_heure(s)|temps de vol incompatible avec la formule de calcul]] associée au type d'aéronef pour lequel on souhaite saisir un vol.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il doit :&lt;br /&gt;
*Saisir le vol en modification le compteur arrivé de sorte à obtenir le temps de vol souhaité.&lt;br /&gt;
*[[Gestion des ressources#Changer_la_valeur_du_compteur_en_cours|Changer la valeur du compteur en cours]] de l'aéronef.&lt;br /&gt;
&lt;br /&gt;
Dans le cas où plusieurs vols successifs doivent être saisis, il est alors judicieux de ne mettre à jour le compteur de l'aéronef qu'une que tous les vols ont été saisis.&lt;br /&gt;
&lt;br /&gt;
=Comptabilité=&lt;br /&gt;
&lt;br /&gt;
==Alertes générées lors de la [[Utilisation de la comptabilité#Saisie_d'écritures_comptables|saisie d'écritures comptables]]==&lt;br /&gt;
&lt;br /&gt;
===Les comptes n'ont pas la même comptabilité===&lt;br /&gt;
Cette alerte apparait lors d'une [[Comptabilité#Comptabilités_multiples|comptabilité multiple]] : Le compte débité et le compte crédité doivent être issues de la même comptabilité.&lt;br /&gt;
&lt;br /&gt;
==Créditer son compte utilisateur==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Approvisionner'''&lt;br /&gt;
*Si vous disposez de droit de gestion comptable, choisir dans le champ '''Encaissement de l'utilisateur''' le nom de l'utilisateur concerné&lt;br /&gt;
*Si vous disposez de plusieurs comptes sur lesquels vous pouvez choisir où ventiler votre encaissement, choisir dans le champ '''Compte à créditer''' le nom du compte concerné&lt;br /&gt;
*Dans le champ '''Type de règlement''', sélectionner le type de règlement&lt;br /&gt;
*Si vous effectuez un paiement avec une remise à une personne physique, vous devez préciser le nom de cette personne dans le champ '''Personne qui reçoit'''&lt;br /&gt;
*Dans le champ, montant indiquer le montant de votre paiement.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
Dans le cas où le type de paiement est un paiement par carte bancaire en ligne mis en place par votre structure, alors êtes redirigé sur le terminal de paiement électronique de la banque de votre structure. Il vous faut alors saisir les informations de votre carte bancaire. Il est possible que le terminal de paiement électronique supporte le &amp;quot;[[Wikipedia-fr:3-D_Secure|3-D Secure]]&amp;quot; qui implique un contrôle renforcé. Dans ce cas, c'est votre propre banque qui vous demandera des informations complémentaires pour confirmer que c'est bien vous qui êtes à l'origine de la demande de paiement par carte bancaire.&lt;br /&gt;
&lt;br /&gt;
==Extrait de compte==&lt;br /&gt;
'''OpenFlyers''' offre la possibilité à un utilisateur de consulter des extraits de compte : C'est un rapport permettant de visualiser le détail des écritures comptables effectuées sur une période (une année complète ou un mois d'une année) d'un compte ou de tous les comptes d'une comptabilité donnée. Si la gestion des budgets est activée, il est possible de filtrer l'affichage des écritures selon les budgets.&lt;br /&gt;
&lt;br /&gt;
Dès qu'il y a plus de 50 écritures à afficher pour un extrait de compte, la liste des écritures est paginée pour afficher 50 écritures par page.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est validée, les montants au débit et au crédit sont affichés en noir gras.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une écriture est non validée, les montants au débit et au crédit sont affichés en vert gras. En fonction du [[Gestion des profils|profil et de ses droits]], une colonne '''Actions''' peut apparaître avec des icônes pour permettre de modifier ou supprimer une écriture non validée selon [[Gestion-des-écritures-comptables#Types-d'écritures-comptable-générées-par-OpenFlyers|le type d'écriture comptable qui est générée]].&lt;br /&gt;
&lt;br /&gt;
===Colonne &amp;quot;Numéro de pointage ou de facture&amp;quot;===&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_fournisseur|facture fournisseur]], la colonne affiche le numéro de pointage.&lt;br /&gt;
*Lorsque l'écriture est liée à une [[Écritures comptables#Saisie_d'une_facture_client|facture client]] et que l'utilisateur dispose du [[Gestion des profils#Gestion_des_comptes|droit de '''Gestion des comptes''']] ou que la facture à afficher lui est destinée :&lt;br /&gt;
**Pour une écriture non-validée, la colonne affiche les icônes [[Fichier:IconHTML.png]] qui amènent aux factures pro-format associées.&lt;br /&gt;
**Pour une écriture validée, la colonne affiche les icônes [[Fichier:IconPDF.png]] qui amène aux factures PDF associées.&lt;br /&gt;
*:Dans le cas contraire, ce sont les numéros des factures qui sont affichés à la place des icônes.&lt;br /&gt;
&lt;br /&gt;
La colonne affiche &amp;quot;--&amp;quot; lorsqu'il s'agit d'une écriture :&lt;br /&gt;
* D'[[Écritures comptables#Saisie_d'un_encaissement_(d'un_client)|encaissement client]].&lt;br /&gt;
* De [[Écritures comptables#Les_4_grands_types_d'écritures|flux]].&lt;br /&gt;
* De [[Écritures comptables#Saisie_d'une_facture_client|facture client]] n'ayant pas de facture associée.&lt;br /&gt;
&lt;br /&gt;
==Imprimer un extrait de compte==&lt;br /&gt;
*Afficher l'extrait de compte souhaité&lt;br /&gt;
*[[Trucs et astuces#Imprimer_avec_un_navigateur|Imprimer avec la commande du navigateur]]&lt;br /&gt;
&lt;br /&gt;
==Transférer de l'argent==&lt;br /&gt;
Selon les droits accordés aux utilisateurs par la structure, il peut être possible d'effectuer un transfert d'argent depuis son compte vers le compte d'un autre utilisateur en suivant la procédure suivante :&lt;br /&gt;
*Aller sur '''Comptes &amp;gt;Transférer'''&lt;br /&gt;
*Dans le champ '''Compte à créditer''' choisir le nom de la personne concernée&lt;br /&gt;
*Dans le champ '''Montant''', saisir le montant que l'on souhaite transférer&lt;br /&gt;
*Remplir éventuellement le champ '''Commentaires'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' : '''Attention''' cette opération est irrévocable et une fois que vous aurez validé, il ne sera pas possible de supprimer le virement. Si vous souhaitez faire annuler l'opération, il faudra contacter la personne recevant l'argent pour qu'elle fasse à son tour un transfert sur votre compte.&lt;br /&gt;
&lt;br /&gt;
=E-mails automatiques=&lt;br /&gt;
==Alertes par e-mail uniquement sur les plateformes de production==&lt;br /&gt;
Les [[Configuration de la comptabilité#Paramétrage_général_des_comptabilités|e-mails d'alertes de solde]] ou de [[#E-mail-de-rappel-de-réservation|rappel des réservations]] ne sont pas envoyés sur les plateformes qui ne sont pas en production afin de ne pas polluer les messageries des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Les différentes notifications d'e-mail de réservation sont paramétrables du côté de [[#Affichage-et-fiche-personnelle|la fiche utilisateur]].&lt;br /&gt;
&lt;br /&gt;
==E-mail d'annulation de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une annulation de réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une annulation de réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est le même que pour l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]].&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Notification d'annulation de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est annulée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les annulations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails d'annulation en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_annulées&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de mise en maintenance==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une mise en maintenance sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Confirmation d'une mise en maintenance sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** la ressource mise en maintenance&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de maintenance si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération de maintenance&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
La mise en maintenance pour le type-de-ressource F-ABCD du 01/04/2015 à 08:00 au 01/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Remplacement roue est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de notification de réservation==&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot;Confirmation d'une nouvelle réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration. Confirmation d'une nouvelle réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Notification de création de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** le type de ressource et la ressource réservés&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en seconde place si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération sur la réservation&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of3/Documentation-utilisateur#Notification-des-réservations-par-e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ceci est une notification de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Notification_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
http://openflyers.com/demo/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme&lt;br /&gt;
* Suivi du texte &amp;quot; : Rappel d'une réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;Plateforme de démonstration : Rappel d'une réservation sur OpenFlyers sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du corps de l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]] où les dates sont sous le format &amp;quot;JJ/MM/AAAA/MM à HHhMM&amp;quot; et sous le fuseau horaire de l'utilisateur recevant l'e-mail&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail :&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la type-de-ressource F-ABCD du 2015/04/01 à 08h00 au 2015/04/01 à 09h00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
http://doc-fr.openflyers.com/index.php?title=Documentation utilisateur#Rappel_des_réservations_par_e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie=&lt;br /&gt;
==Optimiser la navigation dans OpenFlyers==&lt;br /&gt;
&lt;br /&gt;
===Navigation par onglet===&lt;br /&gt;
Afin d'avoir à disposition les différentes pages dont vous avez besoin pour effectuer une action, il est possible d'afficher chacune d'entre elles dans un [[Wikipedia-fr:Onglet_%28informatique%29|onglet]] du navigateur.&lt;br /&gt;
Lorsque vous effectuez un clic gauche sur un lien situé dans une page donnée pour accéder à une autre page, la page initiale est remplacée par la page de destination. Ce qui rend fastidieux la réalisation des tâches nécessitant un accès répétitif à certaines pages.&lt;br /&gt;
&lt;br /&gt;
===Clic droit et clic molette===&lt;br /&gt;
Afin de gagner en efficacité et en confort d'utilisation, pensez à utiliser les autres boutons de la souris qui vous permettent d'ouvrir une page dans un '''nouvel onglet'''. Pour cela il existe deux méthodes lorsqu'on survole un lien dans un navigateur Internet pour ouvrir la page de destination dans un nouvel onglet :&lt;br /&gt;
*'''Le clic droit :''' il permet d'afficher un menu contextuel qui contient une action nommée « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
*'''Le clic molette :''' il est encore plus efficace que le clic droit, car il correspond directement à l'action « Ouvrir le lien dans un nouveau onglet ».&lt;br /&gt;
&lt;br /&gt;
Normalement le clic molette est configuré pour cette action. Dans le cas contraire, il faut [[Trucs et astuces#Modifier_le_comportement_la_souris|en modifier le comportement]].&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-1.png]]&lt;br /&gt;
&lt;br /&gt;
L'exemple suivant explique comment modifier successivement les validités de plusieurs utilisateurs :&lt;br /&gt;
*Dans un premier onglet, ouvrir le tableau présentant la liste des utilisateurs.&lt;br /&gt;
[[Fichier:OF3.5-clics-2.png]]&lt;br /&gt;
*Effectuer un '''clic droit''' ou '''clic molette''' sur le pictogramme des validités pour déplier un second onglet.&lt;br /&gt;
[[Fichier:OF3.5-clics-3.png]]&lt;br /&gt;
*Effectuer et enregistrer les modifications dans le second onglet, présentant les validités d'un utilisateur.&lt;br /&gt;
[[Fichier:OF3.5-clics-4.jpg]]&lt;br /&gt;
*Replier le second onglet en cliquant sur la croix ou en pressant '''CTRL + W'''.&lt;br /&gt;
[[Fichier:OF3.5-clics-5.png]]&lt;br /&gt;
*Retour au premier onglet, présentant la liste des utilisateurs. Répéter les opérations du 2 au 4 pour les autres utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
Il est possible de naviguer rapidement d'un onglet à l'autre sans utiliser la souris en utilisant simplement les raccourcis clavier : '''CTRL + TAB''' pour avancer d'un onglet ou '''CTRL + SHIFT + TAB''' pour reculer d'un onglet.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:OF3.5-clics-6.png]]&lt;br /&gt;
&lt;br /&gt;
=Fiche utilisateur (Données)=&lt;br /&gt;
==Affichage et fiche personnelle==&lt;br /&gt;
===Affichage du menu contextuel===&lt;br /&gt;
Le menu contextuel et un menu déroulant qui apparait lors du survol d'une réservation ou d'un vol ouvert. Ce menu contextuel peut apparaitre :&lt;br /&gt;
*soit automatiquement&lt;br /&gt;
*soit par un clic droit de la souris&lt;br /&gt;
Ce paramétrage est personnalisable pour chaque utilisateur :&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Cocher ou décocher '''N'afficher la description des réservations qu'avec le bouton droit de la souris''' selon le comportement souhaité&lt;br /&gt;
*Cliquer sur le bouton '''Sauver''' tout en bas du formulaire&lt;br /&gt;
&lt;br /&gt;
===Choisir l'unité de temps===&lt;br /&gt;
Chaque utilisateur peut choisir l'unité de temps qui sert à afficher les heures.&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Choisir dans le champ '''Unité de temps''' parmi :&lt;br /&gt;
**heures minutes&lt;br /&gt;
**heures centièmes&lt;br /&gt;
**heures dixièmes&lt;br /&gt;
*Appuyer sur le bouton '''Sauver'''.&lt;br /&gt;
&lt;br /&gt;
===Etre informé des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]] par email===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par email des [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|actualités OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
===Edition de sa photo===&lt;br /&gt;
&lt;br /&gt;
L'import ou la suppression d'une photo requiert le droit [[Gestion-des-profils#Généralités|Editer sa photo]]. Ce droit n'est pas nécessaire pour rendre sa photo visible pour tous.&lt;br /&gt;
&lt;br /&gt;
===Notification de la maintenance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_mise_en_maintenance|e-mail des réservations de maintenance]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_de_notification_de_réservation|e-mail des réservations créées ou modifiées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Notification des réservations annulées===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_d'annulation_de_réservation|e-mail des réservations annulées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
===Rappel des réservations de 2 jours d'avance par e-mail===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin de recevoir ou non par [[#E-mail_de_rappel_de_réservation|e-mail un rappel de réservation]].&lt;br /&gt;
&lt;br /&gt;
Les rappels sont envoyés entre 0h et 6h au fuseau Europe/Paris pour les réservations ayant une ressource d'assignée et débutant entre 2 et 3 jours après.&lt;br /&gt;
&lt;br /&gt;
Les [[#Alertes_par_e-mail_uniquement_sur_les_plateformes_de_production|rappels ne sont effectifs que sur les plateformes en production]].&lt;br /&gt;
&lt;br /&gt;
===Recevoir un e-mail pour toute réservation===&lt;br /&gt;
*Aller dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
Lorsque l'utilisateur dispose d'un profil avec le droit [[Gestion des profils#Réservation|Alertable par e-mail pour toute réservation]], apparait une case à cocher '''Recevoir un e-mail pour toute réservation'''.&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par e-mail lorsqu'une nouvelle réservation est créée par n'importe quel utilisateur.&lt;br /&gt;
&lt;br /&gt;
==(In)disponibilités==&lt;br /&gt;
Lorsque vous êtes intervenant (formateur, instructeur, moniteur, mécanicien, etc.), vous pouvez gérer vos disponibilités en allant dans '''Données &amp;gt; (in)disponibilités'''&lt;br /&gt;
&lt;br /&gt;
Il existe deux types de disponibilités :&lt;br /&gt;
:Les disponibilités régulières qui reviennent chaque semaine, par exemple : le lundi de 9h00 à 18h00.&lt;br /&gt;
:Les disponibilités exceptionnelles (ou les indisponibilités exceptionnelles) sont ponctuelles : présent (ou absent) le 1er décembre de 8h00 à 12h00.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez cumuler ces modes pour avoir une flexibilité maximum. &lt;br /&gt;
&lt;br /&gt;
:Exemple :&lt;br /&gt;
::- disponible du Lundi 8 h 00 au Mercredi 19 h 00 en permanent&lt;br /&gt;
::- disponible du Vendredi 8 h 00 au Samedi 19 h 00 en permanent&lt;br /&gt;
::- Absent du 15 Juillet au 30 Juillet pour raison de congé&lt;br /&gt;
:Attention à ne pas créer des incohérences.&lt;br /&gt;
&lt;br /&gt;
De même, si vous faites une pause déjeuner, il faut créer des disponibilités par demi-journées pour chaque jour concerné, en présence régulière en créant une disponibilité tous les jours de 9h à 12h et une disponibilité tous les jours de 14h à 18h (par ex.).&lt;br /&gt;
&lt;br /&gt;
Il est possible de créer une disponibilité permanente : Pour cela, créez une disponibilité régulière sur le même jour, avec une heure de début et de fin identique. Par exemple, disponible du &amp;quot;Lundi 0h00 au Lundi 0h00&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
En cas de problème, affichez la liste des disponibilités et supprimez tous les créneaux puis reconstruisez les disponibilités.&lt;br /&gt;
&lt;br /&gt;
==Réinitialiser son mot de passe==&lt;br /&gt;
Attention, lorsqu'un mot de passe est perdu vous n'avez que trois tentatives possibles pour le retrouver. A la 4ème tentative un compteur exponentiel s'active pour éviter les robots créés par les pirates de tenter d'accéder aux plateformes par des [[Wikipedia-fr:Attaque_par_force_brute|attaques par force brute]].&lt;br /&gt;
&lt;br /&gt;
Par contre, vous pouvez ré-initialiser votre mot de passe depuis la page d'accueil de votre plateforme OpenFlyers :&lt;br /&gt;
*Cliquez sur le lien '''Mot de passe oublié ?'''&lt;br /&gt;
*Dans le formulaire '''Demande de réinitialisation du mot de passe''', remplissez le champ '''Identifiant''' avec votre nom d'utilisateur utilisé pour la connexion sur l'application OpenFlyers&lt;br /&gt;
*Cliquez sur le bouton '''Enregistrer'''&lt;br /&gt;
*Si le nom d'utilisateur est présent en base de données, alors le message suivant doit s'afficher :&lt;br /&gt;
'''Merci, un e-mail a été envoyé à l'adresse du compte nom-utilisateur. Cliquez sur le lien dans l'email afin de poursuivre la réinitialisation du mot de passe.'''&lt;br /&gt;
*Récupérez l'e-mail dans votre messagerie, il s'intitule :&lt;br /&gt;
'''[nom-de-la-plateforme] Demande de réinitialisation du mot de passe à XXhXX (UTC)'''&lt;br /&gt;
et contient les éléments suivants :&lt;br /&gt;
&amp;lt;pre&amp;gt;Jean DUPONT,&lt;br /&gt;
&lt;br /&gt;
Une demande de réinitialisation de mot de passe a été effectué.&lt;br /&gt;
Pour poursuivre l'opération, cliquez ici.&lt;br /&gt;
Si vous n'avez pas fait la demande, veuillez ignorer l'email.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez également saisir ou copier le lien suivant dans votre navigateur internet afin d'accéder à la page de réinitilisalisation de mot de passe :&lt;br /&gt;
http://openflyers.com/nom-de-la-plateforme/index.php?menuAction=password_reset&amp;amp;token=154551560257977557617df&lt;br /&gt;
&lt;br /&gt;
L'équipe OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' L'email est valide uniquement pendant '''une heure''' après la demande de réinitialisation de mot de passe. Passé ce délai, le lien indiqué dans l'email ne sera plus valide. Il sera donc nécessaire de refaire une '''nouvelle demande''' de réinitialisation de mot de passe.&lt;br /&gt;
&lt;br /&gt;
*Cliquez sur la partie du texte correspondant au lien coloré ou copiez dans votre navigateur internet lien contenu à la fin de l'e-mail pour retourner sur la page de réinitialisation de mot de passe&lt;br /&gt;
*Dans le 2ème formulaire intitulé '''Réinitialisation du mot de passe''', renseignez les champs :&lt;br /&gt;
**'''Réinitialisation du mot de passe''' avec votre nouveau mot de passe&lt;br /&gt;
**'''Répétition du mot de passe''' avec la confirmation de votre nouveau mot de passe&lt;br /&gt;
*Cliquez sur le bouton '''Réinitialiser'''&lt;br /&gt;
&lt;br /&gt;
Après avoir réinitialisé votre mot de passe, l'application vous connecte automatiquement en vous redirigeant sur la page du planning.&lt;br /&gt;
&lt;br /&gt;
=Planning=&lt;br /&gt;
==Codes couleurs==&lt;br /&gt;
[[Fichier:Codes couleurs.png]]&lt;br /&gt;
&lt;br /&gt;
==Éphémérides==&lt;br /&gt;
Nous calculons les éphémérides d'après les définitions officielles.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les heures de lever et de coucher du soleil correspondent au passage du centre du soleil sous l'horizon, c'est à dire lorsque le centre du soleil est situé 3 degrés sous l'horizon. En effet, il est considéré, en première approximation que le soleil a un diamètre apparent de 6 degrés.&lt;br /&gt;
&lt;br /&gt;
Les heures du jour et de la nuit aéronautique correspondent au passage du soleil 6 degrés sous l'horizon. Il s'agit de la définition officielle, aussi bien française, qu'internationale (OACI). Notre formule de calcul est validée pour les latitudes inférieures à 65 degrés. Sa précision est de l'ordre de la minute sous des latitudes inférieures à 50 degrés. La précision diminue au fur et à mesure que la latitude augmente, c'est à dire que l'on se rapproche des pôles.&lt;br /&gt;
&lt;br /&gt;
Conséquence du calcul : les résultats trouvés ne correspondent pas à la simple addition de + ou - 30 minutes. Mais il n'a jamais été écrit dans un texte officiel que la journée aéronautique commençait au lever du soleil moins trente minutes, et que la nuit aéronautique commençait au coucher du soleil plus trente minutes. Dans la règlementation française, il est admis d'utiliser + ou - 30 minutes pour faire les calculs sous des latitudes comprises entre 30 et 60 degrés et 15 minutes sous les latitudes inférieures à 30 degrés). Pour l'Europe, voir le [http://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32012R0923&amp;amp;from=EN Règlement n°923/2012 concernant les Standardised European Rules of the Air) - Article 2 - Définition 97]. Pour la France voir la [http://www.developpement-durable.gouv.fr/IMG/pdf/SERA_RCA_consolide.pdf version consolidée des règles de l'air, définition de la &amp;quot;Nuit&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
Mises en garde :&lt;br /&gt;
*Le programme calcule les heures à partir des coordonnées géographiques de l'aérodrome indiqué comme étant la base aéronautique de la plateforme OpenFlyers considérée. Si les heures sont erronées, il faut contacter l'administrateur OpenFlyers de la plateforme afin qu'il vérifie le code OACI renseigné pour la plateforme.&lt;br /&gt;
*Certains pays n'utilisent pas la nuit aéronautique et ne permettent pas le vol en dehors du lever et du coucher du soleil. D'autres pays utilisent d'autres types de définition pour déterminer si le vol est de jour ou de nuit comme notamment une référence à la luminosité réelle mesurée.&lt;br /&gt;
&lt;br /&gt;
Remarque :&lt;br /&gt;
*Si l'utilisateur ne souhaite pas utiliser la définition réelle mais une approximation, comme le fait d'ajouter ou retrancher 30 minutes, il suffit d'effectuer l'opération de calcul à partir des heures de lever ou de coucher du soleil.&lt;br /&gt;
&lt;br /&gt;
=Rapports=&lt;br /&gt;
Tous les rapports sont regroupés sur une même page qui est accessible depuis '''Données &amp;gt; Rapports''' ou côté admin '''Rapports &amp;gt; Structure &amp;gt; Visualiser''' (si on dispose d'un droit spécifique).&lt;br /&gt;
&lt;br /&gt;
Cette page est constituée de 2 parties :&lt;br /&gt;
*Une liste de champs dans le formulaire général&lt;br /&gt;
*Une liste de rapports&lt;br /&gt;
&lt;br /&gt;
Les données qui doivent être saisies dans les champs du formulaire général varient en fonction des rapports.&lt;br /&gt;
&lt;br /&gt;
Les données prises en compte dans les rapports sont affichés dans le titre du rapport au-dessus du tableau de résultat.&lt;br /&gt;
&lt;br /&gt;
Aussi, si on constate que malgré le fait d'avoir préciser une valeur, celle-ci semble ignorer par le rapport, il faut vérifier si cette donnée apparait dans la liste données prises en compte. Si c'est le cas, alors il y a potentiellement un bug. Si ce n'est pas le cas, alors c'est &amp;quot;normal&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
La version 4 d'OpenFlyers proposera une interface différente où on choisira d'abord son rapport et ensuite les données pour les seules variables prises seront demandées.&lt;br /&gt;
&lt;br /&gt;
=Réservations=&lt;br /&gt;
==Immobiliser une ressource==&lt;br /&gt;
Les utilisateurs disposant du droit '''[[Gestion des profils#Réservation|Gestion des disponibilités des ressources]]''' peuvent rendre une ressource indisponible pour un créneau horaire donné. Cela permet d'indiquer aux autres utilisateurs que la ressource considérée n'est pas disponible.&lt;br /&gt;
&lt;br /&gt;
Il n'est pas possible d'avoir plus d'un créneau d'immobilisation sur une même ressource et la même période.&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des validités|Validités]]=&lt;br /&gt;
Un utilisateur peut [[Gestion des profils#Type_de_validité_que_l'utilisateur_peut_gérer|gérer uniquement les validités définies comme telles pour son profil]] en allant dans '''Données &amp;gt; Validités'''.&lt;br /&gt;
&lt;br /&gt;
De plus :&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à ajouter une nouvelle validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à renouveler une validité détenue ou à mettre à jour le '''Code identifiant''', la '''Date d'obtention''', la '''Limite de validité''' (d'une validité non achetable) ou à supprimer une validité, il doit détenir le droit [[Gestion des profils#Généralités|Ajout et gestion de ses validités]] ou le droit [[Gestion des profils#Généralités|Gestion de ses validités détenues]].&lt;br /&gt;
*Pour qu'un utilisateur soit autorisé à acheter ou renouveler une validité-produit, il doit détenir le droit [[Gestion des profils#Gestionnaire_des_ventes|Achat ventes libres]] et le produit associé à la validité doit être en vente libre.&lt;br /&gt;
&lt;br /&gt;
Pour renouveler une validité détenue, il faut cliquer sur l'icône [[Fichier:Refresh.png]] qui apparaît dans la colonne '''Limite de validité'''.&lt;br /&gt;
&lt;br /&gt;
Remarques :&lt;br /&gt;
*Les validités arrivées à échéance apparaissent sur fond rouge.&lt;br /&gt;
*La mise à jour de la date d'échéance d'une validité réactive automatiquement la cellule de la colonne [[#Données_&amp;gt;_Validités_&amp;gt;_Alertes_?|Alertes ?]].&lt;br /&gt;
*Une validité-produit déjà détenue ne peut pas être supprimée.&lt;br /&gt;
&lt;br /&gt;
==Données &amp;gt; Validités &amp;gt; Alertes ?==&lt;br /&gt;
La colonne '''Alertes ?''' permet à un utilisateur d'activer ou désactiver les rappels à la connexion de ses validités arrivant à expiration ou ayant expirées.&lt;br /&gt;
&lt;br /&gt;
Le champ '''Délai de prévenance en semaines avant chaque échéance''' permet de définir le délai de rappel des validités arrivant à expiration.&lt;br /&gt;
&lt;br /&gt;
==Alertes sur les validités==&lt;br /&gt;
===Alerte à la connexion===&lt;br /&gt;
Les validités contrôlées à la connexion sont uniquement :&lt;br /&gt;
*celles possédées par l'utilisateur qui se connecte et qui sont soumises à échéance&lt;br /&gt;
*les validités à expérience récente.&lt;br /&gt;
&lt;br /&gt;
Ainsi, les validités sans échéance ne sont pas contrôlées.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers affiche un message d'alerte pour les validités dont la date d'échéance est expirée ou va expirer dans un délai inférieur à la période d'alerte définie dans la fiche utilisateur. L'utilisateur a la possibilité de cliquer sur la case à cocher &amp;quot;Ne plus le rappeler&amp;quot; afin de ne plus avoir de message de rappel. Dans ce cas, lors des connexions ultérieures, il n'aura plus de message de rappel. Il peut cependant réactiver cette alerte en la réactivant dans la colonne &amp;quot;Alertes&amp;quot; de la ligne correspondante dans '''Données &amp;gt; Validités'''. Cette réactivation est automatique lors d'une modification de la validité.&lt;br /&gt;
&lt;br /&gt;
===Alertes lors d'une réservation ou une saisie de vol===&lt;br /&gt;
Les validités périmées apparaissent systématiquement lors de la saisie d'une réservation ou d'un vol comme à la connexion. Leur affichage ne dépend pas du type de ressource. C'est juste un rappel.&lt;br /&gt;
&lt;br /&gt;
Ce rappel est notamment utile lorsqu'une personne effectue une réservation ou une saisie de vol pour le compte d'un tiers. Cela lui permet d'être informé et d'informer ce tiers de sa situation.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Alertes-administrateur&amp;diff=15068</id>
		<title>Alertes administrateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Alertes-administrateur&amp;diff=15068"/>
				<updated>2017-01-09T10:50:55Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Les vols et les règlements doivent être validés pour clôturer l'exercice */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
&lt;br /&gt;
L'objet de cette page est de décrire les alertes qui peuvent apparaître du côté administrateur.&lt;br /&gt;
&lt;br /&gt;
=Alertes lors de la [[Utilisation-de-la-comptabilité#Clôturer-l'exercice-comptable|clôture de la comptabilité]]=&lt;br /&gt;
&lt;br /&gt;
==Il y a des écritures non validées==&lt;br /&gt;
&lt;br /&gt;
Cette alerte s'affiche lors de la clôture de la comptabilité quand ils existent des écritures non validées antérieures à la date de clôture.&lt;br /&gt;
&lt;br /&gt;
==Les vols et les règlements doivent être validés pour clôturer l'exercice==&lt;br /&gt;
&lt;br /&gt;
Cette alerte s'affiche lorsque des écritures non validées sont antérieures ou égales à la date de début d'exercice comptable.&lt;br /&gt;
&lt;br /&gt;
=[[Utilisation de la comptabilité#Alertes_générées_lors_d'une_tentative_d'export_comptable|Alertes lors de tentative d'export comptable]]=&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15067</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15067"/>
				<updated>2017-01-09T10:41:23Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Documentation Administrateurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:2013-OF4-launch.gif|right|link=OF_doc4-fr:Montée-de-version]]&lt;br /&gt;
&lt;br /&gt;
Bienvenue sur la [[Toutes les documentations|documentation]] d''''OpenFlyers version 3'''.&lt;br /&gt;
&lt;br /&gt;
You can also access to our [[OF_doc-en:Main-Page3|english documentation]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
OpenFlyers :&lt;br /&gt;
*[[Introduction|La suite logicielle OpenFlyers]]&lt;br /&gt;
*[[Technologies de géolocalisation aéronautique|Les technologies de géolocalisation pour l'aéronautique]]&lt;br /&gt;
*[[Modèle-commercial-et-compte-client-OpenFlyers|Modèle commercial et compte client OpenFlyers]]&lt;br /&gt;
*[[Découvrir OpenFlyers|Découvrir le logiciel OpenFlyers]]&lt;br /&gt;
*[[Bien communiquer avec OpenFlyers|Bien communiquer avec OpenFlyers]]&lt;br /&gt;
*[[Formations OpenFlyers|Formations OpenFlyers]]&lt;br /&gt;
*[[Historique des versions|Historique des versions]]&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
*[[Créer une plateforme OpenFlyers pour sa structure|Créer une plateforme OpenFlyers pour sa structure]]&lt;br /&gt;
*[[Bien débuter avec OpenFlyers|Bien débuter avec OpenFlyers (et mise en place d'un TPE)]]&lt;br /&gt;
*[[Compatibilité des navigateurs|Compatibilité des navigateurs]]&lt;br /&gt;
&lt;br /&gt;
[[Rapporter un bug]]&lt;br /&gt;
&lt;br /&gt;
[[Trucs et astuces]] :&lt;br /&gt;
*[[Kiosque PC|Mettre en place un PC kiosque]]&lt;br /&gt;
*[[Réseau Internet hybride|Mettre en place un réseau internet hybride]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Administrateurs=&lt;br /&gt;
[[Documentation administrateur|Documentation administrateur]]&lt;br /&gt;
&lt;br /&gt;
[[Paramétrage|Paramétrage]]&lt;br /&gt;
&lt;br /&gt;
[[Module pour importation|Module d'import]]&lt;br /&gt;
&lt;br /&gt;
[[Liste de diffusion|Gérer une liste de diffusion sur OpenFlyers]]&lt;br /&gt;
&lt;br /&gt;
[[Champs additionnels|Champs additionnels]]&lt;br /&gt;
&lt;br /&gt;
[[Formules de calcul|Formules de calcul]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes administrateur|Alertes administrateur]]&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
Comptabilité :&lt;br /&gt;
*[[Comptabilité|Généralités sur la comptabilité]]&lt;br /&gt;
*[[Compte de résultats]]&lt;br /&gt;
*[[Conseils spécifiques pour la comptabilité|Conseils spécifiques]]&lt;br /&gt;
*[[Import dans un logiciel comptable tiers|Import dans un logiciel comptable tiers]]&lt;br /&gt;
*[[Écritures comptables|Les écritures comptables]]&lt;br /&gt;
*[[Gestion des écritures comptables|Gestion des écritures comptables]]&lt;br /&gt;
&lt;br /&gt;
*[[Configuration de la comptabilité|Configuration de la comptabilité]]&lt;br /&gt;
*[[Utilisation de la comptabilité|Utilisation de la comptabilité]]&lt;br /&gt;
*[[Gestion des budgets|Gestion des budgets]]&lt;br /&gt;
*[[OF_doc-en::Accounting-export-template-list|Template de format d'export comptable]]&lt;br /&gt;
*[[Modèle de facture ODT|Template ODT pour les factures]]&lt;br /&gt;
&lt;br /&gt;
[[Contrôle des accès|Contrôle des accès]] :&lt;br /&gt;
*[[Installation armoire à clés|Installation armoire à clés]]&lt;br /&gt;
*[[Gestion armoire à clés|Gestion de l'armoire à clés]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ armoire à clés]]&lt;br /&gt;
&lt;br /&gt;
Facturation client :&lt;br /&gt;
*[[Facturation des clients|Généralités sur la facturation des clients]]&lt;br /&gt;
*[[Facturation des heures de vol|Facturation des heures de vols]]&lt;br /&gt;
*[[Gestion des produits et des ventes|Gestionnaire des produits et des ventes]]&lt;br /&gt;
&lt;br /&gt;
Facturation fournisseur :&lt;br /&gt;
*[[Gestion des achats|Gestion des achats]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des logs|Logs]]&lt;br /&gt;
&lt;br /&gt;
Maintenance :&lt;br /&gt;
*[[Maintenance aéronautique|Maintenance aéronautique]]&lt;br /&gt;
*[[Suivi de maintenance|Suivi de maintenance]]&lt;br /&gt;
*[[Suivi des remarques de maintenance|Suivi des remarques de maintenance]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des rapports|Rapports]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ressources|Ressources]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des stocks|Stocks]]&lt;br /&gt;
&lt;br /&gt;
Utilisateurs :&lt;br /&gt;
*[[Gestion des utilisateurs|Gestion des utilisateurs]]&lt;br /&gt;
*[[Gestion des profils|Gestion des profils]]&lt;br /&gt;
*[[Gestion des validités|Gestion des validités]]&lt;br /&gt;
*[[Mailing]]&lt;br /&gt;
*[[Suivi des emails]]&lt;br /&gt;
&lt;br /&gt;
Documentation Webmasters et Développeurs :&lt;br /&gt;
*[[Interfaçage OpenFlyers et armoire à clé]]&lt;br /&gt;
*[[Contrôle d'identification par OpenFlyers pour un logiciel tiers]]&lt;br /&gt;
*[[Récupération des vols par un logiciel tiers]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Utilisateurs=&lt;br /&gt;
[[Documentation utilisateur|Documentation utilisateur]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ventes côté utilisateur|Ventes]]&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
*[[FAQ client|FAQ clients]]&lt;br /&gt;
*[[FAQ administrateur|FAQ administrateur]]&lt;br /&gt;
*[[FAQ utilisateur|FAQ utilisateur]]&lt;br /&gt;
*[[FAQ comptabilité|FAQ comptabilité]]&lt;br /&gt;
*[[FAQ export]]&lt;br /&gt;
*[[FAQ AeroBox]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ Armoire à clés]]&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15066</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15066"/>
				<updated>2017-01-09T10:41:07Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Documentation Utilisateurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:2013-OF4-launch.gif|right|link=OF_doc4-fr:Montée-de-version]]&lt;br /&gt;
&lt;br /&gt;
Bienvenue sur la [[Toutes les documentations|documentation]] d''''OpenFlyers version 3'''.&lt;br /&gt;
&lt;br /&gt;
You can also access to our [[OF_doc-en:Main-Page3|english documentation]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
OpenFlyers :&lt;br /&gt;
*[[Introduction|La suite logicielle OpenFlyers]]&lt;br /&gt;
*[[Technologies de géolocalisation aéronautique|Les technologies de géolocalisation pour l'aéronautique]]&lt;br /&gt;
*[[Modèle-commercial-et-compte-client-OpenFlyers|Modèle commercial et compte client OpenFlyers]]&lt;br /&gt;
*[[Découvrir OpenFlyers|Découvrir le logiciel OpenFlyers]]&lt;br /&gt;
*[[Bien communiquer avec OpenFlyers|Bien communiquer avec OpenFlyers]]&lt;br /&gt;
*[[Formations OpenFlyers|Formations OpenFlyers]]&lt;br /&gt;
*[[Historique des versions|Historique des versions]]&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
*[[Créer une plateforme OpenFlyers pour sa structure|Créer une plateforme OpenFlyers pour sa structure]]&lt;br /&gt;
*[[Bien débuter avec OpenFlyers|Bien débuter avec OpenFlyers (et mise en place d'un TPE)]]&lt;br /&gt;
*[[Compatibilité des navigateurs|Compatibilité des navigateurs]]&lt;br /&gt;
&lt;br /&gt;
[[Rapporter un bug]]&lt;br /&gt;
&lt;br /&gt;
[[Trucs et astuces]] :&lt;br /&gt;
*[[Kiosque PC|Mettre en place un PC kiosque]]&lt;br /&gt;
*[[Réseau Internet hybride|Mettre en place un réseau internet hybride]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Administrateurs=&lt;br /&gt;
[[Documentation administrateur|Documentation administrateur]]&lt;br /&gt;
&lt;br /&gt;
[[Paramétrage|Paramétrage]]&lt;br /&gt;
&lt;br /&gt;
[[Module pour importation|Module d'import]]&lt;br /&gt;
&lt;br /&gt;
[[Liste de diffusion|Gérer une liste de diffusion sur OpenFlyers]]&lt;br /&gt;
&lt;br /&gt;
[[Champs additionnels|Champs additionnels]]&lt;br /&gt;
&lt;br /&gt;
[[Formules de calcul|Formules de calcul]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
Comptabilité :&lt;br /&gt;
*[[Comptabilité|Généralités sur la comptabilité]]&lt;br /&gt;
*[[Compte de résultats]]&lt;br /&gt;
*[[Conseils spécifiques pour la comptabilité|Conseils spécifiques]]&lt;br /&gt;
*[[Import dans un logiciel comptable tiers|Import dans un logiciel comptable tiers]]&lt;br /&gt;
*[[Écritures comptables|Les écritures comptables]]&lt;br /&gt;
*[[Gestion des écritures comptables|Gestion des écritures comptables]]&lt;br /&gt;
&lt;br /&gt;
*[[Configuration de la comptabilité|Configuration de la comptabilité]]&lt;br /&gt;
*[[Utilisation de la comptabilité|Utilisation de la comptabilité]]&lt;br /&gt;
*[[Gestion des budgets|Gestion des budgets]]&lt;br /&gt;
*[[OF_doc-en::Accounting-export-template-list|Template de format d'export comptable]]&lt;br /&gt;
*[[Modèle de facture ODT|Template ODT pour les factures]]&lt;br /&gt;
&lt;br /&gt;
[[Contrôle des accès|Contrôle des accès]] :&lt;br /&gt;
*[[Installation armoire à clés|Installation armoire à clés]]&lt;br /&gt;
*[[Gestion armoire à clés|Gestion de l'armoire à clés]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ armoire à clés]]&lt;br /&gt;
&lt;br /&gt;
Facturation client :&lt;br /&gt;
*[[Facturation des clients|Généralités sur la facturation des clients]]&lt;br /&gt;
*[[Facturation des heures de vol|Facturation des heures de vols]]&lt;br /&gt;
*[[Gestion des produits et des ventes|Gestionnaire des produits et des ventes]]&lt;br /&gt;
&lt;br /&gt;
Facturation fournisseur :&lt;br /&gt;
*[[Gestion des achats|Gestion des achats]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des logs|Logs]]&lt;br /&gt;
&lt;br /&gt;
Maintenance :&lt;br /&gt;
*[[Maintenance aéronautique|Maintenance aéronautique]]&lt;br /&gt;
*[[Suivi de maintenance|Suivi de maintenance]]&lt;br /&gt;
*[[Suivi des remarques de maintenance|Suivi des remarques de maintenance]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des rapports|Rapports]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ressources|Ressources]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des stocks|Stocks]]&lt;br /&gt;
&lt;br /&gt;
Utilisateurs :&lt;br /&gt;
*[[Gestion des utilisateurs|Gestion des utilisateurs]]&lt;br /&gt;
*[[Gestion des profils|Gestion des profils]]&lt;br /&gt;
*[[Gestion des validités|Gestion des validités]]&lt;br /&gt;
*[[Mailing]]&lt;br /&gt;
*[[Suivi des emails]]&lt;br /&gt;
&lt;br /&gt;
Documentation Webmasters et Développeurs :&lt;br /&gt;
*[[Interfaçage OpenFlyers et armoire à clé]]&lt;br /&gt;
*[[Contrôle d'identification par OpenFlyers pour un logiciel tiers]]&lt;br /&gt;
*[[Récupération des vols par un logiciel tiers]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Utilisateurs=&lt;br /&gt;
[[Documentation utilisateur|Documentation utilisateur]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ventes côté utilisateur|Ventes]]&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
*[[FAQ client|FAQ clients]]&lt;br /&gt;
*[[FAQ administrateur|FAQ administrateur]]&lt;br /&gt;
*[[FAQ utilisateur|FAQ utilisateur]]&lt;br /&gt;
*[[FAQ comptabilité|FAQ comptabilité]]&lt;br /&gt;
*[[FAQ export]]&lt;br /&gt;
*[[FAQ AeroBox]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ Armoire à clés]]&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Alertes-administrateur&amp;diff=15063</id>
		<title>Alertes administrateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Alertes-administrateur&amp;diff=15063"/>
				<updated>2017-01-09T10:39:48Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Alertes lors de la clôture de la comptabilité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
&lt;br /&gt;
L'objet de cette page est de décrire les alertes qui peuvent apparaître du côté administrateur.&lt;br /&gt;
&lt;br /&gt;
=Alertes lors de la [[Utilisation-de-la-comptabilité#Clôturer-l'exercice-comptable|clôture de la comptabilité]]=&lt;br /&gt;
&lt;br /&gt;
==Il y a des écritures non validées==&lt;br /&gt;
&lt;br /&gt;
Cette alerte s'affiche lors de la clôture de la comptabilité quand ils existent des écritures non validées antérieures à la date de clôture.&lt;br /&gt;
&lt;br /&gt;
==Les vols et les règlements doivent être validés pour clôturer l'exercice==&lt;br /&gt;
&lt;br /&gt;
Cette alerte s'affiche lorsque des écritures non validées ou des vols non validées sont antérieures ou égales à la date de début d'exercice comptable.&lt;br /&gt;
&lt;br /&gt;
=[[Utilisation de la comptabilité#Alertes_générées_lors_d'une_tentative_d'export_comptable|Alertes lors de tentative d'export comptable]]=&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Alertes-utilisateur&amp;diff=15062</id>
		<title>Alertes utilisateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Alertes-utilisateur&amp;diff=15062"/>
				<updated>2017-01-09T10:39:39Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Alertes lors de tentative d'export comptable */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
&lt;br /&gt;
L'objet de cette page est de décrire les alertes qui peuvent apparaître du côté utilisateur.&lt;br /&gt;
&lt;br /&gt;
=Alertes à la connexion=&lt;br /&gt;
==[[Documentation utilisateur#Alerte_à_la_connexion|Alertes à la connexion sur les validités]]==&lt;br /&gt;
&lt;br /&gt;
==Votre navigateur n'accepte pas les cookies==&lt;br /&gt;
Lors de l'affichage de la page de connexion, OpenFlyers fait un test d'enregistrement de cookie depuis le navigateur (en javascript) pour vérifier que ce dernier accepte bien l'enregistrement des cookies. Si ce test échoue, le message d'alerte est affiché.&lt;br /&gt;
&lt;br /&gt;
Pour corriger ce problème, il faut [[FAQ utilisateur#Navigation_dans_OpenFlyers|autoriser l'enregistrement des cookies]].&lt;br /&gt;
&lt;br /&gt;
Si les cookies sont déjà autorisés, il faut vérifier dans la barre d'adresse du navigateur que l'URL utilisée pour accéder à la plateforme OpenFlyers corresponde bien à celle de votre plateforme. En effet, il existe des sites internets qui usurpent les adresses des sites internets. Cette adresse doit être sous la forme : '''nom-de-la-plateforme'''.openflyers.'''tld''' où nom-de-la-plateforme dépend de la structure et '''tld''' à &amp;quot;fr&amp;quot;, &amp;quot;be&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
=Alertes lors de réservation=&lt;br /&gt;
==[[Documentation utilisateur#Alertes_lors_d'une_réservation_ou_une_saisie_de_vol|Alerte sur les validités lors d'une réservation]]==&lt;br /&gt;
&lt;br /&gt;
==L'instructeur n'est pas disponible pendant le créneau souhaité==&lt;br /&gt;
&lt;br /&gt;
Lorsqu'un utilisateur tente d'effectuer une réservation avec une personne en seconde place, une alerte s'affiche si cette dernière a :&lt;br /&gt;
*ses disponibilités qui sont indéfinies&lt;br /&gt;
*ses disponibilités qui ne concordent pas avec le créneau souhaité&lt;br /&gt;
&lt;br /&gt;
=[[Documentation utilisateur#Alertes_générées_lors_de_la_saisie_d'une_activité|Alertes lors de saisie d'activité]]=&lt;br /&gt;
&lt;br /&gt;
=[[Documentation utilisateur#Alertes_générées_lors_de_la_saisie_d'écritures_comptables|Alertes lors de saisie d'écritures comptables]]=&lt;br /&gt;
&lt;br /&gt;
=La visualisation du compte XXX n'est pas autorisée=&lt;br /&gt;
Cette alerte s'affiche lorsqu'un utilisateur tente d'afficher l'extrait d'un compte auquel il n'a pas le droit.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Alertes-administrateur&amp;diff=15061</id>
		<title>Alertes administrateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Alertes-administrateur&amp;diff=15061"/>
				<updated>2017-01-09T10:38:52Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Alertes lors de la clôture de la comptabilité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
&lt;br /&gt;
L'objet de cette page est de décrire les alertes qui peuvent apparaître du côté administrateur.&lt;br /&gt;
&lt;br /&gt;
=Alertes lors de la [[Utilisation-de-la-comptabilité#Clôturer-l'exercice-comptable|clôture de la comptabilité]]=&lt;br /&gt;
&lt;br /&gt;
==Il y a des écritures non validées==&lt;br /&gt;
&lt;br /&gt;
Cette alerte s'affiche lors de la clôture de la comptabilité quand ils existent des écritures non validées antérieures à la date de clôture.&lt;br /&gt;
&lt;br /&gt;
==Les vols et les règlements doivent être validés pour clôturer l'exercice==&lt;br /&gt;
&lt;br /&gt;
Cette alerte s'affiche lorsque des écritures non validées ou des vols non validées sont antérieures ou égales à la date de début d'exercice comptable.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Utilisation-de-la-comptabilit%C3%A9&amp;diff=15060</id>
		<title>Utilisation de la comptabilité</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Utilisation-de-la-comptabilit%C3%A9&amp;diff=15060"/>
				<updated>2017-01-09T10:38:31Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Clôturer l'exercice comptable */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire la saisie des opérations de [[Comptabilité|comptabilité]].&lt;br /&gt;
&lt;br /&gt;
=Clôturer l'exercice comptable=&lt;br /&gt;
''Attention : la clôture de la comptabilité ne doit être effectuée qu'une fois qu'on est sûr et certain de ne plus avoir à intervenir sur l'exercice à clôturer. Cette opération doit donc être temporisée dans le temps sachant qu'il est tout à fait possible de poursuivre son activité sur l'exercice suivant sans que l'exercice précédent ne soit clôturé.''&lt;br /&gt;
&lt;br /&gt;
OpenFlyers affiche une [[Alertes de configuration#L'exercice_comptable_courant_a_plus_d'un_an|alerte lorsque l'exercice en cours est ouvert depuis 400 jours]].&lt;br /&gt;
&lt;br /&gt;
Avant de clôturer, il faut :&lt;br /&gt;
*Si le bilan est effectué dans OpenFlyers, [[Écritures comptables#Écritures_de_fin_d'exercice_avant_la_clôture_de_la_comptabilité|saisir les écritures de fin d'exercice]]&lt;br /&gt;
*Dans tous les cas, [[#Solder-les-comptes|remettre à 0 les soldes des comptes d'exploitation]].&lt;br /&gt;
*Valider toutes les écritures antérieures à la date de clôture.&lt;br /&gt;
En effet, on ne peut clôturer qu'une période pour laquelle toutes les écritures comptables ont été validées sinon cela engendre [[Alertes-administrateur#Alertes-lors-de-la-clôture-de-la-comptabilité|des alertes]]. Pour cela, il peut être nécessaire de [[#Retrouver-les-écritures-non-validées|retrouver les écritures non validées]].&lt;br /&gt;
&lt;br /&gt;
Ensuite, pour clôturer :&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Gestion / Export'''.&lt;br /&gt;
*Dans la 2ème partie intitulée '''Gestion de l'exercice comptable''', renseigner le champ '''Date de clôture'''.&lt;br /&gt;
La date de début de nouvel exercice est automatiquement actualisée.&lt;br /&gt;
&lt;br /&gt;
Pour une structure qui a un exercice annuel correspondant à l'année civile les dates devraient être 31/12/XXXX et 01/01/XXXX+1&lt;br /&gt;
*Cliquer sur le bouton '''Clôturer l'exercice puis ouvrir un nouvel exercice'''.&lt;br /&gt;
&lt;br /&gt;
=Exporter la comptabilité=&lt;br /&gt;
''Conseil OpenFlyers : l'export de la comptabilité nécessite au préalable des actions irréversibles comme la validation de l'ensemble des écritures. Pour les personnes débutantes avec cette fonction et qui souhaite pouvoir exporter sans effectuer ces actions irréversibles, il est recommandé de [[Modèle-commercial-et-compte-client-OpenFlyers#Plateforme-supplémentaire-de-test|s'entrainer avec le bac à sable]] en effectuant une recopie de sa plateforme de production.''&lt;br /&gt;
==Actions à effectuer par ordre chronologique==&lt;br /&gt;
OpenFlyers permet d'exporter uniquement les [[Bien débuter avec OpenFlyers#Validation_des_écritures|écritures validées]] et ainsi ne propose par défaut comme période d'export que la période maximum exportable ne contenant que des écritures validées.&lt;br /&gt;
&lt;br /&gt;
Les exports se font généralement à intervalle régulier : tous les mois, tous les trimestres ou tous les ans.&lt;br /&gt;
&lt;br /&gt;
Si vous n'avez pas de logiciel de comptabilité, il est recommandé d'effectuer quand même l'export et de l'archiver sur un support de stockage (disque dur par exemple) pour conservation.&lt;br /&gt;
&lt;br /&gt;
Dans le cas du dernier export d'un exercice comptable donné, il est important de décider avant l'export si tout ou partie des écritures de fin d'exercice doivent être réalisées avant ou après. En général, si l'export sert ensuite à être retravaillé dans un logiciel de comptabilité, alors les écritures de fin d'exercice seront réalisées dans le logiciel de comptabilité et il ne faudra faire le &amp;quot;nettoyage&amp;quot; côté OpenFlyers qu'à l'issue de l'export comptable officiel. Ainsi les points 2 et 3 des &amp;quot;Opérations à effectuer avant tout export&amp;quot; ci-dessous doit être, dans certains cas, réalisé en partie ou en totalité après le point 2 des &amp;quot;Opérations supplémentaires pour l'export de fin d'exercice&amp;quot; ci-dessous.&lt;br /&gt;
&lt;br /&gt;
De plus, si vous utilisez un logiciel de comptabilité uniquement pour le bilan, c'est à dire que les charges sont gérées dans OpenFlyers, alors la clôture dans OpenFlyers doit être faite après la clôture dans ce logiciel de comptabilité. Il est ainsi possible de vérifier que les &amp;quot;A nouveaux&amp;quot; sont identiques dans les 2 logiciels et de corriger dans OpenFlyers si nécessaire. Il existe un [[OF_doc-en:Accounting_exports_3#Carry_forwards|rapport qui permet d'avoir les à nouveaux]].&lt;br /&gt;
&lt;br /&gt;
Prérequis à tout export comptable :&lt;br /&gt;
*[[Configuration de la comptabilité#Comptes_d'export|Attribuer les comptes d'export]] pour ne pas avoir l'alerte &amp;quot;[[#Vous_ne_pouvez_exporter_car_il_y_a_des_comptes_sans_valeur_d'export|Vous ne pouvez exporter car il y a des comptes sans valeur d'export]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Opérations à effectuer pour tout export :&lt;br /&gt;
#[[#Retrouver-les-écritures-non-validées|Retrouver les écritures non validées]] pour [[Bien débuter avec OpenFlyers#Validation_des_écritures|les valider]]&lt;br /&gt;
#[[#Export_de_la_comptabilité|Export de la comptabilité]]&lt;br /&gt;
#[[Import dans un logiciel comptable tiers|import dans un logiciel de comptabilité]]&lt;br /&gt;
&lt;br /&gt;
Opérations supplémentaires pour l'export de fin d'exercice :&lt;br /&gt;
#[[Écritures comptables#Écritures_de_fin_d'exercice_avant_la_clôture_de_la_comptabilité|Écritures de fin d'exercice avant la clôture de l'exercice]] dont le [[#Solder-les-comptes|solde des comptes d'exploitation]]&lt;br /&gt;
#Validation des écritures de fin d'exercice par la [[Utilisation de la comptabilité#Validation_d'un_flux|validation des flux]] correspondant.&lt;br /&gt;
#Ultime export pour stockage [[#Marquer_les_écritures_lors_de_l'export|en marquant les écritures]].&lt;br /&gt;
#[[#Clôturer-l'exercice-comptable|Clôture / ouverture du nouvel exercice comptable]].&lt;br /&gt;
#[[Écritures comptables#Écritures_de_début_d'exercice_après_l'ouverture_de_la_comptabilité|Écritures de début d'exercice après l'ouverture de la comptabilité]].&lt;br /&gt;
&lt;br /&gt;
==Alertes générées lors d'une tentative d'[[Utilisation de la comptabilité#Les_exports_comptables|export comptable]]==&lt;br /&gt;
===Vous ne pouvez exporter car il y a des comptes sans valeur d'export===&lt;br /&gt;
Cette alerte bloquante apparait dans '''Comptes &amp;gt; Gestion / Export''' avec les éléments suivants :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous ne pouvez exporter car il y a des comptes sans valeur d'export&lt;br /&gt;
intitulé de compte X (type de compte Y)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Pour supprimer cette alerte, il faut [[Configuration de la comptabilité#Comptes_d'export|attribuer les comptes d'export manquants]].&lt;br /&gt;
&lt;br /&gt;
==Export de la comptabilité==&lt;br /&gt;
Pour exporter la comptabilité, il faut :&lt;br /&gt;
*Aller côté '''Admin'''&lt;br /&gt;
*Puis '''Comptes &amp;gt; Gestion / Export'''&lt;br /&gt;
3 parties se superposent :&lt;br /&gt;
*'''Solder les comptes'''&lt;br /&gt;
*'''Gestion de l'exercice comptable'''&lt;br /&gt;
*'''Statistiques'''/ '''Export de la comptabilité'''&lt;br /&gt;
Le tableau '''Statistiques''' donne des informations sur les écritures. Sa lecture est indispensable pour vérifier qu'il ne subsiste pas d'écriture non validée antérieures à la fin de la période d'export souhaitée. Si c'est le cas, il faut alors [[#Retrouver-les-écritures-non-validées|trouver les écritures non validées]] et les valider.&lt;br /&gt;
&lt;br /&gt;
Au-dessous du titre apparait la période que l'on souhaite exporter. Attention: la période proposée par défaut correspond à la plus grande période possible et ne correspond donc pas à la période souhaitée. Il faut donc modifier la date de fin.&lt;br /&gt;
&lt;br /&gt;
Exemples :&lt;br /&gt;
*Si on souhaite exporter '''une année civile complète''', alors il faut sélectionner comme date de fin le 31 décembre.&lt;br /&gt;
*Si on souhaite exporter '''un mois''', il faut sélectionner comme date de fin le dernier jour du mois concerné.&lt;br /&gt;
&lt;br /&gt;
Il est également possible de marquer les écritures exportées afin qu'elles ne soient plus ré-exportées. Cependant, à la place de cette zone de saisie, il peut apparaitre la liste des comptes sans [[#Compte_d'export|valeur d'export]] c'est à dire sans le numéro de compte du plan comptable. Dans ce cas, il faut d'abord rechercher le compte concerné dans '''Comptes &amp;gt; Lister les comptes''' puis attribuer au compte concerné une valeur d'export.&lt;br /&gt;
*Cocher ou non '''[[#Marquer_les_écritures_lors_de_l'export|Marquer les écritures]]'''.&lt;br /&gt;
*L'export s'effectue en cliquant sur le bouton '''Exporter''' de la ligne du logiciel vers lequel on souhaite exporter.&lt;br /&gt;
*Il faut ensuite [[Import dans un logiciel comptable tiers|importer dans un logiciel comptable tiers]].&lt;br /&gt;
&lt;br /&gt;
'''Remarques :'''&lt;br /&gt;
*Il n'est possible d'exporter que des écritures validées. Par conséquent s'il subsiste des écritures non validées sur la période d'export souhaité, alors une alerte apparaitra signalant qu'il n'est pas possible d'exporter la période souhaitée.&lt;br /&gt;
*Dans le fichier d'export, les écritures sont triées par numéro de flux.&lt;br /&gt;
&lt;br /&gt;
===Marquer les écritures lors de l'export===&lt;br /&gt;
Lors d'un export comptable, OpenFlyers donne la possibilité de marquer ou non les écritures qui vont être exportées. Cela permet :&lt;br /&gt;
*Soit de pouvoir ré-exporter des écritures déjà exportées (mais non marquées)&lt;br /&gt;
*Soit au contraire de ne plus exporter des écritures dont OpenFlyers sait qu'elles ont déjà été exportées car marquées.&lt;br /&gt;
&lt;br /&gt;
Ce choix se fait dans le formulaire d'export en cochant '''Marquer les écritures (elles ne pourront plus être exportées de nouveau)'''.&lt;br /&gt;
&lt;br /&gt;
Il est conseillé de toujours procéder à un 1er export sans marquer les écritures. Ainsi, si l'export se passe mal, on aura la garantie de pouvoir le refaire.&lt;br /&gt;
&lt;br /&gt;
=Mettre à jour les tarifs=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Ventes &amp;gt; Prix &amp;gt; Actualisation des prix'''&lt;br /&gt;
[[Image:Menu-vente-prix-actualisation-des-prix.png]]&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur le bouton '''Modifier''' en bas du tableau et '''non pas sur l'icône crayon à droite de la ligne de tarif'''.&lt;br /&gt;
[[Image:Tableau-vente-prix-actualisation-de-prix.png]]&lt;br /&gt;
&lt;br /&gt;
*Saisir une nouvelle valeur et la date à partir de laquelle le tarif s'appliquera. Vous pouvez anticiper un changement de tarif. Le tarif s'appliquera à la date du mouvement.&lt;br /&gt;
[[Image:Ajout-nouvelle-valeur-variable-tarif.png]]&lt;br /&gt;
&lt;br /&gt;
'''Attention''': si vous cliquez sur l'icône &amp;quot;Édition&amp;quot; (Crayon dans la colonne action) et que vous modifiez la valeur, alors vous changez le prix de cette période mais vous ne créez pas un nouveau tarif. Vous perdrez toute possibilité de corriger par exemple un vol à une date donnée. &lt;br /&gt;
&lt;br /&gt;
*Si vous avez le message d'erreur &amp;quot;chaque variable doit disposer d'une valeur antérieure à la date de début de l'exercice comptable&amp;quot; cela signifie que la variable ne possède pas de valeur entre la date de début d'exercice (date définie dans '''Admin &amp;gt; Comptes &amp;gt; Gestion &amp;amp; Export''') et la date indiquée. Le programme refuse qu'il y ai un &amp;quot;trou tarifaire&amp;quot; (vols non facturés). &lt;br /&gt;
*Chaque variable utilisée dans les formules de tarification doit avoir une valeur initialisée depuis une date antérieure à la date de début de l'exercice comptable&lt;br /&gt;
&lt;br /&gt;
=Opérations sur les comptes=&lt;br /&gt;
&lt;br /&gt;
==Créer un compte==&lt;br /&gt;
&lt;br /&gt;
===Créer un compte ressource===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte ressource, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressource &amp;gt; Comptes ressource'''.&lt;br /&gt;
*Dans la ligne de la ressource concernée, cliquer sur l'icône check du compte souhaité.&lt;br /&gt;
&lt;br /&gt;
===Créer un compte utilisateur===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte utilisateur, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs&amp;gt; Comptes utilisateur'''.&lt;br /&gt;
*Dans la ligne de l'utilisateur concerné, cliquer sur l'icône check du compte souhaité.&lt;br /&gt;
&lt;br /&gt;
===Créer un compte non-ressource non-utilisateur===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Lister les comptes &amp;gt; Tous les comptes'''.&lt;br /&gt;
*En bas du tableau, remplir la ligne et choisir la catégorie du compte&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
&lt;br /&gt;
==Créer un type de compte==&lt;br /&gt;
&lt;br /&gt;
===Créer un type de compte ressource===&lt;br /&gt;
&lt;br /&gt;
Pour créer un type de compte ressource, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Types de compte actifs''' puis cliquer sur le bouton '''Ajouter un compte'''.&lt;br /&gt;
*Saisir les champs du formulaire et valider .&lt;br /&gt;
&lt;br /&gt;
==Désactiver un compte==&lt;br /&gt;
Pour désactiver un compte qui ne doit plus être utilisé, il faut que :&lt;br /&gt;
* le compte ne doit pas être utilisé dans une règle de tarification. Cela concerne directement les comptes et non pas les types de comptes. Ainsi, il est possible de désactiver un compte utilisateur ou un compte ressource alors qu'il existe des règles de tarification qui utilisent le même type de compte que le compte à désactiver.&lt;br /&gt;
* dans le cas d'un compte de type utilisateur, l'utilisateur possédant ce compte ne doit pas être lié à un profil qui requiert le type de compte &lt;br /&gt;
* le compte ne doit pas être utilisé par un type de facture fournisseur&lt;br /&gt;
* le compte ne doit pas créer de trou dans la comptabilité. C'est à dire que :&lt;br /&gt;
** le [[#Solder_un_compte|solde du compte doit être à 0]]&lt;br /&gt;
** les écritures associées à ce compte doivent être toutes validées&lt;br /&gt;
Ensuite, on peut procéder à sa désactivation en cliquant sur l'icône symbolisant une poubelle sur la ligne de ce compte. Un compte n'ayant jamais eu d'écriture est supprimé au lieu de passer à l'état désactivé.&lt;br /&gt;
&lt;br /&gt;
==Lister les comptes==&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Comptes ressource''' pour obtenir les comptes ressource&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs &amp;gt; Comptes utilisateur''' pour obtenir les comptes utilisateur&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Lister les comptes &amp;gt; Tous les comptes''' pour obtenir les autres comptes.&lt;br /&gt;
&lt;br /&gt;
Dans ces pages, le solde de chaque compte est calculé en prenant les écritures datant du début d'exercice comptable jusqu'à la date et l'heure courante. Ainsi, les écritures comptables avec une date comptable future ne sont pas prises en compte pour le calcul du solde.&lt;br /&gt;
&lt;br /&gt;
=Retrouver les écritures non validées=&lt;br /&gt;
S'il y a beaucoup d'écritures à valider, il faut procéder de façon systématique en parcourant chaque interface de validation :&lt;br /&gt;
*Pour les vols, aller dans '''Admin &amp;gt; Vols &amp;gt; Liste des vols''' puis '''Valider les vols sélectionnés''' pour chaque aéronef.&lt;br /&gt;
*Pour les encaissements, aller dans '''Admin &amp;gt; Comptes &amp;gt; Pointer''' et choisir chaque type de paiement.&lt;br /&gt;
*Pour les transferts, aller dans '''Admin &amp;gt; Comptes &amp;gt; Valider les flux''' puis '''valider les transferts'''.&lt;br /&gt;
*Pour les factures, aller dans '''Admin &amp;gt; Achats &amp;gt; Liste des factures fournisseurs'''.&lt;br /&gt;
*Pour les ventes, aller dans '''Admin &amp;gt; Ventes &amp;gt; Valider les ventes'''. Choisir ses critères de recherche et valider le formulaire. Ensuite cocher les différentes ventes listées puis '''Pointer les entrées sélectionnées'''.&lt;br /&gt;
En procédant ainsi, il ne doit normalement ne pas subsister d'écriture à valider. Cependant, si l'essentiel des écritures a été validé, alors il est plus rapide de rechercher les écritures à valider que de parcourir chaque interface de validation.&lt;br /&gt;
&lt;br /&gt;
Pour rechercher les écritures restantes à valider, il faut :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Gestion / Export'''&lt;br /&gt;
En-dessous du titre '''Statistiques''' figure un tableau :&lt;br /&gt;
&lt;br /&gt;
[[Image:Tableau_statistiques_gestion-export.png]]&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessus, on peut voir à la ligne ''Ecritures non validées'', colonne ''Date de première écriture'' l'horodatage &amp;quot;19/08/2013 14:45&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Cela veut dire qu'il y a au moins une écriture qui date du 19 août 2013 et qui n'a pas été validée.&lt;br /&gt;
&lt;br /&gt;
Pour retrouver cette écriture non validée, il faut :&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Mouvements'''&lt;br /&gt;
*Rechercher l'écriture d'après la date indiquée.&lt;br /&gt;
Son contenu permettra de savoir s'il s'agit d'un vol, d'un encaissement, d'un flux, etc. Si un doute subsiste sur le type d'écriture, il faut cliquer sur l'icône &amp;quot;modifier&amp;quot; de l'écriture considérée afin de se retrouver dans son formulaire d'édition.&lt;br /&gt;
&lt;br /&gt;
Remarques :&lt;br /&gt;
*Le nombre d'écritures non validées indiqué dans le tableau '''Statistiques''' correspond au nombre TOTAL d'écritures non validées. En effet, OpenFlyers sait quand est-ce que vous commencez un exercice mais il ne sait pas quand est-ce que vous voulez qu'il s'arrête. Donc il prend toutes les écritures non validées.&lt;br /&gt;
*OpenFlyers ne permet d'exporter ou de clôturer que la période qui inclut des écritures validées. Dès qu'il rencontre une écriture non validée, il bloque toute action d'export ou de clôture.&lt;br /&gt;
&lt;br /&gt;
=Saisie d'écritures comptables=&lt;br /&gt;
==Saisie d'un flux==&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Saisir un flux'''&lt;br /&gt;
*Sélectionner sur la première ligne de compte, le compte concerné&lt;br /&gt;
*Remplir le champ débit ou crédit selon le cas&lt;br /&gt;
*Sélectionner sur la 2ème ligne un compte de contre-partie&lt;br /&gt;
*Sur cette 2ème ligne, cliquer sur l'icône qui symbolise une balance avec une flèche bleue et intitulé &amp;quot;Equilibrer la dernière ligne&amp;quot;&lt;br /&gt;
*Remplir le champ '''commentaires'''&lt;br /&gt;
*Choisir une date comptable dans le champ '''Date comptable''' en cliquant sur l'icône associée.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
Remarque : La date comptable proposée par défaut correspond à la date comptable du dernier flux saisi. Cela permet de faciliter les [[Comptabilité#Règles_de_saisies_de_la_comptabilité_courante|saisies au vu du relevé de banque]].&lt;br /&gt;
&lt;br /&gt;
==Validation d'un flux==&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Valider les flux'''&lt;br /&gt;
*Cocher dans la 1ère colonne '''Pointer''' les lignes à valider&lt;br /&gt;
*Cliquer sur le bouton '''Valider les flux sélectionnés (cette action est irréversible)'''&lt;br /&gt;
&lt;br /&gt;
==Annuler l'effet d'une écriture comptable==&lt;br /&gt;
Dans le cas où une écriture comptable a été validée, il n'est plus possible de la supprimer pour assurer la [[Comptabilité#Traçabilité_des_écritures|traçabilité des écritures]]. De ce fait, le seul moyen d'en annuler son effet consiste à saisir une écriture opposée. Pour cela, il faut [[#Saisie_d'un_flux|saisir un flux]] en sélectionnant les comptes mis en jeu dans l'écriture à annuler en choisissant de débiter ou créditer du même montant (mais dans le sens opposé) que l'écriture initiale.&lt;br /&gt;
&lt;br /&gt;
Exemple : Un compte A a été débité de 100 € et la contre-partie a été sur un compte B. Pour annuler l'effet de cette écriture, il faut [[#Saisie_d'un_flux|saisir un flux]] qui va créditer le compte A de 100 € et débiter le compte B du même montant.&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'une vente de produit type &amp;quot;pack d'heures&amp;quot;, il ne faut pas oublier d'annuler également les mouvements concernant les crédits d'heures.&lt;br /&gt;
&lt;br /&gt;
Cette solution permet de garder une traçabilité des écritures qui peuvent avoir été saisies par d'autres personnes et surtout qui peuvent affecter des comptes d'utilisateurs.&lt;br /&gt;
&lt;br /&gt;
C'est comme pour un compte bancaire : un banquier ne supprime jamais une écriture sur un compte client. Il passe simplement une nouvelle écriture qui annule l'effet de la précédente.&lt;br /&gt;
&lt;br /&gt;
==[[Écritures comptables#Avoir_clients|Saisie d'un avoir client]]==&lt;br /&gt;
Il faut [[#Saisie_d'un_flux|saisir un flux]] qui va créditer un compte utilisateur/client d'un certain montant et débiter un compte produit &amp;quot;Remise X&amp;quot; du même montant.&lt;br /&gt;
&lt;br /&gt;
==Solder un compte==&lt;br /&gt;
Pour solder un compte, il faut [[#Saisie_d'un_flux|saisir un flux]] avec la particularité que l'on souhaite &amp;quot;ramener le solde à zéro&amp;quot; d'un compte donné. Pour cela, il faut en plus des [[#Saisie_d'un_flux|opérations]] indiquées pour la saisie d'un flux, il faut :&lt;br /&gt;
*dans la première ligne de compte, sélectionner le compte concerné&lt;br /&gt;
*Cliquer sur l'icône qui symbolise une balance intitulé &amp;quot;Ramener le solde à zéro&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de compte de contre-partie dans le cas de la mise à zéro du solde d'un compte ressource : compte de bilan '''Report à nouveau'''&lt;br /&gt;
&lt;br /&gt;
==Retrouver les flux supprimés sans permission==&lt;br /&gt;
&lt;br /&gt;
Pour retrouver des flux supprimés sans permission, il est possible de consulter les logs. Deux rapports ont été créés pour faciliter cette tâche.&lt;br /&gt;
&lt;br /&gt;
Le premier rapport &amp;quot;[[OF_doc-en::Export_generator_3#People_who_have_deleted_encashments/flows_without_having_the_permission|liste des personnes ayant supprimés des encaissements/flux sans permission]]&amp;quot; permet d'obtenir en outre de la personne, la date de la suppression et le numéro de flux supprimé.&lt;br /&gt;
&lt;br /&gt;
Le second rapport &amp;quot;[[OF_doc-en::Export_generator_3#Historic_of_changes_for_a_specific_encashment/flow|Liste des changements spécifiques à un encaissement/flux]]&amp;quot; permet de connaître les détails d'un flux. Ce rapport est lié au champ additionnel &amp;quot;Numéro de flux&amp;quot; qui doit être préalablement créé.&lt;br /&gt;
&lt;br /&gt;
Pour avoir le détail de tous les flux supprimés, procéder ainsi :&lt;br /&gt;
# Ouvrir deux onglets sur le navigateur.&lt;br /&gt;
# Dans ces onglets, se rendre dans la page qui liste les rapports '''Admin &amp;gt; Rapports &amp;gt; Structure &amp;gt; Visualiser'''.&lt;br /&gt;
# Dans le premier onglet, sélectionner le premier rapport et valider pour avoir la liste des numéros de flux.&lt;br /&gt;
# Copier un numéro de flux (numéro dans la colonne &amp;quot;flowid&amp;quot;).&lt;br /&gt;
# Dans le second onglet, coller le numéro de flux dans le champ destiné. Sélectionner le second rapport et valider pour avoir le détail du flux.&lt;br /&gt;
# Répéter l'opération 4 et 5 pour chaque numéro de flux dont il faut les détails.&lt;br /&gt;
&lt;br /&gt;
=Solder les comptes=&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Gestion / Export'''&lt;br /&gt;
*Dans le formulaire '''Solder les comptes''' :&lt;br /&gt;
*Laisser tous les comptes &amp;quot;Ressources&amp;quot; cochés sauf si certains ne sont pas des comptes d'exploitation&lt;br /&gt;
*La date proposée dans le champ '''A la date du''' doit correspondre au 31 décembre de l'année de l'exercice comptable en cours&lt;br /&gt;
*Dans le champ '''Comptabilité''', sélectionner la comptabilité souhaitée : il faudra effectuer cette opération pour chacune des comptabilités de la plateforme&lt;br /&gt;
*Dans le chmp '''Compte de contrepartie''', sélectionner le compte de bilan souhaité, normalement il s'agit du compte '''Report à nouveau (Bilan)''' pour la comptabilité générale&lt;br /&gt;
*Cliquer sur le bouton '''Générer les écritures'''&lt;br /&gt;
&lt;br /&gt;
Ce module génère alors un unique flux qui solde les comptes de charges, de produits et ceux liés aux ressources vers un compte de contrepartie de sorte que ces comptes soient ramenés à 0 à la date sélectionnée.&lt;br /&gt;
&lt;br /&gt;
Seuls les comptes actifs sont pris en compte.&lt;br /&gt;
&lt;br /&gt;
=Factures fournisseurs=&lt;br /&gt;
==Saisie des factures fournisseurs==&lt;br /&gt;
Nous conseillons de se connecter en https à votre plateforme https://openflyers.com/nom-de-plateforme/index.php&lt;br /&gt;
*Depuis la page du planning de réservation, cliquer sur le menu '''Admin''' : [[Image:accueil_espace_client.png]]&lt;br /&gt;
*Cliquer sur le menu '''Achats &amp;gt; Saisie Factures fournisseurs'''.&lt;br /&gt;
*Vous vous retrouvez alors avec le formulaire de saisie suivant :&lt;br /&gt;
[[Image:saisie_facture_fournisseur_vierge.png]]&lt;br /&gt;
&lt;br /&gt;
2 cas peuvent se présenter :&lt;br /&gt;
*Soit [[#Saisie_d'une_facture_fournisseur_dont_le_type_de_facture_est_déjà_enregistré|le type de facture fournisseur correspondant à la facture à saisir est déjà existant]]&lt;br /&gt;
*Soit la facture fournisseur à saisir nécessite la création d'un nouveau type de facture fournisseur. Dans ce cas, il existe plusieurs façons de créer un nouveau type de facture fournisseur dont la possibilité de [[#Saisie_d'une_facture_fournisseur_dont_le_type_est_nouveau|le faire directement en saisissant la facture]].&lt;br /&gt;
&lt;br /&gt;
===Saisie d'une facture fournisseur dont le type de facture est déjà enregistré===&lt;br /&gt;
*Sélectionner le '''type de facture fournisseur''' correspondant à la facture à saisie. Le nombre de champs à renseigner se réduit alors automatiquement :&lt;br /&gt;
[[Image:facture_fournisseur_à_compléter.png]]&lt;br /&gt;
*Reporter sur la facture originale le '''numéro de pointage''' qui apparaît dans le formulaire. Ce numéro de pointage est unique et permet de rapprocher les factures fournisseurs saisies dans OpenFlyers avec leurs originaux.&lt;br /&gt;
*Cocher &amp;quot;'''J'ai bien pris en compte cette valeur et je l'ai reporté sur ma facture'''&amp;quot;. A défaut, si vous validez, le système refusera votre saisie et une alerte apparaitra.&lt;br /&gt;
*Le champ '''Description''' permet d'indiquer toute information utile concernant la facture et d'en faciliter la recherche ultérieure.&lt;br /&gt;
*Indiquer la date de facturation en cliquant sur le calendrier. Il est possible de paramétrer le format d'affichage de la date en allant dans le menu '''Données/Affichage''' puis de modifier le contenu du champ '''fiche personnelle/Patron de format de date'''.&lt;br /&gt;
*Renseigner le '''montant hors taxe'''&lt;br /&gt;
*Renseigner la '''TVA''' (champ visible uniquement si la comptabilité est paramétrée pour la prise en compte de la TVA). Si la TVA est nulle, il faut indiquer 0.&lt;br /&gt;
*Cliquer sur '''Valider''' ou '''Valider et Saisir le suivant''' si vous avez plusieurs factures à saisir à la volée. Dans ce dernier cas, le formulaire de saisie de facture fournisseur s'affiche à nouveau et il faut reprendre les opérations de saisie depuis le début de ce paragraphe.&lt;br /&gt;
&lt;br /&gt;
===Saisie d'une facture fournisseur dont le type est nouveau===&lt;br /&gt;
Lors de la saisie d'un nouveau compte fournisseur, aucun élément n'est renseigné par défaut et le formulaire à la forme suivante :&lt;br /&gt;
&lt;br /&gt;
[[Image:Saisie_facture_fournisseur_vierge.png]]&lt;br /&gt;
&lt;br /&gt;
Plusieurs parties du formulaire peuvent se réduire à partir du moment où dans le champ précédant la partie réductible, l'utilisateur remplace '''Autre...''' par un choix proposé. A contrario, en laissant '''Autre...''' ou '''Associer un nouveau compte''' (dans le cas du premier champ), c'est l'information saisie dans le champ suivant qui sera prise en compte.&lt;br /&gt;
&lt;br /&gt;
La saisie va consister à définir les ventilations comptables associée à ce type de facture fournisseur. A savoir :&lt;br /&gt;
*le fournisseur et son compte fournisseur qui sera crédité du montant des factures associées à ce type de facture fournisseur&lt;br /&gt;
*le compte de charge qui sera débité du montant des factures associées à ce type de facture fournisseur&lt;br /&gt;
*Si la gestion de la TVA est activée, le compte de TVA qui sera débité du montant de la TVA associée à ce type de facture fournisseur&lt;br /&gt;
*De plus, si la gestion des budgets est activée, il est demandé, pour chaque compte (fournisseur, charge et TVA), le budget à associer&lt;br /&gt;
&lt;br /&gt;
*Ainsi, si on doit saisir une facture fournisseur associée à un nouveau type de facture fournisseur, alors il faut laisser '''associer un nouveau compte''' au champ '''Type de facture fournisseur''' et renseigner l'intitulé souhaité pour le type de facture fournisseur dans le champ suivant '''Nom de type de facture'''&lt;br /&gt;
*Ensuite, dans le champ '''Fournisseur''', là aussi, 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le fournisseur à mentionner est déjà dans la liste proposée dans le champ '''Fournisseur''' et auquel cas il faut le sélectionner (et le champ suivant '''Nom du fournisseur''' disparaitra)&lt;br /&gt;
**Soit le fournisseur à mentionner n'est pas déjà dans la liste proposée dans le champ '''Fournisseur''' et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer'''' au fournisseur ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner pour tous les fournisseurs un budget ''Fournisseurs''.&lt;br /&gt;
***Renseigner le champ '''Nom du fournisseur''' qui doit correspondre au fournisseur souhaité&lt;br /&gt;
***Choisir un compte d'export associé au nouveau fournisseur créé :&lt;br /&gt;
****Soit il existe déjà un compte d'export dans le champ '''Compte du fournisseur'''&lt;br /&gt;
****Soit il n'existe pas de compte d'export associable à ce nouveau fournisseur (en général on associe un compte d'export différent pour chaque compte défini dans OpenFlyers) et auquel cas, il faut renseigner le champ '''Compte fournisseur d'export'''. On peut, par exemple, saisir ''401NOMDUFOURNISSEUR'' dans le cas du plan comptable français.&lt;br /&gt;
***Si la gestion des budgets est active, le champ suivant est '''Budget à attribuer''' et OpenFlyers a dû le remplir par défaut avec la même valeur que pour le champ du même nom rattaché au '''Nom du fournisseur'''. Il ne doit pas y avoir besoin de modifier le contenu de ce champ.&lt;br /&gt;
*Dans le champ '''Compte de charge''', 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le compte de charge à associer est déjà dans la liste proposée et auquel cas il faut le sélectionner&lt;br /&gt;
**Soit le compte de charge à associer n'est pas déjà dans la liste proposée et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer''' au compte de charge que l'on crée ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner un budget représentatif du type de facture et ainsi avoir la ventilation de toutes les factures fournisseurs par poste budgétaire&lt;br /&gt;
***Renseigner le champ '''Nom du compte''' avec l'intitulé correspondant au compte de charge à créer&lt;br /&gt;
***Renseigner le champ '''Compte d'export''' avec la valeur du plan comptable correspondante. Pour le plan comptable français, ce sera un compte en 6xx.&lt;br /&gt;
*Si la gestion de la TVA est activée, le champ '''Compte TVA du type de facture''' est présent et 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le compte de TVA à associer à ce type de facture est dans la liste proposée et auquel cas il faut le sélectionner&lt;br /&gt;
**Soit le compte de TVA n'existe pas et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer''' au compte de TVA que l'on crée ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner un budget ''TVA Fournisseur''&lt;br /&gt;
***Renseigner le champ '''Nom de compte TVA'''. Par exemple, dans le cas des factures fournisseurs provenant de France : ''TVA déductible sur autres biens et services''&lt;br /&gt;
***Renseigner le champ '''Compte TVA d'export'''. Par exemple, dans le cas des factures fournisseurs provenant de France : ''445660''.&lt;br /&gt;
*Le reste de la saisie s'effectue comme pour la [[#Saisie_d'une_facture_fournisseur_dont_le_type_de_facture_est_déjà_enregistré|saisie d'une facture fournisseur dont le type de facture est déjà enregistré]].&lt;br /&gt;
&lt;br /&gt;
===Suppression d'une facture fournisseur===&lt;br /&gt;
Pour supprimer une facture fournisseur qui aurait été saisie par erreur, il faut :&lt;br /&gt;
*Aller dans le menu '''Achats/Liste des factures fournisseurs''' ;&lt;br /&gt;
[[Image:achats-liste-des-factures-fournisseurs.png]]&lt;br /&gt;
&lt;br /&gt;
*Rechercher le '''numéro de pointage''' de la facture concernée en ayant pris soin au préalable de sélectionner le mois de la facture (ou l'année complète pour lister l'ensemble des factures) ;&lt;br /&gt;
&lt;br /&gt;
[[Image:numéro-de-pointage.png]]&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur l'icône poubelle associée à la facture concernée.&lt;br /&gt;
&lt;br /&gt;
[[Image:icône-poubelle.png]]&lt;br /&gt;
&lt;br /&gt;
Le numéro de la facture supprimée n'existera plus dans la comptabilité. Il ne sera pas proposé à nouveau lors de la saisie d'une nouvelle facture. Par ailleurs, la numérotation des factures saisies a posteriori de la facture supprimée demeurera inchangée.&lt;br /&gt;
&lt;br /&gt;
===Suppression d'un type de facture fournisseur===&lt;br /&gt;
Pour supprimer un type de facture fournisseur qui aurait été saisi par erreur, il faut :&lt;br /&gt;
&lt;br /&gt;
*Aller dans le menu '''Achats/Types de factures fournisseurs''' ;&lt;br /&gt;
&lt;br /&gt;
[[Image:achats-types-de-factures-fournisseurs.png]]&lt;br /&gt;
&lt;br /&gt;
*Sélectionner le type de fournisseur concerné dans la colonne '''Nom''' ;&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur l'icône poubelle associée à la facture concernée.&lt;br /&gt;
&lt;br /&gt;
[[Image:icône-poubelle.png]]&lt;br /&gt;
&lt;br /&gt;
==Saisie d'un [[Écritures comptables#Paiement_(à_un_fournisseur)|paiement à un fournisseur]]==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Saisir un flux'''&lt;br /&gt;
*Sur la première ligne :&lt;br /&gt;
**dans la colonne '''Compte''' sélectionner le compte du fournisseur&lt;br /&gt;
**dans la colonne '''Débit''' saisir le montant du paiement que vous effectuez. Si vous souhaiter solder le compte du fournisseur, il vous suffit de cliquer sur l'icône représentant une balance et intitulée &amp;quot;Ramener le solde à zéro&amp;quot;&lt;br /&gt;
*Sur la deuxième ligne :&lt;br /&gt;
**dans la colonne '''Compte''' sélectionner le compte bancaire depuis lequel l'argent est débité&lt;br /&gt;
**cliquer sur l'icône représentant une balance avec une flèche bleue et intitulée &amp;quot;Equilibrer la dernière ligne&amp;quot;&lt;br /&gt;
*Dans le champ '''Commentaires''' saisir un texte libre&lt;br /&gt;
*Ne pas oublier de renseigner le champ '''Date comptable'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
&lt;br /&gt;
=Bon de commande et facture clients=&lt;br /&gt;
&lt;br /&gt;
==Visualiser des factures au format PDF==&lt;br /&gt;
Nous conseillons de se connecter en https à votre espace http://openflyers.com/nom-de-plateforme/index.php&lt;br /&gt;
&lt;br /&gt;
OpenFlyers propose par défaut un [[Modèle de facture ODT|modèle de facture]] qui permet d'éditer des factures PDF pour les prestations suivantes :&lt;br /&gt;
*les achats réalisés depuis le gestionnaire des ventes&lt;br /&gt;
**depuis la page du planning de réservation, cliquer sur le menu '''Comptes/Acheter''' ;&lt;br /&gt;
[[Image:comptes-acheter.png]]&lt;br /&gt;
*les validités qui ont été achetées/renouvelées&lt;br /&gt;
*les vols.&lt;br /&gt;
**Aller dans le menu '''Comptes/Etat/Pilote''' et se rendre dans la [[Documentation utilisateur#Colonne_.22Numéro_de_pointage_ou_de_facture.22|colonne numéro de pointage ou de facture]]&lt;br /&gt;
[[Image:comptes-etat-pilote.png]]&lt;br /&gt;
&lt;br /&gt;
==Importer son [[Modèle de facture ODT|modèle de facture]]==&lt;br /&gt;
&lt;br /&gt;
'''/!\ En important un [[Modèle de facture ODT|modèle de facture]], ce sera celui-ci qui va être utilisé pour générer les nouvelles factures au format PDF. Les factures qui ont déjà créées avant la mise en place du nouveau modèle continuera d'appliquer les anciens versions du modèle ou ceux fournis par défaut par OF'''&lt;br /&gt;
&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Configuration &amp;gt; Import de template ODT''' :&lt;br /&gt;
[[Image:configuration-import-de-templates-odt.png]]&lt;br /&gt;
* Préparer le fichier ODT contenant tous les modèles utilisés qui doivent être organisés comme suit :&lt;br /&gt;
*:'''page 1''' : Facture client&lt;br /&gt;
*:'''page 2''' : Duplicata de la facture client&lt;br /&gt;
*Importer  le fichier&lt;br /&gt;
*Cocher '''Facturation client'''&lt;br /&gt;
*Valider&lt;br /&gt;
&lt;br /&gt;
==Calcul du montant HT, de la TVA et du montant TTC==&lt;br /&gt;
&lt;br /&gt;
Les différents montants sont calculés de la sorte :&lt;br /&gt;
* Pour la TVA, on effectue la somme des écritures de débit et de crédit liés aux&lt;br /&gt;
** comptes de catégorie TVA&lt;br /&gt;
** produits de type de vente TVA&lt;br /&gt;
* Pour le montant TTC, on effectue la somme des écritures de débit et de crédit liées aux&lt;br /&gt;
** comptes qui ne sont pas de catégorie TVA&lt;br /&gt;
** produits qui ne sont pas de type de vente TVA&lt;br /&gt;
* Pour le montant HT, on effectue la différence entre la TVA et le montant TTC&lt;br /&gt;
&lt;br /&gt;
==Relevés de factures clients==&lt;br /&gt;
Une facture client est un document unique. Les PDF d'une facture déjà exportée seront générés avec la mention &amp;quot;Duplicata&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formulaire de sélection===&lt;br /&gt;
Ce formulaire permet d'établir une sélection générale de factures clients.&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Rapports &amp;gt; Générique &amp;gt; Relevés de factures clients'''&lt;br /&gt;
*Les champs &amp;quot;A partir du&amp;quot; et &amp;quot;Jusqu'au&amp;quot; permettent d'établir une sélection en fonction des dates de facturation. Pour éviter un temps de chargement trop long, il est conseillé de définir une plage d'un mois maximum.&lt;br /&gt;
*Le champ &amp;quot;Compte client&amp;quot; permet de sélectionner les relevés de factures d'un client particulier&lt;br /&gt;
*Le champ &amp;quot;Types de vols&amp;quot; permet de sélectionner des factures en fonction du type de vol&lt;br /&gt;
*Le champ &amp;quot;Produits non stockés&amp;quot; permet de sélectionner des factures en fonction de la nature du produit&lt;br /&gt;
*Le champ &amp;quot;Validités&amp;quot; permet de sélectionner des factures en fonction des produits de type &amp;quot;validité&amp;quot;&lt;br /&gt;
*Valider pour accéder aux factures à exporter&lt;br /&gt;
&lt;br /&gt;
===Tableau de factures à exporter===&lt;br /&gt;
Ce tableau est le résultat du formulaire. Il liste des factures clients.&lt;br /&gt;
*Sélectionner au cas par cas les factures à exporter&lt;br /&gt;
*Cliquer sur le bouton '''Générer PDF''' en bas du tableau pour générer le PDF des factures sélectionnées&lt;br /&gt;
*Cliquer sur le bouton '''Sauver dans un fichier CSV''' en bas du tableau pour exporter les factures sélectionnées au format CSV&lt;br /&gt;
&lt;br /&gt;
=Gestion des règlements clients=&lt;br /&gt;
==Saisir un encaissement==&lt;br /&gt;
Cf. les [[Écritures comptables#Saisie_d'un_encaissement_(d'un_client)|mouvements associés à un encaissement client]] pour connaitre les mouvements créés lors de la saisie comptable.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' seuls les [[Comptabilité#Comptes_clients|comptes clients]] et les [[Comptabilité#Comptes_utilisateurs|comptes utilisateurs]] peuvent recevoir des encaissements. En effet, comptablement, cela n'a pas de sens de faire un encaissement sur d'autres types de comptes.&lt;br /&gt;
&lt;br /&gt;
*'''Comptes &amp;gt; Approvisionner''' ou '''Admin &amp;gt; Comptes &amp;gt; Encaissements &amp;gt; Saisir un encaissement'''&lt;br /&gt;
*'''Comptes clients''' :&lt;br /&gt;
**Si le payeur est un utilisateur de la plateforme, laisser sélectionné '''Utilisateur'''&lt;br /&gt;
**Sinon, sélectionner '''Non-utilisateur'''&lt;br /&gt;
*'''Date du paiement''' :&lt;br /&gt;
**pour les paiements par chèque on laisse en général la date du jour qui correspond &amp;quot;au mieux&amp;quot; à la date à laquelle l'encaissement sera fait.&lt;br /&gt;
**pour les paiements en espèce on met la date à laquelle les sommes ont été reçus.&lt;br /&gt;
**pour les paiements par virement on met la date du virement.&lt;br /&gt;
*'''Encaissement de l'utilisateur''' : sélectionner le nom de l'utilisateur effectuant le paiement&lt;br /&gt;
ou&lt;br /&gt;
*'''Compte à créditer''' : sélectionner le nom du client &amp;quot;connu&amp;quot; ou à défaut &amp;quot;Clients extérieurs&amp;quot;&lt;br /&gt;
Attention : il faut sélectionner le compte correspondant à celui qui a été facturé et donc débité.&lt;br /&gt;
*'''Montant''' : indiquer le montant du paiement&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' ou le bouton '''VALIDER ET SAISIR LE SUIVANT'''&lt;br /&gt;
&lt;br /&gt;
==Saisir l'encaissement d'un comité d'entreprise ou d'un groupement d'utilisateurs==&lt;br /&gt;
Dans le cas où un comité d'entreprise ou un groupement d'utilisateurs (comme la DGAC dans le cas des contrôleurs aériens) prend en charge tout ou partie du coût d'une activité générée par OpenFlyers, la plateforme est normalement configurée pour que ce soit le compte du CE ou du groupement qui soit automatiquement débité lors de la saisie de l'activité.&lt;br /&gt;
&lt;br /&gt;
De ce fait, saisir dans OpenFlyers un règlement provenant d'une telle entité revient à [[#Saisir_un_encaissement|saisir un encaissement d'un &amp;quot;non-utilisateur&amp;quot; sur son propre compte client]].&lt;br /&gt;
&lt;br /&gt;
==Validation des règlements clients==&lt;br /&gt;
Le comptable, trésorier, secrétaire, etc. doit valider les règlements avant de remettre l'argent à la banque, que la saisie soit faite pas un pilote ou par une personne tierce.&lt;br /&gt;
&lt;br /&gt;
Tant qu'une écriture n'est pas validée, elle apparaît différemment dans les extraits de compte afin de bien signifier que le mouvement n'est pas validé et que le solde du compte est donc susceptible d'être modifié. Une écriture non validée peut être modifiée mais '''Une fois la validation effectuée'''  il n'est plus possible de '''revenir en arrière'''. &lt;br /&gt;
&lt;br /&gt;
En cas d'erreur, le trésorier doit faire une écriture d'annulation et ressaisir le règlement correct.&lt;br /&gt;
&lt;br /&gt;
Pour valider les règlements le trésorier dispose d'une page accessible uniquement avec le droit &amp;quot;'''Valider les encaissements'''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Voici la description de la tâche de validation des règlements par le trésorier :&lt;br /&gt;
*Récupérer les chèques et espèces à valider&lt;br /&gt;
*Classer les chèques par ordre de date.&lt;br /&gt;
*Aller dans la page '''Admin &amp;gt; Comptes &amp;gt; Pointer &amp;gt; Chèques'''&lt;br /&gt;
*Cette pages affiche les règlements que les pilotes ont saisies et qui sont en attente de validation&lt;br /&gt;
*Cocher les règlements dont vous possédez les chèques.&lt;br /&gt;
*Si des règlements ne sont pas dans la liste en attente, le trésorier les ajoute à l'aide d'un bouton prévu à cet effet puis les coche.&lt;br /&gt;
*Si des saisies sont erronées, corrigez-les puis les cocher.&lt;br /&gt;
*Supprimer les saisies inopportunes.&lt;br /&gt;
*Une fois que tout les chèques sont pointés, cliquez sur '''Éditer le bordereau de remise'''.&lt;br /&gt;
*On passe sur la page de la liste de vos règlements validés, faite une vérification&lt;br /&gt;
*Imprimez la bordereau de remise en banque, utilisez le menu de votre navigateur '''Fichier &amp;gt; Imprimer'''.&lt;br /&gt;
*Valider le bordereau. &amp;quot;'''Attention, cette action est irréversible'''&amp;quot;&lt;br /&gt;
*Faire les opérations ci-dessus pour chaque type de règlement&lt;br /&gt;
*Porter les remises en banque&lt;br /&gt;
&lt;br /&gt;
La validation régulière de vos règlements permet de bloquer les modifications par les pilotes et augmente la fiabilité de votre comptabilité&lt;br /&gt;
&lt;br /&gt;
=Cas particuliers=&lt;br /&gt;
==Ecritures manuelles dans le cadre [[Conseils spécifiques pour la comptabilité#Facturation_automatique_à_des_organismes_avec_ou_sans_quotas|d'une facturation automatique à un organisme tiers]]==&lt;br /&gt;
Normalement, le paramétrage d'une plateforme OpenFlyers est effectué pour que les écritures soient automatiquement réalisées lors de la saisie d'une activité.&lt;br /&gt;
&lt;br /&gt;
Cependant, si les écritures ne se sont pas effectuées automatiquement, ne serait-ce que dans le cas où le paramétrage a été mis en place ultérieurement à la saisie d'activité et que ces saisies ont été validées, il est nécessaire d'effectuer la saisie manuelle des flux permettant d'obtenir la [[Facturation des clients#Cascade_d'écritures_comptables|situation comptable souhaitée]].&lt;br /&gt;
&lt;br /&gt;
Ainsi, si l'utilisateur a été intégralement débité du montant de l'activité et qu'il faut simplement saisir une écriture permettant de créditer son compte du montant devant être débité à l'organisme tiers, il suffit de [[#Saisie_d'un_flux|saisir un flux]] qui va créditer son compte du montant concerné et débiter le compte de l'organisme tiers du même montant.&lt;br /&gt;
&lt;br /&gt;
De plus, si une gestion de quota est en place, il faut également corriger le compte de quota de l'utilisateur concerné sur le même modèle d'écriture que pour l'[[Conseils spécifiques pour la comptabilité#Initialisation_du_solde_d'heures_lors_de_la_mise_en_place_des_packs|initialisation d'un quota]] mais en sens opposé (le compte quota de l'utilisateur doit être débité au lieu d'être crédité et inversement pour le compte de bilan correspondant).&lt;br /&gt;
&lt;br /&gt;
==Gestion des baptêmes==&lt;br /&gt;
===Utiliser le [[Configuration de la comptabilité#Gestion_des_baptêmes|paramétrage préconisé des baptêmes]]===&lt;br /&gt;
On appelle dans l'exemple &amp;quot;Clients extérieurs&amp;quot; le compte client qui est utilisé pour les clients baptêmes. La dénomination peut changer d'une configuration à l'autre.&lt;br /&gt;
Lorsqu'un baptême est effectué :&lt;br /&gt;
#Saisir le vol avec comme type de vol &amp;quot;baptême&amp;quot; : le coût du vol au tarif solo est alors débité sur le compte client &amp;quot;Clients extérieurs&amp;quot;.&lt;br /&gt;
#Encaisser le paiement du baptême sur le compte client &amp;quot;Clients extérieurs&amp;quot; (qui est accessible dans le formulaire de saisie des encaissements en sélectionnant comme type d'utilisateur &amp;quot;non utilisateur&amp;quot;).&lt;br /&gt;
Ainsi, le compte client &amp;quot;Clients extérieurs&amp;quot; se retrouvera avec un solde correspondant à la différence entre le prix du baptême payé par le client et le prix du vol solo facturé par OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Il suffit alors de passer une écriture, par exemple tous les mois, tous les trimestres ou tous les ans, entre le compte &amp;quot;Clients extérieurs&amp;quot; et un compte produit (par exemple compte produit &amp;quot;delta baptêmes&amp;quot;) qui va recevoir le solde du compte client &amp;quot;Clients extérieurs&amp;quot; afin de le ramener à 0.&lt;br /&gt;
&lt;br /&gt;
Cas pratique :&lt;br /&gt;
*Tarif solo : 100 €/h&lt;br /&gt;
*Tarif baptême : 60 €&lt;br /&gt;
*Vol effectué de 30 minutes&lt;br /&gt;
&lt;br /&gt;
Alors :&lt;br /&gt;
*En saisissant le vol de 30 minutes en tant que &amp;quot;baptême&amp;quot;, le compte &amp;quot;clients extérieurs&amp;quot; sera débité du montant du tarif solo soit 50 €.&lt;br /&gt;
*En saisissant l'encaissement du paiement de 60 € effectué par le baptisé, le compte &amp;quot;clients extérieurs&amp;quot; sera crédité de 60 €.&lt;br /&gt;
*Il est résulte sur le compte &amp;quot;clients extérieur&amp;quot; un solde positif de 10 €.&lt;br /&gt;
A la fin de l'année, le compte &amp;quot;clients extérieur&amp;quot; aura vu son solde augmenter au fur et à mesure que les baptêmes auront été effectuée. Admettons qu'il se retrouve avec un solde positif de 1210 €. Il faut alors passer un mouvement (via la saisie d'un flux) pour débiter le compte &amp;quot;clients extérieurs&amp;quot; de 1210 € et créditer un compte produit &amp;quot;delta baptêmes&amp;quot; de 1210 €. Ce faisant le solde du compte client &amp;quot;clients extérieurs&amp;quot; est ramené à 0 ce qui est important pour montrer comptablement que personne ne doit de l'argent à l'aéro-club et le gain spécifique aux baptêmes est enregistré dans le compte produit &amp;quot;delta baptêmes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Les taxes==&lt;br /&gt;
===Gérer les taxes d'atterrissage dans OpenFlyers===&lt;br /&gt;
Les taxes d'atterrissages sont facturées à la structure aéronautique qui souvent les débitent sur le compte de ses clients. Voici 2 méthodes pour gérer ces opérations dans OpenFlyers :&lt;br /&gt;
*La méthode la plus simple consiste à partir du principe que les factures des taxes d'atterrissages sont déjà existantes et qu'il s'agit juste de faire payer la personne réellement concernée par la taxe. Pour ce faire, il suffit de saisir un flux en débitant le compte du client du montant de la facture de la taxe d'atterrissage et de créditer un compte produit &amp;quot;taxe d'atterrissage&amp;quot;. Cette méthode est pratique dans le cas où le prix de la taxe n'est jamais le même.&lt;br /&gt;
*Pour les aérodromes dont les taxes sont récurrentes, il peut être intéressant de créer un type de vente pour gérer les taxes. Cette solution n'est pratique que dans le cas où les montants sont constants. Cela permet alors d'éviter d'avoir à saisir à chaque fois le prix de la taxe. L'autre intérêt de cette méthode est qu'elle permet de générer une facture fournisseur au nom de la structure dans le cas où le client le souhaiterait.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Alertes-administrateur&amp;diff=15059</id>
		<title>Alertes administrateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Alertes-administrateur&amp;diff=15059"/>
				<updated>2017-01-09T10:37:24Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Alertes lors de la clôture de la comptabilité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
&lt;br /&gt;
L'objet de cette page est de décrire les alertes qui peuvent apparaître du côté administrateur.&lt;br /&gt;
&lt;br /&gt;
=Alertes lors de la clôture de la comptabilité=&lt;br /&gt;
&lt;br /&gt;
==Il y a des écritures non validées==&lt;br /&gt;
&lt;br /&gt;
Cette alerte s'affiche lors de la clôture de la comptabilité quand ils existent des écritures non validées antérieures à la date de clôture.&lt;br /&gt;
&lt;br /&gt;
==Les vols et les règlements doivent être validés pour clôturer l'exercice==&lt;br /&gt;
&lt;br /&gt;
Cette alerte s'affiche lorsque des écritures non validées ou des vols non validées sont antérieures ou égales à la date de début d'exercice comptable.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Alertes-administrateur&amp;diff=15056</id>
		<title>Alertes administrateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Alertes-administrateur&amp;diff=15056"/>
				<updated>2017-01-09T10:33:59Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : Page créée avec « =Présentation=  L'objet de cette page est de décrire les alertes qui peuvent apparaître du côté administrateur.  =Alertes lors de la clôture de la comptabilité=  ==... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
&lt;br /&gt;
L'objet de cette page est de décrire les alertes qui peuvent apparaître du côté administrateur.&lt;br /&gt;
&lt;br /&gt;
=Alertes lors de la clôture de la comptabilité=&lt;br /&gt;
&lt;br /&gt;
==Les vols et les règlements doivent être validés pour clôturer l'exercice==&lt;br /&gt;
&lt;br /&gt;
Cette alerte s'affiche lorsque des écritures non validées ou des vols non validées sont antérieures ou égales à la date de début d'exercice comptable.&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15055</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15055"/>
				<updated>2017-01-09T10:23:55Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Documentation Utilisateurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:2013-OF4-launch.gif|right|link=OF_doc4-fr:Montée-de-version]]&lt;br /&gt;
&lt;br /&gt;
Bienvenue sur la [[Toutes les documentations|documentation]] d''''OpenFlyers version 3'''.&lt;br /&gt;
&lt;br /&gt;
You can also access to our [[OF_doc-en:Main-Page3|english documentation]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
OpenFlyers :&lt;br /&gt;
*[[Introduction|La suite logicielle OpenFlyers]]&lt;br /&gt;
*[[Technologies de géolocalisation aéronautique|Les technologies de géolocalisation pour l'aéronautique]]&lt;br /&gt;
*[[Modèle-commercial-et-compte-client-OpenFlyers|Modèle commercial et compte client OpenFlyers]]&lt;br /&gt;
*[[Découvrir OpenFlyers|Découvrir le logiciel OpenFlyers]]&lt;br /&gt;
*[[Bien communiquer avec OpenFlyers|Bien communiquer avec OpenFlyers]]&lt;br /&gt;
*[[Formations OpenFlyers|Formations OpenFlyers]]&lt;br /&gt;
*[[Historique des versions|Historique des versions]]&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
*[[Créer une plateforme OpenFlyers pour sa structure|Créer une plateforme OpenFlyers pour sa structure]]&lt;br /&gt;
*[[Bien débuter avec OpenFlyers|Bien débuter avec OpenFlyers (et mise en place d'un TPE)]]&lt;br /&gt;
*[[Compatibilité des navigateurs|Compatibilité des navigateurs]]&lt;br /&gt;
&lt;br /&gt;
[[Rapporter un bug]]&lt;br /&gt;
&lt;br /&gt;
[[Trucs et astuces]] :&lt;br /&gt;
*[[Kiosque PC|Mettre en place un PC kiosque]]&lt;br /&gt;
*[[Réseau Internet hybride|Mettre en place un réseau internet hybride]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Administrateurs=&lt;br /&gt;
[[Documentation administrateur|Documentation administrateur]]&lt;br /&gt;
&lt;br /&gt;
[[Paramétrage|Paramétrage]]&lt;br /&gt;
&lt;br /&gt;
[[Module pour importation|Module d'import]]&lt;br /&gt;
&lt;br /&gt;
[[Liste de diffusion|Gérer une liste de diffusion sur OpenFlyers]]&lt;br /&gt;
&lt;br /&gt;
[[Champs additionnels|Champs additionnels]]&lt;br /&gt;
&lt;br /&gt;
[[Formules de calcul|Formules de calcul]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
Comptabilité :&lt;br /&gt;
*[[Comptabilité|Généralités sur la comptabilité]]&lt;br /&gt;
*[[Compte de résultats]]&lt;br /&gt;
*[[Conseils spécifiques pour la comptabilité|Conseils spécifiques]]&lt;br /&gt;
*[[Import dans un logiciel comptable tiers|Import dans un logiciel comptable tiers]]&lt;br /&gt;
*[[Écritures comptables|Les écritures comptables]]&lt;br /&gt;
*[[Gestion des écritures comptables|Gestion des écritures comptables]]&lt;br /&gt;
&lt;br /&gt;
*[[Configuration de la comptabilité|Configuration de la comptabilité]]&lt;br /&gt;
*[[Utilisation de la comptabilité|Utilisation de la comptabilité]]&lt;br /&gt;
*[[Gestion des budgets|Gestion des budgets]]&lt;br /&gt;
*[[OF_doc-en::Accounting-export-template-list|Template de format d'export comptable]]&lt;br /&gt;
*[[Modèle de facture ODT|Template ODT pour les factures]]&lt;br /&gt;
&lt;br /&gt;
[[Contrôle des accès|Contrôle des accès]] :&lt;br /&gt;
*[[Installation armoire à clés|Installation armoire à clés]]&lt;br /&gt;
*[[Gestion armoire à clés|Gestion de l'armoire à clés]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ armoire à clés]]&lt;br /&gt;
&lt;br /&gt;
Facturation client :&lt;br /&gt;
*[[Facturation des clients|Généralités sur la facturation des clients]]&lt;br /&gt;
*[[Facturation des heures de vol|Facturation des heures de vols]]&lt;br /&gt;
*[[Gestion des produits et des ventes|Gestionnaire des produits et des ventes]]&lt;br /&gt;
&lt;br /&gt;
Facturation fournisseur :&lt;br /&gt;
*[[Gestion des achats|Gestion des achats]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des logs|Logs]]&lt;br /&gt;
&lt;br /&gt;
Maintenance :&lt;br /&gt;
*[[Maintenance aéronautique|Maintenance aéronautique]]&lt;br /&gt;
*[[Suivi de maintenance|Suivi de maintenance]]&lt;br /&gt;
*[[Suivi des remarques de maintenance|Suivi des remarques de maintenance]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des rapports|Rapports]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ressources|Ressources]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des stocks|Stocks]]&lt;br /&gt;
&lt;br /&gt;
Utilisateurs :&lt;br /&gt;
*[[Gestion des utilisateurs|Gestion des utilisateurs]]&lt;br /&gt;
*[[Gestion des profils|Gestion des profils]]&lt;br /&gt;
*[[Gestion des validités|Gestion des validités]]&lt;br /&gt;
*[[Mailing]]&lt;br /&gt;
*[[Suivi des emails]]&lt;br /&gt;
&lt;br /&gt;
Documentation Webmasters et Développeurs :&lt;br /&gt;
*[[Interfaçage OpenFlyers et armoire à clé]]&lt;br /&gt;
*[[Contrôle d'identification par OpenFlyers pour un logiciel tiers]]&lt;br /&gt;
*[[Récupération des vols par un logiciel tiers]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Utilisateurs=&lt;br /&gt;
[[Documentation utilisateur|Documentation utilisateur]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes administrateur|Alertes administrateur]]&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ventes côté utilisateur|Ventes]]&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
*[[FAQ client|FAQ clients]]&lt;br /&gt;
*[[FAQ administrateur|FAQ administrateur]]&lt;br /&gt;
*[[FAQ utilisateur|FAQ utilisateur]]&lt;br /&gt;
*[[FAQ comptabilité|FAQ comptabilité]]&lt;br /&gt;
*[[FAQ export]]&lt;br /&gt;
*[[FAQ AeroBox]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ Armoire à clés]]&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Documentation-administrateur&amp;diff=15042</id>
		<title>Documentation administrateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Documentation-administrateur&amp;diff=15042"/>
				<updated>2016-12-29T10:03:19Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Liste de diffusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
Cette page est destinée à contenir les éléments généraux concernant l'administration d'une plateforme [[Accueil3|OpenFlyers 3]].&lt;br /&gt;
&lt;br /&gt;
*[[formula pool|Choix de formules pour le calcul du temps de vol et pour la tarification]]&lt;br /&gt;
*[[OF_doc-en::Main_Page#Export_generation|Page du Wiki en anglais pour les statistiques]]&lt;br /&gt;
&lt;br /&gt;
=Sécurisation=&lt;br /&gt;
Lors de l'installation d'openflyers, il n'y a dans la base de donnée qu'un seul utilisateur. Cet utilisateur possède tous les droits sur OF. Son nom est &amp;lt;tt&amp;gt;admin&amp;lt;/tt&amp;gt; et son mot de passe est aussi &amp;lt;tt&amp;gt;admin&amp;lt;/tt&amp;gt;. Cela doit être bien entendu corrigé dès que possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:001_acceuil_postinstallation.jpg|page d'accueil avant modification du compte admin]]&lt;br /&gt;
&lt;br /&gt;
Pour corriger cela, connectez-vous avec l'identifiant et le mot de passe &amp;lt;tt&amp;gt;admin&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Actuellement l'interface n'affiche pas grand chose car aucune information n'a encore été renseignée dans le logiciel. Nous détaillerons plus loin cette page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:002_premiere_connection.jpg|page d'acceuil]]&lt;br /&gt;
&lt;br /&gt;
Cliquez ensuite sur le menu &amp;lt;tt&amp;gt;admin&amp;lt;/tt&amp;gt;, ce lien vous permet d'accéder au centre de configuration d'openflyers, sélectionnez ensuite &amp;lt;tt&amp;gt;Utilisateurs&amp;lt;/tt&amp;gt; puis &amp;lt;tt&amp;gt;Utilisateurs&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:003_menu_utilisateur.jpg|page d'admin]]&lt;br /&gt;
&lt;br /&gt;
Actuellement le seul utilisateur c'est &amp;lt;tt&amp;gt;admin&amp;lt;/tt&amp;gt; ; nous allons modifier ce compte en cliquant sur l'icône crayon :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:004_admin_avant_modif.jpg|menu utilisateur]]&lt;br /&gt;
&lt;br /&gt;
Remplacez :&lt;br /&gt;
*l'identifiant&lt;br /&gt;
*le mot de passe utilisateur (les deux zones doivent identiques)&lt;br /&gt;
*le nom de l'utilisateur&lt;br /&gt;
*le prénom de l'utilisateur&lt;br /&gt;
*cochez le type d'utilisateur &amp;lt;tt&amp;gt;standard&amp;lt;/tt&amp;gt;&lt;br /&gt;
*cochez le groupe &amp;lt;tt&amp;gt;standard&amp;lt;/tt&amp;gt;&lt;br /&gt;
Au bas du formulaire, utilisez le bouton &amp;lt;tt&amp;gt;validez&amp;lt;/tt&amp;gt; pour accepter ces modifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:005_modif_admin.jpg|modification du compte admin]]&lt;br /&gt;
&lt;br /&gt;
=Menu Configuration=&lt;br /&gt;
==Configuration &amp;gt; Paramétrage==&lt;br /&gt;
Cette partie a pour but de sélectionner les différentes options de configuration d'Openflyers.&lt;br /&gt;
===Gestion des réservations===&lt;br /&gt;
[[Image:014_parametrage_gestion_reservation.png|gestion des réservations]]&lt;br /&gt;
&lt;br /&gt;
====Mode de réservation====&lt;br /&gt;
=====Réservations standards=====&lt;br /&gt;
Cette option permet de faire des réservations classiques, c'est-à-dire que l'on réserve directement une ressource en fonction de son nom (exemple : son immatriculation), cela ne diffère en rien des réservations &amp;quot;papier&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=====Réservation par type de ressource=====&lt;br /&gt;
La réservation par type permet non pas de choisir une ressource particulière mais un type de ressource. Dans les structures aéronautiques possédant plusieurs aéronefs d'une même famille (plusieurs DR400/120 par exemple) on choisit alors de réserver un DR400/120 parmi ceux de la flotte. Le programme choisira l'immatriculation en fonction de la disponibilité des appareils (entretien mécanique par exemple).&lt;br /&gt;
&lt;br /&gt;
La réservation par type comporte un double intérêt :&lt;br /&gt;
*pouvoir donner la priorité à une ressource par rapport à une autre et ainsi pousser telle ou telle ressource à être plus utilisée en fonction des souhaits de programmation (pour les opérations de maintenance par exemple) ;&lt;br /&gt;
*créer une ressource fictive supplémentaire pour mettre en place le surbooking.&lt;br /&gt;
&lt;br /&gt;
Si des ressources de même type sont indisponibles, que ce soit parce qu'elles sont réservées ou immobilisées, alors c'est la 1ère ressource disponible qui est choisie par OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Il est possible de modifier l'ordre de tri des ressources à n'importe quel moment.&lt;br /&gt;
&lt;br /&gt;
De même, pour les utilisateurs disposant du droit &amp;quot;Surpasser la réservation par type&amp;quot;, il est possible de forcer une réservation sur une ressource donnée.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' dans le cas où la structure exploite plusieurs ressources d'un même type mais qu'elle souhaite séparer la gestion des réservations pour chaque ressource, il faut créer autant de type de ressource que de ressources. Exemple : une structure aéronautique dispose de 2 avions de type DR420. Si les 2 avions sont identifiés avec un même type &amp;quot;DR420&amp;quot; alors les réservations seront faite toujours en priorité sur le DR420 du plus forte priorité. Si ce comportement n'est pas souhaité, il faut créer 2 types (DR420-1 et DR420-2 par exemple) et associer un avion au type DR420-1 et l'autre avion au type DR420-2.&lt;br /&gt;
&lt;br /&gt;
====Réservation multi-ressources====&lt;br /&gt;
Cette fonctionnalité permet d'autoriser à un utilisateur de réserver plusieurs ressources sur des créneaux horaires qui se chevauchent.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' cette fonctionnalité n'est pas conçue pour les formateurs/instructeurs et entraine des bugs d'affichage sur le planning de réservation. La version 4 d'OpenFlyers corrigera ce défaut.&lt;br /&gt;
&lt;br /&gt;
====Affichage du nom des ressources dans le planning====&lt;br /&gt;
&lt;br /&gt;
Ce paramétrage permet d'afficher ou cacher le nom des ressources dans le planning. Cela permet de diminuer la taille verticale des lignes du planning et de cacher ces noms lorsqu'ils ne sont pas nécessaires.&lt;br /&gt;
&lt;br /&gt;
====Heure TU de début et fin d'activité====&lt;br /&gt;
Permet de définir la plage horaire du planning de réservation dans le fuseau horaire TU ou UTC.&lt;br /&gt;
&lt;br /&gt;
====Interdire d'effectuer une réservation débutant dans moins de====&lt;br /&gt;
Permet d'empêcher d'effectuer une réservation débutant dans moins de X temps. Cette fonctionnalité est notamment utile en réservation par type lorsque la distribution des ressources réelles par ligne de planning est faite le matin pour la journée. Elle est également utile lorsque la facturation se fait la veille au vu des réservations du lendemain.&lt;br /&gt;
&lt;br /&gt;
====Limitation dans le temps des réservations====&lt;br /&gt;
Permet de limiter dans le temps les réservations.&lt;br /&gt;
&lt;br /&gt;
====Limitation du nombre de réservations====&lt;br /&gt;
Permet de limiter le nombre de réservations par utilisateur.&lt;br /&gt;
&lt;br /&gt;
====Saisie de la destination (si champ lieu d'arrivée coché)====&lt;br /&gt;
Permet de demander à l'utilisateur d'indiquer sa destination et ce en fonction de la durée de sa réservation.&lt;br /&gt;
&lt;br /&gt;
====Durée minimale d'une réservation====&lt;br /&gt;
Permet de définir la durée minimale d'une réservation.&lt;br /&gt;
&lt;br /&gt;
La durée maximale d'une réservation peut se définir pour chaque type de ressource.&lt;br /&gt;
&lt;br /&gt;
====Durée par défaut d'une réservation====&lt;br /&gt;
Permet de définir la durée par défaut.&lt;br /&gt;
&lt;br /&gt;
====Afficher ces champs====&lt;br /&gt;
Permet de définir les champs visibles dans le formulaire de réservation :&lt;br /&gt;
*Même jour&lt;br /&gt;
*Places à disposition&lt;br /&gt;
*Lieu de départ&lt;br /&gt;
*Lieu d'arrivée&lt;br /&gt;
&lt;br /&gt;
====[[Gestion des validités#Paramétrage_général_du_contrôle_des_validités_pour_les_réservations|Paramétrage général du contrôle des validités pour les réservations]]====&lt;br /&gt;
&lt;br /&gt;
===Gestion des vols===&lt;br /&gt;
&lt;br /&gt;
[[Image:018_parametrage_gestion_vol.jpg|gestion des vols]]&lt;br /&gt;
&lt;br /&gt;
Ici nous activons le mode de gestion des vols.&lt;br /&gt;
&lt;br /&gt;
On a le choix entre les [[Introduction#Modes_de_saisie_ouverture+fermeture_ou_fermeture_seule|modes ouverture+fermeture et fermeture seule]].&lt;br /&gt;
&lt;br /&gt;
Quand l'une ou l'autre des options de gestion des vol est activée, la fenêtre se modifie et vous demande des renseignements supplémentaires.&lt;br /&gt;
&lt;br /&gt;
[[Image:020_parametre_gestion_vols.jpg|gestion des vols detail]]&lt;br /&gt;
&lt;br /&gt;
*Unité de temps par défaut de la structure aéronautique&lt;br /&gt;
Permet de choisir quelle est la manière d'afficher les heures. Vous pouvez choisir HH:MM si vous souhaitez un tel affichage. Ceci n'est pas lié au type d'horamètre de vos avions, ceux ci seront paramétré dans la rubrique Avion.&lt;br /&gt;
*Types de vol requis dans le cas de la présence d'un second pilote à bord &lt;br /&gt;
Permet de choisir quel type de vol il faut obligatoirement sélectionner lors de la présence d'un second pilote à bord. Usuellement utilisé pour éviter les erreurs ou oublis en cas de vol d'instruction.&lt;br /&gt;
*Gestion du temps de vol: il y a deux modes&lt;br /&gt;
**Permissif: le programme vérifie la concordance entre les valeurs saisies et la formule de calcul. Si le résultat est Faux alors le programme corrige automatiquement les valeurs erronée (selon la formule de calcul enregistré) sans avertir le pilote&lt;br /&gt;
**Strict: le programme vérifie la concordance entre les valeurs saisies et la formule de calcul. Si le résultat est Faux alors il refuse la saisie du pilote qui doit faire les corrections&lt;br /&gt;
*Gestion de l'armoire à clef: à activer si vous possédez une armoire à clefs OpenFlyers &lt;br /&gt;
*Gestion des potentiels: à activer si vous souhaitez visualiser les alertes et les potentiels des avions&lt;br /&gt;
*Affichage des champs optionnels: cocher les cases des champs que vous voulez voir sur la page de saisie des vols et qui devront être renseignés par vos pilotes&lt;br /&gt;
&lt;br /&gt;
====[[Gestion des validités#Paramétrage_général_du_contrôle_des_validités_pour_la_saisie_des_vols|Paramétrage général du contrôle des validités pour la saisie des vols]]====&lt;br /&gt;
&lt;br /&gt;
===[[Configuration de la comptabilité#Paramétrage_général_de_la_gestion_des_comptes|Gestion des comptes]]===&lt;br /&gt;
&lt;br /&gt;
===Reporting/Export===&lt;br /&gt;
*Jeu de caractère CSV par défaut : permet de définir pour la plateforme le format d'encodage pour les exports CSV des [[Gestion des rapports|rapports]].&lt;br /&gt;
*Séparateur décimal : permt de définir pour la plateforme le type de séparateur pour les [[Gestion des rapports|rapports]] qui utilisent la fonction [[OF_doc-en:OpenFlyers_SQL_stored_functions_and_procedures#formatDecimal|formatDecimal]].&lt;br /&gt;
&lt;br /&gt;
==Configuration &amp;gt; Structure &amp;gt; Configuration de la structure==&lt;br /&gt;
*Nom de la structure : Indiquer le nom en clair et complet de la structure.&lt;br /&gt;
*Langue de la structure : Définit la langue utilisée par défaut sur la page d'accueil lorsque la langue du navigateur ne peut être prise en compte.&lt;br /&gt;
===Adresse de la structure===&lt;br /&gt;
*Adresse, Code postal, Ville, Etat, Pays : champs permettant de définir l'adresse postale de la structure.&lt;br /&gt;
*Téléphone : Téléphone de la structure.&lt;br /&gt;
*Fax : Fax de la structure.&lt;br /&gt;
*E-mail : E-mail de la structure qui s'affiche en bas à droite des pages d'OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Logo de la structure===&lt;br /&gt;
*Cliquer sur le bouton '''Parcourir''' pour uploader un fichier image. Une taille normale devrait être de l'ordre de 100 pixels par 100 pixels et faire un poids d'une vingtaine de kilo-octets.&lt;br /&gt;
*Une fois le fichier sélectionné, il faut cliquer sur le bouton '''Valider'''.&lt;br /&gt;
'''Attention''' : La mise à jour de l'affichage du logo ne s'effectue pas automatiquement dans le navigateur. Il faut forcer le rafraichissement du contenu du cache du navigateur en utilisant le raccourci CTRL+R.&lt;br /&gt;
&lt;br /&gt;
===URL du site internet de la structure===&lt;br /&gt;
Permet de mettre en place un lien depuis le logo de la structure vers le site vitrine de la structure. l'URL doit contenir ''http://''.&lt;br /&gt;
&lt;br /&gt;
===Adresse de l'expéditeur (pour la confirmation des réservations)===&lt;br /&gt;
Cette adresse est utilisée pour l'envoi des e-mails de confirmation des réservations.&lt;br /&gt;
&lt;br /&gt;
===Code OACI du terrain de la structure===&lt;br /&gt;
Le code OACI sélectionné permet de savoir où est basée la structure et détermine le comportement d'OpenFlyers lors de la saisie des vols.&lt;br /&gt;
&lt;br /&gt;
===Liste de diffusion===&lt;br /&gt;
Les champs '''Nom de la liste de diffusion''' et '''Type de liste de diffusion''' permettent de coupler OpenFlyers avec une liste de diffusion.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type de liste!!Format du nom de la liste!!Description&lt;br /&gt;
|-&lt;br /&gt;
|ezmlm||nom@domaine||Exemple : test@quelquechose.com&lt;br /&gt;
|-&lt;br /&gt;
|free||nom@domaine||Exemple : test@quelquechose.com&lt;br /&gt;
|-&lt;br /&gt;
|generic||nom@domaine||Exemple : test@quelquechose.com&lt;br /&gt;
|-&lt;br /&gt;
|hostedMailman||nom-ml||Pour les listes de diffusions Mailman gérées internement par OpenFlyers. Par exemple test-ml pour la liste de diffusion test-ml@openflyers.info.&lt;br /&gt;
|-&lt;br /&gt;
|mailman||nom@domaine||Pour les listes de diffusions Mailman externe. Exemple : test@quelquechose.com&lt;br /&gt;
|-&lt;br /&gt;
|majordomo||nom@domaine||Exemple : test@quelquechose.com&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Responsable OpenFlyers===&lt;br /&gt;
Dans '''Configuration &amp;gt; Structure &amp;gt; Configuration de la structure''', le champ '''Responsable OpenFlyers''' désigne l'utilisateur responsable de la plateforme OpenFlyers. C'est son nom et son adresse e-mail qui apparaitront sur la page d'accueil de la plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Le menu déroulant ne propose que des utilisateurs ayant un de leurs profils avec des droits de gestion permettant d'accéder à cette même interface de gestion.&lt;br /&gt;
&lt;br /&gt;
De plus, il ne sera pas bloqué en cas de validité périmée et pourra ainsi mettre à jour ses validités même si des restrictions existent pour les utilisateurs avec une validité périmée.&lt;br /&gt;
&lt;br /&gt;
'''Astuce''' : pour faire apparaitre sur la page d'accueil une adresse e-mail particulière, il suffit de :&lt;br /&gt;
*Créer un utilisateur&lt;br /&gt;
*Lui attribuer l'adresse e-mail souhaitée&lt;br /&gt;
*Lui attribuer un profil lui permettant de disposer de droits de gestion&lt;br /&gt;
*Désigner cet utilisateur comme responsable de la plateforme OpenFlyers&lt;br /&gt;
&lt;br /&gt;
==Configuration &amp;gt; Structure &amp;gt; Flux d'informations==&lt;br /&gt;
La cellule info permet de saisir des informations qui apparaissent en haut de la page de réservation.&lt;br /&gt;
&lt;br /&gt;
[[Image:009_config_club_suite.jpg|cellule info]]&lt;br /&gt;
&lt;br /&gt;
De même, la cellule Message d'Accueil permet de saisir des informations qui apparaissent sur la page d'identification, au dessus de l'identifiant et du mot de passe.&lt;br /&gt;
&lt;br /&gt;
Il est possible d'insérer des liens dans les messages :&lt;br /&gt;
&amp;lt;pre&amp;gt;[http://www.openflyers.com Visiter le site vitrine d'OpenFlyers]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[Champs additionnels|Configuration &amp;gt; Champ(s) additionnel(s)]]==&lt;br /&gt;
&lt;br /&gt;
==Configuration &amp;gt; Export SQL==&lt;br /&gt;
===Configuration &amp;gt; Export SQL &amp;gt; Complet===&lt;br /&gt;
Permet d'exporter l'intégralité de la base de données&lt;br /&gt;
===Configuration &amp;gt; Export SQL &amp;gt; Table person===&lt;br /&gt;
Permet d'export uniquement la table des utilisateurs&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des ressources|Gestion des ressources]]=&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des utilisateurs|Gestion des utilisateurs]]=&lt;br /&gt;
&lt;br /&gt;
=[[Comptabilité#Présentation|Comptabilité]]=&lt;br /&gt;
==Généralités==&lt;br /&gt;
===Date par défaut dans les formulaires===&lt;br /&gt;
Normalement OpenFlyers propose comme date par défaut dans les formulaires de saisie (saisie des factures fournisseurs, saisie des transferts de compte à compte, etc.) la date de la dernière écriture correspondante enregistrée. Si ce n'est pas le cas, alors c'est une anomalie qu'il faut rapporter sur le [http://bts.openflyers.org BTS].&lt;br /&gt;
==Exports==&lt;br /&gt;
Pour les exports comptable, la date de début d'export proposée par défaut correspond à la date du mouvement le plus vieux qui n'ait pas été encore exporté.&lt;br /&gt;
&lt;br /&gt;
=[[Module pour importation|Module d'import]]=&lt;br /&gt;
=[[Suivi des emails]]=&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Documentation-administrateur&amp;diff=15041</id>
		<title>Documentation administrateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Documentation-administrateur&amp;diff=15041"/>
				<updated>2016-12-29T10:02:07Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : /* Liste de diffusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
Cette page est destinée à contenir les éléments généraux concernant l'administration d'une plateforme [[Accueil3|OpenFlyers 3]].&lt;br /&gt;
&lt;br /&gt;
*[[formula pool|Choix de formules pour le calcul du temps de vol et pour la tarification]]&lt;br /&gt;
*[[OF_doc-en::Main_Page#Export_generation|Page du Wiki en anglais pour les statistiques]]&lt;br /&gt;
&lt;br /&gt;
=Sécurisation=&lt;br /&gt;
Lors de l'installation d'openflyers, il n'y a dans la base de donnée qu'un seul utilisateur. Cet utilisateur possède tous les droits sur OF. Son nom est &amp;lt;tt&amp;gt;admin&amp;lt;/tt&amp;gt; et son mot de passe est aussi &amp;lt;tt&amp;gt;admin&amp;lt;/tt&amp;gt;. Cela doit être bien entendu corrigé dès que possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:001_acceuil_postinstallation.jpg|page d'accueil avant modification du compte admin]]&lt;br /&gt;
&lt;br /&gt;
Pour corriger cela, connectez-vous avec l'identifiant et le mot de passe &amp;lt;tt&amp;gt;admin&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Actuellement l'interface n'affiche pas grand chose car aucune information n'a encore été renseignée dans le logiciel. Nous détaillerons plus loin cette page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:002_premiere_connection.jpg|page d'acceuil]]&lt;br /&gt;
&lt;br /&gt;
Cliquez ensuite sur le menu &amp;lt;tt&amp;gt;admin&amp;lt;/tt&amp;gt;, ce lien vous permet d'accéder au centre de configuration d'openflyers, sélectionnez ensuite &amp;lt;tt&amp;gt;Utilisateurs&amp;lt;/tt&amp;gt; puis &amp;lt;tt&amp;gt;Utilisateurs&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:003_menu_utilisateur.jpg|page d'admin]]&lt;br /&gt;
&lt;br /&gt;
Actuellement le seul utilisateur c'est &amp;lt;tt&amp;gt;admin&amp;lt;/tt&amp;gt; ; nous allons modifier ce compte en cliquant sur l'icône crayon :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:004_admin_avant_modif.jpg|menu utilisateur]]&lt;br /&gt;
&lt;br /&gt;
Remplacez :&lt;br /&gt;
*l'identifiant&lt;br /&gt;
*le mot de passe utilisateur (les deux zones doivent identiques)&lt;br /&gt;
*le nom de l'utilisateur&lt;br /&gt;
*le prénom de l'utilisateur&lt;br /&gt;
*cochez le type d'utilisateur &amp;lt;tt&amp;gt;standard&amp;lt;/tt&amp;gt;&lt;br /&gt;
*cochez le groupe &amp;lt;tt&amp;gt;standard&amp;lt;/tt&amp;gt;&lt;br /&gt;
Au bas du formulaire, utilisez le bouton &amp;lt;tt&amp;gt;validez&amp;lt;/tt&amp;gt; pour accepter ces modifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:005_modif_admin.jpg|modification du compte admin]]&lt;br /&gt;
&lt;br /&gt;
=Menu Configuration=&lt;br /&gt;
==Configuration &amp;gt; Paramétrage==&lt;br /&gt;
Cette partie a pour but de sélectionner les différentes options de configuration d'Openflyers.&lt;br /&gt;
===Gestion des réservations===&lt;br /&gt;
[[Image:014_parametrage_gestion_reservation.png|gestion des réservations]]&lt;br /&gt;
&lt;br /&gt;
====Mode de réservation====&lt;br /&gt;
=====Réservations standards=====&lt;br /&gt;
Cette option permet de faire des réservations classiques, c'est-à-dire que l'on réserve directement une ressource en fonction de son nom (exemple : son immatriculation), cela ne diffère en rien des réservations &amp;quot;papier&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=====Réservation par type de ressource=====&lt;br /&gt;
La réservation par type permet non pas de choisir une ressource particulière mais un type de ressource. Dans les structures aéronautiques possédant plusieurs aéronefs d'une même famille (plusieurs DR400/120 par exemple) on choisit alors de réserver un DR400/120 parmi ceux de la flotte. Le programme choisira l'immatriculation en fonction de la disponibilité des appareils (entretien mécanique par exemple).&lt;br /&gt;
&lt;br /&gt;
La réservation par type comporte un double intérêt :&lt;br /&gt;
*pouvoir donner la priorité à une ressource par rapport à une autre et ainsi pousser telle ou telle ressource à être plus utilisée en fonction des souhaits de programmation (pour les opérations de maintenance par exemple) ;&lt;br /&gt;
*créer une ressource fictive supplémentaire pour mettre en place le surbooking.&lt;br /&gt;
&lt;br /&gt;
Si des ressources de même type sont indisponibles, que ce soit parce qu'elles sont réservées ou immobilisées, alors c'est la 1ère ressource disponible qui est choisie par OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Il est possible de modifier l'ordre de tri des ressources à n'importe quel moment.&lt;br /&gt;
&lt;br /&gt;
De même, pour les utilisateurs disposant du droit &amp;quot;Surpasser la réservation par type&amp;quot;, il est possible de forcer une réservation sur une ressource donnée.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' dans le cas où la structure exploite plusieurs ressources d'un même type mais qu'elle souhaite séparer la gestion des réservations pour chaque ressource, il faut créer autant de type de ressource que de ressources. Exemple : une structure aéronautique dispose de 2 avions de type DR420. Si les 2 avions sont identifiés avec un même type &amp;quot;DR420&amp;quot; alors les réservations seront faite toujours en priorité sur le DR420 du plus forte priorité. Si ce comportement n'est pas souhaité, il faut créer 2 types (DR420-1 et DR420-2 par exemple) et associer un avion au type DR420-1 et l'autre avion au type DR420-2.&lt;br /&gt;
&lt;br /&gt;
====Réservation multi-ressources====&lt;br /&gt;
Cette fonctionnalité permet d'autoriser à un utilisateur de réserver plusieurs ressources sur des créneaux horaires qui se chevauchent.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' cette fonctionnalité n'est pas conçue pour les formateurs/instructeurs et entraine des bugs d'affichage sur le planning de réservation. La version 4 d'OpenFlyers corrigera ce défaut.&lt;br /&gt;
&lt;br /&gt;
====Affichage du nom des ressources dans le planning====&lt;br /&gt;
&lt;br /&gt;
Ce paramétrage permet d'afficher ou cacher le nom des ressources dans le planning. Cela permet de diminuer la taille verticale des lignes du planning et de cacher ces noms lorsqu'ils ne sont pas nécessaires.&lt;br /&gt;
&lt;br /&gt;
====Heure TU de début et fin d'activité====&lt;br /&gt;
Permet de définir la plage horaire du planning de réservation dans le fuseau horaire TU ou UTC.&lt;br /&gt;
&lt;br /&gt;
====Interdire d'effectuer une réservation débutant dans moins de====&lt;br /&gt;
Permet d'empêcher d'effectuer une réservation débutant dans moins de X temps. Cette fonctionnalité est notamment utile en réservation par type lorsque la distribution des ressources réelles par ligne de planning est faite le matin pour la journée. Elle est également utile lorsque la facturation se fait la veille au vu des réservations du lendemain.&lt;br /&gt;
&lt;br /&gt;
====Limitation dans le temps des réservations====&lt;br /&gt;
Permet de limiter dans le temps les réservations.&lt;br /&gt;
&lt;br /&gt;
====Limitation du nombre de réservations====&lt;br /&gt;
Permet de limiter le nombre de réservations par utilisateur.&lt;br /&gt;
&lt;br /&gt;
====Saisie de la destination (si champ lieu d'arrivée coché)====&lt;br /&gt;
Permet de demander à l'utilisateur d'indiquer sa destination et ce en fonction de la durée de sa réservation.&lt;br /&gt;
&lt;br /&gt;
====Durée minimale d'une réservation====&lt;br /&gt;
Permet de définir la durée minimale d'une réservation.&lt;br /&gt;
&lt;br /&gt;
La durée maximale d'une réservation peut se définir pour chaque type de ressource.&lt;br /&gt;
&lt;br /&gt;
====Durée par défaut d'une réservation====&lt;br /&gt;
Permet de définir la durée par défaut.&lt;br /&gt;
&lt;br /&gt;
====Afficher ces champs====&lt;br /&gt;
Permet de définir les champs visibles dans le formulaire de réservation :&lt;br /&gt;
*Même jour&lt;br /&gt;
*Places à disposition&lt;br /&gt;
*Lieu de départ&lt;br /&gt;
*Lieu d'arrivée&lt;br /&gt;
&lt;br /&gt;
====[[Gestion des validités#Paramétrage_général_du_contrôle_des_validités_pour_les_réservations|Paramétrage général du contrôle des validités pour les réservations]]====&lt;br /&gt;
&lt;br /&gt;
===Gestion des vols===&lt;br /&gt;
&lt;br /&gt;
[[Image:018_parametrage_gestion_vol.jpg|gestion des vols]]&lt;br /&gt;
&lt;br /&gt;
Ici nous activons le mode de gestion des vols.&lt;br /&gt;
&lt;br /&gt;
On a le choix entre les [[Introduction#Modes_de_saisie_ouverture+fermeture_ou_fermeture_seule|modes ouverture+fermeture et fermeture seule]].&lt;br /&gt;
&lt;br /&gt;
Quand l'une ou l'autre des options de gestion des vol est activée, la fenêtre se modifie et vous demande des renseignements supplémentaires.&lt;br /&gt;
&lt;br /&gt;
[[Image:020_parametre_gestion_vols.jpg|gestion des vols detail]]&lt;br /&gt;
&lt;br /&gt;
*Unité de temps par défaut de la structure aéronautique&lt;br /&gt;
Permet de choisir quelle est la manière d'afficher les heures. Vous pouvez choisir HH:MM si vous souhaitez un tel affichage. Ceci n'est pas lié au type d'horamètre de vos avions, ceux ci seront paramétré dans la rubrique Avion.&lt;br /&gt;
*Types de vol requis dans le cas de la présence d'un second pilote à bord &lt;br /&gt;
Permet de choisir quel type de vol il faut obligatoirement sélectionner lors de la présence d'un second pilote à bord. Usuellement utilisé pour éviter les erreurs ou oublis en cas de vol d'instruction.&lt;br /&gt;
*Gestion du temps de vol: il y a deux modes&lt;br /&gt;
**Permissif: le programme vérifie la concordance entre les valeurs saisies et la formule de calcul. Si le résultat est Faux alors le programme corrige automatiquement les valeurs erronée (selon la formule de calcul enregistré) sans avertir le pilote&lt;br /&gt;
**Strict: le programme vérifie la concordance entre les valeurs saisies et la formule de calcul. Si le résultat est Faux alors il refuse la saisie du pilote qui doit faire les corrections&lt;br /&gt;
*Gestion de l'armoire à clef: à activer si vous possédez une armoire à clefs OpenFlyers &lt;br /&gt;
*Gestion des potentiels: à activer si vous souhaitez visualiser les alertes et les potentiels des avions&lt;br /&gt;
*Affichage des champs optionnels: cocher les cases des champs que vous voulez voir sur la page de saisie des vols et qui devront être renseignés par vos pilotes&lt;br /&gt;
&lt;br /&gt;
====[[Gestion des validités#Paramétrage_général_du_contrôle_des_validités_pour_la_saisie_des_vols|Paramétrage général du contrôle des validités pour la saisie des vols]]====&lt;br /&gt;
&lt;br /&gt;
===[[Configuration de la comptabilité#Paramétrage_général_de_la_gestion_des_comptes|Gestion des comptes]]===&lt;br /&gt;
&lt;br /&gt;
===Reporting/Export===&lt;br /&gt;
*Jeu de caractère CSV par défaut : permet de définir pour la plateforme le format d'encodage pour les exports CSV des [[Gestion des rapports|rapports]].&lt;br /&gt;
*Séparateur décimal : permt de définir pour la plateforme le type de séparateur pour les [[Gestion des rapports|rapports]] qui utilisent la fonction [[OF_doc-en:OpenFlyers_SQL_stored_functions_and_procedures#formatDecimal|formatDecimal]].&lt;br /&gt;
&lt;br /&gt;
==Configuration &amp;gt; Structure &amp;gt; Configuration de la structure==&lt;br /&gt;
*Nom de la structure : Indiquer le nom en clair et complet de la structure.&lt;br /&gt;
*Langue de la structure : Définit la langue utilisée par défaut sur la page d'accueil lorsque la langue du navigateur ne peut être prise en compte.&lt;br /&gt;
===Adresse de la structure===&lt;br /&gt;
*Adresse, Code postal, Ville, Etat, Pays : champs permettant de définir l'adresse postale de la structure.&lt;br /&gt;
*Téléphone : Téléphone de la structure.&lt;br /&gt;
*Fax : Fax de la structure.&lt;br /&gt;
*E-mail : E-mail de la structure qui s'affiche en bas à droite des pages d'OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Logo de la structure===&lt;br /&gt;
*Cliquer sur le bouton '''Parcourir''' pour uploader un fichier image. Une taille normale devrait être de l'ordre de 100 pixels par 100 pixels et faire un poids d'une vingtaine de kilo-octets.&lt;br /&gt;
*Une fois le fichier sélectionné, il faut cliquer sur le bouton '''Valider'''.&lt;br /&gt;
'''Attention''' : La mise à jour de l'affichage du logo ne s'effectue pas automatiquement dans le navigateur. Il faut forcer le rafraichissement du contenu du cache du navigateur en utilisant le raccourci CTRL+R.&lt;br /&gt;
&lt;br /&gt;
===URL du site internet de la structure===&lt;br /&gt;
Permet de mettre en place un lien depuis le logo de la structure vers le site vitrine de la structure. l'URL doit contenir ''http://''.&lt;br /&gt;
&lt;br /&gt;
===Adresse de l'expéditeur (pour la confirmation des réservations)===&lt;br /&gt;
Cette adresse est utilisée pour l'envoi des e-mails de confirmation des réservations.&lt;br /&gt;
&lt;br /&gt;
===Code OACI du terrain de la structure===&lt;br /&gt;
Le code OACI sélectionné permet de savoir où est basée la structure et détermine le comportement d'OpenFlyers lors de la saisie des vols.&lt;br /&gt;
&lt;br /&gt;
===Liste de diffusion===&lt;br /&gt;
Les champs '''Nom de la liste de diffusion''' et '''Type de liste de diffusion''' permettent de coupler OpenFlyers avec une liste de diffusion.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type de liste!!Format du nom de la liste!!Description&lt;br /&gt;
|-&lt;br /&gt;
|ezmlm||nom@domaine||Exemple : test@quelquechose.com&lt;br /&gt;
|-&lt;br /&gt;
|free||nom@domaine||Exemple : test@quelquechose.com&lt;br /&gt;
|-&lt;br /&gt;
|generic||nom@domaine||Exemple : test@quelquechose.com&lt;br /&gt;
|-&lt;br /&gt;
|hostedMailman||nom-ml||Pour les listes de diffusions Mailman gérées internement par OpenFlyers. Par exemple test-ml pour la liste de diffusion test-ml@openflyers.info.&lt;br /&gt;
|-&lt;br /&gt;
|mailman||||nom@domaine||Pour les listes de diffusions Mailman externe. Exemple : test@quelquechose.com&lt;br /&gt;
|-&lt;br /&gt;
|majordomo||nom@domaine||Exemple : test@quelquechose.com&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Responsable OpenFlyers===&lt;br /&gt;
Dans '''Configuration &amp;gt; Structure &amp;gt; Configuration de la structure''', le champ '''Responsable OpenFlyers''' désigne l'utilisateur responsable de la plateforme OpenFlyers. C'est son nom et son adresse e-mail qui apparaitront sur la page d'accueil de la plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Le menu déroulant ne propose que des utilisateurs ayant un de leurs profils avec des droits de gestion permettant d'accéder à cette même interface de gestion.&lt;br /&gt;
&lt;br /&gt;
De plus, il ne sera pas bloqué en cas de validité périmée et pourra ainsi mettre à jour ses validités même si des restrictions existent pour les utilisateurs avec une validité périmée.&lt;br /&gt;
&lt;br /&gt;
'''Astuce''' : pour faire apparaitre sur la page d'accueil une adresse e-mail particulière, il suffit de :&lt;br /&gt;
*Créer un utilisateur&lt;br /&gt;
*Lui attribuer l'adresse e-mail souhaitée&lt;br /&gt;
*Lui attribuer un profil lui permettant de disposer de droits de gestion&lt;br /&gt;
*Désigner cet utilisateur comme responsable de la plateforme OpenFlyers&lt;br /&gt;
&lt;br /&gt;
==Configuration &amp;gt; Structure &amp;gt; Flux d'informations==&lt;br /&gt;
La cellule info permet de saisir des informations qui apparaissent en haut de la page de réservation.&lt;br /&gt;
&lt;br /&gt;
[[Image:009_config_club_suite.jpg|cellule info]]&lt;br /&gt;
&lt;br /&gt;
De même, la cellule Message d'Accueil permet de saisir des informations qui apparaissent sur la page d'identification, au dessus de l'identifiant et du mot de passe.&lt;br /&gt;
&lt;br /&gt;
Il est possible d'insérer des liens dans les messages :&lt;br /&gt;
&amp;lt;pre&amp;gt;[http://www.openflyers.com Visiter le site vitrine d'OpenFlyers]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[Champs additionnels|Configuration &amp;gt; Champ(s) additionnel(s)]]==&lt;br /&gt;
&lt;br /&gt;
==Configuration &amp;gt; Export SQL==&lt;br /&gt;
===Configuration &amp;gt; Export SQL &amp;gt; Complet===&lt;br /&gt;
Permet d'exporter l'intégralité de la base de données&lt;br /&gt;
===Configuration &amp;gt; Export SQL &amp;gt; Table person===&lt;br /&gt;
Permet d'export uniquement la table des utilisateurs&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des ressources|Gestion des ressources]]=&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des utilisateurs|Gestion des utilisateurs]]=&lt;br /&gt;
&lt;br /&gt;
=[[Comptabilité#Présentation|Comptabilité]]=&lt;br /&gt;
==Généralités==&lt;br /&gt;
===Date par défaut dans les formulaires===&lt;br /&gt;
Normalement OpenFlyers propose comme date par défaut dans les formulaires de saisie (saisie des factures fournisseurs, saisie des transferts de compte à compte, etc.) la date de la dernière écriture correspondante enregistrée. Si ce n'est pas le cas, alors c'est une anomalie qu'il faut rapporter sur le [http://bts.openflyers.org BTS].&lt;br /&gt;
==Exports==&lt;br /&gt;
Pour les exports comptable, la date de début d'export proposée par défaut correspond à la date du mouvement le plus vieux qui n'ait pas été encore exporté.&lt;br /&gt;
&lt;br /&gt;
=[[Module pour importation|Module d'import]]=&lt;br /&gt;
=[[Suivi des emails]]=&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	</feed>