{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/domain-group/main/json-schema/domain-group-listings-v2-listing-schema.json",
  "title": "Listings.V2.Listing",
  "description": "Represents a Property Listing",
  "x-generated": "2026-10-21",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/domain-group-agencies-api-openapi.yml#/components/schemas/Listings.V2.Listing",
  "required": [
    "advertiserIdentifiers",
    "id",
    "propertyTypes"
  ],
  "type": "object",
  "properties": {
    "objective": {
      "enum": [
        "sale",
        "rent"
      ],
      "type": [
        "string",
        "null"
      ],
      "description": "Gets or Sets Objective"
    },
    "status": {
      "enum": [
        "unknown",
        "archived",
        "underOffer",
        "sold",
        "leased",
        "newDevelopment",
        "recentlyUpdated",
        "new",
        "live",
        "pending",
        "depositTaken"
      ],
      "type": [
        "string",
        "null"
      ],
      "description": "Gets or Sets Status"
    },
    "saleMode": {
      "enum": [
        "buy",
        "rent",
        "share",
        "sold",
        "leased",
        "archived"
      ],
      "type": [
        "string",
        "null"
      ],
      "description": "Gets or Sets SaleMode"
    },
    "channel": {
      "enum": [
        "residential",
        "commercial",
        "business"
      ],
      "type": [
        "string",
        "null"
      ],
      "description": "Gets or Sets Channel"
    },
    "id": {
      "type": "integer",
      "description": "The identifier which uniquely identifies the listing.",
      "format": "int32"
    },
    "addressParts": {
      "$ref": "#/$defs/Listings.V2.AddressParts"
    },
    "advertiserIdentifiers": {
      "$ref": "#/$defs/Listings.V2.AdvertiserIdentifiers"
    },
    "apmIdentifiers": {
      "$ref": "#/$defs/Listings.V2.AustralianPropertyMonitorsIdentifiers"
    },
    "bathrooms": {
      "type": [
        "number",
        "null"
      ],
      "description": "Total number of bathrooms in the property",
      "format": "float"
    },
    "bedrooms": {
      "type": [
        "number",
        "null"
      ],
      "description": "Total number of bedrooms in the property; Studio apartments have a value of \\\"0\\\"",
      "format": "float"
    },
    "buildingArea": {
      "type": [
        "string",
        "null"
      ],
      "description": "The building area display value of the property e.g. 160 ha"
    },
    "buildingAreaSqm": {
      "type": [
        "number",
        "null"
      ],
      "description": "The properties building area in square meters",
      "format": "double"
    },
    "carspaces": {
      "type": [
        "number",
        "null"
      ],
      "description": "Total number of car spaces in the property.",
      "format": "float"
    },
    "dateAvailable": {
      "type": [
        "string",
        "null"
      ],
      "description": "The date the property is available. DateTime is in a local timezone.",
      "format": "date-time"
    },
    "dateCreated": {
      "type": [
        "string",
        "null"
      ],
      "description": "The date/time the listing was created. DateTime is in AEST (Australian Eastern Standard Time) or AEDT (Australian Eastern Daylight Time) timezone.",
      "format": "date-time"
    },
    "dateUpdated": {
      "type": [
        "string",
        "null"
      ],
      "description": "The date/time the listing had major update. DateTime is in AEST (Australian Eastern Standard Time) or AEDT (Australian Eastern Daylight Time) timezone.",
      "format": "date-time"
    },
    "dateMinorUpdated": {
      "type": [
        "string",
        "null"
      ],
      "description": "When minor update applied to the listing. DateTime is in AEST (Australian Eastern Standard Time) or AEDT (Australian Eastern Daylight Time) timezone.",
      "format": "date-time"
    },
    "datePurged": {
      "type": [
        "string",
        "null"
      ],
      "description": "The date/time the listing was purged. It's only returned for archived listings. DateTime is in AEST (Australian Eastern Standard Time) or AEDT (Australian Eastern Daylight Time) timezone.",
      "format": "date-time"
    },
    "dateListed": {
      "type": [
        "string",
        "null"
      ],
      "description": "The date/time last listed. DateTime is in AEST (Australian Eastern Standard Time) or AEDT (Australian Eastern Daylight Time) timezone.",
      "format": "date-time"
    },
    "description": {
      "type": [
        "string",
        "null"
      ],
      "description": "The long description of the property provided by the advertiser."
    },
    "devProjectId": {
      "type": [
        "integer",
        "null"
      ],
      "description": "The ID of the development project - null if no associated project",
      "format": "int32"
    },
    "energyEfficiencyRating": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Energy Efficiency Rating value for ACT properties",
      "format": "int32"
    },
    "features": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      },
      "description": "The property features specified by the advertiser"
    },
    "geoLocation": {
      "$ref": "#/$defs/Listings.V2.GeoLocation"
    },
    "headline": {
      "type": [
        "string",
        "null"
      ],
      "description": "The short description of the property provided by the advertiser."
    },
    "inspectionDetails": {
      "$ref": "#/$defs/Listings.V2.PropertyInspections"
    },
    "isNewDevelopment": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Indicates whether the property is a new development"
    },
    "landArea": {
      "type": [
        "string",
        "null"
      ],
      "description": "The land area display string for the property e.g. 160 sqm"
    },
    "landAreaSqm": {
      "type": [
        "number",
        "null"
      ],
      "description": "The properties land area in square meters",
      "format": "double"
    },
    "media": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/Listings.V2.ListingMedia"
      },
      "description": "The media associated with the property provided by the advertiser"
    },
    "priceDetails": {
      "$ref": "#/$defs/Listings.V2.PriceDetails"
    },
    "propertyId": {
      "type": [
        "string",
        "null"
      ],
      "description": "The identifier which uniquely identifies the property being advertised.  This may be empty if the Address of property is poorly described"
    },
    "propertyTypes": {
      "type": "array",
      "items": {
        "enum": [
          "unknown",
          "acreageSemiRural",
          "apartmentUnitFlat",
          "aquaculture",
          "blockOfUnits",
          "carspace",
          "dairyFarming",
          "developmentLand",
          "developmentSite",
          "duplex",
          "farm",
          "fishingForestry",
          "homeBased",
          "newHomeDesigns",
          "hotelLeisure",
          "house",
          "newHouseLand",
          "industrialWarehouse",
          "irrigationServices",
          "newLand",
          "livestock",
          "international",
          "medicalConsulting",
          "newApartments",
          "offices",
          "parkingCarSpace",
          "penthouse",
          "retail",
          "retirement",
          "rural",
          "ruralCommercialFarming",
          "semiDetached",
          "showroomsBulkyGoods",
          "specialistFarm",
          "studio",
          "terrace",
          "townhouse",
          "vacantLand",
          "villa",
          "servicedOffices",
          "other",
          "chickenShop",
          "seafoodShop",
          "deliCafe",
          "cropping",
          "viticulture",
          "mixedFarming",
          "grazing",
          "horticulture",
          "equine",
          "farmlet",
          "orchard",
          "ruralLifestyle",
          "onlineBusiness"
        ],
        "type": "string",
        "description": "Available types of Properties  * `Unknown` - Unknown * `AcreageSemiRural` - Acreage-SemiRural * `ApartmentUnitFlat` - Apartment Unit Flat * `Aquaculture` - Aquaculture             commercial/rural type * `BlockOfUnits` - Block Of Units * `Carspace` - Carspace * `DairyFarming` - Dairy Farming             commercial/rural type * `DevelopmentLand` - Development / Land * `DevelopmentSite` - Development site * `Duplex` - Duplex * `Farm` - Farm * `FishingForestry` - Fishing / Forestry             commercial/rural type * `HomeBased` - Home Based * `NewHomeDesigns` - New Home Designs * `HotelLeisure` - Hotel / Leisure             commercial type * `House` - House * `NewHouseLand` - New House And Land * `IndustrialWarehouse` - Industrial / Warehouse             commercial type * `IrrigationServices` - Irrigation Services             commercial/rural type * `NewLand` - New Land * `Livestock` - Livestock             commercial/rural type * `International` - International             commercial type * `MedicalConsulting` - Medical / Consulting             commercial type * `NewApartments` - New Apartments / Off the Plan * `Offices` - Offices             commercial type * `ParkingCarSpace` - Parking / Car Space             commercial type * `Penthouse` - Penthouse * `Retail` - Retail             commercial type * `Retirement` - Retirement * `Rural` - Rural * `RuralCommercialFarming` - Rural / Commercial Farming              commercial type * `SemiDetached` - Semi Detached * `ShowroomsBulkyGoods` - Showrooms / Bulky Goods             commercial type * `SpecialistFarm` - The specialist farm * `Studio` - Studio * `Terrace` - Terrace * `Townhouse` - The townhouse * `VacantLand` - Vacant Land * `Villa` - Villa * `ServicedOffices` - Serviced Offices             commercial type * `Other` - Other             commercial type * `ChickenShop` - Chicken Shop             commercial type * `SeafoodShop` - Seafood Shop             commercial type * `DeliCafe` - Deli Cafe             commercial type * `Cropping` - Cropping             commercial/rural type * `Viticulture` - Viticulture             commercial/rural type * `MixedFarming` - Mixed Farming             commercial type * `Grazing` - Grazing             commercial/rural type * `Horticulture` - Horticulture             commercial/rural type * `Equine` - Equine             commercial/rural type * `Farmlet` - Farmlet             commercial/rural type * `Orchard` - Orchard             commercial/rural type * `RuralLifestyle` - Rural Lifestyle             commercial/rural type * `OnlineBusiness` - Online Business"
      },
      "description": "Types of the property"
    },
    "providerDetails": {
      "$ref": "#/$defs/Listings.V2.ProviderDetails"
    },
    "rentalDetails": {
      "$ref": "#/$defs/Listings.V2.RentalDetails"
    },
    "saleDetails": {
      "$ref": "#/$defs/Listings.V2.SaleDetails"
    },
    "isWithdrawn": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Indicates if the property has been withdrawn from the market  The value will be 'true' When a listing is taken off market without being sold or leased."
    },
    "seoUrl": {
      "type": [
        "string",
        "null"
      ],
      "description": "Listing SEO URL"
    },
    "virtualTourUrl": {
      "type": [
        "string",
        "null"
      ],
      "description": "The Listing's Virtual Tour URL."
    },
    "homepassEnabled": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "If Homepass is enabled for the listing (agency)"
    },
    "statementOfInformation": {
      "$ref": "#/$defs/Listings.V2.StatementOfInformation"
    },
    "numberOfDwellings": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Number of dwellings for current listing",
      "format": "int32"
    },
    "highlights": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      },
      "description": "Highlight items for the listing"
    }
  },
  "additionalProperties": false,
  "x-data-access-level-info": {
    "Basic": [
      "Id",
      "Status"
    ],
    "Detailed": [
      "Id",
      "Status",
      "RentalDetails",
      "NumberOfDwellings",
      "PropertyId",
      "ApmIdentifiers",
      "AddressParts",
      "AdvertiserIdentifiers",
      "Bathrooms",
      "Bedrooms",
      "BuildingAreaSqm",
      "Carspaces",
      "Channel",
      "DateAvailable",
      "DateListed",
      "DateUpdated",
      "Description",
      "DevProjectId",
      "EnergyEfficiencyRating",
      "Features",
      "GeoLocation",
      "Headline",
      "Highlights",
      "InspectionDetails",
      "IsNewDevelopment",
      "LandAreaSqm",
      "Media",
      "Objective",
      "PriceDetails",
      "PropertyTypes",
      "SaleDetails",
      "SaleMode",
      "SeoUrl",
      "StatementOfInformation",
      "VirtualTourUrl"
    ],
    "Full": [
      "Id",
      "Status",
      "RentalDetails",
      "NumberOfDwellings",
      "PropertyId",
      "ApmIdentifiers",
      "AddressParts",
      "AdvertiserIdentifiers",
      "Bathrooms",
      "Bedrooms",
      "BuildingAreaSqm",
      "Carspaces",
      "Channel",
      "DateAvailable",
      "DateListed",
      "DateUpdated",
      "Description",
      "DevProjectId",
      "EnergyEfficiencyRating",
      "Features",
      "GeoLocation",
      "Headline",
      "Highlights",
      "InspectionDetails",
      "IsNewDevelopment",
      "LandAreaSqm",
      "Media",
      "Objective",
      "PriceDetails",
      "PropertyTypes",
      "SaleDetails",
      "SaleMode",
      "SeoUrl",
      "StatementOfInformation",
      "VirtualTourUrl",
      "BuildingArea",
      "DateCreated",
      "DateMinorUpdated",
      "DatePurged",
      "ProviderDetails",
      "HomepassEnabled",
      "IsWithdrawn",
      "LandArea"
    ]
  },
  "$defs": {
    "Listings.V2.AddressParts": {
      "type": "object",
      "properties": {
        "stateAbbreviation": {
          "enum": [
            "nsw",
            "vic",
            "sa",
            "nt",
            "tas",
            "act",
            "qld",
            "wa"
          ],
          "type": [
            "string",
            "null"
          ],
          "description": "Gets or Sets StateAbbreviation"
        },
        "displayType": {
          "enum": [
            "fullAddress",
            "streetAndSuburb",
            "suburbOnly",
            "regionOnly",
            "areaOnly",
            "stateOnly"
          ],
          "type": [
            "string",
            "null"
          ],
          "description": "Gets or Sets DisplayType"
        },
        "streetNumber": {
          "type": [
            "string",
            "null"
          ],
          "description": "Street number"
        },
        "unitNumber": {
          "type": [
            "string",
            "null"
          ],
          "description": "Unit number."
        },
        "street": {
          "type": [
            "string",
            "null"
          ],
          "description": "Street address"
        },
        "suburb": {
          "type": [
            "string",
            "null"
          ],
          "description": "Suburb of the address"
        },
        "suburbId": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Domain suburb identifier for address lookup via the domain location api",
          "format": "int32"
        },
        "postcode": {
          "type": [
            "string",
            "null"
          ],
          "description": "Postcode of the address"
        },
        "displayAddress": {
          "type": [
            "string",
            "null"
          ],
          "description": "Advertiser's preference in displaying their listing's address"
        }
      },
      "additionalProperties": false,
      "description": "Encapsulates the parts that make up an Address",
      "x-data-access-level-info": {
        "Basic": [
          "DisplayAddress",
          "DisplayType",
          "StateAbbreviation",
          "Postcode",
          "Suburb",
          "SuburbId",
          "UnitNumber",
          "StreetNumber",
          "Street"
        ],
        "Detailed": [
          "DisplayAddress",
          "DisplayType",
          "StateAbbreviation",
          "Postcode",
          "Suburb",
          "SuburbId",
          "UnitNumber",
          "StreetNumber",
          "Street"
        ],
        "Full": [
          "DisplayAddress",
          "DisplayType",
          "StateAbbreviation",
          "Postcode",
          "Suburb",
          "SuburbId",
          "UnitNumber",
          "StreetNumber",
          "Street"
        ]
      }
    },
    "Listings.V2.AdvertiserIdentifiers": {
      "type": "object",
      "properties": {
        "advertiserType": {
          "enum": [
            "agency",
            "private"
          ],
          "type": [
            "string",
            "null"
          ],
          "description": "Gets or Sets AdvertiserType"
        },
        "advertiserId": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Advertiser's identifier",
          "format": "int32"
        },
        "contactIds": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": "integer",
            "format": "int32"
          },
          "description": "Identifier of each contact the advertiser has associated with the listing"
        },
        "agentIds": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": "string"
          },
          "description": "Identifier of each agent the advertiser has associated with the listing"
        },
        "conjunctionContactIds": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": "integer",
            "format": "int32"
          },
          "description": "Identifier of each conjunctional contact associated with the listing"
        },
        "conjunctionAgentIds": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": "string"
          },
          "description": "Identifier of each conjunctional agent associated with the listing"
        }
      },
      "additionalProperties": false,
      "description": "Encapsulates the listing's advertiser identifiers",
      "x-data-access-level-info": {
        "Basic": [
          "*"
        ],
        "Detailed": [
          "*"
        ],
        "Full": [
          "*"
        ]
      }
    },
    "Listings.V2.AuctionDetails": {
      "type": "object",
      "properties": {
        "auctionSchedule": {
          "$ref": "#/$defs/Listings.V2.AuctionSchedule"
        },
        "auctionedPrice": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The auctioned price entered by the Advertiser.  This price will only be visible if allowed by the Advertiser  and the listing as been auctioned",
          "format": "int32"
        },
        "auctionedDate": {
          "type": [
            "string",
            "null"
          ],
          "description": "The listing's last auctioned date and time specified by the Advertiser.  This will only be visible if the listing has been auctioned.  DateTime is in a local timezone.",
          "format": "date-time"
        }
      },
      "additionalProperties": false,
      "description": "The detail's of the auction in case of a listing for sale being auctioned or sold by auction",
      "x-data-access-level-info": {
        "Basic": [
          "*"
        ],
        "Detailed": [
          "*"
        ],
        "Full": [
          "*"
        ]
      }
    },
    "Listings.V2.AuctionSchedule": {
      "type": "object",
      "properties": {
        "locationDescription": {
          "type": [
            "string",
            "null"
          ],
          "description": "Description and location of the auction provided by advertiser"
        },
        "openingDateTime": {
          "type": [
            "string",
            "null"
          ],
          "description": "Opening date and time of the auction. e.g. 2015-01-01T12:00:00  DateTime is in a local timezone.",
          "format": "date-time"
        },
        "terms": {
          "type": [
            "string",
            "null"
          ],
          "description": "Terms of the auction"
        },
        "url": {
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ],
          "description": "On-line URL of the auction"
        }
      },
      "additionalProperties": false,
      "description": "Encapsulates the details of a Property being Auctioned.",
      "x-data-access-level-info": {
        "Basic": [
          "*"
        ],
        "Detailed": [
          "*"
        ],
        "Full": [
          "*"
        ]
      }
    },
    "Listings.V2.AustralianPropertyMonitorsIdentifiers": {
      "type": "object",
      "properties": {
        "addressId": {
          "type": [
            "integer",
            "null"
          ],
          "description": "APM address identifier",
          "format": "int32"
        },
        "streetId": {
          "type": [
            "integer",
            "null"
          ],
          "description": "APM street identifier",
          "format": "int32"
        },
        "suburbId": {
          "type": [
            "integer",
            "null"
          ],
          "description": "APM suburb identifier",
          "format": "int32"
        },
        "cadastreId": {
          "type": [
            "integer",
            "null"
          ],
          "description": "APM cadastre identifier",
          "format": "int64"
        },
        "postcodeId": {
          "type": [
            "integer",
            "null"
          ],
          "description": "APM postcode identifier",
          "format": "int32"
        },
        "stateId": {
          "type": [
            "integer",
            "null"
          ],
          "description": "State identifier",
          "format": "int32"
        },
        "state": {
          "type": [
            "string",
            "null"
          ],
          "description": "APM State"
        },
        "propertyTypeId": {
          "type": [
            "integer",
            "null"
          ],
          "description": "APM property type identifier",
          "format": "int32"
        },
        "propertyTypeCategoryId": {
          "type": [
            "integer",
            "null"
          ],
          "description": "APM property category type identifier",
          "format": "int32"
        },
        "streetNumber": {
          "type": [
            "string",
            "null"
          ],
          "description": "APM washed and standardized address component for the street number,   (including any prefixes, suffixed and composite numbers e.g. \\\"2-4a\\\")"
        }
      },
      "additionalProperties": false,
      "description": "APM Identifiers",
      "x-data-access-level-info": {
        "Basic": [],
        "Detailed": [
          "SuburbId"
        ],
        "Full": [
          "SuburbId",
          "AddressId",
          "CadastreId",
          "PostcodeId",
          "PropertyTypeCategoryId",
          "PropertyTypeId",
          "State",
          "StateId",
          "StreetId",
          "StreetNumber"
        ]
      }
    },
    "Listings.V2.BasicPrice": {
      "type": "object",
      "properties": {
        "from": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Lowest price the property is expected to sell/rent for to set search price.",
          "format": "int32"
        },
        "to": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Highest price the property is expected to sell/rent for to set search price.",
          "format": "int32"
        }
      },
      "additionalProperties": false,
      "description": "Basic price information",
      "x-data-access-level-info": {
        "Basic": [
          "*"
        ],
        "Detailed": [
          "*"
        ],
        "Full": [
          "*"
        ]
      }
    },
    "Listings.V2.ComparableData": {
      "type": "object",
      "properties": {
        "comparableProperty": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/Listings.V2.PastSaleData"
          },
          "description": "Comparable properties that are of a similar standard or condition to the property for sale"
        },
        "declarationText": {
          "type": [
            "string",
            "null"
          ],
          "description": "Text description if there are less than three comparable sales available"
        }
      },
      "additionalProperties": false,
      "description": "Information regarding the past comparable property sales that influenced the setting of the estimation price",
      "x-data-access-level-info": {
        "Basic": [
          "*"
        ],
        "Detailed": [
          "*"
        ],
        "Full": [
          "*"
        ]
      }
    },
    "Listings.V2.GeoLocation": {
      "type": "object",
      "properties": {
        "latitude": {
          "type": [
            "number",
            "null"
          ],
          "description": "Latitude of the property",
          "format": "double"
        },
        "longitude": {
          "type": [
            "number",
            "null"
          ],
          "description": "Longitude of the property",
          "format": "double"
        }
      },
      "additionalProperties": false,
      "description": "Encapsulates the details of a geo location, long/lat",
      "x-data-access-level-info": {
        "Basic": [
          "*"
        ],
        "Detailed": [
          "*"
        ],
        "Full": [
          "*"
        ]
      }
    },
    "Listings.V2.Inspection": {
      "type": "object",
      "properties": {
        "recurrence": {
          "enum": [
            "none",
            "weekly"
          ],
          "type": [
            "string",
            "null"
          ],
          "description": "Gets or Sets Recurrence"
        },
        "openingDateTime": {
          "type": [
            "string",
            "null"
          ],
          "description": "Opening date and time of the inspection. e.g. 2015-01-01T12:00:00.  Not provided by bulk uploaded listings, in these cases refer to the  inspection description field. DateTime is in a local timezone.",
          "format": "date-time"
        },
        "closingDateTime": {
          "type": [
            "string",
            "null"
          ],
          "description": "Closing date and time of the inspection. e.g. 2015-01-01T12:00:00  Not provided by bulk uploaded listings, in these cases refer to the  inspection description field. DateTime is in a local timezone.",
          "format": "date-time"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "description": "Description of the inspection provided by the Advertiser.  When listings are bulk uploaded, inspection times are provided as a string.  Other inspection details will not be provided"
        }
      },
      "additionalProperties": false,
      "description": "Encapsulates the details of a Listing's Inspection",
      "x-data-access-level-info": {
        "Basic": [
          "*"
        ],
        "Detailed": [
          "*"
        ],
        "Full": [
          "*"
        ]
      }
    },
    "Listings.V2.ListingMedia": {
      "required": [
        "url"
      ],
      "type": "object",
      "properties": {
        "category": {
          "enum": [
            "image",
            "video",
            "others"
          ],
          "type": [
            "string",
            "null"
          ],
          "description": "Gets or Sets Category"
        },
        "type": {
          "enum": [
            "photo",
            "mp4",
            "youtube",
            "floorplan",
            "vimeo",
            "notSpecified"
          ],
          "type": [
            "string",
            "null"
          ],
          "description": "Gets or Sets Type"
        },
        "url": {
          "minLength": 1,
          "type": "string",
          "description": "The URL to the property media"
        }
      },
      "additionalProperties": false,
      "description": "Encapsulates media associated with a Listing",
      "x-data-access-level-info": {
        "Basic": [
          "*"
        ],
        "Detailed": [
          "*"
        ],
        "Full": [
          "*"
        ]
      }
    },
    "Listings.V2.MedianPriceData": {
      "type": "object",
      "properties": {
        "priceType": {
          "enum": [
            "house",
            "apartmentUnitFlat",
            "vacantLand"
          ],
          "type": [
            "string",
            "null"
          ],
          "description": "Gets or Sets PriceType"
        },
        "suburb": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name of the suburb median price is based on."
        },
        "postcode": {
          "type": [
            "string",
            "null"
          ],
          "description": "Postcode of the suburb"
        },
        "medianPrice": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Median price for the suburb.",
          "format": "int32"
        },
        "source": {
          "type": [
            "string",
            "null"
          ],
          "description": "Where median price data comes from"
        },
        "sourceDateFrom": {
          "type": [
            "string",
            "null"
          ],
          "description": "Start date of the median price source time period"
        },
        "sourceDateTo": {
          "type": [
            "string",
            "null"
          ],
          "description": "End date of the median price source time period"
        },
        "sourceCollectionDate": {
          "type": [
            "string",
            "null"
          ],
          "description": "The collection date of the median price source"
        }
      },
      "additionalProperties": false,
      "description": "Information regarding median house/unit price   for the suburb",
      "x-data-access-level-info": {
        "Basic": [
          "*"
        ],
        "Detailed": [
          "*"
        ],
        "Full": [
          "*"
        ]
      }
    },
    "Listings.V2.PastSaleData": {
      "type": "object",
      "properties": {
        "unitNumber": {
          "type": [
            "string",
            "null"
          ],
          "description": "Property unit number"
        },
        "streetNumber": {
          "type": [
            "string",
            "null"
          ],
          "description": "Property street number"
        },
        "street": {
          "type": [
            "string",
            "null"
          ],
          "description": "Property Street name"
        },
        "suburb": {
          "type": [
            "string",
            "null"
          ],
          "description": "Property suburb name"
        },
        "postcode": {
          "type": [
            "string",
            "null"
          ],
          "description": "Property postcode"
        },
        "state": {
          "type": [
            "string",
            "null"
          ],
          "description": "Property state"
        },
        "displayAddress": {
          "type": [
            "string",
            "null"
          ],
          "description": "display formatted address",
          "readOnly": true
        },
        "dateOfSale": {
          "type": [
            "string",
            "null"
          ],
          "description": "Registered date of the sale"
        },
        "soldPrice": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Property sold price",
          "format": "int64"
        }
      },
      "additionalProperties": false,
      "description": "Information for past property sales",
      "x-data-access-level-info": {
        "Basic": [
          "*"
        ],
        "Detailed": [
          "*"
        ],
        "Full": [
          "*"
        ]
      }
    },
    "Listings.V2.PriceDetails": {
      "type": "object",
      "properties": {
        "gstOption": {
          "enum": [
            "na",
            "inc",
            "ex"
          ],
          "type": [
            "string",
            "null"
          ],
          "description": "Gets or Sets GstOption"
        },
        "priceType": {
          "enum": [
            "gross",
            "net"
          ],
          "type": [
            "string",
            "null"
          ],
          "description": "Gets or Sets PriceType"
        },
        "priceUnit": {
          "enum": [
            "totalAmount",
            "perSqm"
          ],
          "type": [
            "string",
            "null"
          ],
          "description": "Gets or Sets PriceUnit"
        },
        "price": {
          "type": [
            "number",
            "null"
          ],
          "description": "Price of the property",
          "format": "double"
        },
        "priceFrom": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Price starting range of the property",
          "format": "int32"
        },
        "priceTo": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Upper price range of the property",
          "format": "int32"
        },
        "pricePrefix": {
          "type": [
            "string",
            "null"
          ],
          "description": "Display price for the advertisement"
        },
        "canDisplayPrice": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Flag indicating whether the advertiser has chosen to display the property price"
        },
        "hiddenReasons": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "enum": [
              "byAgency",
              "qldRestriction"
            ],
            "type": "string",
            "description": "Reason for price hidden  * `ByAgency` - Agency doesn't want to show prcie * `QLDRestriction` - Price can not be shown due to QLD restrictions"
          },
          "description": "Reasons when price need to be hidden"
        },
        "displayPrice": {
          "type": [
            "string",
            "null"
          ],
          "description": "A string provided by the Advertiser representing the ByIdListingPriceQueryResult of the Listing e.g. Over $1,000,000   This should be the default price field for client to use"
        },
        "bond": {
          "type": [
            "number",
            "null"
          ],
          "description": "Rental bond",
          "format": "double"
        },
        "priceReduction": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Indicates if this property is under price reduction"
        }
      },
      "additionalProperties": false,
      "description": "Encapsulates a listing's price information",
      "x-data-access-level-info": {
        "Basic": [
          "DisplayPrice",
          "Bond",
          "CanDisplayPrice",
          "Price",
          "PriceFrom",
          "PriceTo",
          "PricePrefix"
        ],
        "Detailed": [
          "DisplayPrice",
          "Bond",
          "CanDisplayPrice",
          "Price",
          "PriceFrom",
          "PriceTo",
          "PricePrefix"
        ],
        "Full": [
          "DisplayPrice",
          "Bond",
          "CanDisplayPrice",
          "Price",
          "PriceFrom",
          "PriceTo",
          "PricePrefix",
          "HiddenReasons",
          "GstOption",
          "PriceUnit",
          "PriceType",
          "PriceReduction"
        ]
      }
    },
    "Listings.V2.PropertyInspections": {
      "type": "object",
      "properties": {
        "inspections": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/Listings.V2.Inspection"
          },
          "description": "Inspection details for the property. e.g. opening and closing times"
        },
        "pastInspections": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/Listings.V2.Inspection"
          },
          "description": "Inspection details for the property. e.g. opening and closing times"
        },
        "isByAppointmentOnly": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "True or False indicating whether the inspection is by appointment only"
        }
      },
      "additionalProperties": false,
      "description": "Property Inspection(s) details",
      "x-data-access-level-info": {
        "Basic": [
          "*"
        ],
        "Detailed": [
          "*"
        ],
        "Full": [
          "*"
        ]
      }
    },
    "Listings.V2.ProviderDetails": {
      "type": "object",
      "properties": {
        "providerSystem": {
          "type": [
            "string",
            "null"
          ],
          "description": "Feed provider ID"
        },
        "providerAdID": {
          "type": [
            "string",
            "null"
          ],
          "description": "Unique ID within provider system"
        }
      },
      "additionalProperties": false,
      "description": "Information for the listing provider. e.g. bulkuploader information",
      "x-data-access-level-info": {
        "Basic": [
          "*"
        ],
        "Detailed": [
          "*"
        ],
        "Full": [
          "*"
        ]
      }
    },
    "Listings.V2.RentalDetails": {
      "type": "object",
      "properties": {
        "rentalMethod": {
          "enum": [
            "notStated",
            "rent",
            "share",
            "holiday",
            "lease"
          ],
          "type": [
            "string",
            "null"
          ],
          "description": "Gets or Sets RentalMethod"
        },
        "source": {
          "enum": [
            "internal",
            "external"
          ],
          "type": [
            "string",
            "null"
          ],
          "description": "Gets or Sets Source"
        },
        "leasedDate": {
          "type": [
            "string",
            "null"
          ],
          "description": "The Date the listing was leased. DateTime is in a local timezone.",
          "format": "date-time"
        },
        "leasedPrice": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The last leased price entered by the Advertiser  This price will only be visible if allowed by the Advertiser  and the listing as been leased",
          "format": "int32"
        },
        "canDisplayPrice": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Indicates whether this instance can display price"
        },
        "leasedMonths": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The number of months the property was last leased for  This will only be visible if the property has been leased",
          "format": "int32"
        },
        "termOfLeaseFrom": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Lease term range from",
          "format": "int32"
        },
        "termOfLeaseTo": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Lease term range to",
          "format": "int32"
        },
        "leaseOutgoings": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Outgoing cost of current lease",
          "format": "int32"
        }
      },
      "additionalProperties": false,
      "description": "The rental detail's of the listing in case of it being for rent or leased",
      "x-data-access-level-info": {
        "Basic": [
          "*"
        ],
        "Detailed": [
          "*"
        ],
        "Full": [
          "*"
        ]
      }
    },
    "Listings.V2.SaleDetails": {
      "type": "object",
      "properties": {
        "saleMethod": {
          "enum": [
            "notStated",
            "auction",
            "privateTreaty",
            "tender",
            "expressionOfInterest"
          ],
          "type": [
            "string",
            "null"
          ],
          "description": "Gets or Sets SaleMethod"
        },
        "soldDetails": {
          "$ref": "#/$defs/Listings.V2.SoldDetails"
        },
        "auctionDetails": {
          "$ref": "#/$defs/Listings.V2.AuctionDetails"
        },
        "tenderDetails": {
          "$ref": "#/$defs/Listings.V2.TenderDetails"
        },
        "tenantDetails": {
          "$ref": "#/$defs/Listings.V2.TenantDetails"
        },
        "annualReturn": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Integer value of percentage return on this property or business",
          "format": "int32"
        },
        "saleTerms": {
          "type": [
            "string",
            "null"
          ],
          "description": "Information relating to aspects of the sale, such as required deposit, settlement time"
        }
      },
      "additionalProperties": false,
      "description": "The sale detail's of the listing in case of it being for sale or sold",
      "x-data-access-level-info": {
        "Basic": [
          "*"
        ],
        "Detailed": [
          "*"
        ],
        "Full": [
          "*"
        ]
      }
    },
    "Listings.V2.SoldDetails": {
      "type": "object",
      "properties": {
        "soldAction": {
          "enum": [
            "notStated",
            "auction",
            "privateTreaty",
            "withdrawn",
            "soldPriorToAuction"
          ],
          "type": [
            "string",
            "null"
          ],
          "description": "Gets or Sets SoldAction"
        },
        "source": {
          "enum": [
            "internal",
            "external"
          ],
          "type": [
            "string",
            "null"
          ],
          "description": "Gets or Sets Source"
        },
        "soldPrice": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The last sold price entered by the Advertiser.  This price will only be visible if allowed by the Advertiser  and the listing as been sold",
          "format": "int32"
        },
        "governmentRecordedSoldPrice": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The government recorded sold price sourced from APM",
          "format": "int32"
        },
        "soldDate": {
          "type": [
            "string",
            "null"
          ],
          "description": "The Date the listing was sold. DateTime is in a local timezone.",
          "format": "date-time"
        },
        "canDisplayPrice": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Indicates whether this instance can display price"
        }
      },
      "additionalProperties": false,
      "description": "Sold details in the case of the listing being sold.",
      "x-data-access-level-info": {
        "Basic": [
          "CanDisplayPrice",
          "SoldAction",
          "SoldPrice",
          "SoldDate",
          "Source"
        ],
        "Detailed": [
          "CanDisplayPrice",
          "SoldAction",
          "SoldPrice",
          "SoldDate",
          "Source"
        ],
        "Full": [
          "CanDisplayPrice",
          "SoldAction",
          "SoldPrice",
          "SoldDate",
          "Source",
          "GovernmentRecordedSoldPrice"
        ]
      }
    },
    "Listings.V2.StatementOfInformation": {
      "type": "object",
      "properties": {
        "estimatedPrice": {
          "$ref": "#/$defs/Listings.V2.BasicPrice"
        },
        "comparableData": {
          "$ref": "#/$defs/Listings.V2.ComparableData"
        },
        "suburbMedianPrice": {
          "$ref": "#/$defs/Listings.V2.MedianPriceData"
        },
        "documentationUrl": {
          "type": [
            "string",
            "null"
          ],
          "description": "Link to the statement of information documentation file"
        }
      },
      "additionalProperties": false,
      "description": "Statement of Information  Regarding sale listing",
      "x-data-access-level-info": {
        "Basic": [
          "*"
        ],
        "Detailed": [
          "*"
        ],
        "Full": [
          "*"
        ]
      }
    },
    "Listings.V2.TenantDetails": {
      "type": "object",
      "properties": {
        "leaseDateVariable": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Is tenant lease date variable"
        },
        "leaseOptions": {
          "type": [
            "string",
            "null"
          ],
          "description": "Leasing options available to a prospective tenant"
        },
        "tenantInfoTermOfLeaseFrom": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The from range of the tenant's current lease",
          "format": "int32"
        },
        "tenantInfoTermOfLeaseTo": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The to range of the tenant's current lease",
          "format": "int32"
        },
        "tenantName": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name of the current tenant of the property"
        },
        "tenantRentDetails": {
          "type": [
            "string",
            "null"
          ],
          "description": "Information regarding current rental"
        },
        "leaseStartDate": {
          "type": [
            "string",
            "null"
          ],
          "description": "The date on which the tenants lease began, or is due to begin. DateTime is in a local timezone.",
          "format": "date-time"
        },
        "leaseEndDate": {
          "type": [
            "string",
            "null"
          ],
          "description": "The date on which the tenants lease is due to end. DateTime is in a local timezone.",
          "format": "date-time"
        }
      },
      "additionalProperties": false,
      "description": "Tenant Details",
      "x-data-access-level-info": {
        "Basic": [
          "*"
        ],
        "Detailed": [
          "*"
        ],
        "Full": [
          "*"
        ]
      }
    },
    "Listings.V2.TenderDetails": {
      "type": "object",
      "properties": {
        "tenderRecipientName": {
          "type": [
            "string",
            "null"
          ],
          "description": "Tender recipient name"
        },
        "tenderAddress": {
          "type": [
            "string",
            "null"
          ],
          "description": "Tender address"
        },
        "tenderEndDate": {
          "type": [
            "string",
            "null"
          ],
          "description": "Tender closing date. DateTime is in a local timezone.",
          "format": "date-time"
        }
      },
      "additionalProperties": false,
      "description": "Tender details",
      "x-data-access-level-info": {
        "Basic": [
          "*"
        ],
        "Detailed": [
          "*"
        ],
        "Full": [
          "*"
        ]
      }
    }
  }
}