{
  "@context": {
    "@vocab": "https://propertyindex.ae/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "propertyindex": "https://propertyindex.ae/schema#",
    "Error": "propertyindex:Error",
    "error": {
      "@id": "propertyindex:error"
    },
    "Usage": "propertyindex:Usage",
    "kind": {
      "@id": "propertyindex:kind",
      "@type": "xsd:string"
    },
    "unit": {
      "@id": "propertyindex:unit",
      "@type": "xsd:string"
    },
    "used": {
      "@id": "propertyindex:used",
      "@type": "xsd:integer"
    },
    "allowance": {
      "@id": "propertyindex:allowance",
      "@type": "xsd:integer"
    },
    "remaining": {
      "@id": "propertyindex:remaining",
      "@type": "xsd:integer"
    },
    "hardCap": {
      "@id": "propertyindex:hardCap",
      "@type": "xsd:boolean"
    },
    "periodKey": {
      "@id": "propertyindex:periodKey",
      "@type": "xsd:string"
    },
    "periodEnd": {
      "@id": "propertyindex:periodEnd",
      "@type": "xsd:dateTime"
    },
    "overageEnabled": {
      "@id": "propertyindex:overageEnabled",
      "@type": "xsd:boolean"
    },
    "overageCapMinor": {
      "@id": "propertyindex:overageCapMinor",
      "@type": "xsd:integer"
    },
    "overageRecords": {
      "@id": "propertyindex:overageRecords",
      "@type": "xsd:integer"
    },
    "overageCostMinor": {
      "@id": "propertyindex:overageCostMinor",
      "@type": "xsd:integer"
    },
    "recordLimit": {
      "@id": "propertyindex:recordLimit",
      "@type": "xsd:integer"
    },
    "recordsRemaining": {
      "@id": "propertyindex:recordsRemaining",
      "@type": "xsd:integer"
    },
    "Location": "propertyindex:Location",
    "location_id": {
      "@id": "propertyindex:location_id",
      "@type": "xsd:string"
    },
    "name": {
      "@id": "propertyindex:name",
      "@type": "xsd:string"
    },
    "LocationList": "propertyindex:LocationList",
    "data": {
      "@id": "propertyindex:data",
      "@container": "@list"
    },
    "next_cursor": {
      "@id": "propertyindex:next_cursor",
      "@type": "xsd:string"
    },
    "as_of": {
      "@id": "propertyindex:as_of",
      "@type": "xsd:date"
    },
    "total": {
      "@id": "propertyindex:total",
      "@type": "xsd:integer"
    },
    "page": {
      "@id": "propertyindex:page",
      "@type": "xsd:integer"
    },
    "limit": {
      "@id": "propertyindex:limit",
      "@type": "xsd:integer"
    },
    "LocationSingle": "propertyindex:LocationSingle",
    "Sale": "propertyindex:Sale",
    "sale_id": {
      "@id": "propertyindex:sale_id",
      "@type": "xsd:string"
    },
    "highest_location_level": {
      "@id": "propertyindex:highest_location_level",
      "@type": "xsd:string"
    },
    "lowest_location_level": {
      "@id": "propertyindex:lowest_location_level",
      "@type": "xsd:string"
    },
    "location_path": {
      "@id": "propertyindex:location_path",
      "@container": "@list"
    },
    "floor": {
      "@id": "propertyindex:floor",
      "@type": "xsd:string"
    },
    "sale_date": {
      "@id": "propertyindex:sale_date",
      "@type": "xsd:date"
    },
    "property_type": {
      "@id": "propertyindex:property_type",
      "@type": "xsd:string"
    },
    "bedrooms": {
      "@id": "propertyindex:bedrooms",
      "@type": "xsd:string"
    },
    "sale_price": {
      "@id": "propertyindex:sale_price",
      "@type": "xsd:decimal"
    },
    "sale_psf": {
      "@id": "propertyindex:sale_psf",
      "@type": "xsd:decimal"
    },
    "size_sqft": {
      "@id": "propertyindex:size_sqft",
      "@type": "xsd:decimal"
    },
    "market_basis": {
      "@id": "propertyindex:market_basis",
      "@type": "xsd:string"
    },
    "procedure": {
      "@id": "propertyindex:procedure",
      "@type": "xsd:string"
    },
    "financed": {
      "@id": "propertyindex:financed",
      "@type": "xsd:boolean"
    },
    "SaleList": "propertyindex:SaleList",
    "SaleSingle": "propertyindex:SaleSingle",
    "Rental": "propertyindex:Rental",
    "rental_id": {
      "@id": "propertyindex:rental_id",
      "@type": "xsd:string"
    },
    "start_date": {
      "@id": "propertyindex:start_date",
      "@type": "xsd:date"
    },
    "end_date": {
      "@id": "propertyindex:end_date",
      "@type": "xsd:date"
    },
    "terminated_date": {
      "@id": "propertyindex:terminated_date",
      "@type": "xsd:date"
    },
    "registration_date": {
      "@id": "propertyindex:registration_date",
      "@type": "xsd:date"
    },
    "contract_type": {
      "@id": "propertyindex:contract_type",
      "@type": "xsd:string"
    },
    "is_new_contract": {
      "@id": "propertyindex:is_new_contract",
      "@type": "xsd:boolean"
    },
    "annual_rent": {
      "@id": "propertyindex:annual_rent",
      "@type": "xsd:decimal"
    },
    "annual_rent_psf": {
      "@id": "propertyindex:annual_rent_psf",
      "@type": "xsd:decimal"
    },
    "RentalList": "propertyindex:RentalList",
    "RentalSingle": "propertyindex:RentalSingle",
    "MarketIndexObservation": "propertyindex:MarketIndexObservation",
    "segment": {
      "@id": "propertyindex:segment",
      "@type": "xsd:string"
    },
    "month": {
      "@id": "propertyindex:month",
      "@type": "xsd:date"
    },
    "index_level": {
      "@id": "propertyindex:index_level",
      "@type": "xsd:decimal"
    },
    "mom_pct": {
      "@id": "propertyindex:mom_pct",
      "@type": "xsd:decimal"
    },
    "yoy_pct": {
      "@id": "propertyindex:yoy_pct",
      "@type": "xsd:decimal"
    },
    "median_psf": {
      "@id": "propertyindex:median_psf",
      "@type": "xsd:decimal"
    },
    "sales_count": {
      "@id": "propertyindex:sales_count",
      "@type": "xsd:decimal"
    },
    "MarketIndexObservationList": "propertyindex:MarketIndexObservationList"
  },
  "@type": "schema:Dataset",
  "schema:name": "PropertyIndex API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects PropertyIndex's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-11-07) from openapi/propertyindex-ae-openapi.json.",
  "dcterms:created": "2026-11-07",
  "dcterms:source": [
    "openapi/propertyindex-ae-openapi.json"
  ]
}