<?php

/*
|--------------------------------------------------------------------------
| Registre central des "document_kind" (Option C - 2026-05-29)
|--------------------------------------------------------------------------
|
| Source de vérité unique décrivant chaque type de document métier généré
| depuis une modale de la fiche lead. Pilote simultanément :
|   - le sélecteur de template (_template_picker) : quel `pick_type` lister
|   - les contraintes du composant signature/envoi (_signature_delivery)
|   - l'activation du type SMS éditable dans /parametres#templates
|   - le groupage / les libellés côté UI
|
| Chaque clé = valeur de Modele::document_kind (cf. core-city-user Modele).
|
| Champs :
|   label              : libellé FR affiché
|   group              : groupe d'affichage (onglet templates / picker)
|   pick_type          : type de template par défaut listé dans le picker
|                        (0 = email, 1 = document/PDF, 2 = sms) - cf. Modele::TYPE_*
|   channel_based      : true => le type listé dépend du canal choisi
|                        (download→1 document, email→0 email, sms→2 sms).
|                        Concerne lettre_prospection / demande_pieces / avis_valeur.
|   signature          : none | optional | simple | multi
|   channels           : canaux d'envoi autorisés parmi download|email|sms
|   sms                : true => proposer un template SMS éditable pour ce kind
|   capability         : capacité fiche lead (config/lead_capabilities.php) requise
|                        pour VOIR/forker les templates de ce kind dans /parametres
|                        (cf. document_kinds_forbidden_for) - absent = visible partout.
|   requirement_types  : profils de lead concernés (1=acheteur 2=vendeur
|                        3=locataire 4=bailleur). [] = générique tous profils.
|
| Tout kind absent retombe sur les valeurs par défaut de document_kind_meta()
| (helper app/Helpers/document_kind_helpers.php).
|
*/

