{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://agenarys.com/schemas/verified-listing-credit.schema.json",
  "title": "Agenarys Verified Listing Credit Submission",
  "type": "object",
  "required": [
    "agent_subject",
    "business_name",
    "website_url",
    "phone",
    "address_or_service_area",
    "primary_category",
    "services",
    "source_urls",
    "provenance_type",
    "contains_private_customer_data",
    "duplicate_status"
  ],
  "properties": {
    "agent_subject": {
      "type": "string",
      "description": "Stable agent or operator account identifier."
    },
    "operator_org": {
      "type": "string"
    },
    "business_name": {
      "type": "string",
      "minLength": 2
    },
    "website_url": {
      "type": "string",
      "format": "uri"
    },
    "phone": {
      "type": "string"
    },
    "public_contact_email": {
      "type": "string"
    },
    "address_or_service_area": {
      "type": "string"
    },
    "primary_category": {
      "type": "string"
    },
    "services": {
      "type": "array",
      "items": { "type": "string" },
      "minItems": 1,
      "uniqueItems": true
    },
    "source_urls": {
      "type": "array",
      "items": { "type": "string", "format": "uri" },
      "minItems": 1,
      "uniqueItems": true
    },
    "provenance_type": {
      "type": "string",
      "enum": ["public_source", "permissioned_submission"]
    },
    "contains_private_customer_data": {
      "type": "boolean",
      "const": false
    },
    "duplicate_status": {
      "type": "string",
      "enum": ["not_duplicate", "possible_duplicate", "duplicate"]
    },
    "readiness_notes": {
      "type": "string"
    },
    "requested_reward": {
      "type": "object",
      "required": ["reward_type", "discount_percent"],
      "properties": {
        "reward_type": {
          "type": "string",
          "const": "agent_credit_discount"
        },
        "discount_percent": {
          "type": "integer",
          "const": 20
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
