FloPlan: Media

Retrieve floorplan data for a specified listing record and datasource

  1. Supported Roles
  2. Available Services
    1. /$metadata
    2. /Media
    3. /Media('<MediaKey>')
  3. Media Description
  4. Expansions

Available Services

Retrieve metadata for /Media resource

/$metadata

HTTP Method Description Conditional Notes
GET Returns /Media metadata No Accept header must be set to application/xml
POST Returns HTTP 405 (Method Not Allowed) No Not implemented
PUT Returns HTTP 405 (Method Not Allowed) No Not implemented
DELETE Returns HTTP 405 (Method Not Allowed) No Not implemented

GET Request

Parameters:
  • None

GET Response

<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
  <edmx:Reference Uri="http://standards.reso.org/transport/odata/v0.1/RESO.OData.Metadata.xml">
    <edmx:Include Alias="Core" Namespace="Org.OData.Core.V1"/>
  </edmx:Reference>
  <edmx:DataServices>
    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="ODataService">
      <EntityType Name="Media">
        <Key>
          <PropertyRef Name="MediaKey"/>
        </Key>
        <Property Name="FloplanKey" Type="Edm.String">
          <Annotation Term="RESO.OData.Metadata.MLSName" String="The ID of the floplan group this image belongs to"/>
        </Property>
        <Property Name="FloplanImageType" Type="Edm.String">
          <Annotation Term="RESO.OData.Metadata.MLSName" String="The image type of the floplan"/>
        </Property>
        <Property Name="MediaKey" Type="Edm.String"/>
        <Property Name="MediaCategory" Type="Collection(MediaEnums.MediaCategory)"/>
        <Property Name="MediaType" Type="Collection(MediaEnums.MediaType)"/>
        <Property Name="MediaURL" Type="Edm.String"/>
        <Property Name="ModificationTimestamp" Type="Edm.Timestamp"/>
        <Property Name="OriginatingSystemResourceRecordKey" Type="Edm.String">
          <Annotation Term="RESO.OData.Metadata.MLSName" String="The OriginatingSystemKey for the related record"/>
        </Property>
        <Property Name="OriginatingSystemResourceRecordSystemID" Type="Edm.String">
          <Annotation Term="RESO.OData.Metadata.MLSName" String="The OriginatingSystemID for the related record"/>
        </Property>
        <Property Name="Permission" Type="Collection(MediaEnums.Permission)"/>
        <Property Name="ShortDescription" Type="Edm.String"/>
        <Property Name="ResourceName" Type="Edm.String"/>
      </EntityType>
    </Schema>
    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MediaEnums">
      <EnumType Name="MediaCategory" UnderlyingType="Edm.Int64">
        <Member Name="FloorPlan">
          <Annotation Term="RESO.OData.Metadata.StandardName" String="Floor Plan"/>
        </Member>
      </EnumType>
      <EnumType Name="MediaType" UnderlyingType="Edm.Int16">
        <Member Name="jpg"/>
        <Member Name="png"/>
      </EnumType>
      <EnumType Name="Permission" UnderlyingType="Edm.Int16">
        <Member Name="Public"/>
        <Member Name="Private"/>
      </EnumType>
    </Schema>
    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Default">
      <EntityContainer Name="Container">
        <EntitySet Name="Media" EntityType="ODataService.Media">
          <Annotation Term="Org.OData.Capabilities.V1.FilterRestrictions">
            <Record>
              <PropertyValue Property="Filterable" Bool="true"/>
              <PropertyValue Property="RequiredProperties">
                <Collection>
                  <String>OriginatingSystemResourceRecordKey</String>
                  <String>OriginatingSystemResourceRecordSystemID</String>
                </Collection>
              </PropertyValue>
              <PropertyValue Property="NonFilterableProperties">
                <Collection>
                  <String>FloplanKey</String>
                  <String>FloplanImageType</String>
                  <String>MediaKey</String>
                  <String>MediaType</String>
                  <String>MediaURL</String>
                  <String>ModificationTimestamp</String>
                  <String>Permission</String>
                  <String>ShortDescription</String>
                  <String>ResourceName</String>
                </Collection>
              </PropertyValue>
            </Record>
          </Annotation>
          <Annotation Term="Org.OData.Capabilities.V1.SortRestrictions">
            <Record>
              <PropertyValue Property="Sortable" Bool="false"/>
              <PropertyValue Property="AscendingOnlyProperties">
                <Collection/>
              </PropertyValue>
              <PropertyValue Property="DescendingOnlyProperties">
                <Collection/>
              </PropertyValue>
              <PropertyValue Property="UnsortableProperties">
                <Collection/>
              </PropertyValue>
            </Record>
          </Annotation>
        </EntitySet>
      </EntityContainer>
    </Schema>
    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="RESO.OData.Metadata">
      <Annotation Term="Core.Description">
        <String>Terms for extending OData Metadata to accommodate RESO specific requirements</String>
      </Annotation>
      <Term Name="StandardName" Type="Edm.String" AppliesTo="EntityType Property EnumType Member">
        <Annotation Term="Core.Description">
          <String>The standard name of the entity, property, enumeration, or enumeration value</String>
        </Annotation>
      </Term>
    </Schema>
    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MLS.OData.Metadata">
      <Annotation Term="Core.Description">
        <String>Terms for extending OData Metadata to accommodate MLS specific requirements</String>
      </Annotation>
      <Term Name="LocalName" Type="Edm.String" AppliesTo="EntityType Property EnumType Member">
        <Annotation Term="Core.Description">
          <String>The localized name of the entity, property, enumeration, or enumeration value.</String>
        </Annotation>
      </Term>
    </Schema>
  </edmx:DataServices>
