{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://socialcrawl.dev/schemas/seller.json",
  "title": "SocialCrawl Seller",
  "description": "Canonical unified seller offer object returned by every SocialCrawl endpoint with the Seller/SellerList archetype. Nullability is expressed via JSON Schema 2020-12 type arrays. Generated from the Zod schema in packages/social-api/src/schemas/canonical.ts.",
  "type": "object",
  "properties": {
    "id": {
      "type": [
        "string",
        "null"
      ],
      "description": "String at seller.id"
    },
    "name": {
      "type": [
        "string",
        "null"
      ],
      "description": "Seller name"
    },
    "domain": {
      "type": [
        "string",
        "null"
      ],
      "description": "String at seller.domain"
    },
    "url": {
      "type": [
        "string",
        "null"
      ],
      "description": "String at seller.url"
    },
    "price": {
      "type": "object",
      "description": "Offer price breakdown (base, tax, shipping, total, currency)",
      "properties": {
        "base": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Numeric at seller.price.base"
        },
        "tax": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Numeric at seller.price.tax"
        },
        "shipping": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Numeric at seller.price.shipping"
        },
        "total": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Numeric at seller.price.total"
        },
        "currency": {
          "type": [
            "string",
            "null"
          ],
          "description": "String at seller.price.currency"
        }
      }
    },
    "rating": {
      "type": "object",
      "description": "Nested object: seller.rating",
      "properties": {
        "average": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Numeric at seller.rating.average"
        },
        "count": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Numeric at seller.rating.count"
        }
      }
    },
    "condition": {
      "type": [
        "string",
        "null"
      ],
      "description": "Item condition (e.g. \"New\", \"Refurbished - Excellent\")"
    },
    "availability": {
      "type": [
        "string",
        "null"
      ],
      "description": "String at seller.availability"
    },
    "annotation": {
      "type": [
        "string",
        "null"
      ],
      "description": "String at seller.annotation"
    }
  },
  "additionalProperties": true
}
