{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/lensmor/json-schema/lensmor-event-detail-schema.json",
  "title": "EventDetail",
  "description": "Detailed event response that extends the shared event summary.",
  "x-generated": "2026-11-02",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/lensmor-openapi.json#/components/schemas/EventDetail",
  "allOf": [
    {
      "$ref": "#/$defs/EventItem"
    },
    {
      "type": "object",
      "properties": {
        "latitude": {
          "type": [
            "string",
            "null"
          ],
          "description": "Latitude returned as part of this event detail object."
        },
        "longitude": {
          "type": [
            "string",
            "null"
          ],
          "description": "Longitude returned as part of this event detail object."
        },
        "attendeeCount": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Attendee Count returned as part of this event detail object."
        },
        "priceLower": {
          "type": [
            "string",
            "null"
          ],
          "description": "Price Lower returned as part of this event detail object."
        },
        "priceUpper": {
          "type": [
            "string",
            "null"
          ],
          "description": "Price Upper returned as part of this event detail object."
        },
        "eventType": {
          "type": [
            "string",
            "null"
          ],
          "description": "Event Type returned as part of this event detail object."
        },
        "categories": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": true
          },
          "description": "Category labels associated with the company or event."
        },
        "topics": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Topics returned as part of this event detail object."
        },
        "topicsCount": {
          "type": "integer",
          "description": "Topics Count returned as part of this event detail object."
        },
        "verified": {
          "type": "integer",
          "description": "Verified returned as part of this event detail object."
        },
        "future": {
          "type": "integer",
          "description": "Future returned as part of this event detail object."
        },
        "historic": {
          "type": "integer",
          "description": "Historic returned as part of this event detail object."
        },
        "historicEvent": {
          "type": [
            "string",
            "null"
          ],
          "description": "Historic Event returned as part of this event detail object."
        },
        "personnelCount": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Personnel Count returned as part of this event detail object."
        },
        "eventTypes": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": true
          },
          "description": "Event Types returned as part of this event detail object."
        }
      }
    }
  ],
  "$defs": {
    "EventItem": {
      "type": "object",
      "required": [
        "id",
        "eventId",
        "name"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Stable Lensmor identifier for this record."
        },
        "eventId": {
          "type": "string",
          "description": "Public event identifier accepted by event-scoped endpoints."
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "Display name when available."
        },
        "nickname": {
          "type": [
            "string",
            "null"
          ],
          "description": "Alternative or shortened event name when available."
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "description": "Public description when available."
        },
        "url": {
          "type": [
            "string",
            "null"
          ],
          "description": "Canonical public website URL when available."
        },
        "dateStart": {
          "type": [
            "string",
            "null"
          ],
          "format": "date",
          "description": "Event start date in ISO `YYYY-MM-DD` format when available."
        },
        "dateEnd": {
          "type": [
            "string",
            "null"
          ],
          "format": "date",
          "description": "Event end date in ISO `YYYY-MM-DD` format when available."
        },
        "venue": {
          "type": [
            "string",
            "null"
          ],
          "description": "Event venue name when available."
        },
        "city": {
          "type": [
            "string",
            "null"
          ],
          "description": "City associated with the record when available."
        },
        "region": {
          "type": [
            "string",
            "null"
          ],
          "description": "Region, state, or province when available."
        },
        "country": {
          "type": [
            "string",
            "null"
          ],
          "description": "Country associated with the record when available."
        },
        "exhibitorCount": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Known exhibitor count for the event when available."
        },
        "hasVisitors": {
          "type": "boolean",
          "description": "True when the event currently has registered Visitor data available. This is an availability signal, not proof that the caller has unlocked Visitor access."
        },
        "sponsorMatchStarred": {
          "type": "integer",
          "enum": [
            0,
            1
          ],
          "description": "Sponsor Match starred state returned by Lensmor."
        },
        "image": {
          "type": [
            "string",
            "null"
          ],
          "description": "Public image or logo URL when available."
        },
        "dataSource": {
          "type": "string",
          "const": "Lensmor",
          "description": "Source label for the returned Lensmor record."
        }
      },
      "additionalProperties": true,
      "description": "Shared public event summary used by event lists, search results, and recommendation workflows."
    }
  }
}