Skip to content

Retrieve communication options for a Real Estate project

This method hands out the communication options available for the specific real estate project. The OPTIONS method should be called prior to each GET and PUT to get the constraints for the specific real estate project via .xsd schema file. The schema obtained via the OPTIONS call for the specific real estate project is the subset of the XSD file.

The OPTIONS call used mainly to avoid error while getting or updating the real estate project. It provides information regarding available fields and constraints for that specific real estate project.

OPTIONS /offer/v1.0/user/{username}/realestateproject/{realestateprojectid}

Supported media types:
XML

Request

Path Parameters

PARAMETER DESCRIPTION
Username the username which the user uses for logging in to www.immobilienscout24
me "me" can be used instead of the username, when the user is logged in by 3-legged oauth
realestateprojectid the unique project ID, generated by IS24 when posting a real estate project

Successful response

The response varies depending on the real estate project.

XML:

<xs:schema
  xmlns="http://rest.immobilienscout24.de/schema/offer/realestateproject/1.0"
  targetNamespace="http://rest.immobilienscout24.de/schema/offer/realestateproject/1.0"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  version="1.0">

  <xs:import namespace="http://www.w3.org/1999/xlink"/>

  <xs:element name="realEstateProject" type="RealEstateProject">
    <xs:annotation>
      <xs:documentation xml:lang="en">real estate project</xs:documentation>
      <xs:documentation xml:lang="de-DE">Realestateproject</xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:complexType name="RealEstateProject">
    <xs:annotation>
      <xs:documentation xml:lang="en">realestateproject</xs:documentation>
      <xs:documentation xml:lang="de-DE">realestateproject</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="1">
      </xs:element>
      <xs:element name="title" type="xs:string" minOccurs="1">
      </xs:element>
      <xs:element name="price" type="PriceRangeMandatory" minOccurs="1">
      </xs:element>
      <xs:element name="space" type="AreaRangeMandatory" minOccurs="1">
      </xs:element>
      <xs:element name="minPriceProQm" type="Number13.2Type" minOccurs="0"/>
      <xs:element name="numberOfHousingUnit" minOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="9999"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="interiorQuality" type="InteriorQuality" minOccurs="1">
      </xs:element>
      <xs:element name="freeFrom" type="xs:string"/>
      <xs:element name="address" type="Address"/>
      <xs:element name="homepageUrl" type="uri" minOccurs="0"/>
      <xs:element name="extProjectUrl" type="uri" minOccurs="0"/>
      <xs:element name="enabledContactFormFields" type="contactFormFields" minOccurs="0"/>
      <xs:element name="referenceNumber" type="xs:string" minOccurs="0" />
      <xs:element name="showroom" type="Address" minOccurs="0" />
      <xs:element name="salesProgress" type="percentType" minOccurs="0"/>
      <xs:element name="description" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="3000"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="numberOfHousingUnitsDetails" type="NumberOfHousingUnitsDetails" minOccurs="0"/>
      <xs:element name="interiorCharacteristics" type="InteriorCharacteristics" minOccurs="0"/>
      <xs:element name="interiorQualityDescription" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="250"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="locationDescription" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="2050"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="rooms" type="NumberOfRoomsRange" minOccurs="0"/>
      <xs:element name="companyName">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="100"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="contact" type="Contact" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="id" type="xs:long" use="optional">
      <xs:annotation>
        <xs:documentation xml:lang="en">Id of entity entry.</xs:documentation>
        <xs:documentation xml:lang="de-DE">Id des Elements.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:complexType name="InteriorCharacteristics">
    <xs:sequence minOccurs="3" maxOccurs="20">
      <xs:element name="InteriorCharacteristic">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="100"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NumberOfHousingUnitsDetails">
    <xs:sequence>
      <xs:element name="apartmentCount" type="xs:int"/>
      <xs:element name="houseCount" type="xs:int"/>
      <xs:element name="commercialCount" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Contact">
    <xs:sequence>
      <xs:element name="lastName">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="50"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="firstName">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="30"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="email" type="Email"/>
      <xs:element name="phone">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="40"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NumberOfRoomsRange">
    <xs:annotation>
      <xs:documentation xml:lang="en">number of rooms range</xs:documentation>
      <xs:documentation xml:lang="de-DE">Bereich der Zimmeranzahl</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="minimal" type="NumberOfRoomsType" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="en">minimal number of rooms</xs:documentation>
          <xs:documentation xml:lang="de-DE">Minimale Anzahl der Räume</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="maximal" type="NumberOfRoomsType" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="en">maximal number of rooms</xs:documentation>
          <xs:documentation xml:lang="de-DE">Maximale Anzahl der Räume</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>

  <xs:simpleType name="NumberOfRoomsType">
    <xs:annotation>
      <xs:documentation xml:lang="en">number of room type for validation</xs:documentation>
      <xs:documentation xml:lang="de-DE">Anzahl Räume Typ zur Validierung</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:decimal">
      <xs:totalDigits value="5" fixed="true"/>
      <xs:fractionDigits value="1" fixed="true"/>
      <xs:minInclusive value="1" fixed="true"/>
      <xs:maxInclusive value="9999" fixed="true"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="percentType">
    <xs:restriction base="xs:int">
      <xs:enumeration value="0"/>
      <xs:enumeration value="10"/>
      <xs:enumeration value="20"/>
      <xs:enumeration value="30"/>
      <xs:enumeration value="40"/>
      <xs:enumeration value="50"/>
      <xs:enumeration value="60"/>
      <xs:enumeration value="70"/>
      <xs:enumeration value="80"/>
      <xs:enumeration value="90"/>
      <xs:enumeration value="100"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="contactFormFields">
    <xs:sequence>
      <xs:element name="firstName" type="xs:boolean" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="en">whether enable first name in the contact form
          </xs:documentation>
          <xs:documentation xml:lang="de-DE">ob Vorname im Kontaktformular aktiviert ist
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="address" type="xs:boolean" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="en">whether enable address in the contact form
          </xs:documentation>
          <xs:documentation xml:lang="de-DE">ob Adresse im Kontaktformular aktivieren
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="phone" type="xs:boolean" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="en">whether enable phone in the contact form
          </xs:documentation>
          <xs:documentation xml:lang="de-DE">ob Telefon im Kontaktformular aktiviert ist
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="uri">
    <xs:restriction base="xs:anyURI">
      <xs:maxLength value="255"/>
      <xs:pattern value="(http|https)://\w.*[.]\w.*"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="Email">
    <xs:annotation>
      <xs:documentation xml:lang="en">Common email address with restriction of 300 chars.</xs:documentation>
      <xs:documentation xml:lang="de-DE">Emailadresse mit einer 300 Zeichen Längenbegrenzung.
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="5"/>
      <xs:maxLength value="300"/>
      <xs:pattern value=".+@.+\..+"></xs:pattern>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="PriceRangeMandatory">
    <xs:annotation>
      <xs:documentation xml:lang="en">price range</xs:documentation>
      <xs:documentation xml:lang="de-DE">Bereich des Preises</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="minimal" type="Number13.2Type" minOccurs="1">
        <xs:annotation>
          <xs:documentation xml:lang="en">minimal price</xs:documentation>
          <xs:documentation xml:lang="de-DE">Minimaler Preis</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="maximal" type="Number13.2Type" minOccurs="1">
        <xs:annotation>
          <xs:documentation xml:lang="en">maximal price</xs:documentation>
          <xs:documentation xml:lang="de-DE">Maximaler Preis</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="AreaRangeMandatory">
    <xs:annotation>
      <xs:documentation xml:lang="en">area range</xs:documentation>
      <xs:documentation xml:lang="de-DE">Bereich der Fläche</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="minimal" type="Number8.2Type" minOccurs="1">
        <xs:annotation>
          <xs:documentation xml:lang="en">minimal area</xs:documentation>
          <xs:documentation xml:lang="de-DE">Minimale Fläche</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="maximal" type="Number8.2Type" minOccurs="1">
        <xs:annotation>
          <xs:documentation xml:lang="en">maximal area</xs:documentation>
          <xs:documentation xml:lang="de-DE">Maximale Fläche</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>

  <xs:simpleType name="Number8.2Type">
    <xs:annotation>
      <xs:documentation xml:lang="en">type for validation</xs:documentation>
      <xs:documentation xml:lang="de-DE">Typ zur Validierung</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:decimal">
      <xs:totalDigits value="10" fixed="true"/>
      <xs:fractionDigits value="2" fixed="true"/>
      <xs:minInclusive value="0" fixed="true"/>
      <xs:maxExclusive value="100000000" fixed="true"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="Number13.2Type">
    <xs:annotation>
      <xs:documentation xml:lang="en">type for validation</xs:documentation>
      <xs:documentation xml:lang="de-DE">Typ zur Validierung</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:decimal">
      <xs:totalDigits value="15" fixed="true"/>
      <xs:fractionDigits value="2" fixed="true"/>
      <xs:minInclusive value="0" fixed="true"/>
      <xs:maxExclusive value="10000000000000" fixed="true"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="InteriorQuality">
    <xs:restriction base="xs:string">
      <xs:enumeration value="NO_INFORMATION">
        <xs:annotation>
          <xs:documentation xml:lang="en">no information</xs:documentation>
          <xs:documentation xml:lang="de-DE">Keine Angabe</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LUXURY">
        <xs:annotation>
          <xs:documentation xml:lang="en">luxury</xs:documentation>
          <xs:documentation xml:lang="de-DE">Luxus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SOPHISTICATED">
        <xs:annotation>
          <xs:documentation xml:lang="en">sophisticated</xs:documentation>
          <xs:documentation xml:lang="de-DE">Gehoben</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NORMAL">
        <xs:annotation>
          <xs:documentation xml:lang="en">normal</xs:documentation>
          <xs:documentation xml:lang="de-DE">Normal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SIMPLE">
        <xs:annotation>
          <xs:documentation xml:lang="en">simple</xs:documentation>
          <xs:documentation xml:lang="de-DE">Einfach</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="Address">
    <xs:annotation>
      <xs:documentation xml:lang="en">Definition of base address data fields.</xs:documentation>
      <xs:documentation xml:lang="de-DE">Definition der Basisfelder einer Adresse.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="street" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="en">Street without house number. Mandatory for germany, optional
            for foreign real estates.</xs:documentation>
          <xs:documentation xml:lang="de-DE">Straße ohne Hausnummer. Pflichtfeld für Deutschland,
            optional für Auslandsimmobilien.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="TextField">
            <xs:maxLength value="100"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="houseNumber" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="en">House number. Mandatory for germany, optional for foreign
            real estates. Also optional for LIVING_RENT_SITE, LIVING_BUY_SITE and TRADE_SITE</xs:documentation>
          <xs:documentation xml:lang="de-DE">Hausnummer. Pflichtfeld für Deutschland, optional für
            Auslandsimmobilien. Weiterhin optional für LIVING_RENT_SITE,
            LIVING_BUY_SITE and TRADE_SITE</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="TextField">
            <xs:maxLength value="30"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="postcode" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="en">zip code</xs:documentation>
          <xs:documentation xml:lang="de-DE">Postleitzahl</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="TextField">
            <xs:maxLength value="20"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="city" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="en">city</xs:documentation>
          <xs:documentation xml:lang="de-DE">Stadt</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="TextField">
            <xs:maxLength value="50"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="TextField">
    <xs:annotation>
      <xs:documentation xml:lang="en">in Bezug auf XML ungültige Zeichen werden bei der Ausgabe ausgefiltert</xs:documentation>
      <xs:documentation xml:lang="de-DE">invalid characters w.r.t. XML will be filtered out on outgoing responses</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
</xs:schema>