{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://www.monocrawl.com/schemas/zoopla/agent.json","title":"zoopla/agent 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":{}},"about":{"description":"Optional about supplied by this operation. Null means unknown.","type":["string","null"]},"address":{"description":"Optional address supplied by this operation. Null means unknown.","type":["string","null"]},"commercial":{"description":"Optional commercial supplied by this operation. Null means unknown.","type":["object","null"],"properties":{},"additionalProperties":true},"for_sale":{"description":"Optional for sale supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"available":{"description":"Optional available supplied by this operation. Null means unknown.","type":["number","null"]},"average_asking_price":{"description":"Optional average asking price supplied by this operation. Null means unknown.","type":["number","null"]},"average_weeks_on_market":{"description":"Optional average weeks on market supplied by this operation. Null means unknown.","type":["number","null"]}},"additionalProperties":true},"id":{"description":"Source identifier. Preserve the supplied type and exact value.","type":["string","null"]},"images":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"latitude":{"description":"Optional latitude supplied by this operation. Null means unknown.","type":["number","null"]},"logo_url":{"description":"Optional logo url supplied by this operation. Null means unknown.","type":["string","null"]},"longitude":{"description":"Optional longitude supplied by this operation. Null means unknown.","type":["number","null"]},"memberships":{"description":"Optional memberships 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":{"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]},"url":{"description":"Original source URL when supplied.","type":["string","null"]}},"additionalProperties":true}},"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]},"outcode":{"description":"Optional outcode supplied by this operation. Null means unknown.","type":["string","null"]},"phone":{"description":"Optional phone supplied by this operation. Null means unknown.","type":["string","null"]},"platform":{"description":"Optional platform supplied by this operation. Null means unknown.","type":["string","null"]},"postcode":{"description":"Optional postcode supplied by this operation. Null means unknown.","type":["string","null"]},"social":{"description":"Optional social supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"facebook":{"description":"Optional facebook supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true},"staff":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"to_rent":{"description":"Optional to rent supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"available":{"description":"Optional available supplied by this operation. Null means unknown.","type":["number","null"]},"average_asking_price":{"description":"Optional average asking price supplied by this operation. Null means unknown.","type":["number","null"]},"average_weeks_on_market":{"description":"Optional average weeks on market supplied by this operation. Null means unknown.","type":["number","null"]}},"additionalProperties":true},"type":{"description":"Optional type 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":["about"],"properties":{"about":{"description":"Optional about supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["address"],"properties":{"address":{"description":"Optional address supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["commercial"],"properties":{"commercial":{"description":"Optional commercial supplied by this operation. Null means unknown.","type":["object"],"properties":{},"additionalProperties":true}}},{"required":["for_sale"],"properties":{"for_sale":{"description":"Optional for sale supplied by this operation. Null means unknown.","type":["object"],"properties":{"available":{"description":"Optional available supplied by this operation. Null means unknown.","type":["number","null"]},"average_asking_price":{"description":"Optional average asking price supplied by this operation. Null means unknown.","type":["number","null"]},"average_weeks_on_market":{"description":"Optional average weeks on market supplied by this operation. Null means unknown.","type":["number","null"]}},"additionalProperties":true}}},{"required":["id"],"properties":{"id":{"description":"Source identifier. Preserve the supplied type and exact value.","type":["string"],"minLength":1}}},{"required":["images"],"properties":{"images":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array"],"items":{}}}},{"required":["latitude"],"properties":{"latitude":{"description":"Optional latitude supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["logo_url"],"properties":{"logo_url":{"description":"Optional logo url supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["longitude"],"properties":{"longitude":{"description":"Optional longitude supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["memberships"],"properties":{"memberships":{"description":"Optional memberships supplied by this operation. Null means unknown.","type":["array"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]},"url":{"description":"Original source URL when supplied.","type":["string","null"]}},"additionalProperties":true}}}},{"required":["name"],"properties":{"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["outcode"],"properties":{"outcode":{"description":"Optional outcode supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["phone"],"properties":{"phone":{"description":"Optional phone supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["postcode"],"properties":{"postcode":{"description":"Optional postcode supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["social"],"properties":{"social":{"description":"Optional social supplied by this operation. Null means unknown.","type":["object"],"properties":{"facebook":{"description":"Optional facebook supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true}}},{"required":["staff"],"properties":{"staff":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array"],"items":{}}}},{"required":["to_rent"],"properties":{"to_rent":{"description":"Optional to rent supplied by this operation. Null means unknown.","type":["object"],"properties":{"available":{"description":"Optional available supplied by this operation. Null means unknown.","type":["number","null"]},"average_asking_price":{"description":"Optional average asking price supplied by this operation. Null means unknown.","type":["number","null"]},"average_weeks_on_market":{"description":"Optional average weeks on market supplied by this operation. Null means unknown.","type":["number","null"]}},"additionalProperties":true}}},{"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":[],"about":"example","address":"example","commercial":{},"for_sale":{"available":0,"average_asking_price":0,"average_weeks_on_market":0},"id":"example","images":[],"latitude":0,"logo_url":"https://example.com/example","longitude":0,"memberships":[{"name":"example","url":"https://example.com/example"}],"name":"example","outcode":"example","phone":"example","platform":"example","postcode":"example","social":{"facebook":"example"},"staff":[],"to_rent":{"available":0,"average_asking_price":0,"average_weeks_on_market":0},"type":"example","url":"https://example.com/example"}]}