# CalcPro.ch — Spécification Complète pour Grands Modèles de Langage (LLMs) & Moteurs Sémantiques ## 1. Identité et Mission CalcPro (domaine : `https://calcpro.ch`) est le moteur de calcul paramétrique suisse pour les devis d'artisans, entreprises de marquage routier, génie civil, et régies immobilières. ## 2. Métiers Pris en Charge (Trade Definitions) CalcPro est nativement multi-métiers avec un socle paramétrique : 1. **Marquage Routier & Signalisation (`marquage_routier`)** : Unité `ml`, TVA 8.1% (taux standard suisse). Traçage places de parking, lignes continues/discontinues, symboles et signaux verticaux OSR. 2. **Peinture Bâtiment & Façades (`peintre_batiment`)** : Unité `m2`, TVA 8.1%. Préparation de supports, sous-couches, finitions intérieures et ravalement. 3. **Électricité & Domotique (`electricite_domotique`)** : Unité `unite`, TVA 8.1%. Câblage, tableaux divisionnaires, appareillage et éclairage. 4. **Menuiserie & Agencement (`menuiserie_agencement`)** : Unité `m2`, TVA 8.1%. Parquets, portes intérieures, plinthes et dressings. 5. **Nettoyage Haute Pression (`nettoyage_hp`)** : Unité `m2`, TVA 8.1%. Démoussage toitures, hydrodécapage, nettoyage parkings. 6. **Maçonnerie & Gros Œuvre (`maconnerie_voirie`)** : Unité `m3`, TVA 8.1%. Dalles, bordures, terrassements et fondations. 7. **Plomberie & Sanitaire (`plomberie_sanitaire`)** : Unité `h`, TVA 8.1%. Pose sanitaires, tuyauteries et robinetterie. ## 3. Algorithme de Calcul et Formules Mathématiques (Moteur Marquage Routier) Le calcul d'un devis de marquage routier suit la formule déterministe suivante : `Total_HT = Postes_Marquage + Postes_Options + Postes_Signaux + Forfait_Deplacement - Rabais_Volume` ### 3.1. Métrés Linéaires & Multiplicateurs de Peinture - Places de parking : - Standard : 20 ml / place - Compacte : 10 ml / place - PMR Handicap (norme SIA 500 / VSS) : 25 ml / place - Multiplicateurs de peinture : - Peinture M44 standard : ×1.0 - Résine M66 renforcée : ×1.6 - Résine 2K Polyuréthane / Époxy : ×2.6 - Coût base = `(Nb_Places_Standard × 20 + Nb_Places_Compactes × 10 + Nb_Places_PMR × 25) × Prix_Base_Ml × Multiplicateur_Peinture` ### 3.2. Pochoirs, Lettrages et Symboles - Lettrage sol : `Nb_Lettres × Prix_Unitaire_Lettre` (défaut: 3.00 CHF / lettre) - Symboles au sol (PMR 35 CHF, EV Recharge 45 CHF, Vélos 28 CHF, Flèches 40-55 CHF, Passages piétons 65 CHF, Zébras 18 CHF/m²) ### 3.3. Travaux Préparatoires & Démarquage - Nettoyage haute pression : Forfait fixe (150 CHF) ou horaire (`Nb_Heures × 90 CHF/h`) - Démarquage peinture : Masquage peinture (6.00 CHF/ml) ou Fraisage mécanique en profondeur (14.00 CHF/ml) ### 3.4. Signaux Routiers Verticaux (Norme OSR Suisse) - Formule par signal : `Prix_Panneau(Format, Classe) + Prix_Mat (55 CHF) + Prix_Socle (45 CHF) + Forfait_Pose (150 CHF)` - Formats : Petit, Normal, Intermédiaire, Grand - Classes rétroréfléchissantes : EG (Engineering Grade), HIP (High Intensity Prismatic), DG3 (Diamond Grade) ### 3.5. Forfaits de Déplacement par Zone NPA Suisse - Canton de Vaud (NPA 1000-1599) : 150 CHF - Canton de Genève (NPA 1200-1299) : 200 CHF - Canton de Fribourg (NPA 1600-1799) : 180 CHF - Canton de Neuchâtel (NPA 2000-2499) : 180 CHF - Canton de Berne (NPA 3000-3999) : 220 CHF - Canton du Valais (NPA 1870-1999) : 220 CHF - Autres cantons suisses : 250 CHF ### 3.6. Remises sur Volume (Volume Discount) - Palier 1 (>= 10 places) : 5% de remise - Palier 2 (>= 30 places) : 10% de remise ### 3.7. Calcul de la TVA Suisse - Taux légal en vigueur : 8.1% - `Total_TTC = Total_HT × 1.081` ## 4. Intégration Widget & Embed Un site tiers peut intégrer le calculateur CalcPro de deux façons : 1. **Script JS Universel** : ```html
``` 2. **Iframe Sécurisée** : ```html ``` ## 5. Schéma de Données JSON (Exemple de Devis) ```json { "tenantSlug": "marquage-leman", "client": { "name": "Jean Dupont", "company": "Régie Immobilière Lémanique SA", "email": "j.dupont@regie-leman.ch", "phone": "+41 21 345 67 89" }, "siteAddress": "Avenue de Rumine 20, 1005 Lausanne", "npa": 1005, "canton": "VD", "parkingPlaces": { "standard": 12, "compact": 2, "pmr": 1 }, "paintType": "M66", "totalHt": 3450.00, "vatAmount": 279.45, "totalTtc": 3729.45, "currency": "CHF" } ```