# Introduction technique

## Qu'est-ce qu'un *dossier* chez DossierFacile ?

DossierFacile est un service public numérique permettant à des usagers en recherche de location immobilière d'être accompagné à la **constitution d'un dossier de location numérique, unique et vérifié** sur une plateforme sécurisée de l'Etat. Une fois leur dossier constitué et vérifié par nos opérateurs, l'usager peut partager son dossier à des potentiels bailleurs ou propriétaires.

Il y a plusieurs manières de partager un dossier de location :

* Par **partage d'un lien** simple, au format <https://locataire.dossierfacile.logement.gouv.fr/file/>{uuid}
* Par **mail** en précisant une adresse mail. Le destinataire reçoit alors un mail contenant un lien vers le dossier de location (suivant le même format que précédemment).
* Par **intégration API** avec des sites partenaires. Pour cela une méthode d'intégration DossierFacileConnect (DFC) a été mise en oeuvre. Voir documentation [DossierFacile Connect](/documentation-technique/dossierfacile-connect.md)

## 🚩 **Les principaux concepts**

### 1. Le dossier de candidature (entité `apartment_sharing`)

C'est le concept central de DossierFacile. **Un dossier de candidature regroupe les différents dossiers locataires.**

La propriété `type` permet de différencier les types de dossier :

