{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://www.monocrawl.com/schemas/zoopla/property.json","title":"zoopla/property data fields","description":"Optional data supplied by this operation. Null means unknown.","type":"object","properties":{"_warnings":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"address":{"description":"Optional address supplied by this operation. Null means unknown.","type":["string","null"]},"agent":{"description":"Optional agent supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"id":{"description":"Source identifier. Preserve the supplied type and exact value.","type":["string","null"]},"logo_url":{"description":"Optional logo url supplied by this operation. Null means unknown.","type":["string","null"]},"member_type":{"description":"Optional member type supplied by this operation. Null means unknown.","type":["string","null"]},"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]},"phone":{"description":"Optional phone supplied by this operation. Null means unknown.","type":["string","null"]},"url":{"description":"Original source URL when supplied.","type":["string","null"]}},"additionalProperties":true},"auction":{"description":"Optional auction supplied by this operation. Null means unknown.","type":["boolean","null"]},"bathrooms":{"description":"Optional bathrooms supplied by this operation. Null means unknown.","type":["number","null"]},"bedrooms":{"description":"Optional bedrooms supplied by this operation. Null means unknown.","type":["number","null"]},"brochures":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"category":{"description":"Optional category supplied by this operation. Null means unknown.","type":["string","null"]},"chain_free":{"description":"Optional chain free supplied by this operation. Null means unknown.","type":["boolean","null"]},"condition":{"description":"Optional condition supplied by this operation. Null means unknown.","type":["string","null"]},"currency":{"description":"Optional currency supplied by this operation. Null means unknown.","type":["string","null"]},"description":{"description":"Source description; null or absent means not supplied.","type":["string","null"]},"details":{"description":"Optional details supplied by this operation. Null means unknown.","type":["array","null"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"key":{"description":"Optional key supplied by this operation. Null means unknown.","type":["string","null"]},"title":{"description":"Source title when supplied.","type":["string","null"]},"value":{"description":"Optional value supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true}},"epc_rating":{"description":"Optional epc rating supplied by this operation. Null means unknown.","type":["string","null"]},"epcs":{"description":"Optional epcs supplied by this operation. Null means unknown.","type":["array","null"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"url":{"description":"Original source URL when supplied.","type":["string","null"]}},"additionalProperties":true}},"floor_area":{"description":"Optional floor area supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"label":{"description":"Optional label supplied by this operation. Null means unknown.","type":["string","null"]},"source":{"description":"Optional source supplied by this operation. Null means unknown.","type":["string","null"]},"units":{"description":"Optional units supplied by this operation. Null means unknown.","type":["string","null"]},"value":{"description":"Optional value supplied by this operation. Null means unknown.","type":["number","null"]}},"additionalProperties":true},"floorplans":{"description":"Optional floorplans supplied by this operation. Null means unknown.","type":["array","null"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"url":{"description":"Original source URL when supplied.","type":["string","null"]}},"additionalProperties":true}},"highlights":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"id":{"description":"Source identifier. Preserve the supplied type and exact value.","type":["string","null"]},"image_count":{"description":"Optional image count supplied by this operation. Null means unknown.","type":["number","null"]},"key_features":{"description":"Optional key features supplied by this operation. Null means unknown.","type":["array","null"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["string","null"]}},"latitude":{"description":"Optional latitude supplied by this operation. Null means unknown.","type":["number","null"]},"living_rooms":{"description":"Optional living rooms supplied by this operation. Null means unknown.","type":["number","null"]},"longitude":{"description":"Optional longitude supplied by this operation. Null means unknown.","type":["number","null"]},"outcode":{"description":"Optional outcode supplied by this operation. Null means unknown.","type":["string","null"]},"photos":{"description":"Optional photos supplied by this operation. Null means unknown.","type":["array","null"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"caption":{"description":"Optional caption supplied by this operation. Null means unknown.","type":["string","null"]},"url":{"description":"Original source URL when supplied.","type":["string","null"]}},"additionalProperties":true}},"platform":{"description":"Optional platform supplied by this operation. Null means unknown.","type":["string","null"]},"points_of_interest":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"postcode":{"description":"Optional postcode supplied by this operation. Null means unknown.","type":["string","null"]},"price":{"description":"Source price. Currency, taxes and availability depend on the listing.","type":["number","null"]},"price_history":{"description":"Optional price history supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"changes":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}}},"additionalProperties":true},"price_label":{"description":"Optional price label supplied by this operation. Null means unknown.","type":["string","null"]},"price_per_area":{"description":"Optional price per area supplied by this operation. Null means unknown.","type":["string","null"]},"price_qualifier":{"description":"Optional price qualifier supplied by this operation. Null means unknown.","type":["string","null"]},"property_type":{"description":"Optional property type supplied by this operation. Null means unknown.","type":["string","null"]},"published_at":{"description":"Source publication time when available.","type":["string","null"]},"retirement_home":{"description":"Optional retirement home supplied by this operation. Null means unknown.","type":["boolean","null"]},"shared_ownership":{"description":"Optional shared ownership supplied by this operation. Null means unknown.","type":["boolean","null"]},"status":{"description":"Optional status supplied by this operation. Null means unknown.","type":["string","null"]},"street":{"description":"Optional street supplied by this operation. Null means unknown.","type":["string","null"]},"tags":{"description":"Optional tags supplied by this operation. Null means unknown.","type":["array","null"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["string","null"]}},"tenure":{"description":"Optional tenure supplied by this operation. Null means unknown.","type":["string","null"]},"title":{"description":"Source title when supplied.","type":["string","null"]},"town":{"description":"Optional town supplied by this operation. Null means unknown.","type":["string","null"]},"transaction":{"description":"Optional transaction supplied by this operation. Null means unknown.","type":["string","null"]},"transports":{"description":"Optional transports supplied by this operation. Null means unknown.","type":["array","null"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"distance_miles":{"description":"Optional distance miles supplied by this operation. Null means unknown.","type":["number","null"]},"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]},"type":{"description":"Optional type supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true}},"type":{"description":"Optional type supplied by this operation. Null means unknown.","type":["string","null"]},"uprn":{"description":"Optional uprn supplied by this operation. Null means unknown.","type":["string","null"]},"url":{"description":"Original source URL when supplied.","type":["string","null"]}},"additionalProperties":true,"allOf":[{"anyOf":[{"required":["address"],"properties":{"address":{"description":"Optional address supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["agent"],"properties":{"agent":{"description":"Optional agent supplied by this operation. Null means unknown.","type":["object"],"properties":{"id":{"description":"Source identifier. Preserve the supplied type and exact value.","type":["string","null"]},"logo_url":{"description":"Optional logo url supplied by this operation. Null means unknown.","type":["string","null"]},"member_type":{"description":"Optional member type supplied by this operation. Null means unknown.","type":["string","null"]},"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]},"phone":{"description":"Optional phone supplied by this operation. Null means unknown.","type":["string","null"]},"url":{"description":"Original source URL when supplied.","type":["string","null"]}},"additionalProperties":true}}},{"required":["auction"],"properties":{"auction":{"description":"Optional auction supplied by this operation. Null means unknown.","type":["boolean"]}}},{"required":["bathrooms"],"properties":{"bathrooms":{"description":"Optional bathrooms supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["bedrooms"],"properties":{"bedrooms":{"description":"Optional bedrooms supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["brochures"],"properties":{"brochures":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array"],"items":{}}}},{"required":["category"],"properties":{"category":{"description":"Optional category supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["chain_free"],"properties":{"chain_free":{"description":"Optional chain free supplied by this operation. Null means unknown.","type":["boolean"]}}},{"required":["condition"],"properties":{"condition":{"description":"Optional condition supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["currency"],"properties":{"currency":{"description":"Optional currency supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["description"],"properties":{"description":{"description":"Source description; null or absent means not supplied.","type":["string"],"minLength":1}}},{"required":["details"],"properties":{"details":{"description":"Optional details supplied by this operation. Null means unknown.","type":["array"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"key":{"description":"Optional key supplied by this operation. Null means unknown.","type":["string","null"]},"title":{"description":"Source title when supplied.","type":["string","null"]},"value":{"description":"Optional value supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true}}}},{"required":["epc_rating"],"properties":{"epc_rating":{"description":"Optional epc rating supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["epcs"],"properties":{"epcs":{"description":"Optional epcs supplied by this operation. Null means unknown.","type":["array"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"url":{"description":"Original source URL when supplied.","type":["string","null"]}},"additionalProperties":true}}}},{"required":["floor_area"],"properties":{"floor_area":{"description":"Optional floor area supplied by this operation. Null means unknown.","type":["object"],"properties":{"label":{"description":"Optional label supplied by this operation. Null means unknown.","type":["string","null"]},"source":{"description":"Optional source supplied by this operation. Null means unknown.","type":["string","null"]},"units":{"description":"Optional units supplied by this operation. Null means unknown.","type":["string","null"]},"value":{"description":"Optional value supplied by this operation. Null means unknown.","type":["number","null"]}},"additionalProperties":true}}},{"required":["floorplans"],"properties":{"floorplans":{"description":"Optional floorplans supplied by this operation. Null means unknown.","type":["array"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"url":{"description":"Original source URL when supplied.","type":["string","null"]}},"additionalProperties":true}}}},{"required":["highlights"],"properties":{"highlights":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array"],"items":{}}}},{"required":["id"],"properties":{"id":{"description":"Source identifier. Preserve the supplied type and exact value.","type":["string"],"minLength":1}}},{"required":["image_count"],"properties":{"image_count":{"description":"Optional image count supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["key_features"],"properties":{"key_features":{"description":"Optional key features supplied by this operation. Null means unknown.","type":["array"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["string","null"]}}}},{"required":["latitude"],"properties":{"latitude":{"description":"Optional latitude supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["living_rooms"],"properties":{"living_rooms":{"description":"Optional living rooms supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["longitude"],"properties":{"longitude":{"description":"Optional longitude supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["outcode"],"properties":{"outcode":{"description":"Optional outcode supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["photos"],"properties":{"photos":{"description":"Optional photos supplied by this operation. Null means unknown.","type":["array"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"caption":{"description":"Optional caption supplied by this operation. Null means unknown.","type":["string","null"]},"url":{"description":"Original source URL when supplied.","type":["string","null"]}},"additionalProperties":true}}}},{"required":["points_of_interest"],"properties":{"points_of_interest":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array"],"items":{}}}},{"required":["postcode"],"properties":{"postcode":{"description":"Optional postcode supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["price"],"properties":{"price":{"description":"Source price. Currency, taxes and availability depend on the listing.","type":["number"]}}},{"required":["price_history"],"properties":{"price_history":{"description":"Optional price history supplied by this operation. Null means unknown.","type":["object"],"properties":{"changes":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}}},"additionalProperties":true}}},{"required":["price_label"],"properties":{"price_label":{"description":"Optional price label supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["price_per_area"],"properties":{"price_per_area":{"description":"Optional price per area supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["price_qualifier"],"properties":{"price_qualifier":{"description":"Optional price qualifier supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["property_type"],"properties":{"property_type":{"description":"Optional property type supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["published_at"],"properties":{"published_at":{"description":"Source publication time when available.","type":["string"],"minLength":1}}},{"required":["retirement_home"],"properties":{"retirement_home":{"description":"Optional retirement home supplied by this operation. Null means unknown.","type":["boolean"]}}},{"required":["shared_ownership"],"properties":{"shared_ownership":{"description":"Optional shared ownership supplied by this operation. Null means unknown.","type":["boolean"]}}},{"required":["street"],"properties":{"street":{"description":"Optional street supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["tags"],"properties":{"tags":{"description":"Optional tags supplied by this operation. Null means unknown.","type":["array"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["string","null"]}}}},{"required":["tenure"],"properties":{"tenure":{"description":"Optional tenure supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["title"],"properties":{"title":{"description":"Source title when supplied.","type":["string"],"minLength":1}}},{"required":["town"],"properties":{"town":{"description":"Optional town supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["transaction"],"properties":{"transaction":{"description":"Optional transaction supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["transports"],"properties":{"transports":{"description":"Optional transports supplied by this operation. Null means unknown.","type":["array"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"distance_miles":{"description":"Optional distance miles supplied by this operation. Null means unknown.","type":["number","null"]},"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]},"type":{"description":"Optional type supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true}}}},{"required":["uprn"],"properties":{"uprn":{"description":"Optional uprn supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["url"],"properties":{"url":{"description":"Original source URL when supplied.","type":["string"],"minLength":1}}}]}],"x-contract-version":"2026-09-22","x-validation-scope":"Required success payload structure; optional fields and source completeness remain separate.","examples":[{"_warnings":[],"address":"example","agent":{"id":"example","logo_url":"https://example.com/example","member_type":"example","name":"example","phone":"example","url":"https://example.com/example"},"auction":false,"bathrooms":0,"bedrooms":0,"brochures":[],"category":"example","chain_free":false,"condition":"example","currency":"example","description":"example","details":[{"key":"example","title":"example","value":"example"}],"epc_rating":"example","epcs":[{"url":"https://example.com/example"}],"floor_area":{"label":"example","source":"example","units":"example","value":0},"floorplans":[{"url":"https://example.com/example"}],"highlights":[],"id":"example","image_count":0,"key_features":["example"],"latitude":0,"living_rooms":0,"longitude":0,"outcode":"example","photos":[{"caption":"example","url":"https://example.com/example"}],"platform":"example","points_of_interest":[],"postcode":"example","price":0,"price_history":{"changes":[]},"price_label":"example","price_per_area":"example","price_qualifier":"example","property_type":"example","published_at":"2026-09-01T12:00:00Z","retirement_home":false,"shared_ownership":false,"status":"example","street":"example","tags":["example"],"tenure":"example","title":"example","town":"example","transaction":"example","transports":[{"distance_miles":0,"name":"example","type":"example"}],"type":"example","uprn":"example","url":"https://example.com/example"}]}