Search transactions performed against the Property resource will return property details. However, photos are not included in full detail and must be retrieved separately using the GetObject transaction, along with the data provided in the Search transaction.
Once you’ve determined that full details for a property need to be requested, property photos should be managed as follows:
Adding Property Photos (Initial Download)
When a new property is added to the client’s data store, all related property photos should also be retrieved.
- Use the GetObject transaction to request all photos for the property.
- When requesting all photos, they are returned as a single multipart MIME object.
- Clients must parse this object and extract individual photos, which are separated by a boundary marker (
--boundary
) and a content header.
Refer to the GetObject section for examples on how to request all photos for a property and how to handle multipart image objects.
Updating Property Photos
If a property is updated in the client’s data store, you must also check whether its photos have changed.
- Standard-XML Search: Compare the
PhotoLastUpdated
value for each photo with the value stored locally. If different, request and replace that specific photo using GetObject. - Compact Search: Since Compact responses do not include individual photo attributes, compare the
PhotosChangeTimestamp
at the property level. If it differs, delete all local property photos and re-download them using GetObject.
Adding New Property Photos
If new property photos have been added since your last update:
- Standard-XML Search: Compare the
SequenceID
values of each photo against those in the local data store. If a new one is detected, download it using GetObject. - Compact Search: Compare the
PhotosChangeTimestamp
. If it has changed, delete all local photos and re-download them all using GetObject.
Removing Property Photos
If photos have been removed:
- Standard-XML Search: Compare the
SequenceID
values of each property photo against the client’s local data. If a photo is missing, delete it from the local store. - Compact Search: Compare the
PhotosChangeTimestamp
. If it has changed, delete all local photos and re-download the complete set using GetObject.
Default Property Photo
Each property has a default photo, identified by SequenceID = 0
. Clients with specific constraints may choose to use only the default photo.
Refer to the GetObject section for syntax examples on requesting:
- All property photos
- A specific property photo
- The default property photo