"""
Règles spécifiques - HABILIANS (HAB04)

HABILIANS est la fusion d'HABITAT DU NORD (HAB01) et de LOGIS MÉTROPOLE (LOG01),
au sein du groupe LDEV. Les bons HABILIANS et LOGIS sont au format « ORDRE DE
SERVICE » strictement identique : la distinction se fait en amont, sur le logo
(voir bailleurs_detector.LOGO_SHA1).
"""

HABILIANS_SPECIFIC_RULES = """
**RÈGLES SPÉCIFIQUES HABILIANS:**

1. **Code bailleur:**
   - Le code bailleur est TOUJOURS "HAB04"
   - ❌ NE JAMAIS produire "LOG01" : les bons HABILIANS ressemblent trait pour trait
     à ceux de LOGIS MÉTROPOLE (même en-tête, même « Fournisseur : 002161 »,
     même « Marché : 2024EL01B »), mais ce sont deux bailleurs distincts

2. **⚠️ Référence du bon de commande:**
   - C'est le numéro de l'ordre de service : "ORDRE DE SERVICE N° 26070331" → "26070331"
   - Format attendu : 8 chiffres commençant par l'année sur 2 chiffres (26……)
   - ❌ NE JAMAIS utiliser "Marché : 2024EL01B" ni "Fournisseur : 002161"
   - ❌ NE JAMAIS utiliser la "ref. patrimoine" (ex: 0164 02 02 0007)

3. **Gestionnaire:**
   - Valeur qui suit "Contact :" en en-tête (ex: "DUBOIS PIERRE", "DUMAZY CHRISTELLE")
   - Reprendre le nom tel qu'il est écrit sur le bon

4. **Dates:**
   - Date du bon : la date d'émission en haut à gauche, "La Madeleine, le 07.07.2026" → 2026-07-07
   - Date limite : il n'y a PAS de date limite explicite. La calculer en ajoutant
     "Délai d'exécution : N jour(s)" à la date du bon. Si le délai est absent, ajouter 8 jours.

5. **Lieu d'intervention:**
   - "Lieu d'exécution" donne l'adresse ; les lignes suivantes peuvent préciser
     "APPARTEMENT N° 11", "BATIMENT AB ENT A", "ENTREE B N° 24" → adresse_complement
   - "étage: 1" complète aussi adresse_complement
   - Le code postal et la ville sont sur la ligne qui suit "étage:"
   - "locataire :" donne le locataire ; il peut être VIDE (parties communes) — laisser vide
   - Téléphone : "tel. domicile" en priorité, sinon "tel. travail" / "tel. mobile"

6. **⚠️ LIGNES DE PRESTATION — LES CODES EN DÉBUT DE LIGNE NE SONT PAS DES ARTICLES:**
   - Chaque ligne commence par des codes de localisation, PAS par une référence article :
     * un code lieu numérique (ex: 0000078, 0000101, 0002310)
     * un code patrimoine (ex: NR00490000002, RI024300500326, 016400)
   - **❌ NE JAMAIS les mettre dans "code_ref"** : ce ne sont pas des références du BPU
   - **✅ TOUJOURS laisser "code_ref" VIDE ("")** pour HABILIANS.
     La référence article est retrouvée ensuite par rapprochement de la désignation
     avec le référentiel, côté application.
   - La désignation utile commence à "ELEC" (ex: "ELEC Plafonnier DCL complet.")
   - Elle est souvent coupée en deux lignes dans le PDF : recoller les morceaux
     (ex: "ELEC Forfait déplacement travaux in" + "férieurs à 100€ HT sans restriction
     kilométrique" → "ELEC Forfait déplacement travaux inférieurs à 100€ HT sans
     restriction kilométrique")

7. **⚠️ COLONNES PRIX / QUANTITÉ — L'ORDRE VARIE:**
   - Les colonnes sont : unité (u, F, H), p.u. h.t., qté, total h.t.
   - Selon la mise en page, le total peut apparaître AVANT la désignation
     (ex: "Logt 91,83 € ELEC Plafonnier DCL complet. u 30,61 3,00")
     ou APRÈS (ex: "ELEC Plafonnier DCL complet. u 30,61 7,00 214,27 €")
   - **Règle de contrôle : prix_unitaire × quantite = montant.** Utiliser cette
     égalité pour attribuer correctement les trois valeurs, quel que soit leur ordre.
   - Dans l'exemple ci-dessus : p.u. 30,61, qté 3,00, montant 91,83

8. **Lignes à 0,00 € = NOTES, pas des prestations:**
   - Une ligne dont le total est 0,00 € et qui n'a pas de désignation "ELEC"
     est une consigne de terrain (ex: "porte acces résidence arrière du batiment,
     voir avec Kevin Si Youcef 06.02.10.34.0")
   - → l'ajouter au champ "Commentaire", ne PAS créer de ligne d'intervention
   - Le contenu de la section "Notes :" en bas de bon va également au "Commentaire"

9. **TVA:** taux 10% sur ces bons → tva = 1
"""

HABILIANS_EXTRACTION_HINTS = """
Pour HABILIANS:
- Code bailleur TOUJOURS HAB04, jamais LOG01
- Référence = numéro d'ordre de service (8 chiffres), pas le marché
- code_ref TOUJOURS vide : les codes en début de ligne sont des codes lieu/patrimoine
- Vérifier prix_unitaire × quantite = montant
"""