* `ALONE`, il s'agit d'un dossier de candidature comprenant **un seul dossier locataire**. C'est le cas le plus simple.
* `COUPLE`, il s'agit d'un dossier de candidature comprenant **2 dossiers locataires**. Un dossier est considéré comme "principal" et l'autre comme "joint". L'utilisateur du dossier principal peut inviter par email un autre utilisateur à compléter le dossier joint. L'utilisateur du dossier principal accède aux 2 dossiers et peut les compléter simultanément dans le parcours DossierFacile.
* `GROUP`, il s'agit d'un dossier de candidature comprenant **plusieurs dossiers locataires** (cas d'un colocation). Un dossier est considéré comme "principal" et les autres comme "joint". L'utilisateur du dossier principal peut inviter par email d'autres utilisateurs à compléter leur dossier joint. L'utilisateur du dossier principal ne peut pas compléter les dossiers de autres colocataires.&#x20;

Le dossier de candidature est considéré comme étant complet et validé lorsque :

* tous les dossiers locataires ont été complétés
* tous les dossiers locataires ont été validés par nos opérateurs

{% hint style="info" %}
Lorsqu'un utilisateur partage son dossier, il partage le **dossier de candidature auquel il est associé**. Dans le cas des types de candidature `COUPLE` et `GROUP`, il partage également à cette occasion le dossier individuel de tous les autres participants au dossier.
{% endhint %}

### 2. Le dossier locataire (entité `tenant`)

Un dossier locataire individuel (`tenant`) est rattaché à un dossier de candidature (`apartment_sharing`).

{% hint style="info" %}
**Limitations** : Il ne peut y avoir qu'un dossier locataire par compte utilisateur DossierFacile. Un utilisateur ne peut donc participer qu'à un seul dossier de candidature.
{% endhint %}

La propriété `type` permet de distinguer si le dossier locataire est le dossier principal d'un candidature :

* `CREATE`, il s'agit du dossier locataire principal (tenant) d'un dossier de candidature (`apartment_sharing`)
* `JOIN`,  il s'agit d'un dossier invité dans un dossier de candidature (de type `COUPLE` ou `GROUP`)

Un dossier locataire est constitué de 5 catégories de documents. Ces catégories sont définies par le [décret n° 2015-1437 du 5 novembre 2015](https://www.legifrance.gouv.fr/loda/article_lc/LEGIARTI000046074681) fixant la liste des pièces justificatives pouvant être demandées au candidat à la location et à sa caution.

* 🆔 Justificatif d'identité (`IDENTIFICATION`)
* 🏠 Justificatif de domicile (`RESIDENCY`)
* 💼 Justificatif de situation professionnelle (`PROFESSIONAL`)
* 💸 Justificatif de ressources (`FINANCIAL`)
* 📄 Avis d'imposition (`TAX`)

Un dossier locataire est **considéré comme complet** lorsque :

* les **informations** (nom, prénom) ont été complétées.
* les **5 documents** correspondants aux catégories précédemment mentionnées ont été déposés.
* la **déclaration sur l'honneur** attestant de la véracité des informations transmises a été réalisée par l'utilisateur.

{% hint style="info" %}
Un dossier locataire peut contenir des garants (`guarantor`)
{% endhint %}

### 3. Le dossier garant (entité `guarantor`)

Un ou plusieurs dossiers garants (`guarantor`) peuvent être rattachés à un dossier locataire (`tenant`). Les garants se portent caution du bail.

Il y a 3 types de garants différents :

* Garant physique (jusqu'à 2 possibles), type `NATURAL_PERSON`
* Garant organisme (type Visale), type `ORGANISM`
* Garant moral, type `NATURAL_PERSON`

Des documents peuvent également constituer un dossier garant. On retrouve par exemple pour le garant physique les mêmes catégories de documents que pour un dossier locataire (Justificatifs d'identité, domicile, situation professionnelle, ressources, avis d'imposition)

### 4. Les documents (entité `documents`)

Un `document` représente une pièce justificative associée à un dossier locataire (`tenant`) ou un dossier garant (`guarantor`). Un document est défini par :

* une catégorie, parmi les 5 catégories définies précédemment
* une sous-catégorie, qui précise la nature plus précise de la pièce justificative (ex: `FRENCH_IDENTITY_CARD` pour une carte nationale d'identité)

{% hint style="info" %}
Un **document est constitué de la fusion des fichiers déposés** dans un champ du formulaire de constitution de dossier DossierFacile. Si un utilisateur dépose 3 bulletins de paie sous la forme de 3 fichiers .pdf, son justificatif de revenu professionnel sera disponible sous la forme d'un seul document filigrané (catégorie `FINANCIAL`)
{% endhint %}

### 5. Les fichiers (entité `files`)

Un fichier (file) représente un fichier déposé dans un champ du formulaire de constitution de dossier DossierFacile. Un fichier ou plusieurs fichiers composent un `document`&#x20;

Un fichier peut être en format JPG, PNG ou PDF et est soumis à des critères de poids, de nombre de pages.

Une fois tous les fichiers déposés dans une des 5 catégories du formulaire. Un processus asynchrone vient réaliser la fusion des fichiers et l'apposition d'un filigrane afin de constituer un document filigrané.

## :ballot\_box\_with\_check: Les différents statuts

Les entités `apartment_sharing`, `tenant` et `document` sont toutes les 3 définies par une propriété `status` qui représente le statut de progression du dossier ou de la pièce justificative dans le processus de vérification DossierFacile.&#x20;

### ❓`INCOMPLETE`

Le dossier de candidature (`apartment_sharing`) ou locataire (`tenant`) est incomplet. Certains documents ou informations requises sont manquants.

### 🔄 `TO_PROCESS`

Lorsqu'un dossier locataire est complet, il est prêt a être vérifié par nos opérateurs, son statut ainsi que le statut de tous les documents qu'il comprend passent en `TO_PROCESS`. Cela signifie pour les utilisateurs que le dossier est en cours de traitement. Les opérateurs DossierFacile et les systèmes de vérifications automatiques vont permettre de traiter le dossier.

### :x: `DECLINED`

Certains documents fournis dans le dossier locataire ne sont pas conformes et n'ont pas été acceptés. Ils doivent alors faire l'objet d'une modification de la part des utilisateurs. Une fois les modifications effectuées et le dossier de nouveau soumis, le statut passe automatiquement en `TO_PROCESS`.

{% hint style="info" %}
Sur un document, le statut `DECLINED` est associé à une ou plusieurs raisons de refus (propriété `documentDeniedReasons`)
{% endhint %}

### :white\_check\_mark: `VALIDATED`

L'ensemble des documents du dossier locataire a été vérifié et validé.&#x20;

{% hint style="info" %}
Si l'ensemble des dossiers locataires contenant un dossier de candidature ont été validés  (status `VALIDATED`) alors le dossier de candidature est considéré comme `VALIDATED` également.
{% endhint %}

### :package: `ARCHIVED`

Au bout de 3 mois d'inactivité (sans connexion et sans validation du mail informant de l'archivage à venir), les documents du candidat sont supprimés. Le dossier locataire passe alors dans un status `ARCHIVED`.

## :envelope\_with\_arrow: Notifications utilisateurs

Des mails automatiques sont envoyés aux utilisateurs lors de certaines actions : la création du compte, la modification demandée de certaines pièces justificatives, la validation du dossier, l'archivage d'un compte…

## :link: Intégration avec les partenaires

2 types d'intégrations techniques existent permettant le partage de dossiers entre votre service et DossierFacile.

{% content-ref url="/pages/-MezMZ1OpeYm\_xKivoQ6" %}
[Lien simple tracké](/documentation-technique/lien-simple.md)
{% endcontent-ref %}

{% content-ref url="/pages/-Me4EiHlfCqvGrUUrUBy" %}
[DossierFacile Connect](/documentation-technique/dossierfacile-connect.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://partenaire.dossierfacile.logement.gouv.fr/documentation-technique/comment-fonctionne-dossierfacile-les-generalites.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
