{
  "type": "object",
  "properties": {
    "availability": {
      "type": "string"
    },
    "billing_event": {
      "type": [
        "string",
        "null"
      ]
    },
    "billing_quantity": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1
    },
    "checked_at": {
      "type": "string",
      "format": "date-time"
    },
    "completed_at": {
      "type": "string",
      "format": "date-time"
    },
    "coverage_complete": {
      "type": "boolean"
    },
    "downloaded_bytes": {
      "type": "integer",
      "minimum": 0
    },
    "duration_ms": {
      "type": "integer",
      "minimum": 0
    },
    "error_code": {
      "type": [
        "null",
        "string"
      ]
    },
    "error_message": {
      "type": [
        "null",
        "string"
      ]
    },
    "evidence_sha256": {
      "type": [
        "null",
        "string"
      ],
      "pattern": "^[a-f0-9]{64}$"
    },
    "http_request_count": {
      "type": "integer",
      "minimum": 0
    },
    "offer_count": {
      "type": "integer",
      "minimum": 0
    },
    "offers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "availability": {
            "type": "string"
          },
          "checked_at": {
            "type": "string",
            "format": "date-time"
          },
          "currency": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[A-Z]{3}$"
          },
          "evidence_field": {
            "type": "string"
          },
          "evidence_sha256": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "offer_scope": {
            "type": "string"
          },
          "price": {
            "type": [
              "number",
              "null"
            ],
            "minimum": 0
          },
          "sku": {
            "type": [
              "null",
              "string"
            ]
          },
          "source_url": {
            "type": "string",
            "format": "uri",
            "pattern": "^https://"
          },
          "variant_id": {
            "type": "string"
          },
          "variant_name": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "availability",
          "checked_at",
          "currency",
          "evidence_field",
          "evidence_sha256",
          "price",
          "sku",
          "source_url",
          "variant_name"
        ],
        "additionalProperties": false
      }
    },
    "product_name": {
      "type": [
        "null",
        "string"
      ]
    },
    "product_url": {
      "type": [
        "null",
        "string"
      ]
    },
    "report_id": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "schema_version": {
      "const": "1.0"
    },
    "source_url": {
      "type": [
        "null",
        "string"
      ],
      "format": "uri",
      "pattern": "^https://"
    },
    "status": {
      "enum": [
        "verified",
        "unknown",
        "invalid_input"
      ]
    },
    "variant_count_observed": {
      "type": "integer",
      "minimum": 0
    },
    "variant_source_error": {
      "type": [
        "string",
        "null"
      ]
    },
    "variants_truncated": {
      "type": "boolean"
    }
  },
  "required": [
    "availability",
    "billing_event",
    "billing_quantity",
    "checked_at",
    "completed_at",
    "coverage_complete",
    "downloaded_bytes",
    "duration_ms",
    "error_code",
    "error_message",
    "evidence_sha256",
    "http_request_count",
    "offer_count",
    "offers",
    "product_name",
    "product_url",
    "report_id",
    "schema_version",
    "source_url",
    "status",
    "variant_count_observed",
    "variant_source_error",
    "variants_truncated"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Product Price & Stock Availability — Verified report"
}
