{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://dierenartskiezer.nl/data/schema.json",
  "title": "DierenartsKiezer directoryrecord",
  "type": "object",
  "required": [
    "id",
    "name",
    "category",
    "type",
    "city",
    "country",
    "countryCode",
    "profileLevel",
    "dataCompleteness",
    "sourceType",
    "verificationStatus",
    "verificationLabel",
    "providerConfirmed",
    "dataSnapshotDate",
    "canonicalUrl",
    "sourceUrl"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "category": {
      "enum": [
        "Dierenarts",
        "Dierenpension",
        "Dierenasiel"
      ]
    },
    "type": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "province": {
      "type": "string"
    },
    "country": {
      "enum": [
        "Nederland",
        "België",
        "Duitsland"
      ]
    },
    "countryCode": {
      "enum": [
        "NL",
        "BE",
        "DE"
      ]
    },
    "address": {
      "type": [
        "string",
        "null"
      ]
    },
    "phone": {
      "type": [
        "string",
        "null"
      ]
    },
    "email": {
      "type": [
        "string",
        "null"
      ]
    },
    "network": {
      "type": "string"
    },
    "species": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "services": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "emergency24": {
      "type": "boolean"
    },
    "profileLevel": {
      "enum": [
        "Basisbronprofiel",
        "Uitgebreid bronprofiel",
        "Compleet bronprofiel"
      ]
    },
    "dataCompleteness": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "sourceType": {
      "type": "string"
    },
    "emergencyNote": {
      "type": [
        "string",
        "null"
      ]
    },
    "openingSummary": {
      "type": [
        "string",
        "null"
      ]
    },
    "verificationStatus": {
      "enum": [
        "source-linked",
        "editorial-reviewed",
        "provider-confirmed"
      ]
    },
    "verificationLabel": {
      "type": "string"
    },
    "editorialReviewedAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date"
    },
    "editorialReviewedFields": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "editorialAuditSourceUrl": {
      "type": [
        "string",
        "null"
      ],
      "format": "uri"
    },
    "knownFields": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "fieldsToVerify": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "providerConfirmed": {
      "type": "boolean"
    },
    "dataSnapshotDate": {
      "type": "string",
      "format": "date"
    },
    "canonicalUrl": {
      "type": "string",
      "format": "uri"
    },
    "sourceUrl": {
      "type": "string",
      "format": "uri"
    },
    "sourceLabel": {
      "type": "string"
    }
  }
}
