<?php

/**
 * Registre des TYPES DE BAUX - source unique pour la modale (sélecteur + UI), generateBail
 * (kind, validation, lease.type_label, durées, dépôt, blocs affichés) et les points d'extension.
 *
 * Ajouter un type = ajouter une entrée ici + une constante KIND (Lead_proposal + Modele) + une entrée
 * config/document_kinds.php + un template PDF en base (document_kind = ce kind). Tout le reste
 * (listage, pipeline bail_signed, portail, premium, picker) est généralisé via Lead_proposal::leaseKinds().
 *
 * Champs :
 *  - kind            : document_kind (= Lead_proposal::KIND_*).
 *  - label           : libellé long (sélecteur).
 *  - short           : libellé court (cards / listes).
 *  - type_label      : phrase injectée dans {{lease_type_label}} du PDF (caractérise le bien/usage).
 *  - law             : citation du régime applicable (affichée en sous-titre du sélecteur).
 *  - requirement_types : profils de lead concernés (3=TENANT, 4=LESSOR).
 *  - duration        : { unit: years|months|days, options:[{value,label}], default, fixed:bool, renewable:bool }
 *                      (fixed=true → durée non modifiable ; options vide + unit days → saisie de dates de séjour).
 *  - deposit         : { months_max:int|null, default_months:int|null, forbidden:bool }
 *  - blocks          : booléens d'affichage UI/PDF : irl, encadrement, furniture, charges, fees, stay_dates.
 *  - furnished       : logement loué meublé (inventaire mobilier).
 *  - min_signers     : nb minimal de signataires.
 *  - order           : ordre dans le sélecteur.
 */