</edmx:Edmx>

Retrieve Floorplans Associated with a Listing

/Media

HTTP Method Description Conditional Notes
GET Returns floorplan Media data. No Accept header must be set to application/json
POST Returns HTTP 405 (Method Not Allowed) No Not implemented
PUT Returns HTTP 405 (Method Not Allowed) No Not implemented
DELETE Returns HTTP 405 (Method Not Allowed) No Not implemented

GET Request

Parameters:
Parameter Required Notes
$filter Yes The $filter parameter is required for all /Media requests. Additionally, both OriginatingSystemResourceRecordKey and OriginatingSystemResourceRecordSystemID attributes must be included in your $filter. See media filter requirements description for a definition of both fields.
$top No Integer > 0 and <= 100 indicating the number of floor plan records you'd like to return in a single request. The default is 10.
$skip No Integer indicating the number of floor plans in the recordset you would like to skip when retrieving results. This is strictly for pagination purposes.

GET Response

{
   "@odata.context":"/$metadata#Media",
   "value":[
      {
         "MediaKey":"512",
         "MediaCategory":"FloorPlan",
         "MediaType":"png",
         "MediaURL":"https://amazon.com/mediaurl1",
         "ModificationTimestamp":"2020-07-02T12:52:23Z",
         "Permission":[
            "Public"
         ],
         "ShortDescription":"100 Example Road",
         "ResourceName":"Property",
         "@odata.id":"/Media('512')",
         "OriginatingSystemResourceRecordKey":"20200123172634864487000000",
         "OriginatingSystemResourceRecordSystemID":"A001561",
         "FloplanKey":"12",
         "FloplanImageType":"all_in_one_png"
      },
      {
         "MediaKey":"513",
         "MediaCategory":"FloorPlan",
         "MediaType":"png",
         "MediaURL":"https://amazon.com/mediaurl2",
         "ModificationTimestamp":"2020-07-02T12:52:23Z",
         "Permission":[
            "Public"
         ],
         "ShortDescription":"100 Example Road",
         "ResourceName":"Property",
         "@odata.id":"/Media('513')",
         "OriginatingSystemResourceRecordKey":"20200813111114864487000000",
         "OriginatingSystemResourceRecordSystemID":"A001561",
         "FloplanKey":"12",
         "FloplanImageType":"all_in_one_thumbnail_png"
      }
   ]
}

Retrieve a single floorplan record by MediaKey value

/Media('<MediaKey>')

Similar to the /Media service, but scoped to return only a single media record. This service is included specifically for OData compatibility purposes.

HTTP Method Description Conditional Notes
GET Returns a single Media record No Accept header must be set to application/json
POST Returns HTTP 405 (Method Not Allowed) No Not implemented
PUT Returns HTTP 405 (Method Not Allowed) No Not implemented
DELETE Returns HTTP 405 (Method Not Allowed) No Not implemented

GET Request

Parameters:
  • None

GET Response

See the GET request section for for the Media service.

Media Filter Requirements Description

Attribute Data Type Searchable Description
OriginatingSystemResourceRecordKey String Yes Required. The long form unique identifier (ListingKey) of the listing you'd like to retrieve floorplans for. This is equivalent to the Spark/RESO Web API's ListingKey field. If you are a flexmls RETS user this would instead be equivalent to the LIST_1 field in the property resources.
OriginatingSystemResourceRecordSystemID String Yes Required. The RESO OUID of the association, MLS, or organization that the listing you are querying belongs to