{
  "$id": "https://example.com/LotUpdatedEvent.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "LotUpdatedEvent",
  "description": "Event raised when a lot record is updated and should be re-indexed.",
  "type": "object",
  "required": ["metadata", "data"],
  "properties": {
    "metadata": {
      "type": "object",
      "required": ["occurredAtUtc", "typeName", "correlationId", "sentAtUtc"],
      "properties": {
        "occurredAtUtc": {
          "type": "string",
          "description": "UTC timestamp when the event occurred (ISO 8601)."
        },
        "typeName": {
          "type": "string",
          "description": "Event type name. Expected value: lotUpdatedEvent."
        },
        "correlationId": {
          "type": "string",
          "description": "Correlation identifier used for cross-service tracing."
        },
        "source": {
          "type": "string",
          "description": "Source service and version that emitted the event."
        },
        "sentAtUtc": {
          "type": "string",
          "description": "UTC timestamp when the publisher sent the event (ISO 8601)."
        }
      }
    },
    "data": {
      "type": "object",
      "required": ["lotId", "lotNumber", "auctionNumber"],
      "properties": {
        "lotId": {
          "type": "string",
          "description": "Unique identifier for the lot."
        },
        "lotNumber": {
          "type": ["string", "number"],
          "description": "Lot number for display and indexing."
        },
        "lotSuffix": {
          "type": "string",
          "description": "Optional lot suffix such as A or B."
        },
        "auctionNumber": {
          "type": ["string", "number"],
          "description": "Auction number that owns this lot."
        },
        "lastUpdatedUtc": {
          "type": "string",
          "description": "UTC timestamp when the lot was last updated (ISO 8601)."
        }
      }
    }
  }
}