return [

    // ── Emails portail (pas de modale de génération - capacité d'affichage seule) ──
    'portal_match_added' => [
        'label' => 'Nouveau bien correspondant (email portail)',
        'group' => 'Communications',
        'pick_type' => 0,
        'channel_based' => false,
        'signature' => 'none',
        'channels' => ['email'],
        'sms' => false,
        'requirement_types' => [],
        'capability' => 'matching',
    ],

    // Relance des acquereurs d'un bien apres visite (2026-09-23) : modale « Relancer les
    // acquereurs » de la fiche vendeur / bailleur + relance automatique (opt-in).
    'relance_post_visite' => [
        'label' => 'Relance après visite (acquéreurs)',
        'group' => 'Communications',
        'pick_type' => 0,
        'channel_based' => true,
        'signature' => 'none',
        'channels' => ['email', 'sms'],
        'sms' => true,
        'requirement_types' => [2, 4],
        'capability' => 'hoguet.docs',
    ],

    // ── Mandats (Hoguet, signables) ──────────────────────────────────────
    'mandat_vente' => [
        'capability' => 'hoguet.mandates',
        'label' => 'Mandat de vente',
        'group' => 'Mandats',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'simple',
        'channels' => ['download', 'email', 'sms'],
        'sms' => false,
        'requirement_types' => [2],
    ],
    'mandat_location' => [
        'capability' => 'hoguet.mandates',
        'label' => 'Mandat de location',
        'group' => 'Mandats',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'simple',
        'channels' => ['download', 'email', 'sms'],
        'sms' => false,
        'requirement_types' => [4],
    ],
    'mandat_gestion' => [
        // RETIRÉ (2026-06-30) - gestion locative non gérée : `disabled` => masqué pour
        // tous (liste + création/édition de templates via document_kinds_forbidden_for).
        'disabled' => true,
        'capability' => 'hoguet.mandates',
        'label' => 'Mandat de gestion locative',
        'group' => 'Mandats',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'simple',
        'channels' => ['download', 'email', 'sms'],
        'sms' => false,
        'requirement_types' => [4],
    ],
    'mandat_recherche' => [
        'capability' => 'hoguet.mandates',
        'label' => 'Mandat de recherche',
        'group' => 'Mandats',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'simple',
        'channels' => ['download', 'email', 'sms'],
        'sms' => false,
        'requirement_types' => [1],
    ],
    'avenant_mandat' => [
        'capability' => 'hoguet.mandates',
        'label' => 'Avenant au mandat',
        'group' => 'Mandats',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'simple',
        'channels' => ['download', 'email', 'sms'],
        'sms' => false,
        'requirement_types' => [],
    ],
    'renouvellement_mandat' => [
        'capability' => 'hoguet.mandates',
        'label' => 'Renouvellement de mandat',
        'group' => 'Mandats',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'simple',
        'channels' => ['download', 'email', 'sms'],
        'sms' => false,
        'requirement_types' => [],
    ],
    'denonciation_mandat' => [
        'capability' => 'hoguet.mandates',
        'label' => 'Dénonciation de mandat',
        'group' => 'Mandats',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'none',
        'channels' => ['download', 'email'],
        'sms' => false,
        'requirement_types' => [],
    ],

    // ── Transactionnel (signables) ───────────────────────────────────────
    'bon_visite' => [
        'capability' => 'hoguet.docs',
        'label' => 'Bon de visite',
        'group' => 'Transactionnel',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'optional',
        'channels' => ['download', 'email', 'sms'],
        'sms' => false,
        'requirement_types' => [],
    ],
    'compromis' => [
        'capability' => 'hoguet.docs',
        'label' => 'Compromis de vente',
        'group' => 'Transactionnel',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'multi',
        'channels' => ['download', 'email', 'sms'],
        'sms' => false,
        'requirement_types' => [2],
    ],
    'bail_location' => [
        'capability' => 'rental.docs',
        'label' => 'Bail de location (logement vide)',
        'group' => 'Transactionnel',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'multi',
        'channels' => ['download', 'email', 'sms'],
        'sms' => false,
        'requirement_types' => [4],
    ],
    'bail_meuble' => [
        'capability' => 'rental.docs',
        'label' => 'Bail de location (logement meublé)',
        'group' => 'Transactionnel', 'pick_type' => 1, 'channel_based' => false,
        'signature' => 'multi', 'channels' => ['download', 'email', 'sms'], 'sms' => false,
        'requirement_types' => [4],
    ],
    'bail_etudiant' => [
        'capability' => 'rental.docs',
        'label' => 'Bail étudiant (meublé, 9 mois)',
        'group' => 'Transactionnel', 'pick_type' => 1, 'channel_based' => false,
        'signature' => 'multi', 'channels' => ['download', 'email', 'sms'], 'sms' => false,
        'requirement_types' => [4],
    ],
    'bail_mobilite' => [
        'capability' => 'rental.docs',
        'label' => 'Bail mobilité',
        'group' => 'Transactionnel', 'pick_type' => 1, 'channel_based' => false,
        'signature' => 'multi', 'channels' => ['download', 'email', 'sms'], 'sms' => false,
        'requirement_types' => [4],
    ],
    'bail_commercial' => [
        'capability' => 'hoguet.docs',
        'label' => 'Bail commercial (3-6-9)',
        'group' => 'Transactionnel', 'pick_type' => 1, 'channel_based' => false,
        'signature' => 'multi', 'channels' => ['download', 'email', 'sms'], 'sms' => false,
        'requirement_types' => [4],
    ],
    'bail_professionnel' => [
        'capability' => 'hoguet.docs',
        'label' => 'Bail professionnel',
        'group' => 'Transactionnel', 'pick_type' => 1, 'channel_based' => false,
        'signature' => 'multi', 'channels' => ['download', 'email', 'sms'], 'sms' => false,
        'requirement_types' => [4],
    ],
    'bail_parking' => [
        'capability' => 'rental.docs',
        'label' => 'Bail de stationnement / garage',
        'group' => 'Transactionnel', 'pick_type' => 1, 'channel_based' => false,
        'signature' => 'multi', 'channels' => ['download', 'email', 'sms'], 'sms' => false,
        'requirement_types' => [4],
    ],
    'bail_saisonnier' => [
        'capability' => 'rental.docs',
        'label' => 'Location saisonnière (meublé de tourisme)',
        'group' => 'Transactionnel', 'pick_type' => 1, 'channel_based' => false,
        'signature' => 'multi', 'channels' => ['download', 'email', 'sms'], 'sms' => false,
        'requirement_types' => [4],
    ],
    'offre_achat' => [
        'capability' => 'hoguet.docs',
        'label' => "Offre d'achat",
        'group' => 'Transactionnel',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'multi',
        'channels' => ['download', 'email', 'sms'],
        'sms' => false,
        'requirement_types' => [1],
    ],
    'etat_lieux' => [
        'capability' => 'rental.edl',
        'label' => 'État des lieux',
        'group' => 'Transactionnel',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'optional',
        'channels' => ['download', 'email'],
        'sms' => false,
        'requirement_types' => [],
    ],
    'pv_remise_cles' => [
        'capability' => 'keys.pv',
        'label' => 'PV de remise des clés',
        'group' => 'Transactionnel',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'optional',
        'channels' => ['download', 'email'],
        'sms' => false,
        'requirement_types' => [],
    ],
    'cr_visite' => [
        'capability' => 'hoguet.docs',
        'label' => 'Compte-rendu de visite',
        'group' => 'Transactionnel',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'none',
        'channels' => ['download', 'email'],
        'sms' => false,
        'requirement_types' => [],
    ],
    // 2026-09-22 : CR redige POUR le vendeur / bailleur du bien visite. Un seul template
    // porte le PDF (html) ET le corps de l'e-mail (email_body_html) : le job SendModelByMail
    // joint le PDF regenere depuis `html` et compose le message depuis `email_body_html`.
    'cr_visite_vendeur' => [
        'capability' => 'hoguet.docs',
        'label' => 'Compte-rendu de visite (vendeur)',
        'group' => 'Transactionnel',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'none',
        'channels' => ['download', 'email'],
        'sms' => false,
        'requirement_types' => [2, 4],
    ],

    // ── Communications (canal-dépendantes : download=PDF / email / sms) ──
    'lettre_prospection' => [
        'capability' => 'hoguet.docs',
        'label' => 'Lettre de prospection',
        'group' => 'Communications',
        'pick_type' => 0,
        'channel_based' => true,
        'signature' => 'none',
        'channels' => ['download', 'email', 'sms'],
        'sms' => true,
        'requirement_types' => [],
    ],
    'demande_pieces' => [
        'capability' => 'docs.request',
        'label' => 'Demande de pièces',
        'group' => 'Communications',
        'pick_type' => 0,
        'channel_based' => true,
        'signature' => 'none',
        'channels' => ['download', 'email', 'sms'],
        'sms' => true,
        'requirement_types' => [],
    ],
    'avis_valeur' => [
        'capability' => 'estimation.avis',
        'label' => 'Avis de valeur',
        'group' => 'Communications',
        'pick_type' => 0,
        'channel_based' => true,
        'signature' => 'none',
        'channels' => ['download', 'email', 'sms'],
        'sms' => true,
        'requirement_types' => [],
    ],
    'bordereau_pieces' => [
        'capability' => 'hoguet.docs',
        'label' => 'Bordereau de pièces',
        'group' => 'Communications',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'none',
        'channels' => ['download', 'email'],
        'sms' => false,
        'requirement_types' => [],
    ],
    // Email de clôture vendeur (modalCloseSale). Email-only → pick_type=0, non channel-based.
    'close_sale_seller' => [
        'capability' => 'close',
        'label' => 'Email de clôture vendeur',
        'group' => 'Communications',
        'pick_type' => 0,
        'channel_based' => false,
        'signature' => 'none',
        'channels' => ['email'],
        'sms' => false,
        'requirement_types' => [],
    ],
    // Invitation espace client (modalSendPortal + invite garant). Le sélecteur ne cible que
    // l'email (le SMS portail est historiquement stocké en TYPE_DOCUMENT) → pick_type=0, non channel-based.
    'portal_link_invitation' => [
        'capability' => 'portal',
        'label' => 'Invitation espace client',
        'group' => 'Communications',
        'pick_type' => 0,
        'channel_based' => false,
        'signature' => 'none',
        'channels' => ['email', 'sms'],
        'sms' => false,
        'requirement_types' => [],
    ],

    // ── Conformité (préavis / congés : ni signature ni SMS) ──────────────
    'preavis_locataire' => [
        'capability' => 'rental.docs',
        'label' => 'Préavis locataire',
        'group' => 'Conformité',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'none',
        'channels' => ['download', 'email'],
        'sms' => false,
        'requirement_types' => [3],
    ],
    'preavis_bailleur' => [
        'capability' => 'rental.docs',
        'label' => 'Préavis bailleur',
        'group' => 'Conformité',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'none',
        'channels' => ['download', 'email'],
        'sms' => false,
        'requirement_types' => [4],
    ],
    'conge_vendre' => [
        'capability' => 'rental.docs',
        'label' => 'Congé pour vendre',
        'group' => 'Conformité',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'none',
        'channels' => ['download', 'email'],
        'sms' => false,
        'requirement_types' => [2],
    ],

    // Lot 3 - documents obligatoires
    'informations_precontractuelles' => [
        'capability' => 'hoguet.docs',
        'label' => 'Informations précontractuelles',
        'group' => 'Conformité',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'optional',
        'channels' => ['download', 'email'],
        'sms' => false,
        'requirement_types' => [2, 4],
    ],
    'acte_cautionnement' => [
        'capability' => 'rental.docs',
        'label' => 'Acte de cautionnement',
        'group' => 'Conformité',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'simple',
        'channels' => ['download', 'email'],
        'sms' => false,
        'requirement_types' => [3, 4],
    ],

    // Quittance de loyer / reçu partiel (art. 21 loi 89-462) - attestation unilatérale
    // du bailleur (AUCUNE signature requise), gratuite, détail loyer/charges obligatoire.
    // Transmission email licite avec l'accord du locataire (art. 21 al. 4).
    'quittance_loyer' => [
        'capability' => 'rental.docs',
        'label' => 'Quittance de loyer',
        'group' => 'Transactionnel',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'none',
        'channels' => ['download', 'email'],
        'sms' => false,
        'requirement_types' => [3, 4],
    ],

    // Solution C (2026-06-11) - notaire exempté Hoguet (art. 2 loi 70-9) :
    // mandat exprès écrit, réf interne NEG-AAAA-NNNN, AUCUN registre Hoguet.
    'mandat_negociation_notariale' => [
        'capability' => 'notarial.mandate',
        'label' => 'Mandat de négociation notariale',
        'group' => 'Mandats',
        'pick_type' => 1,
        'channel_based' => false,
        'signature' => 'simple',
        'channels' => ['download'],
        'sms' => false,
        'requirement_types' => [1, 2, 3, 4],
    ],

];
