{
  "version": "1.0.0",
  "updated": "2026-05-24",
  "nom": "3Découpe · Catalogue Produits",

  "tarifs": {
    "gardecorps": {
      "gc_tole":   { "prix_ml": 280, "unite": "€/ml", "label": "Garde-corps tôle pleine" },
      "gc_mixte":  { "prix_ml": 320, "unite": "€/ml", "label": "Garde-corps mixte (soubassement + lisses)" },
      "gc_simple": { "prix_ml": 220, "unite": "€/ml", "label": "Garde-corps barreaudage tubes" }
    },
    "porte": {
      "battante":        { "prix_base": 850,  "prix_m2": 120, "label": "Porte battante" },
      "double_battante": { "prix_base": 1200, "prix_m2": 150, "label": "Double porte battante" },
      "coulissante":     { "prix_base": 1100, "prix_m2": 140, "label": "Porte coulissante" },
      "blindee":         { "prix_base": 1800, "prix_m2": 200, "label": "Porte blindée" }
    },
    "portail": {
      "battant_1v":  { "prix_base": 950,  "prix_m2": 130, "label": "Portail battant 1 vantail" },
      "battant_2v":  { "prix_base": 1200, "prix_m2": 140, "label": "Portail battant 2 vantaux" },
      "coulissant":  { "prix_base": 1500, "prix_m2": 160, "label": "Portail coulissant" },
      "autoportant": { "prix_base": 1800, "prix_m2": 180, "label": "Portail autoportant" }
    },
    "escalier": {
      "droit":      { "prix_marche": 180, "prix_base": 500, "label": "Escalier droit" },
      "tournant":   { "prix_marche": 220, "prix_base": 700, "label": "Escalier tournant" },
      "helicoidal": { "prix_marche": 280, "prix_base": 900, "label": "Escalier hélicoïdal" }
    }
  },

  "finitions": {
    "sans":          { "label": "Brut / Apprêt",              "surcoût_pct": 0   },
    "galva":         { "label": "Galvanisation à chaud",       "surcoût_pct": 18  },
    "thermolaque":   { "label": "Thermolaquage RAL standard",   "surcoût_pct": 22  },
    "epoxy_couleur": { "label": "Époxy couleur (Zolpachrom 3)", "surcoût_pct": 28  }
  },

  "accessoires": {
    "mc_bois_pin":    { "label": "Main courante bois pin",      "prix": 28,  "unite": "€/ml" },
    "mc_bois_chene":  { "label": "Main courante bois chêne",    "prix": 45,  "unite": "€/ml" },
    "mc_inox":        { "label": "Main courante inox Ø42",      "prix": 65,  "unite": "€/ml" },
    "embout_chrome":  { "label": "Embouts chromés",             "prix": 8,   "unite": "€/pce" },
    "embout_noir":    { "label": "Embouts noirs mat",           "prix": 8,   "unite": "€/pce" },
    "fix_dalle":      { "label": "Fixation dalle (platines)",   "prix": 25,  "unite": "€/poteau" },
    "fix_lat":        { "label": "Fixation latérale",          "prix": 18,  "unite": "€/poteau" },
    "fix_limon":      { "label": "Fixation sur limon",          "prix": 22,  "unite": "€/poteau" },
    "visserie_inox":  { "label": "Visserie inox",               "prix": 12,  "unite": "€/kg" },
    "motorisation":   { "label": "Motorisation portail",        "prix": 850, "unite": "€/portail" }
  },

  "motifs": [
    { "code": "1626", "label": "Losanges entrelacés",   "famille": "geometrique" },
    { "code": "1820", "label": "Bambou vertical",        "famille": "nature" },
    { "code": "2201", "label": "Arabesque classique",    "famille": "arabesque" },
    { "code": "2415", "label": "Vague horizon",          "famille": "moderne" },
    { "code": "3001", "label": "Barreaux droits",        "famille": "classique" },
    { "code": "3102", "label": "Diagonales croisées",    "famille": "geometrique" },
    { "code": "4201", "label": "Feuillage tropical",     "famille": "nature" },
    { "code": "4502", "label": "Treillis carré 50×50",   "famille": "geometrique" },
    { "code": "5001", "label": "Flammes modernes",       "famille": "moderne" },
    { "code": "5210", "label": "Toile d'araignée",       "famille": "artistique" }
  ],

  "sections_tubes": {
    "poteaux": ["40x40","50x30","60x40","60x60","80x40"],
    "lisses":  ["30x20","40x20","50x30","60x20"],
    "mc":      ["40x20","50x20","60x40","60x30","80x40","Ø42","Ø48"]
  },

  "couleurs_standard": ["G010","N001","B001","R001","W001","N008"],
  "surcoût_couleur_perso": 30,

  "delais_jours_ouvres": {
    "gc_tole":   7,
    "gc_mixte":  9,
    "gc_simple": 5,
    "porte":     5,
    "portail":   10,
    "escalier":  14,
    "fenetre":   5,
    "panneau":   3,
    "finition_galva":        4,
    "finition_thermolaque":  5,
    "finition_epoxy_couleur":3
  },

  "zones_livraison": {
    "Z0":  { "nom": "Retrait atelier",                "tarif": 0,   "barge": 0  },
    "Z1":  { "nom": "Mamoudzou / Kaweni",             "tarif": 50,  "barge": 0  },
    "Z2":  { "nom": "Koungou / Longoni / Bandraboua", "tarif": 80,  "barge": 0  },
    "Z3":  { "nom": "Centre-Ouest / Tsingoni",        "tarif": 100, "barge": 0  },
    "Z4":  { "nom": "Centre-Ouest / Chiconi",         "tarif": 130, "barge": 0  },
    "Z5":  { "nom": "Sud / Bouéni / Kani-Kéli",       "tarif": 180, "barge": 0  },
    "ZPT": { "nom": "Petite Terre + barge",           "tarif": 60,  "barge": 80 }
  },

  "conditions_generales": {
    "tva": 8.5,
    "validite_devis": 30,
    "acompte_pct": 40,
    "mention": "Prix HT — Devis indicatif, valable 30 jours. Devis définitif sur validation du bureau d'études."
  },

  "vendeur_pin": "1234",

  "prix_achat": {
    "_note": "Prix de revient (achat matière + MO) par ml ou unité — confidentiel vendeur",
    "gardecorps": {
      "gc_tole":   { "pa_ml": 160, "label": "GC tôle — PA" },
      "gc_mixte":  { "pa_ml": 185, "label": "GC mixte — PA" },
      "gc_simple": { "pa_ml": 125, "label": "GC barreaudage — PA" }
    },
    "porte": {
      "battante":        { "pa_base": 480,  "pa_m2": 65 },
      "double_battante": { "pa_base": 680,  "pa_m2": 85 },
      "coulissante":     { "pa_base": 620,  "pa_m2": 78 },
      "blindee":         { "pa_base": 1020, "pa_m2": 110 }
    },
    "portail": {
      "battant_1v":  { "pa_base": 540,  "pa_m2": 72 },
      "battant_2v":  { "pa_base": 680,  "pa_m2": 78 },
      "coulissant":  { "pa_base": 850,  "pa_m2": 88 },
      "autoportant": { "pa_base": 1020, "pa_m2": 100 }
    },
    "escalier": {
      "droit":      { "pa_marche": 100, "pa_base": 280 },
      "tournant":   { "pa_marche": 125, "pa_base": 390 },
      "helicoidal": { "pa_marche": 155, "pa_base": 500 }
    }
  }
}
