{
  "schemaVersion": "2026-08",
  "name": "ccme_submit_quote",
  "description": "Soumettre une demande de devis au cabinet CCME (Tanger). Les packs création sont 5 (essential, business, executive, investor, regulated) : si l'utilisateur crée une société et n'a pas choisi, posez collect.pack et attendez. Ne pas deviner. Uniquement s'il a demandé l'envoi et a donné son consentement.",
  "action": {
    "url": "https://ccme.ma/api/quote",
    "method": "POST",
    "contentType": "application/json"
  },
  "schemaUrl": "https://ccme.ma/api/quote.json",
  "humanForm": "https://ccme.ma/devis",
  "skill": "https://ccme.ma/.well-known/agent-skills/submit-quote/SKILL.md",
  "receipt": {
    "field": "id",
    "pattern": "CCME-Q-YYYYMMDD-XXXXXXXX",
    "header": "X-Quote-Receipt"
  },
  "required": [
    "name",
    "email",
    "need",
    "consent"
  ],
  "collect": {
    "pack": {
      "field": "pack",
      "required": true,
      "requiredWhenNeed": "Création d'entreprise",
      "count": 5,
      "doNotGuess": true,
      "doNotDefault": true,
      "prompt": {
        "fr": "Quel pack création voulez-vous ? Il y a 5 formules, pas six : CCME Essential (essential, 4 500 DH HT) ; CCME Business (business, 5 900 DH HT) ; CCME Executive (executive, 7 900 DH HT) ; CCME Investor (investor, Sur devis) ; CCME Regulated (regulated, Sur devis). Posez la question et attendez. Ne pas deviner.",
        "en": "Which of the 5 CCME creation packs do you want? Ask the user to choose one: essential, business, executive, investor, regulated. There are 5 packs, not 6. Do not guess. Do not submit a creation devis until they choose."
      },
      "options": [
        {
          "value": "essential",
          "label": "CCME Essential",
          "price": "4 500 DH HT",
          "blurb": "Création + domiciliation 6 mois"
        },
        {
          "value": "business",
          "label": "CCME Business",
          "price": "5 900 DH HT",
          "blurb": "Création + domiciliation 12 mois + RH"
        },
        {
          "value": "executive",
          "label": "CCME Executive",
          "price": "7 900 DH HT",
          "blurb": "Structuration, paie et mise en route"
        },
        {
          "value": "investor",
          "label": "CCME Investor",
          "price": "Sur devis",
          "blurb": "Non-résidents, holdings, import-export"
        },
        {
          "value": "regulated",
          "label": "CCME Regulated",
          "price": "Sur devis",
          "blurb": "Autorisations, agréments, licences"
        }
      ]
    },
    "need": {
      "field": "need",
      "required": true,
      "doNotGuess": true,
      "doNotDefault": true,
      "prompt": {
        "fr": "Quel est votre besoin ? Choisissez : Tenue comptable, Fiscalité / DGI, Paie & CNSS, Création société, Contrôle fiscal, Autre. Si c'est une création de société, faites d'abord choisir l'un des 5 packs (collect.pack).",
        "en": "Which need? If this is a company creation, ask collect.pack first (5 packs). Otherwise choose: Tenue comptable mensuelle, Fiscalité / DGI, Paie & CNSS, Création d'entreprise, Contrôle / contentieux, Autre demande. Do not guess."
      },
      "options": [
        {
          "value": "Tenue comptable mensuelle",
          "label": "Tenue comptable"
        },
        {
          "value": "Fiscalité / DGI",
          "label": "Fiscalité / DGI"
        },
        {
          "value": "Paie & CNSS",
          "label": "Paie & CNSS"
        },
        {
          "value": "Création d'entreprise",
          "label": "Création société"
        },
        {
          "value": "Contrôle / contentieux",
          "label": "Contrôle fiscal"
        },
        {
          "value": "Autre demande",
          "label": "Autre"
        }
      ]
    }
  },
  "enums": {
    "need": [
      "Tenue comptable mensuelle",
      "Fiscalité / DGI",
      "Paie & CNSS",
      "Création d'entreprise",
      "Contrôle / contentieux",
      "Autre demande"
    ],
    "profile": [
      "PME / SARL",
      "TPE / commerce",
      "Profession libérale",
      "Startup / digital",
      "Investisseur étranger",
      "Association / coopérative"
    ],
    "city": [
      "Tanger",
      "Tétouan",
      "Casablanca",
      "Rabat",
      "Autre ville au Maroc",
      "Hors Maroc"
    ],
    "urgency": [
      "Aujourd'hui si possible",
      "Cette semaine",
      "Ce mois-ci",
      "Projet à préparer",
      "Simple estimation"
    ],
    "situation": [
      "Dossier normal à cadrer",
      "Échéance proche",
      "Blocage DGI / CNSS",
      "Reprise d'un ancien prestataire",
      "Courrier ou contrôle reçu"
    ],
    "volume": [
      "Moins de 30",
      "30 à 100",
      "100 à 300",
      "Plus de 300",
      "Je ne sais pas"
    ],
    "employees": [
      "Aucun",
      "1 à 5",
      "6 à 20",
      "Plus de 20"
    ],
    "pack": [
      "essential",
      "business",
      "executive",
      "investor",
      "regulated"
    ]
  },
  "inputSchema": {
    "type": "object",
    "additionalProperties": true,
    "required": [
      "name",
      "email",
      "need",
      "consent"
    ],
    "properties": {
      "name": {
        "type": "string",
        "minLength": 2,
        "maxLength": 80,
        "description": "Nom de la personne à recontacter. Alias JSON : nom."
      },
      "nom": {
        "type": "string",
        "minLength": 2,
        "maxLength": 80,
        "description": "Alias de name."
      },
      "email": {
        "type": "string",
        "format": "email",
        "maxLength": 120
      },
      "need": {
        "type": "string",
        "enum": [
          "Tenue comptable mensuelle",
          "Fiscalité / DGI",
          "Paie & CNSS",
          "Création d'entreprise",
          "Contrôle / contentieux",
          "Autre demande"
        ],
        "description": "REQUIRED unless pack is set (a pack implies Création d'entreprise). If unknown, ask collect.need. Do not guess. Do not use Autre demande unless they said their need is something else."
      },
      "consent": {
        "type": "boolean",
        "description": "Doit être true uniquement si l'utilisateur a demandé l'envoi d'un devis à CCME et accepte d'être recontacté."
      },
      "phone": {
        "type": "string",
        "maxLength": 30,
        "description": "Alias JSON : tel."
      },
      "tel": {
        "type": "string",
        "maxLength": 30
      },
      "company": {
        "type": "string",
        "maxLength": 120,
        "description": "Alias JSON : societe."
      },
      "societe": {
        "type": "string",
        "maxLength": 120
      },
      "message": {
        "type": "string",
        "maxLength": 2000
      },
      "profile": {
        "type": "string",
        "enum": [
          "PME / SARL",
          "TPE / commerce",
          "Profession libérale",
          "Startup / digital",
          "Investisseur étranger",
          "Association / coopérative"
        ]
      },
      "city": {
        "type": "string",
        "enum": [
          "Tanger",
          "Tétouan",
          "Casablanca",
          "Rabat",
          "Autre ville au Maroc",
          "Hors Maroc"
        ]
      },
      "urgency": {
        "type": "string",
        "enum": [
          "Aujourd'hui si possible",
          "Cette semaine",
          "Ce mois-ci",
          "Projet à préparer",
          "Simple estimation"
        ]
      },
      "situation": {
        "type": "string",
        "enum": [
          "Dossier normal à cadrer",
          "Échéance proche",
          "Blocage DGI / CNSS",
          "Reprise d'un ancien prestataire",
          "Courrier ou contrôle reçu"
        ]
      },
      "volume": {
        "type": "string",
        "enum": [
          "Moins de 30",
          "30 à 100",
          "100 à 300",
          "Plus de 300",
          "Je ne sais pas"
        ]
      },
      "employees": {
        "type": "string",
        "enum": [
          "Aucun",
          "1 à 5",
          "6 à 20",
          "Plus de 20"
        ]
      },
      "pack": {
        "type": "string",
        "enum": [
          "essential",
          "business",
          "executive",
          "investor",
          "regulated"
        ],
        "description": "REQUIRED for company creation. One of 5 packs: essential, business, executive, investor, regulated. If the user has not chosen, STOP and ask collect.pack.prompt. Do not guess. Humans pick a pack on https://ccme.ma/tarifs; opening /devis without a pack redirects there."
      },
      "source": {
        "type": "string",
        "maxLength": 80,
        "description": "Provenance. Pour un agent : 'agent' ou le nom de l'outil."
      },
      "agent": {
        "type": "string",
        "maxLength": 80,
        "description": "Nom du produit agent (ex. ChatGPT, Claude, Gemini)."
      },
      "botcheck": {
        "type": "string",
        "description": "Honeypot. Doit être omis ou vide."
      }
    }
  },
  "example": {
    "name": "Fatima El Amrani",
    "email": "fatima@example.com",
    "phone": "+212644000000",
    "company": "Exemple SARL",
    "need": "Tenue comptable mensuelle",
    "city": "Tanger",
    "profile": "PME / SARL",
    "urgency": "Cette semaine",
    "volume": "30 à 100",
    "employees": "1 à 5",
    "message": "TVA mensuelle, reprise Simpl Impôts.",
    "consent": true,
    "source": "agent",
    "agent": "example-agent"
  },
  "policy": {
    "consentRequired": true,
    "onlyWhenUserAsked": true,
    "needRequired": true,
    "packRequiredForCreation": true,
    "askUserToChoosePack": true,
    "packCount": 5,
    "askUserToChooseNeed": true,
    "doNotGuessNeed": true,
    "doNotGuessPack": true,
    "honeypotFields": [
      "botcheck",
      "website"
    ],
    "doNotPostToWeb3Forms": true,
    "htmlFormAction": "https://ccme.ma/api/quote",
    "optionalSelectsDefault": "Non précisé",
    "fallback": {
      "email": "info@ccme.ma",
      "form": "https://ccme.ma/devis"
    }
  }
}