{
  "type": "object",
  "properties": {
    "ambiguous_cards": {
      "type": "integer"
    },
    "billing_event": {
      "type": [
        "string",
        "null"
      ]
    },
    "billing_quantity": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1
    },
    "checked_at": {
      "type": "string",
      "format": "date-time"
    },
    "checked_urls": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "company_website": {
      "type": [
        "null",
        "string"
      ]
    },
    "completed_at": {
      "type": "string",
      "format": "date-time"
    },
    "coverage_complete": {
      "type": "boolean"
    },
    "coverage_scope": {
      "type": "string"
    },
    "downloaded_bytes": {
      "type": "integer",
      "minimum": 0
    },
    "duration_ms": {
      "type": "integer",
      "minimum": 0
    },
    "error_code": {
      "type": [
        "null",
        "string"
      ]
    },
    "error_message": {
      "type": [
        "null",
        "string"
      ]
    },
    "http_request_count": {
      "type": "integer",
      "minimum": 0
    },
    "plan_count": {
      "type": "integer",
      "minimum": 0
    },
    "plans": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "billing_note": {
            "type": [
              "null",
              "string"
            ]
          },
          "billing_period": {
            "type": [
              "null",
              "string"
            ]
          },
          "checked_at": {
            "type": "string",
            "format": "date-time"
          },
          "currency_marker": {
            "type": [
              "null",
              "string"
            ]
          },
          "evidence_sha256": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "evidence_text": {
            "type": "string"
          },
          "extraction_method": {
            "type": "string"
          },
          "plan_name": {
            "type": "string"
          },
          "price_text": {
            "type": "string"
          },
          "price_type": {
            "type": "string"
          },
          "source_url": {
            "type": "string",
            "format": "uri",
            "pattern": "^https://"
          }
        },
        "required": [
          "billing_period",
          "checked_at",
          "currency_marker",
          "evidence_sha256",
          "evidence_text",
          "extraction_method",
          "plan_name",
          "price_text",
          "price_type",
          "source_url"
        ],
        "additionalProperties": false
      }
    },
    "pricing_url": {
      "type": [
        "null",
        "string"
      ]
    },
    "report_id": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "schema_version": {
      "const": "1.0"
    },
    "source_errors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "error_code": {
            "type": "string"
          },
          "url": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "error_code",
          "url"
        ],
        "additionalProperties": false
      }
    },
    "status": {
      "enum": [
        "verified",
        "partial",
        "unknown",
        "invalid_input"
      ]
    }
  },
  "required": [
    "ambiguous_cards",
    "billing_event",
    "billing_quantity",
    "checked_at",
    "checked_urls",
    "company_website",
    "completed_at",
    "coverage_complete",
    "coverage_scope",
    "downloaded_bytes",
    "duration_ms",
    "error_code",
    "error_message",
    "http_request_count",
    "plan_count",
    "plans",
    "pricing_url",
    "report_id",
    "schema_version",
    "source_errors",
    "status"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "SaaS Pricing Plans & Prices — Verified Reports report"
}
