{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/domain-group/main/json-schema/domain-group-domain-avm-v1-avm-response-schema.json",
  "title": "DomainAvm.v1.AvmResponse",
  "description": "The response model used to provide the detailed bank grade valuation data.",
  "x-generated": "2026-10-21",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/domain-group-propertyavm-api-openapi.yml#/components/schemas/DomainAvm.v1.AvmResponse",
  "type": "object",
  "properties": {
    "address": {
      "$ref": "#/$defs/DomainAvm.v1.Address"
    },
    "addressCoordinate": {
      "$ref": "#/$defs/DomainAvm.v1.AddressCoordinate"
    },
    "areaSize": {
      "type": [
        "number",
        "null"
      ],
      "description": "Land area in square meters to be used when estimating value of property, for houses only not units.",
      "format": "double"
    },
    "bathrooms": {
      "type": [
        "integer",
        "null"
      ],
      "description": "The amount of bathrooms.",
      "format": "int32"
    },
    "bedrooms": {
      "type": [
        "integer",
        "null"
      ],
      "description": "The amount of bedrooms.",
      "format": "int32"
    },
    "buildingArea": {
      "type": [
        "number",
        "null"
      ],
      "description": "Building area in square meters to be used when estimating value of property, for houses only not units.",
      "format": "double"
    },
    "carSpaces": {
      "type": [
        "integer",
        "null"
      ],
      "description": "The amount of carparks.",
      "format": "int32"
    },
    "history": {
      "$ref": "#/$defs/DomainAvm.v1.History"
    },
    "legalParcel": {
      "type": [
        "string",
        "null"
      ],
      "description": "Legal parcel for detailed and full packages."
    },
    "photos": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/DomainAvm.v1.Photo"
      },
      "description": "An array of ranked property photographs provided for full packages."
    },
    "propertyId": {
      "type": [
        "string",
        "null"
      ],
      "description": "The Unique Property Id of the target property"
    },
    "propertyType": {
      "type": [
        "string",
        "null"
      ],
      "description": "Property type used when estimating the value of property. Valid values: [House, Unit]."
    },
    "rentalAvm": {
      "$ref": "#/$defs/DomainAvm.v1.RentalAvm"
    },
    "saleAvm": {
      "$ref": "#/$defs/DomainAvm.v1.SaleAvm"
    },
    "similarListings": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/DomainAvm.v1.Item"
      },
      "description": "Similar listings properties provided for detailed and full packages."
    },
    "similarRentals": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/DomainAvm.v1.Item"
      },
      "description": "Similar rental properties provided for detailed and full packages."
    },
    "similarSolds": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/DomainAvm.v1.Item"
      },
      "description": "Similar sold properties provided for detailed and full packages"
    },
    "suburbPerformance": {
      "$ref": "#/$defs/DomainAvm.v1.PropertyCategory"
    },
    "yearBuilt": {
      "type": [
        "integer",
        "null"
      ],
      "description": "The year of construction.",
      "format": "int32"
    }
  },
  "additionalProperties": false,
  "$defs": {
    "DomainAvm.v1.ActivityBoundary": {
      "type": "object",
      "properties": {
        "advertisedDate": {
          "type": [
            "string",
            "null"
          ],
          "description": "The date."
        },
        "advertisedPrice": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The price.",
          "format": "int32"
        },
        "agency": {
          "type": [
            "string",
            "null"
          ],
          "description": "The agency."
        },
        "suppressPrice": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Flag to suppress price."
        }
      },
      "additionalProperties": false,
      "description": "A model used to return property rental and sale history."
    },
    "DomainAvm.v1.Address": {
      "type": "object",
      "properties": {
        "unitNumber": {
          "type": [
            "string",
            "null"
          ],
          "description": "The unit number of the address."
        },
        "streetNumber": {
          "type": [
            "string",
            "null"
          ],
          "description": "The street number of the address."
        },
        "streetName": {
          "type": [
            "string",
            "null"
          ],
          "description": "The street name of the address."
        },
        "streetType": {
          "type": [
            "string",
            "null"
          ],
          "description": "The street type of the address."
        },
        "locality": {
          "type": [
            "string",
            "null"
          ],
          "description": "The suburb/locality of the address."
        },
        "postcode": {
          "pattern": "^[0-9]{3,4}$",
          "type": [
            "string",
            "null"
          ],
          "description": "The postcode of the address."
        },
        "state": {
          "pattern": "^[A-Za-z]{2,3}$",
          "type": [
            "string",
            "null"
          ],
          "description": "The defined State or Territory in Australia (in abbreviated format) where the specific address is located."
        }
      },
      "additionalProperties": false,
      "description": "The Address model used."
    },
    "DomainAvm.v1.AddressCoordinate": {
      "type": "object",
      "properties": {
        "lat": {
          "type": [
            "number",
            "null"
          ],
          "description": "The angular distance of a place north or south of the Equator.",
          "format": "double"
        },
        "lon": {
          "type": [
            "number",
            "null"
          ],
          "description": "Te angular distance of a place east or west of the Greenwich meridian.",
          "format": "double"
        }
      },
      "additionalProperties": false,
      "description": "A model used for coordinate data."
    },
    "DomainAvm.v1.Advert": {
      "type": "object",
      "properties": {
        "displayPrice": {
          "type": [
            "string",
            "null"
          ],
          "description": "The property price that appears in advertisements."
        },
        "status": {
          "type": [
            "string",
            "null"
          ],
          "description": "The status of the property listing. Valid values: [Live, UnderOffer]."
        }
      },
      "additionalProperties": false,
      "description": "A model used to return advertisement/listing data"
    },
    "DomainAvm.v1.History": {
      "type": "object",
      "properties": {
        "rentals": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/DomainAvm.v1.RentalActivity"
          },
          "description": "The list of rental activity."
        },
        "sales": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/DomainAvm.v1.SaleActivity"
          },
          "description": "The list of sale activity."
        }
      },
      "additionalProperties": false,
      "description": "A model used to return property rental and sale history."
    },
    "DomainAvm.v1.Item": {
      "type": "object",
      "properties": {
        "address": {
          "type": [
            "string",
            "null"
          ],
          "description": "The address of the property."
        },
        "addressCoordinate": {
          "$ref": "#/$defs/DomainAvm.v1.AddressCoordinate"
        },
        "adverts": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/DomainAvm.v1.Advert"
          },
          "description": "Property listing data (advertisement)."
        },
        "areaSize": {
          "type": [
            "number",
            "null"
          ],
          "description": "Land area in square meters to be used when estimating value of property, for houses only not units.",
          "format": "double"
        },
        "bathrooms": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The amount of bathrooms.",
          "format": "int32"
        },
        "bedrooms": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The amount of bedrooms.",
          "format": "int32"
        },
        "buildingArea": {
          "type": [
            "number",
            "null"
          ],
          "description": "Building area in square meters to be used when estimating value of property, for houses only not units.",
          "format": "double"
        },
        "carSpaces": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The amount of carparks.",
          "format": "int32"
        },
        "lastSaleActivity": {
          "$ref": "#/$defs/DomainAvm.v1.Sale"
        },
        "id": {
          "type": [
            "string",
            "null"
          ],
          "description": "The Unique Domain Property Id of the property."
        },
        "photos": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/DomainAvm.v1.Photo"
          },
          "description": "An list of ranked property photos."
        },
        "priceHeading": {
          "type": [
            "string",
            "null"
          ],
          "description": "The price heading."
        }
      },
      "additionalProperties": false,
      "description": "A model used for property data."
    },
    "DomainAvm.v1.Photo": {
      "type": "object",
      "properties": {
        "fullUrl": {
          "type": [
            "string",
            "null"
          ],
          "description": "Full Url of the image."
        },
        "rank": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The viewing order.",
          "format": "int32"
        }
      },
      "additionalProperties": false,
      "description": "A model used to return photo url and rank."
    },
    "DomainAvm.v1.PropertyCategory": {
      "type": "object",
      "properties": {
        "auctionClearanceRate": {
          "type": [
            "number",
            "null"
          ],
          "description": "Auction clearances rate.",
          "format": "double"
        },
        "bedrooms": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Number of bedrooms in the dwelling.",
          "format": "int32"
        },
        "daysOnMarket": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Average days on market.",
          "format": "int32"
        },
        "entryLevelPrice": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The entry level price.",
          "format": "int32"
        },
        "luxuryLevelPrice": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The luxury level price.",
          "format": "int32"
        },
        "medianRentPrice": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The median rental price.",
          "format": "int32"
        },
        "medianSoldPrice": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The median sold price",
          "format": "int32"
        },
        "numberSold": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Number of sales.",
          "format": "int32"
        },
        "propertyCategory": {
          "type": [
            "string",
            "null"
          ],
          "description": "The property category."
        },
        "salesGrowthList": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/DomainAvm.v1.SalesGrowth"
          },
          "description": "The sales growth for last 6 years."
        }
      },
      "additionalProperties": false,
      "description": "A model used to group sales growth for a property category"
    },
    "DomainAvm.v1.RentalActivity": {
      "type": "object",
      "properties": {
        "first": {
          "$ref": "#/$defs/DomainAvm.v1.ActivityBoundary"
        },
        "last": {
          "$ref": "#/$defs/DomainAvm.v1.ActivityBoundary"
        },
        "rentedPrice": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The rental price.",
          "format": "int32"
        },
        "status": {
          "type": [
            "string",
            "null"
          ],
          "description": "The rental status."
        }
      },
      "additionalProperties": false,
      "description": "A model used to return property rental activity."
    },
    "DomainAvm.v1.RentalAvm": {
      "type": "object",
      "properties": {
        "estimateDate": {
          "type": [
            "string",
            "null"
          ],
          "description": "The date the estimate was generated."
        },
        "percentYieldRentEstimate": {
          "type": [
            "number",
            "null"
          ],
          "description": "The yield rent estimate as a percentage.",
          "format": "double"
        },
        "rentalFsd": {
          "type": [
            "number",
            "null"
          ],
          "description": "The forecast standard deviation of the rent.",
          "format": "double"
        },
        "weeklyRentEstimate": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The weekly estimated rent.",
          "format": "int32"
        }
      },
      "additionalProperties": false,
      "description": "A model used to return rental valuation."
    },
    "DomainAvm.v1.Sale": {
      "type": "object",
      "properties": {
        "date": {
          "type": [
            "string",
            "null"
          ],
          "description": "The date of sale"
        },
        "price": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The price of sale",
          "format": "int32"
        },
        "type": {
          "type": [
            "string",
            "null"
          ],
          "description": "The type of sale"
        }
      },
      "additionalProperties": false,
      "description": "A model used to return sale history."
    },
    "DomainAvm.v1.SaleActivity": {
      "type": "object",
      "properties": {
        "date": {
          "type": [
            "string",
            "null"
          ],
          "description": "The sale date."
        },
        "price": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The sale price.",
          "format": "int32"
        },
        "type": {
          "type": [
            "string",
            "null"
          ],
          "description": "The sale type."
        }
      },
      "additionalProperties": false,
      "description": "A model used to return property sale activity.\n///"
    },
    "DomainAvm.v1.SaleAvm": {
      "type": "object",
      "properties": {
        "confidenceLevel": {
          "type": [
            "string",
            "null"
          ],
          "description": "Level of certainty of a property valuation. Valid values [High, Medium, Low]."
        },
        "estimate": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The estimate.",
          "format": "int32"
        },
        "estimateDate": {
          "type": [
            "string",
            "null"
          ],
          "description": "The date the estimates were generated."
        },
        "estimateHigh": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The estimate high range.",
          "format": "int32"
        },
        "estimateLow": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The estimate low range.",
          "format": "int32"
        },
        "percentFsd": {
          "type": [
            "number",
            "null"
          ],
          "description": "The forecast standard deviation of the property.",
          "format": "double"
        }
      },
      "additionalProperties": false,
      "description": "A model used to return sale valuation."
    },
    "DomainAvm.v1.SalesGrowth": {
      "type": "object",
      "properties": {
        "annualGrowth": {
          "type": [
            "number",
            "null"
          ],
          "description": "The annual growth",
          "format": "double"
        },
        "medianSoldPrice": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The median sold price",
          "format": "int32"
        },
        "numberSold": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Number of sales.",
          "format": "int32"
        },
        "year": {
          "type": [
            "string",
            "null"
          ],
          "description": "Year."
        }
      },
      "additionalProperties": false,
      "description": "A model used to group sales growth"
    }
  }
}