return [

    'bail_location' => [
        'kind' => 'bail_location',
        'label' => 'Bail d\'habitation - logement vide',
        'short' => 'Logement vide',
        'type_label' => 'logement vide à usage de résidence principale',
        'law' => 'Loi n°89-462 du 6 juillet 1989 et décret n°2015-587 du 29 mai 2015 (bail-type)',
        'requirement_types' => [3, 4],
        'duration' => [
            'unit' => 'years',
            'options' => [
                ['value' => 3, 'label' => '3 ans (bailleur personne physique ou SCI familiale)'],
                ['value' => 6, 'label' => '6 ans (bailleur personne morale)'],
            ],
            'default' => 3, 'fixed' => false, 'renewable' => true,
        ],
        'deposit' => ['months_max' => 1, 'default_months' => 1, 'forbidden' => false],
        'blocks' => ['irl' => true, 'encadrement' => true, 'furniture' => false, 'charges' => true, 'fees' => true, 'stay_dates' => false],
        'furnished' => false,
        'min_signers' => 2,
        'order' => 1,
    ],

    'bail_meuble' => [
        'kind' => 'bail_meuble',
        'label' => 'Bail d\'habitation - logement meublé',
        'short' => 'Logement meublé',
        'type_label' => 'logement meublé à usage de résidence principale',
        'law' => 'Loi n°89-462 du 6 juillet 1989 (titre I bis) ; décret n°2015-981 (liste du mobilier)',
        'requirement_types' => [3, 4],
        'duration' => [
            'unit' => 'years',
            'options' => [
                ['value' => 1, 'label' => '1 an (renouvelable par tacite reconduction)'],
            ],
            'default' => 1, 'fixed' => true, 'renewable' => true,
        ],
        'deposit' => ['months_max' => 2, 'default_months' => 2, 'forbidden' => false],
        'blocks' => ['irl' => true, 'encadrement' => true, 'furniture' => true, 'charges' => true, 'fees' => true, 'stay_dates' => false],
        'furnished' => true,
        'min_signers' => 2,
        'order' => 2,
    ],

    'bail_etudiant' => [
        'kind' => 'bail_etudiant',
        'label' => 'Bail étudiant (meublé, 9 mois)',
        'short' => 'Bail étudiant',
        'type_label' => 'logement meublé loué à un étudiant (résidence principale)',
        'law' => 'Loi n°89-462 du 6 juillet 1989, article 25-7 (bail meublé étudiant 9 mois, non reconductible)',
        'requirement_types' => [3, 4],
        'duration' => [
            'unit' => 'months',
            'options' => [
                ['value' => 9, 'label' => '9 mois (non reconductible - locataire étudiant)'],
            ],
            'default' => 9, 'fixed' => true, 'renewable' => false,
        ],
        'deposit' => ['months_max' => 2, 'default_months' => 2, 'forbidden' => false],
        'blocks' => ['irl' => false /* contre-vérif 2026-06-11 : révision annuelle sans objet sur 9 mois non reconductibles */, 'encadrement' => true, 'furniture' => true, 'charges' => true, 'fees' => true, 'stay_dates' => false],
        'furnished' => true,
        'min_signers' => 2,
        'order' => 3,
    ],

    'bail_mobilite' => [
        'kind' => 'bail_mobilite',
        'label' => 'Bail mobilité (meublé, 1 à 10 mois)',
        'short' => 'Bail mobilité',
        'type_label' => 'logement meublé loué dans le cadre d\'un bail mobilité',
        'law' => 'Loi n°2018-1021 du 23 novembre 2018 (ELAN), articles 25-12 à 25-18 de la loi du 6 juillet 1989',
        'requirement_types' => [3, 4],
        'duration' => [
            'unit' => 'months',
            'options' => [
                ['value' => 1, 'label' => '1 mois'], ['value' => 2, 'label' => '2 mois'], ['value' => 3, 'label' => '3 mois'],
                ['value' => 4, 'label' => '4 mois'], ['value' => 5, 'label' => '5 mois'], ['value' => 6, 'label' => '6 mois'],
                ['value' => 7, 'label' => '7 mois'], ['value' => 8, 'label' => '8 mois'], ['value' => 9, 'label' => '9 mois'],
                ['value' => 10, 'label' => '10 mois (maximum - non renouvelable, non reconductible)'],
            ],
            'default' => 3, 'fixed' => false, 'renewable' => false,
        ],
        'deposit' => ['months_max' => 0, 'default_months' => 0, 'forbidden' => true],
        'blocks' => ['irl' => false, 'encadrement' => true, 'furniture' => true, 'charges' => true, 'fees' => true, 'stay_dates' => false],
        'furnished' => true,
        'min_signers' => 2,
        'order' => 4,
    ],

    'bail_commercial' => [
        'kind' => 'bail_commercial',
        'label' => 'Bail commercial (3-6-9)',
        'short' => 'Bail commercial',
        'type_label' => 'local à usage commercial',
        'law' => 'Articles L.145-1 et suivants du code de commerce (statut des baux commerciaux)',
        'requirement_types' => [3, 4],
        'duration' => [
            'unit' => 'years',
            'options' => [
                ['value' => 9, 'label' => '9 ans (3-6-9, résiliation triennale)'],
                ['value' => 10, 'label' => '10 ans'], ['value' => 12, 'label' => '12 ans'],
            ],
            'default' => 9, 'fixed' => false, 'renewable' => true,
        ],
        'deposit' => ['months_max' => null, 'default_months' => 3, 'forbidden' => false],
        'blocks' => ['irl' => false, 'encadrement' => false, 'furniture' => false, 'charges' => true, 'fees' => true, 'stay_dates' => false],
        'furnished' => false,
        'min_signers' => 2,
        'order' => 5,
    ],

    'bail_professionnel' => [
        'kind' => 'bail_professionnel',
        'label' => 'Bail professionnel (professions libérales)',
        'short' => 'Bail professionnel',
        'type_label' => 'local à usage exclusivement professionnel',
        'law' => 'Article 57 A de la loi n°86-1290 du 23 décembre 1986',
        'requirement_types' => [3, 4],
        'duration' => [
            'unit' => 'years',
            'options' => [
                ['value' => 6, 'label' => '6 ans (durée minimale légale)'],
                ['value' => 9, 'label' => '9 ans'],
            ],
            'default' => 6, 'fixed' => false, 'renewable' => true,
        ],
        'deposit' => ['months_max' => null, 'default_months' => 0, 'forbidden' => false],
        'blocks' => ['irl' => false, 'encadrement' => false, 'furniture' => false, 'charges' => true, 'fees' => true, 'stay_dates' => false],
        'furnished' => false,
        'min_signers' => 2,
        'order' => 6,
    ],

    'bail_parking' => [
        'kind' => 'bail_parking',
        'label' => 'Bail de stationnement / garage',
        'short' => 'Parking / garage',
        'type_label' => 'emplacement de stationnement ou garage',
        'law' => 'Articles 1709 et suivants du code civil (location de droit commun)',
        'requirement_types' => [3, 4],
        'duration' => [
            'unit' => 'months',
            'options' => [
                ['value' => 12, 'label' => '12 mois (reconductible)'], ['value' => 6, 'label' => '6 mois'],
                ['value' => 24, 'label' => '24 mois'],
            ],
            'default' => 12, 'fixed' => false, 'renewable' => true,
        ],
        'deposit' => ['months_max' => null, 'default_months' => 1, 'forbidden' => false],
        'blocks' => ['irl' => false, 'encadrement' => false, 'furniture' => false, 'charges' => false, 'fees' => true, 'stay_dates' => false],
        'furnished' => false,
        'min_signers' => 2,
        'order' => 7,
    ],

    'bail_saisonnier' => [
        'kind' => 'bail_saisonnier',
        'label' => 'Location saisonnière (meublé de tourisme)',
        'short' => 'Saisonnière',
        'type_label' => 'meublé de tourisme loué pour un séjour de courte durée',
        'law' => 'Articles L.324-1 et suivants du code du tourisme ; article 1713 du code civil',
        'requirement_types' => [3, 4],
        'duration' => [
            'unit' => 'days',
            'options' => [],
            'default' => null, 'fixed' => false, 'renewable' => false,
        ],
        'deposit' => ['months_max' => null, 'default_months' => 0, 'forbidden' => false],
        'blocks' => ['irl' => false, 'encadrement' => false, 'furniture' => true, 'charges' => false, 'fees' => false, 'stay_dates' => true],
        'furnished' => true,
        'min_signers' => 2,
        'order' => 8,
    ],

];
