{
  "name": "WaterFilterHelp.ca",
  "version": "1.0",
  "vertical": "water treatment",
  "site": "https://waterfilterhelp.ca",
  "capabilities": {
    "quote.submit": {
      "method": "POST",
      "url": "https://waterfilterhelp.ca/api/v1/quotes",
      "dry_run_url": "https://waterfilterhelp.ca/api/v1/quotes?dry_run=true",
      "consent_required": true
    },
    "services.list": {
      "method": "GET",
      "url": "https://waterfilterhelp.ca/api/v1/services"
    },
    "locations.list": {
      "method": "GET",
      "url": "https://waterfilterhelp.ca/api/v1/locations"
    }
  },
  "services": [
    {
      "id": "water_softener",
      "name": "Water softener"
    },
    {
      "id": "whole_home_filter",
      "name": "Whole-home filter"
    },
    {
      "id": "reverse_osmosis",
      "name": "Reverse osmosis"
    },
    {
      "id": "iron_filter",
      "name": "Iron filter"
    },
    {
      "id": "uv",
      "name": "UV treatment"
    },
    {
      "id": "well_water",
      "name": "Well-water treatment"
    },
    {
      "id": "drinking_water",
      "name": "Drinking-water system"
    },
    {
      "id": "water_testing",
      "name": "Water testing"
    },
    {
      "id": "repair",
      "name": "Repair / service"
    },
    {
      "id": "other",
      "name": "Other"
    }
  ],
  "schema": {
    "type": "object",
    "additionalProperties": false,
    "required": [
      "consent",
      "name",
      "email",
      "phone",
      "address",
      "city",
      "province",
      "country",
      "service_type",
      "water_source",
      "urgency"
    ],
    "properties": {
      "consent": {
        "type": "boolean",
        "description": "Explicit consent to share PII for contractor matching",
        "const": true
      },
      "name": {
        "type": "string",
        "description": "Full name",
        "minLength": 2,
        "maxLength": 120
      },
      "email": {
        "type": "string",
        "description": "Email address",
        "format": "email",
        "maxLength": 254
      },
      "phone": {
        "type": "string",
        "description": "Phone number",
        "minLength": 7,
        "maxLength": 40
      },
      "address": {
        "type": "string",
        "description": "Property street address",
        "minLength": 5,
        "maxLength": 200
      },
      "city": {
        "type": "string",
        "description": "Property city",
        "minLength": 2,
        "maxLength": 80
      },
      "province": {
        "type": "string",
        "description": "Canadian province code",
        "enum": [
          "AB",
          "BC",
          "MB",
          "NB",
          "NL",
          "NS",
          "NT",
          "NU",
          "ON",
          "PE",
          "QC",
          "SK",
          "YT"
        ],
        "minLength": 2,
        "maxLength": 2
      },
      "postal_code": {
        "type": "string",
        "description": "Canadian postal code",
        "pattern": "^[A-Z]\\d[A-Z] \\d[A-Z]\\d$"
      },
      "country": {
        "type": "string",
        "description": "Country code",
        "const": "CA",
        "default": "CA"
      },
      "details": {
        "type": "string",
        "description": "Project details",
        "maxLength": 4000
      },
      "agent_source": {
        "type": "string",
        "description": "Submitting agent, e.g. chatgpt",
        "maxLength": 64,
        "default": "agent"
      },
      "agent_version": {
        "type": "string",
        "description": "Optional submitting agent version",
        "maxLength": 64
      },
      "submission_method": {
        "type": "string",
        "description": "openapi, mcp, webmcp, or agent-skill",
        "enum": [
          "openapi",
          "mcp",
          "webmcp",
          "agent-skill"
        ],
        "default": "openapi"
      },
      "website": {
        "type": "string",
        "description": "Spam honeypot; leave empty"
      },
      "service_type": {
        "type": "string",
        "description": "Water treatment service",
        "enum": [
          "water_softener",
          "whole_home_filter",
          "reverse_osmosis",
          "iron_filter",
          "uv",
          "well_water",
          "drinking_water",
          "water_testing",
          "repair",
          "other"
        ]
      },
      "water_source": {
        "type": "string",
        "description": "Water source",
        "enum": [
          "municipal",
          "well",
          "unknown"
        ]
      },
      "problem": {
        "type": "array",
        "description": "Observed water problems",
        "items": {
          "type": "string",
          "enum": [
            "hard_water",
            "iron",
            "sulphur",
            "staining",
            "taste_odor",
            "bacteria",
            "sediment",
            "other"
          ]
        }
      },
      "urgency": {
        "type": "string",
        "description": "Requested timing",
        "enum": [
          "asap",
          "1_3_months",
          "researching"
        ]
      }
    }
  },
  "documentation": {
    "agents_md": "https://waterfilterhelp.ca/agents.md",
    "agents_json": "https://waterfilterhelp.ca/.well-known/agents.json",
    "llms_txt": "https://waterfilterhelp.ca/llms.txt",
    "openapi": "https://waterfilterhelp.ca/openapi.json"
  }
}
