{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://painmap.org/schemas/place-measurements.schema.json",
  "title": "PainMap place measurements",
  "type": "object",
  "required": [
    "build",
    "measurements"
  ],
  "properties": {
    "build": {
      "type": "object"
    },
    "measurements": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "measurement_id",
          "release_id",
          "place_id",
          "place_name",
          "geometry_level",
          "layer_id",
          "evidence_kind",
          "raw_value",
          "display_value",
          "source_ids",
          "confidence_low",
          "confidence_high",
          "uncertainty_class",
          "extraction_timestamp",
          "transform_version",
          "reviewer_status",
          "source_file_checksum",
          "license_id"
        ],
        "properties": {
          "measurement_id": {
            "type": "string"
          },
          "release_id": {
            "type": "string"
          },
          "place_id": {
            "type": "string"
          },
          "place_name": {
            "type": "string"
          },
          "geometry_level": {
            "type": "string"
          },
          "layer_id": {
            "type": "string"
          },
          "evidence_kind": {
            "enum": [
              "direct",
              "modeled",
              "proxy",
              "priority-overlay",
              "boundary"
            ]
          },
          "raw_value": {
            "type": "number"
          },
          "display_value": {
            "type": "string"
          },
          "source_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "extraction_timestamp": {
            "type": "string"
          },
          "transform_version": {
            "type": "string"
          },
          "reviewer_status": {
            "enum": [
              "release-reviewed"
            ]
          },
          "source_file_checksum": {
            "type": "string"
          },
          "source_file_checksum_algorithm": {
            "const": "sha256"
          },
          "source_file_checksum_basis": {
            "type": "string"
          }
        }
      }
    }
  }
}
