{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/alto-vebra/json-schema/alto-vebra-listing-response-schema.json",
  "title": "ListingResponse",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/alto-vebra-listing-api-openapi.yml#/components/schemas/ListingResponse",
  "type": "object",
  "properties": {
    "propertyId": {
      "type": "integer",
      "format": "int32"
    },
    "market": {
      "type": [
        "string",
        "null"
      ]
    },
    "displayAddress": {
      "type": [
        "string",
        "null"
      ]
    },
    "priceQualifier": {
      "type": [
        "string",
        "null"
      ]
    },
    "currency": {
      "type": [
        "string",
        "null"
      ]
    },
    "price": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "bedrooms": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32"
    },
    "bathrooms": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32"
    },
    "receptions": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32"
    },
    "floorAreaInSquareFeet": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "landAreaInAcres": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "propertyType": {
      "type": [
        "string",
        "null"
      ]
    },
    "taxBand": {
      "type": [
        "string",
        "null"
      ]
    },
    "taxBandExemptReason": {
      "type": [
        "string",
        "null"
      ]
    },
    "summary": {
      "type": [
        "string",
        "null"
      ]
    },
    "includeLeadInOutText": {
      "type": "boolean"
    },
    "leadInText": {
      "type": [
        "string",
        "null"
      ]
    },
    "leadOutText": {
      "type": [
        "string",
        "null"
      ]
    },
    "publicViewingNotes": {
      "type": [
        "string",
        "null"
      ]
    },
    "epcCurrent": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32",
      "deprecated": true
    },
    "epcPotential": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32",
      "deprecated": true
    },
    "epc": {
      "allOf": [
        {
          "$ref": "#/$defs/ListingEpcResponse"
        }
      ]
    },
    "rental": {
      "allOf": [
        {
          "$ref": "#/$defs/ListingRentalResponse"
        }
      ]
    },
    "sale": {
      "allOf": [
        {
          "$ref": "#/$defs/ListingSaleResponse"
        }
      ]
    },
    "isLeasehold": {
      "type": "boolean",
      "readOnly": true
    },
    "lease": {
      "allOf": [
        {
          "$ref": "#/$defs/ListingLeaseResponse"
        }
      ]
    },
    "auction": {
      "allOf": [
        {
          "$ref": "#/$defs/ListingAuctionResponse"
        }
      ]
    },
    "bullets": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/ListingBulletResponse"
      }
    },
    "rooms": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/ListingRoomResponse"
      }
    },
    "age": {
      "type": [
        "string",
        "null"
      ]
    },
    "yearBuilt": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32"
    },
    "newBuild": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "parkingTotal": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32"
    },
    "uprn": {
      "type": [
        "string",
        "null"
      ]
    },
    "mapping": {
      "allOf": [
        {
          "$ref": "#/$defs/ListingMappingResponse"
        }
      ]
    },
    "createdDate": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "modifiedDate": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    }
  },
  "additionalProperties": false,
  "$defs": {
    "ListingAuctionResponse": {
      "type": "object",
      "properties": {
        "auction": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Whether the property is for auction."
        },
        "auctionClosingDate": {
          "type": [
            "string",
            "null"
          ],
          "description": "The closing date of the auction.",
          "format": "date-time"
        },
        "auctionReserve": {
          "type": [
            "number",
            "null"
          ],
          "description": "The reserve amount for the auction.",
          "format": "double"
        }
      },
      "additionalProperties": false
    },
    "ListingBulletResponse": {
      "type": "object",
      "properties": {
        "orderIndex": {
          "type": "integer",
          "format": "int32"
        },
        "content": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "ListingEpcResponse": {
      "type": "object",
      "properties": {
        "energyEfficiencyRatingCurrent": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Current energy efficiency rating",
          "format": "int32"
        },
        "energyEfficiencyRatingPotential": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Potential energy efficiency rating",
          "format": "int32"
        },
        "energyEfficiencyBandCurrent": {
          "type": [
            "string",
            "null"
          ],
          "description": "Current energy efficiency band",
          "readOnly": true
        },
        "energyEfficiencyBandPotential": {
          "type": [
            "string",
            "null"
          ],
          "description": "Potential energy efficiency band",
          "readOnly": true
        },
        "exempt": {
          "type": "boolean",
          "description": "Whether listing has an EPC Exemption"
        },
        "exemptionReason": {
          "type": [
            "string",
            "null"
          ],
          "description": "Reason for an EPC Exemption"
        }
      },
      "additionalProperties": false
    },
    "ListingLeaseResponse": {
      "type": "object",
      "properties": {
        "yearsRemaining": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32"
        },
        "endDate": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "sharedOwnership": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "sharedOwnershipPercentageShare": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "sharedOwnershipRent": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "sharedOwnershipFrequency": {
          "type": [
            "string",
            "null"
          ]
        },
        "serviceCharge": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "annualGroundRent": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "groundRentReviewPeriod": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "groundRentPercentageIncrease": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        }
      },
      "additionalProperties": false
    },
    "ListingMapLocationResponse": {
      "type": "object",
      "properties": {
        "latitude": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "longitude": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        }
      },
      "additionalProperties": false
    },
    "ListingMappingResponse": {
      "type": "object",
      "properties": {
        "mapLocation": {
          "allOf": [
            {
              "$ref": "#/$defs/ListingMapLocationResponse"
            }
          ]
        },
        "streetView": {
          "allOf": [
            {
              "$ref": "#/$defs/ListingStreetViewResponse"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "ListingRentalResponse": {
      "type": "object",
      "properties": {
        "frequency": {
          "type": [
            "string",
            "null"
          ]
        },
        "availableFrom": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "deposit": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "furnishing": {
          "type": [
            "string",
            "null"
          ]
        },
        "lettingType": {
          "type": [
            "string",
            "null"
          ]
        },
        "children": {
          "type": "boolean",
          "description": "Whether children are allowed"
        },
        "pets": {
          "type": "boolean",
          "description": "Whether pets are allowed"
        },
        "smokers": {
          "type": "boolean",
          "description": "Whether smokers are allowed"
        },
        "termLengthMonths": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Term Length (months)",
          "format": "int32"
        }
      },
      "additionalProperties": false
    },
    "ListingRoomResponse": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int32"
        },
        "orderIndex": {
          "type": "integer",
          "format": "int32"
        },
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "size": {
          "type": [
            "string",
            "null"
          ]
        },
        "sizeMetric": {
          "type": [
            "string",
            "null"
          ]
        },
        "sizeImperial": {
          "type": [
            "string",
            "null"
          ]
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "roomRecordType": {
          "allOf": [
            {
              "$ref": "#/$defs/RoomRecordType"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "ListingSaleResponse": {
      "type": "object",
      "properties": {
        "tenure": {
          "type": [
            "string",
            "null"
          ]
        },
        "newHome": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "ListingStreetViewResponse": {
      "type": "object",
      "properties": {
        "latitude": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "longitude": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "heading": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "pitch": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "zoom": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32"
        }
      },
      "additionalProperties": false
    },
    "RoomRecordType": {
      "enum": [
        "Unspecified",
        "Room",
        "Paragraph"
      ],
      "type": "string"
    }
  }
}