{
  "type": "object",
  "properties": {
    "canton": {
      "type": "string",
      "minLength": 2,
      "maxLength": 40,
      "description": "Swiss canton where the household lives: two-letter code (ZH, GE, VD...) or its name. The standard employment contract (NAV/CTT) of the WORKPLACE governs; that is this canton unless workplace_postcode places the work in another one."
    },
    "workplace_postcode": {
      "type": "string",
      "pattern": "^\\d{4}$",
      "description": "4-digit Swiss postcode (PLZ/NPA) of the WORKPLACE. City minimum wages (e.g. Stadt Luzern) depend on it."
    },
    "role": {
      "type": "string",
      "enum": [
        "cleaner",
        "nanny",
        "carer",
        "au_pair",
        "other"
      ],
      "default": "cleaner",
      "description": "What the worker does: cleaner, nanny (childcare), carer (care of an elderly or disabled person), au_pair or other. Sets which contract generator the link opens; au_pair in Geneva adds the au pair contract's own rules."
    },
    "lives_in": {
      "type": "boolean",
      "default": false,
      "description": "true if the worker lives in the household (board and lodging). Neuchâtel's standard contract only covers live-in staff, and Vaud gives them a longer notice."
    },
    "worker_age": {
      "type": "integer",
      "minimum": 13,
      "maximum": 90,
      "description": "Age of the worker in years, for the vacation entitlement (more weeks under 20 and, in some cantons, from 50 or 60). Never a birthdate."
    },
    "hourly_wage_chf": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 500,
      "description": "Agreed gross hourly wage in CHF, to prefill the contract generator."
    },
    "monthly_wage_chf": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 20000,
      "description": "Agreed gross monthly wage in CHF instead of an hourly wage (nanny, carer), or the au pair's pocket money."
    },
    "hours_per_week": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 70,
      "description": "Average weekly hours, to prefill the contract generator."
    },
    "start_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First working day, YYYY-MM-DD, to prefill the contract and date the end of the probation."
    },
    "language": {
      "type": "string",
      "enum": [
        "en",
        "de",
        "fr",
        "it",
        "es",
        "pt"
      ],
      "default": "en",
      "description": "Language of the explanatory texts and of the clino.ch links: en, de, fr, it, es or pt. Default en."
    }
  },
  "required": [
    "canton"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "get_contract_terms input",
  "x-source": "https://clino.ch/mcp (MCP tools/list, 2026-11-04, verbatim inputSchema)"
}