{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/alto-vebra/json-schema/alto-vebra-premium-listing-schema.json",
  "title": "PremiumListing",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/alto-vebra-products-api-openapi.yml#/components/schemas/PremiumListing",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "readOnly": true
    },
    "listingId": {
      "type": "number",
      "description": "an internal zoopla identifier for a given listing which determines which listing should be made premium."
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "readOnly": true
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "readOnly": true
    },
    "createdBy": {
      "type": "string",
      "readOnly": true,
      "description": "unique client identifier"
    },
    "status": {
      "type": "object",
      "description": "Status of request with error response\n",
      "properties": {
        "result": {
          "type": "string",
          "enum": [
            "PENDING",
            "ACTIVATED",
            "DEACTIVATED",
            "SCHEDULED",
            "ERROR"
          ]
        },
        "currently": {
          "type": "string",
          "enum": [
            "WAITING_FOR_UPDATE",
            "LAST_UPDATE_FAILED"
          ]
        },
        "errors": {
          "$ref": "#/$defs/errors",
          "x-miro": "/builds/13667159605/api-premium-listings/docs/api/schemas/Errors.yaml"
        }
      }
    },
    "expiryAt": {
      "type": "string",
      "format": "date-time",
      "description": "ISO-8601 date when the premium listing stops being premium",
      "readOnly": true
    },
    "highlights": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/items",
        "x-miro": "/builds/13667159605/api-premium-listings/docs/api/schemas/Highlight.yaml"
      }
    },
    "customDetails": {
      "type": "object",
      "description": "So customers can store additional information about a product activation - for example - CRM identifier or order number."
    }
  },
  "required": [
    "listingId"
  ]
}