openapi: 3.0.3
info:
  title: Justimmo WebsiteAPI
  version: 1.2.19
  contact:
    email: support@justimmo.at
servers:
  - url: http://api.justimmo.at/rest/v1
paths:
  /objekt/list:
    parameters:
      - name: limit
        in: query
        description: >-
          How many elements should be returned in the list. <strong>Max
          100</strong>.
        schema:
          type: integer
          default: 10
        required: false
        allowEmptyValue: true
      - name: offset
        in: query
        description: Offset of the first element in the list.
        required: false
        schema:
          type: integer
          default: 0
      - name: culture
        in: query
        description: Language for i18n fields.
        required: false
        schema:
          type: string
          default: de
      - name: picturesize
        in: query
        description: >-
          The picture size to be used for picture urls.

          In combination with showDetails=1 it is also possible to request
          multiple sizes (e.g. `picturesize[]=big&picturesize[]=small`)
        required: false
        schema:
          oneOf:
            - $ref: '#/components/schemas/QueryParameterPictureSize'
            - type: array
              items:
                $ref: '#/components/schemas/QueryParameterPictureSize'
      - name: showDetails
        in: query
        description: Return all details of the real-estates instead of short summaries
        required: false
        schema:
          type: integer
          default: 0
          enum:
            - 0
            - 1
    get:
      summary: List/Search
      description: Executes a search and returns basic information of matching realties
      operationId: realty-list
      tags:
        - realty
      parameters:
        - name: orderby
          in: query
          description: Order results by specific field.
          required: false
          schema:
            type: string
            enum:
              - created_at
              - objektnummer
              - plz
              - preis
              - published_at
              - updated_at
        - name: ordertype
          in: query
          description: >-
            Order direction. Matched case-insensitively, so DESC and desc are
            equivalent.
          required: false
          schema:
            type: string
            default: asc
            x-justimmo-case-insensitive: true
            enum:
              - asc
              - desc
        - name: alleProjektObjekte
          in: query
          description: Show all real-estates with projects regardless of realty state
          required: false
          schema:
            type: integer
            default: 0
            enum:
              - 0
              - 1
        - name: preciseAreaSearch
          in: query
          description: >-
            Search commercial real-estates by usable area of the sub
            real-estates
          required: false
          schema:
            type: integer
            default: 0
            enum:
              - 0
              - 1
        - name: filter[preis_von]
          in: query
          description: |-
            The min price. Depending on type it is the rent or purchase price.  
            see [Example](#tag/examples_filter/By-price)
          required: false
          schema:
            type: number
        - name: filter[preis_bis]
          in: query
          description: The max price. Depending on type it is the rent or purchase price.
          required: false
          schema:
            type: number
        - name: filter[price_per_m2_von]
          in: query
          description: >-
            The min price per square meter. Depending on type it is the rent or
            purchase price.
          required: false
          schema:
            type: number
        - name: filter[price_per_m2_bis]
          in: query
          description: >-
            The max price per square meter. Depending on type it is the rent or
            purchase price.
          required: false
          schema:
            type: number
        - name: filter[objektart_id]
          in: query
          description: >-
            The main realty type. Multiple values are supported by using an
            array notation.  

            see [Reference: Realty Types](#tag/reference_realty_types) and
            [Example](#tag/examples_filter/By-realty-type-ID)
          required: false
          schema:
            oneOf:
              - type: integer
              - type: array
                items:
                  type: integer
        - name: filter[subobjektart_id]
          in: query
          description: >-
            The sub realty type. Multiple values are supported by using an array
            notation.  

            see [Reference: Realty Types](#tag/reference_realty_types) and
            [Example](#tag/examples_filter/By-sub-realty-type-ID)
          required: false
          schema:
            oneOf:
              - type: integer
              - type: array
                items:
                  type: integer
        - name: filter[tag_name]
          in: query
          description: >-
            The name of the category assigned to real-estates. Multiple values
            are supported by using an array notation and are combined with OR.  

            see [Example](#tag/examples_filter/By-realty-category)
          required: false
          schema:
            oneOf:
              - type: string
              - type: array
                items:
                  type: string
        - name: filter[plz]
          in: query
          description: >-
            The zip code. Multiple values are supported by using an array
            notation.  

            see [Example](#tag/examples_filter/By-ZIP-code)
          required: false
          schema:
            oneOf:
              - type: string
              - type: array
                items:
                  type: string
        - name: filter[plz_von]
          in: query
          description: The min zip code. Does not work for non-numerical zip codes.
          required: false
          schema:
            type: string
        - name: filter[plz_bis]
          in: query
          description: The max zip code. Does not work for non-numerical zip codes.
          required: false
          schema:
            type: string
        - name: filter[zimmer_von]
          in: query
          description: |-
            The min room count.  
            see [Example](#tag/examples_filter/By-room-number)
          required: false
          schema:
            type: number
        - name: filter[zimmer_bis]
          in: query
          description: The max room count.
          required: false
          schema:
            type: number
        - name: filter[objektnummer]
          in: query
          description: |-
            The realty number.  
            see [Example](#tag/examples_filter/By-property-number)
          required: false
          schema:
            type: string
        - name: filter[objektnummer_von]
          in: query
          description: The min realty number.
          required: false
          schema:
            type: string
        - name: filter[objektnummer_bis]
          in: query
          description: The max realty number.
          required: false
          schema:
            type: string
        - name: filter[sort_flaeche_von]
          in: query
          description: >-
            The min area in square meters. It refers to the area fields in this
            order - living area, floor area, surface area and total area.  

            see [Example](#tag/examples_filter/By-area)
          required: false
          schema:
            type: number
        - name: filter[sort_flaeche_bis]
          in: query
          description: >-
            The max area in square meters. It refers to the area fields in this
            order - living area, floor area, surface area and total area.
          required: false
          schema:
            type: number
        - name: filter[flaeche_von]
          in: query
          description: The min area in square meters.
          required: false
          schema:
            type: number
        - name: filter[flaeche_bis]
          in: query
          description: The max area in square meters.
          required: false
          schema:
            type: number
        - name: filter[wohnflaeche_von]
          in: query
          description: The min living area in square meters.
          required: false
          schema:
            type: number
        - name: filter[wohnflaeche_bis]
          in: query
          description: The max living area in square meters.
          required: false
          schema:
            type: number
        - name: filter[nutzflaeche_von]
          in: query
          description: The min floor area in square meters.
          required: false
          schema:
            type: number
        - name: filter[nutzflaeche_bis]
          in: query
          description: The max floor area in square meters.
          required: false
          schema:
            type: number
        - name: filter[grundflaeche_von]
          in: query
          description: The min surface area in square meters.
          required: false
          schema:
            type: number
        - name: filter[grundflaeche_bis]
          in: query
          description: The max surface area in square meters.
          required: false
          schema:
            type: number
        - name: filter[anzahl_garten_von]
          in: query
          description: The min number of the gardens.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_garten_bis]
          in: query
          description: The max number of the gardens.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_balkons_von]
          in: query
          description: |-
            The min number of the balconies.  
            see [Example](#tag/examples_filter/By-balcony-number)
          required: false
          schema:
            type: integer
        - name: filter[anzahl_balkons_bis]
          in: query
          description: The max number of the balconies.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_loggias_von]
          in: query
          description: The min number of the loggias.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_loggias_bis]
          in: query
          description: The max number of the loggias.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_terrassen_von]
          in: query
          description: The min number of the terraces.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_terrassen_bis]
          in: query
          description: The max number of the terraces.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_keller_von]
          in: query
          description: |-
            The min number of the cellars.  
            see [Example](#tag/examples_filter/By-cellar-number)
          required: false
          schema:
            type: integer
        - name: filter[anzahl_keller_bis]
          in: query
          description: The max number of the cellars.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_garagen_von]
          in: query
          description: The min number of the garages.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_garagen_bis]
          in: query
          description: The max number of the garages.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_stellplaetze_von]
          in: query
          description: The min number of the parking spots.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_stellplaetze_bis]
          in: query
          description: The max number of the parking spots.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_sep_wc_von]
          in: query
          description: The min number of the toilet rooms.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_sep_wc_bis]
          in: query
          description: The max number of the toilet rooms.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_badezimmer_von]
          in: query
          description: |-
            The min number of the bathrooms.  
            see [Example](#tag/examples_filter/By-bathroom-number)
          required: false
          schema:
            type: integer
        - name: filter[anzahl_badezimmer_bis]
          in: query
          description: The max number of the bathrooms.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_abstellraum_von]
          in: query
          description: The min number of the storage rooms.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_abstellraum_bis]
          in: query
          description: The max number of the storage rooms.
          required: false
          schema:
            type: integer
        - name: filter[zustand_id]
          in: query
          description: >-
            Filter by condition. The id of the conditions.  

            see [Reference: Conditions](#tag/reference_realty_conditions) and
            [Example](#tag/examples_filter/By-condition)
          required: false
          schema:
            type: integer
        - name: filter[objekt_ausstattung_list]
          in: query
          description: >-
            Filter by equipments. The id of the features. The array notation is
            required, also for a single value.  

            see [Reference: Features](#tag/reference_realty_features) and
            [Example](#tag/examples_filter/By-equipment)
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: filter[barrierefrei]
          in: query
          description: |-
            filter by disability access  
            see [Example](#tag/examples_filter/By-disability-access)
          required: false
          schema:
            type: integer
            enum:
              - 0
              - 1
        - name: filter[stichwort]
          in: query
          description: >-
            Keyword. Must be present in realty title, ZIP, city, street, object
            number or internal description.
          required: false
          schema:
            type: string
        - name: filter[land_id]
          in: query
          description: >-
            The id of the country. Multiple values are supported by using an
            array notation.  

            see [Call: Country](#tag/basic_data/operation/realty-countries)
          required: false
          schema:
            oneOf:
              - type: integer
              - type: array
                items:
                  type: integer
        - name: filter[bundesland_id]
          in: query
          description: >-
            The id of the federal state. Multiple values are supported by using
            an array notation.

            see [Call: Federal
            States](#tag/basic_data/operation/realty-federal-states)
          required: false
          schema:
            oneOf:
              - type: integer
              - type: array
                items:
                  type: integer
        - name: filter[politischer_bezirk_id]
          in: query
          description: >-
            The id of the political district. Only a single value is supported.

            see [Call: Political
            Districts](#tag/basic_data/operation/realty-political-districts)
          required: false
          schema:
            type: integer
        - name: filter[objekt_status_id]
          in: query
          description: >-
            The realty status. Multiple values are supported by using an array
            notation.  

            see [Reference: Realty Status](#tag/reference_realty_status) and
            [Example](#tag/examples_filter/By-status-ID)
          required: false
          schema:
            oneOf:
              - type: integer
              - type: array
                items:
                  type: integer
        - name: filter[miete]
          in: query
          description: |-
            Set value to 1 to search for realties available for rent.  
            see [Example](#tag/examples_filter/By-marketing-type)
          required: false
          schema:
            type: integer
            enum:
              - 0
              - 1
        - name: filter[kauf]
          in: query
          description: Set value to 1 to search for realties available for purchase.
          required: false
          schema:
            type: integer
            enum:
              - 0
              - 1
        - name: filter[bauart_id]
          in: query
          description: >-
            Filter by old or new buildings.  

            see [Reference: Styles of
            Buildings](#tag/reference_realty_style_of_buildings) and
            [Example](#tag/examples_filter/By-style-of-building)
          required: false
          schema:
            type: integer
            enum:
              - 1
              - 2
        - name: filter[owner_id]
          in: query
          description: |-
            Id of the employee responsible for the realty.  
            see [Call: Team List](#tag/team/operation/team-list)
          required: false
          schema:
            type: integer
        - name: filter[projekt_id]
          in: query
          description: |-
            Id of the project the realty belongs to.  
            see [Call: Project List](#tag/project/operation/project-list)
          required: false
          schema:
            type: integer
        - name: filter[realty_type]
          in: query
          description: >-
            Name of the realty system type the realty belongs to.  

            see [Reference: Realty System
            Types](#tag/reference_realty_system_types) and
            [Example](#tag/examples_filter/By-realty-system-type)
          required: false
          schema:
            type: string
        - name: filter[parent_id]
          in: query
          description: Id of the parent realty.
          required: false
          schema:
            type: integer
        - name: filter[aktualisiert_am_von]
          in: query
          description: |-
            Updated at from date.  
            see [Example](#tag/examples_filter/By-last-updated-time)
          required: false
          schema:
            type: string
            format: date-time
        - name: filter[aktualisiert_am_bis]
          in: query
          description: Updated at to date.
          required: false
          schema:
            type: string
            format: date-time
        - name: filter[rent_with_purchase_option]
          in: query
          description: Filter for rent realties which have the option enabled.
          required: false
          schema:
            type: integer
            enum:
              - 0
              - 1
      responses:
        '200':
          description: Success
          content:
            application/xml:
              schema:
                type: object
              example: |-
                <?xml version="1.0" encoding="UTF-8"?>
                <justimmo>
                    <query-result>
                        <count>15</count>
                    </query-result>
                    <immobilie>
                        <id>361672</id>
                        <objektnummer>17</objektnummer>
                        <objektkategorie>
                            <nutzungsart WOHNEN="1" GEWERBE="0" ANLAGE="0"/>
                            <vermarktungsart KAUF="0" MIETE_PACHT="1"/>
                            <objektart>
                                <wohnung wohnungtyp="ERDGESCHOSS"/>
                            </objektart>
                            <user_defined_simplefield feldname="objektart_id">2</user_defined_simplefield>
                            <user_defined_simplefield feldname="objektart_name">Wohnung</user_defined_simplefield>
                            <user_defined_simplefield feldname="sub_objektart_id">103</user_defined_simplefield>
                            <user_defined_simplefield feldname="sub_objektart_name">Erdgeschoß</user_defined_simplefield>
                        </objektkategorie>
                        <titel>DEMOOBJEKT! Grünruhelage in den Kornkammern Wiens</titel>
                        <dreizeiler></dreizeiler>
                        <naehe>Donauufer</naehe>
                        <objektbeschreibung>&lt;p&gt;DEMOOBJEKT! Bitte nicht anfragen!&lt;/p&gt;&#13;
                            &lt;p&gt;Breitenlee: Sonnige 3 Zimmer-Wohnung inmitten der Kornkammern Wiens&lt;br /&gt;&lt;br /&gt;Die
                            helle freundliche 3 Zimmer-Wohnung mit Bad (Wanne), eigenem WC, Schrankraum, Wohnküche mit Speiss,
                            französichen Fenstern in allen Räumen ist süd-westl. ausgerichtet. Im Mietpreis sind die Kosten für 1
                            Garagenplatz enthalten.&lt;br /&gt;5 Minuten mit dem Auto nach Breitenlee, 10 Min. zum großen Donaustädter
                            Einkaufspark und in 100 Metern mitten in den Feldern! Die Haltestelle des städt. Autobuses ist vor der Türe!&lt;/p&gt;</objektbeschreibung>
                        <anzahl_zimmer>3</anzahl_zimmer>
                        <etage>4. Etage</etage>
                        <ort>Wien</ort>
                        <plz>1220</plz>
                        <preis>1752</preis>
                        <gesamtmiete>1818</gesamtmiete>
                        <mietkauf>0</mietkauf>
                        <wohnflaeche>82</wohnflaeche>
                        <nutzflaeche>95</nutzflaeche>
                        <anzahl_terrassen>1</anzahl_terrassen>
                        <terrassen_flaeche>15</terrassen_flaeche>
                        <erstes_bild>https://files.justimmo.at/public/pic/small/APRorOYjzZ.jpg</erstes_bild>
                        <zweites_bild>https://files.justimmo.at/public/pic/small/APRoFdmnle.jpg</zweites_bild>
                        <status>aktiv</status>
                        <status_id>5</status_id>
                        <erstellt_am>2014-12-03 10:21:03</erstellt_am>
                        <aktualisiert_am>2016-03-04 10:44:19</aktualisiert_am>
                    </immobilie>
                    <!-- ..... -->
                </justimmo>
  /objekt/detail:
    get:
      summary: Details
      description: >-
        Returns detailed information of a single realty as xml loosely based on
        Openimmo 1.2.7
      operationId: realty-detail
      tags:
        - realty
      parameters:
        - name: objekt_id
          in: query
          description: The id of the realty
          schema:
            type: integer
            example: 10
          required: true
        - name: culture
          in: query
          description: Language for i18n fields
          schema:
            type: string
            default: de
        - name: picturesize
          in: query
          description: >-
            The picture size to be used for picture urls. Multiple sizes can be
            requested using array notation (e.g.
            `picturesize[]=big&picturesize[]=small`).
          required: false
          schema:
            oneOf:
              - $ref: '#/components/schemas/QueryParameterPictureSize'
              - type: array
                items:
                  $ref: '#/components/schemas/QueryParameterPictureSize'
      responses:
        '200':
          description: Success
          content:
            application/xml:
              schema:
                type: object
              example: |-
                <?xml version="1.0" encoding="UTF-8"?>
                <justimmo>
                    <immobilie>
                        <objektkategorie>
                            <nutzungsart WOHNEN="1" GEWERBE="0" ANLAGE="0"/>
                            <vermarktungsart KAUF="1" MIETE_PACHT="0"/>
                            <objektart>
                                <haus haustyp="VILLA"/>
                                <subobjektart>Villa</subobjektart>
                            </objektart>
                            <user_defined_simplefield feldname="objektart_id">3</user_defined_simplefield>
                            <user_defined_simplefield feldname="objektart_name">Haus</user_defined_simplefield>
                            <user_defined_simplefield feldname="sub_objektart_id">20</user_defined_simplefield>
                            <user_defined_simplefield feldname="sub_objektart_name">Villa</user_defined_simplefield>
                            <user_defined_anyfield>
                                <ji_kategorie id="6052">Topobjekte</ji_kategorie>
                                <ji_kategorie id="21291">Test_Kategorie</ji_kategorie>
                            </user_defined_anyfield>
                        </objektkategorie>
                        <geo>
                            <plz>3424</plz>
                            <ort>St. Nimmerleinstal</ort>
                            <bundesland>Niederösterreich</bundesland>
                            <land iso_land="AUT"/>
                            <user_defined_simplefield feldname="geokoordinaten_laengengrad">16.2859093</user_defined_simplefield>
                            <user_defined_simplefield feldname="geokoordinaten_breitengrad">48.423342</user_defined_simplefield>
                            <user_defined_simplefield feldname="ungenaue_verortung_laengengrad">16.2859093</user_defined_simplefield>
                            <user_defined_simplefield feldname="ungenaue_verortung_breitengrad">48.423342</user_defined_simplefield>
                            <user_defined_simplefield feldname="ungenaue_verortung_radius">1248</user_defined_simplefield>
                            <user_defined_simplefield feldname="politischer_bezirk">Tulln</user_defined_simplefield>
                            <user_defined_anyfield>
                                <ji_point_of_interest_distance>
                                    <distance type="bus" group="traffic">500</distance>
                                    <distance type="motorway_junction" group="traffic">6500</distance>
                                    <distance type="railway_station" group="traffic">1500</distance>
                                    <distance type="aerodrome" group="traffic">6500</distance>
                                    <distance type="school" group="children_and_school">1000</distance>
                                    <distance type="kindergarten" group="children_and_school">500</distance>
                                    <distance type="university" group="children_and_school">4500</distance>
                                    <distance type="bank" group="other">500</distance>
                                    <distance type="atm" group="other">500</distance>
                                    <distance type="post_office" group="other">1000</distance>
                                    <distance type="police" group="other">1000</distance>
                                    <distance type="supermarket" group="local_supply">500</distance>
                                    <distance type="bakery" group="local_supply">1000</distance>
                                    <distance type="doctors" group="health">500</distance>
                                    <distance type="pharmacy" group="health">500</distance>
                                    <distance type="hospital" group="health">7500</distance>
                                    <distance type="clinic" group="health">6000</distance>
                                </ji_point_of_interest_distance>
                            </user_defined_anyfield>
                            <user_defined_simplefield feldname="geokoordinaten_laengengrad_exakt">16.2859093</user_defined_simplefield>
                            <user_defined_simplefield feldname="geokoordinaten_breitengrad_exakt">48.423342</user_defined_simplefield>
                        </geo>
                        <kontaktperson>
                            <email_direkt>justin.immo@example.com</email_direkt>
                            <name>Immo</name>
                            <vorname>Justin</vorname>
                            <anrede>Herr</anrede>
                            <position>Makler</position>
                            <firma>Justimmo</firma>
                            <strasse>Mariahilfer Straße 10</strasse>
                            <plz>1070</plz>
                            <ort>Wien</ort>
                            <land iso_land="AUT"/>
                            <email_feedback>52176-202107-280db147@example.com</email_feedback>
                            <url>example.com</url>
                            <id>18514915</id>
                        </kontaktperson>
                        <preise>
                            <kaufpreis>539401.2</kaufpreis>
                            <kaufpreisnetto kaufpreisust="89900.2">449501</kaufpreisnetto>
                            <nebenkosten>150</nebenkosten>
                            <kaufpreis_pro_qm>1599.65</kaufpreis_pro_qm>
                            <provisionspflichtig>1</provisionspflichtig>
                            <aussen_courtage>3% des Kaufpreises zzgl. 20% USt.</aussen_courtage>
                            <waehrung iso_waehrung="EUR"/>
                            <stp_garage anzahl="1"/>
                            <user_defined_simplefield feldname="monatlichekostenbrutto">180</user_defined_simplefield>
                            <user_defined_simplefield feldname="grunderwerbssteuer">3.5</user_defined_simplefield>
                            <user_defined_simplefield feldname="grundbucheintragung">1.1</user_defined_simplefield>
                            <user_defined_anyfield>
                                <mwst_gesamt>30</mwst_gesamt>
                            </user_defined_anyfield>
                            <zusatzkosten>
                                <betriebskosten>
                                    <name>Betriebskosten</name>
                                    <netto>150</netto>
                                    <brutto>180</brutto>
                                    <ust>20</ust>
                                    <ust_wert>20</ust_wert>
                                    <ust_berechneter_wert>30</ust_berechneter_wert>
                                    <ust_typ>percent</ust_typ>
                                </betriebskosten>
                            </zusatzkosten>
                        </preise>
                        <flaechen>
                            <wohnflaeche>281</wohnflaeche>
                            <grundstuecksflaeche>400</grundstuecksflaeche>
                            <anzahl_zimmer>6</anzahl_zimmer>
                            <anzahl_badezimmer>1</anzahl_badezimmer>
                            <anzahl_sep_wc>2</anzahl_sep_wc>
                            <anzahl_terrassen>2</anzahl_terrassen>
                            <balkon_terrasse_flaeche>20</balkon_terrasse_flaeche>
                            <kellerflaeche>40</kellerflaeche>
                            <user_defined_simplefield feldname="anzahl_garagen">1</user_defined_simplefield>
                            <anzahl_balkon_terrassen>2</anzahl_balkon_terrassen>
                            <anzahl_keller>1</anzahl_keller>
                            <terrassen_flaeche>20</terrassen_flaeche>
                            <anzahl_garagen>1</anzahl_garagen>
                            <anzahl_abstellraum>1</anzahl_abstellraum>
                        </flaechen>
                        <ausstattung>
                            <bad BIDET="1" DUSCHE="1" FENSTER="1" WANNE="1"/>
                            <boden DIELEN="1" FLIESEN="1"/>
                            <heizungsart OFEN="1" ZENTRAL="1"/>
                            <befeuerung SOLAR="1"/>
                            <stellplatzart CARPORT="1"/>
                            <ausricht_balkon_terrasse NORD="1" SUED="1"/>
                            <kabel_sat_tv>1</kabel_sat_tv>
                        </ausstattung>
                        <zustand_angaben>
                            <alter alter_attr="NEUBAU">Neubau</alter>
                            <energiepass>
                                <epart>BEDARF</epart>
                                <gueltig_bis>2012-09-12</gueltig_bis>
                                <hwbwert>88</hwbwert>
                                <hwbklasse>C</hwbklasse>
                                <fgeewert>2.1</fgeewert>
                                <fgeeklasse>D</fgeeklasse>
                            </energiepass>
                            <user_defined_simplefield feldname="epass_hwbwert">88</user_defined_simplefield>
                            <user_defined_simplefield feldname="epass_hwbklasse">C</user_defined_simplefield>
                            <user_defined_simplefield feldname="epass_fgeewert">2.1</user_defined_simplefield>
                            <user_defined_simplefield feldname="epass_fgeeklasse">D</user_defined_simplefield>
                            <hwbwert>88</hwbwert>
                            <fgeewert>2.1</fgeewert>
                        </zustand_angaben>
                        <freitexte>
                            <objekttitel>DEMOOBJEKT! Hochwertige Familienvilla mit Flair</objekttitel>
                            <objektbeschreibung>&lt;p&gt;DEMOOBJEKT! Bitte nicht anfragen!&lt;/p&gt;&#13;
                                    &lt;p&gt;Breitenlee: Sonnige 3 Zimmer-Wohnung inmitten der Kornkammern Wiens&lt;br /&gt;&lt;br /&gt;Die
                                    helle freundliche 3 Zimmer-Wohnung mit Bad (Wanne), eigenem WC, Schrankraum, Wohnküche mit Speiss,
                                    französichen Fenstern in allen Räumen ist süd-westl. ausgerichtet. Im Mietpreis sind die Kosten für 1
                                    Garagenplatz enthalten.&lt;br /&gt;5 Minuten mit dem Auto nach Breitenlee, 10 Min. zum großen Donaustädter
                                    Einkaufspark und in 100 Metern mitten in den Feldern! Die Haltestelle des städt. Autobuses ist vor der Türe!&lt;/p&gt;</objektbeschreibung>
                            <ausstatt_beschr>Dielen, Fliesen, Solarenergie, Heizofen, Zentralheizung, Nordbalkon / -terrasse, Südbalkon / -terrasse, Bad mit Fenster, Badewanne, Dusche, Kabel / Satelliten-TV, Carport, Bidet</ausstatt_beschr>
                        </freitexte>
                        <anhaenge>
                            <anhang location="REMOTE" gruppe="TITELBILD">
                                <format>jpg</format>
                                <check ctype="DATETIME">2021-04-14T13:15:39</check>
                                <daten>
                                    <pfad>https://files.justimmo.at/public/pic/big/1jppd2IlbpuKyUkOjSCN4D.jpg</pfad>
                                    <big>https://files.justimmo.at/public/pic/big/1jppd2IlbpuKyUkOjSCN4D.jpg</big>
                                    <small>https://files.justimmo.at/public/pic/small/1jppd2IlbpuKyUkOjSCN4D.jpg</small>
                                    <medium>https://files.justimmo.at/public/pic/medium/1jppd2IlbpuKyUkOjSCN4D.jpg</medium>
                                    <big2>https://files.justimmo.at/public/pic/big2/1jppd2IlbpuKyUkOjSCN4D.jpg</big2>
                                    <s220x155>https://files.justimmo.at/public/pic/s220x155/1jppd2IlbpuKyUkOjSCN4D.jpg</s220x155>
                                    <fullhd>https://files.justimmo.at/public/pic/fullhd/1jppd2IlbpuKyUkOjSCN4D.jpg</fullhd>
                                </daten>
                                <original_dateiname>iStock_000016771165Medium.jpg</original_dateiname>
                            </anhang>
                            <anhang location="REMOTE">
                                <format>jpg</format>
                                <check ctype="DATETIME">2021-04-14T13:15:39</check>
                                <daten>
                                    <pfad>https://files.justimmo.at/public/pic/big/7hdJ3HN8x0C97fYcrFvXP5.jpg</pfad>
                                    <big>https://files.justimmo.at/public/pic/big/7hdJ3HN8x0C97fYcrFvXP5.jpg</big>
                                    <small>https://files.justimmo.at/public/pic/small/7hdJ3HN8x0C97fYcrFvXP5.jpg</small>
                                    <medium>https://files.justimmo.at/public/pic/medium/7hdJ3HN8x0C97fYcrFvXP5.jpg</medium>
                                    <big2>https://files.justimmo.at/public/pic/big2/7hdJ3HN8x0C97fYcrFvXP5.jpg</big2>
                                    <s220x155>https://files.justimmo.at/public/pic/s220x155/7hdJ3HN8x0C97fYcrFvXP5.jpg</s220x155>
                                    <fullhd>https://files.justimmo.at/public/pic/fullhd/7hdJ3HN8x0C97fYcrFvXP5.jpg</fullhd>
                                </daten>
                                <original_dateiname>iStock_000009866134Medium.jpg</original_dateiname>
                            </anhang>
                            <!-- ..... -->
                        </anhaenge>
                        <verwaltung_objekt>
                            <objektadresse_freigeben>1</objektadresse_freigeben>
                            <user_defined_simplefield feldname="ji_objektstatus">aktiv</user_defined_simplefield>
                            <user_defined_simplefield feldname="ji_objektstatus_id">5</user_defined_simplefield>
                            <user_defined_simplefield feldname="bauart_id">2</user_defined_simplefield>
                            <status>aktiv</status>
                            <status_id>5</status_id>
                            <user_defined_simplefield feldname="erstellt_am">2016-10-28 12:12:34</user_defined_simplefield>
                            <user_defined_simplefield feldname="aktualisiert_am">2024-12-19 12:35:34</user_defined_simplefield>
                        </verwaltung_objekt>
                        <verwaltung_techn>
                            <objektnr_intern>883394</objektnr_intern>
                            <objektnr_extern>1372/15</objektnr_extern>
                            <aktion aktionart="CHANGE"/>
                            <openimmo_obid>OBGC201610251212340665d9tei9at2</openimmo_obid>
                            <stand_vom>2024-12-19</stand_vom>
                            <sprache>de-DE</sprache>
                            <user_defined_simplefield feldname="ji_anzeige_in_suchergebnis">1</user_defined_simplefield>
                            <user_defined_simplefield feldname="ji_kundennummer">1372</user_defined_simplefield>
                            <user_defined_simplefield feldname="ji_stand_vom">2024-12-19 12:35:34</user_defined_simplefield>
                            <user_defined_simplefield feldname="realty_system_type">simple</user_defined_simplefield>
                            <user_defined_simplefield feldname="parent_id"/>
                        </verwaltung_techn>
                        <dokumente/>
                        <videos>
                            <video>
                                <id>player_video_60556033</id>
                                <vorschaubild>https://storage.justimmo.at/thumb/5c941a40e9bd2a2038bb39b706ebe7e2/fc_h320_w640/3NGmQ4Ahze04cJdXIOs5Kc.jpg</vorschaubild>
                                <pfad>https://storage.justimmo.at/video/1080p/3NGmQ4Ahze04cJdXIOs5Kc.mp4</pfad>
                            </video>
                        </videos>
                        <bilder360/>
                        <links/>
                    </immobilie>
                </justimmo>
  /objekt/expose:
    get:
      summary: Expose
      description: Returns the content of the expose pdf as a stream
      operationId: realty-expose
      tags:
        - realty
      parameters:
        - name: objekt_id
          in: query
          description: The id of the realty
          schema:
            type: integer
            example: 10
          required: true
        - name: expose
          in: query
          description: |-
            The type of the expose.  
            see [Reference: Expose Types](#tag/reference_expose_types)
          schema:
            type: string
            example: DefaultNew
            default: Default
        - name: culture
          in: query
          description: Language
          schema:
            type: string
            default: de
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                type: string
                format: binary
  /objekt/anfrage:
    get:
      summary: Inquiry
      description: >-
        Create an inquiry. Justimmo will automatically create a contact and
        assign the inquiry to the employee of the realty.
      operationId: realty-inquiry
      tags:
        - realty
      parameters:
        - name: objekt_id
          in: query
          description: The id of the realty
          schema:
            type: integer
            example: 10
          required: false
        - name: anrede_id
          in: query
          description: |-
            salutation of contact  
            see [Reference: Salutation](#tag/reference_salutations)
          schema:
            type: integer
            example: 1
            enum:
              - 1
              - 2
          required: false
        - name: titel
          in: query
          description: Title of contact
          schema:
            type: string
            example: Dr.
          required: false
        - name: vorname
          in: query
          description: First name of contact
          schema:
            type: string
            example: John
          required: true
        - name: nachname
          in: query
          description: Last name of contact
          schema:
            type: string
            example: Doe
          required: true
        - name: suffix
          in: query
          description: Name suffix of contact
          schema:
            type: string
            example: MSc
          required: false
        - name: email
          in: query
          description: Email address of contact
          schema:
            type: string
            format: email
            example: john.doe@example.com
          required: false
        - name: tel
          in: query
          description: Phone number of contact
          schema:
            type: string
            example: '+4312345678'
          required: false
        - name: message
          in: query
          description: Message of the inquiry
          schema:
            type: string
            example: I'm interested in this property.
          required: true
        - name: strasse
          in: query
          description: Street of contact
          schema:
            type: string
            example: Main Street 123
          required: false
        - name: plz
          in: query
          description: Zip code of contact
          schema:
            type: string
            example: '10115'
          required: false
        - name: ort
          in: query
          description: City of contact
          schema:
            type: string
            example: Wien
          required: false
        - name: land
          in: query
          description: |-
            Id of the country of contact  
            see [Call: Countries](#tag/basic_data/operation/realty-countries)
          schema:
            type: integer
            example: 17
          required: false
        - name: kategorie
          in: query
          description: >-
            Name of a single marketing category the contact should be assigned
            to. Matched by name against the tenant's marketing-usable
            categories; a non-matching value is ignored.
          schema:
            type: string
            example: Website-Anfrage
          required: false
        - name: firma
          in: query
          description: Company of the contact
          schema:
            type: string
            example: Example Company GmbH
          required: false
        - name: newsletter
          in: query
          description: >-
            An array of newsletter category ids to be assigned to the contact
            created by this request.
          schema:
            type: array
            items:
              type: integer
            example:
              - 1
              - 3
          required: false
          explode: true
        - name: doubleoptin_completed
          in: query
          description: >-
            Whether double opt-in has already been completed externally or not.
            If not Justimmo will handle double opt-in and send an email to the
            contact automatically
          schema:
            type: integer
            enum:
              - 0
              - 1
            example: 0
          required: false
        - name: is_realty_owner
          in: query
          description: >-
            Whether the inquiry comes from a realty owner. If 1, the contact is
            assigned to the contact category "Owner".
          schema:
            type: integer
            enum:
              - 0
              - 1
            example: 0
          required: false
        - name: realty_owner_consultation_request
          in: query
          description: >-
            Whether the inquiry comes from a realty owner who wants a
            consultation from an agent. If 1, the agent will receive an email
            about this request for a personal consultation.
          schema:
            type: integer
            enum:
              - 0
              - 1
            example: 0
          required: false
        - name: funding_inquiry
          in: query
          description: >-
            Whether the inquiry comes with a funding request. If 1, the agent or
            the selected 3rd party will receive an email about this request for
            a personal consultation. Additional paid service that can be
            activated in Justimmo.
          schema:
            type: integer
            enum:
              - 0
              - 1
            example: 0
          required: false
      responses:
        '200':
          description: Success
  /objekt/ids:
    get:
      summary: Ids
      description: >-
        Returns ids of matching realties as JSON without limit and offset
        limitations.
      operationId: realty-ids
      tags:
        - realty
      parameters:
        - name: orderby
          in: query
          description: Order results by specific field.
          required: false
          schema:
            type: string
            enum:
              - created_at
              - objektnummer
              - plz
              - preis
              - published_at
              - updated_at
        - name: ordertype
          in: query
          description: >-
            Order direction. Matched case-insensitively, so DESC and desc are
            equivalent.
          required: false
          schema:
            type: string
            default: asc
            x-justimmo-case-insensitive: true
            enum:
              - asc
              - desc
        - name: alleProjektObjekte
          in: query
          description: Show all real-estates with projects regardless of realty state
          required: false
          schema:
            type: integer
            default: 0
            enum:
              - 0
              - 1
        - name: preciseAreaSearch
          in: query
          description: >-
            Search commercial real-estates by usable area of the sub
            real-estates
          required: false
          schema:
            type: integer
            default: 0
            enum:
              - 0
              - 1
        - name: filter[preis_von]
          in: query
          description: |-
            The min price. Depending on type it is the rent or purchase price.  
            see [Example](#tag/examples_filter/By-price)
          required: false
          schema:
            type: number
        - name: filter[preis_bis]
          in: query
          description: The max price. Depending on type it is the rent or purchase price.
          required: false
          schema:
            type: number
        - name: filter[price_per_m2_von]
          in: query
          description: >-
            The min price per square meter. Depending on type it is the rent or
            purchase price.
          required: false
          schema:
            type: number
        - name: filter[price_per_m2_bis]
          in: query
          description: >-
            The max price per square meter. Depending on type it is the rent or
            purchase price.
          required: false
          schema:
            type: number
        - name: filter[objektart_id]
          in: query
          description: >-
            The main realty type. Multiple values are supported by using an
            array notation.  

            see [Reference: Realty Types](#tag/reference_realty_types) and
            [Example](#tag/examples_filter/By-realty-type-ID)
          required: false
          schema:
            oneOf:
              - type: integer
              - type: array
                items:
                  type: integer
        - name: filter[subobjektart_id]
          in: query
          description: >-
            The sub realty type. Multiple values are supported by using an array
            notation.  

            see [Reference: Realty Types](#tag/reference_realty_types) and
            [Example](#tag/examples_filter/By-sub-realty-type-ID)
          required: false
          schema:
            oneOf:
              - type: integer
              - type: array
                items:
                  type: integer
        - name: filter[tag_name]
          in: query
          description: >-
            The name of the category assigned to real-estates. Multiple values
            are supported by using an array notation and are combined with OR.  

            see [Example](#tag/examples_filter/By-realty-category)
          required: false
          schema:
            oneOf:
              - type: string
              - type: array
                items:
                  type: string
        - name: filter[plz]
          in: query
          description: >-
            The zip code. Multiple values are supported by using an array
            notation.  

            see [Example](#tag/examples_filter/By-ZIP-code)
          required: false
          schema:
            oneOf:
              - type: string
              - type: array
                items:
                  type: string
        - name: filter[plz_von]
          in: query
          description: The min zip code. Does not work for non-numerical zip codes.
          required: false
          schema:
            type: string
        - name: filter[plz_bis]
          in: query
          description: The max zip code. Does not work for non-numerical zip codes.
          required: false
          schema:
            type: string
        - name: filter[zimmer_von]
          in: query
          description: |-
            The min room count.  
            see [Example](#tag/examples_filter/By-room-number)
          required: false
          schema:
            type: number
        - name: filter[zimmer_bis]
          in: query
          description: The max room count.
          required: false
          schema:
            type: number
        - name: filter[objektnummer]
          in: query
          description: |-
            The realty number.  
            see [Example](#tag/examples_filter/By-property-number)
          required: false
          schema:
            type: string
        - name: filter[objektnummer_von]
          in: query
          description: The min realty number.
          required: false
          schema:
            type: string
        - name: filter[objektnummer_bis]
          in: query
          description: The max realty number.
          required: false
          schema:
            type: string
        - name: filter[sort_flaeche_von]
          in: query
          description: >-
            The min area in square meters. It refers to the area fields in this
            order - living area, floor area, surface area and total area.  

            see [Example](#tag/examples_filter/By-area)
          required: false
          schema:
            type: number
        - name: filter[sort_flaeche_bis]
          in: query
          description: >-
            The max area in square meters. It refers to the area fields in this
            order - living area, floor area, surface area and total area.
          required: false
          schema:
            type: number
        - name: filter[flaeche_von]
          in: query
          description: The min area in square meters.
          required: false
          schema:
            type: number
        - name: filter[flaeche_bis]
          in: query
          description: The max area in square meters.
          required: false
          schema:
            type: number
        - name: filter[wohnflaeche_von]
          in: query
          description: The min living area in square meters.
          required: false
          schema:
            type: number
        - name: filter[wohnflaeche_bis]
          in: query
          description: The max living area in square meters.
          required: false
          schema:
            type: number
        - name: filter[nutzflaeche_von]
          in: query
          description: The min floor area in square meters.
          required: false
          schema:
            type: number
        - name: filter[nutzflaeche_bis]
          in: query
          description: The max floor area in square meters.
          required: false
          schema:
            type: number
        - name: filter[grundflaeche_von]
          in: query
          description: The min surface area in square meters.
          required: false
          schema:
            type: number
        - name: filter[grundflaeche_bis]
          in: query
          description: The max surface area in square meters.
          required: false
          schema:
            type: number
        - name: filter[anzahl_garten_von]
          in: query
          description: The min number of the gardens.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_garten_bis]
          in: query
          description: The max number of the gardens.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_balkons_von]
          in: query
          description: |-
            The min number of the balconies.  
            see [Example](#tag/examples_filter/By-balcony-number)
          required: false
          schema:
            type: integer
        - name: filter[anzahl_balkons_bis]
          in: query
          description: The max number of the balconies.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_loggias_von]
          in: query
          description: The min number of the loggias.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_loggias_bis]
          in: query
          description: The max number of the loggias.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_terrassen_von]
          in: query
          description: The min number of the terraces.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_terrassen_bis]
          in: query
          description: The max number of the terraces.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_keller_von]
          in: query
          description: |-
            The min number of the cellars.  
            see [Example](#tag/examples_filter/By-cellar-number)
          required: false
          schema:
            type: integer
        - name: filter[anzahl_keller_bis]
          in: query
          description: The max number of the cellars.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_garagen_von]
          in: query
          description: The min number of the garages.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_garagen_bis]
          in: query
          description: The max number of the garages.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_stellplaetze_von]
          in: query
          description: The min number of the parking spots.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_stellplaetze_bis]
          in: query
          description: The max number of the parking spots.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_sep_wc_von]
          in: query
          description: The min number of the toilet rooms.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_sep_wc_bis]
          in: query
          description: The max number of the toilet rooms.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_badezimmer_von]
          in: query
          description: |-
            The min number of the bathrooms.  
            see [Example](#tag/examples_filter/By-bathroom-number)
          required: false
          schema:
            type: integer
        - name: filter[anzahl_badezimmer_bis]
          in: query
          description: The max number of the bathrooms.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_abstellraum_von]
          in: query
          description: The min number of the storage rooms.
          required: false
          schema:
            type: integer
        - name: filter[anzahl_abstellraum_bis]
          in: query
          description: The max number of the storage rooms.
          required: false
          schema:
            type: integer
        - name: filter[zustand_id]
          in: query
          description: >-
            Filter by condition. The id of the conditions.  

            see [Reference: Conditions](#tag/reference_realty_conditions) and
            [Example](#tag/examples_filter/By-condition)
          required: false
          schema:
            type: integer
        - name: filter[objekt_ausstattung_list]
          in: query
          description: >-
            Filter by equipments. The id of the features. The array notation is
            required, also for a single value.  

            see [Reference: Features](#tag/reference_realty_features) and
            [Example](#tag/examples_filter/By-equipment)
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: filter[barrierefrei]
          in: query
          description: |-
            filter by disability access  
            see [Example](#tag/examples_filter/By-disability-access)
          required: false
          schema:
            type: integer
            enum:
              - 0
              - 1
        - name: filter[stichwort]
          in: query
          description: >-
            Keyword. Must be present in realty title, ZIP, city, street, object
            number or internal description.
          required: false
          schema:
            type: string
        - name: filter[land_id]
          in: query
          description: >-
            The id of the country. Multiple values are supported by using an
            array notation.  

            see [Call: Country](#tag/basic_data/operation/realty-countries)
          required: false
          schema:
            oneOf:
              - type: integer
              - type: array
                items:
                  type: integer
        - name: filter[bundesland_id]
          in: query
          description: >-
            The id of the federal state. Multiple values are supported by using
            an array notation.

            see [Call: Federal
            States](#tag/basic_data/operation/realty-federal-states)
          required: false
          schema:
            oneOf:
              - type: integer
              - type: array
                items:
                  type: integer
        - name: filter[politischer_bezirk_id]
          in: query
          description: >-
            The id of the political district. Only a single value is supported.

            see [Call: Political
            Districts](#tag/basic_data/operation/realty-political-districts)
          required: false
          schema:
            type: integer
        - name: filter[objekt_status_id]
          in: query
          description: >-
            The realty status. Multiple values are supported by using an array
            notation.  

            see [Reference: Realty Status](#tag/reference_realty_status) and
            [Example](#tag/examples_filter/By-status-ID)
          required: false
          schema:
            oneOf:
              - type: integer
              - type: array
                items:
                  type: integer
        - name: filter[miete]
          in: query
          description: |-
            Set value to 1 to search for realties available for rent.  
            see [Example](#tag/examples_filter/By-marketing-type)
          required: false
          schema:
            type: integer
            enum:
              - 0
              - 1
        - name: filter[kauf]
          in: query
          description: Set value to 1 to search for realties available for purchase.
          required: false
          schema:
            type: integer
            enum:
              - 0
              - 1
        - name: filter[bauart_id]
          in: query
          description: >-
            Filter by old or new buildings.  

            see [Reference: Styles of
            Buildings](#tag/reference_realty_style_of_buildings) and
            [Example](#tag/examples_filter/By-style-of-building)
          required: false
          schema:
            type: integer
            enum:
              - 1
              - 2
        - name: filter[owner_id]
          in: query
          description: |-
            Id of the employee responsible for the realty.  
            see [Call: Team List](#tag/team/operation/team-list)
          required: false
          schema:
            type: integer
        - name: filter[projekt_id]
          in: query
          description: |-
            Id of the project the realty belongs to.  
            see [Call: Project List](#tag/project/operation/project-list)
          required: false
          schema:
            type: integer
        - name: filter[realty_type]
          in: query
          description: >-
            Name of the realty system type the realty belongs to.  

            see [Reference: Realty System
            Types](#tag/reference_realty_system_types) and
            [Example](#tag/examples_filter/By-realty-system-type)
          required: false
          schema:
            type: string
        - name: filter[parent_id]
          in: query
          description: Id of the parent realty.
          required: false
          schema:
            type: integer
        - name: filter[aktualisiert_am_von]
          in: query
          description: |-
            Updated at from date.  
            see [Example](#tag/examples_filter/By-last-updated-time)
          required: false
          schema:
            type: string
            format: date-time
        - name: filter[aktualisiert_am_bis]
          in: query
          description: Updated at to date.
          required: false
          schema:
            type: string
            format: date-time
        - name: filter[rent_with_purchase_option]
          in: query
          description: Filter for rent realties which have the option enabled.
          required: false
          schema:
            type: integer
            enum:
              - 0
              - 1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: integer
              example:
                - '361672'
                - '361673'
                - '361677'
  /team/list:
    get:
      summary: List
      description: >-
        Returns all categories with employees with an active "Show on Homepage"
        flag in Justimmo
      operationId: team-list
      tags:
        - team
      responses:
        '200':
          description: Success
          content:
            application/xml:
              schema:
                type: object
              example: |-
                <?xml version="1.0" encoding="UTF-8"?>
                <justimmo>
                  <kategorie name="Geschäftsführung">
                    <mitarbeiter>
                      <id>264110</id>
                      <bild>
                        <pfad>https://files.justimmo.at/public/pic/user_small/APRil3QC47.jpg</pfad>
                        <pfad_medium>https://files.justimmo.at/public/pic/user_medium/APRil3QC47.jpg</pfad_medium>
                      </bild>
                      <vorname>Aurel</vorname>
                      <nachname>Stehmann</nachname>
                      <position>Geschäftsführung</position>
                      <email>a.stehmann@justimmo.at</email>
                    </mitarbeiter>
                  </kategorie>
                </justimmo>
  /team/detail:
    get:
      summary: Detail
      description: >-
        Executes a search and returns basic information of matching
        real-estates.
      operationId: team-detail
      tags:
        - team
      parameters:
        - name: id
          in: query
          description: The id of the employee
          schema:
            type: integer
            example: 264110
          required: true
      responses:
        '200':
          description: Success
          content:
            application/xml:
              schema:
                type: object
              example: |-
                <?xml version="1.0" encoding="UTF-8"?>
                <justimmo>
                    <id>264110</id>
                    <bild>
                        <pfad>https://files.justimmo.at/public/pic/user_small/APRil3QC47.jpg</pfad>
                        <pfad_medium>https://files.justimmo.at/public/pic/user_medium/APRil3QC47.jpg</pfad_medium>
                    </bild>
                    <vorname>Aurel</vorname>
                    <nachname>Stehmann</nachname>
                    <position>Geschäftsführung</position>
                    <email>a.stehmann@justimmo.at</email>
                </justimmo>
  /team/ids:
    get:
      summary: Ids
      description: >-
        Returns ids of matching employees as JSON without limit and offset
        limitations.
      operationId: team-ids
      tags:
        - team
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: integer
              example:
                - '123'
                - '125'
                - '159'
  /projekt/list:
    parameters:
      - name: limit
        in: query
        description: >-
          How many elements should be returned in the list. <strong>Max
          100</strong>.
        schema:
          type: integer
          default: 25
        required: false
        allowEmptyValue: true
      - name: offset
        in: query
        description: Offset of the first element in the list.
        required: false
        schema:
          type: integer
          default: 0
      - name: culture
        in: query
        description: Language for i18n fields.
        required: false
        schema:
          type: string
          default: de
      - name: picturesize
        in: query
        description: >-
          The picture size to be used for picture urls. In combination with
          showDetails=1 it is also possible to request multiple sizes (e.g.
          `picturesize[]=big&picturesize[]=small`)
        required: false
        schema:
          oneOf:
            - $ref: '#/components/schemas/QueryParameterPictureSize'
            - type: array
              items:
                $ref: '#/components/schemas/QueryParameterPictureSize'
      - name: showDetails
        in: query
        description: Return all details of the real-estates instead of short summaries
        required: false
        schema:
          type: integer
          default: 0
          enum:
            - 0
            - 1
      - name: objektIds
        in: query
        description: >-
          When set to 1, return only the IDs of each project's real-estates (as
          `<immobilien_ids>`) instead of full `<immobilien>` entries.
        required: false
        schema:
          type: integer
          default: 0
          enum:
            - 0
            - 1
    get:
      summary: List/Search
      description: >-
        Executes a search and returns basic information of matching projects. A
        project must be active, have the "Show on Homepage" flag set, and have
        at least one active realty booked into the API feed.


        **Filter scope** — filter parameters come in two kinds:


        - <span class="text-realty">Realty</span> filters (the default) match
        the project's realties; a project is returned when it has *at least one*
        realty matching the criteria.

        - <span class="text-project">Project</span> filters match the project
        itself.


        Watch the look-alike pairs that live on different scopes:
        `projekt_objektnummer` (project) vs `objektnummer` (realty);
        `projekt_status` (project) vs `objekt_status_id` (realty);
        `project_tag_name` (project) vs `tag_name` (realty).


        When `alle=1`, realty filtering is skipped entirely — all <span
        class="text-realty">Realty</span> filters are ignored and only <span
        class="text-project">Project</span> filters apply.
      operationId: project-list
      tags:
        - project
      parameters:
        - name: orderby
          in: query
          description: >-
            Order results by specific field. Applied to project, not to
            real-estates of project.
          required: false
          schema:
            type: string
            enum:
              - created_at
              - updated_at
        - name: ordertype
          in: query
          description: >-
            Order direction. Matched case-insensitively, so DESC and desc are
            equivalent.
          required: false
          schema:
            type: string
            default: asc
            x-justimmo-case-insensitive: true
            enum:
              - asc
              - desc
        - name: alle
          in: query
          description: >-
            Show all projects regardless if active real-estates are present in
            project. When set to `1`, realty filtering is skipped entirely and
            all realty filters are ignored.
          required: false
          schema:
            type: integer
            default: 0
            enum:
              - 0
              - 1
        - name: alleProjektObjekte
          in: query
          description: >-
            Include all real-estates belonging to the project, regardless of
            their object status.
          required: false
          schema:
            type: integer
            default: 0
            enum:
              - 0
              - 1
        - name: filter[projekt_objektnummer]
          in: query
          description: >-
            <span class="text-project">Project</span> The realty number of the
            project.
          required: false
          schema:
            type: string
        - name: filter[projekt_status]
          in: query
          description: >-
            <span class="text-project">Project</span> The project state. Must be
            one of planning, building, finished. Multiple values are supported
            by using an array notation.
          required: false
          schema:
            oneOf:
              - type: string
                enum:
                  - planning
                  - building
                  - finished
              - type: array
                items:
                  type: string
                  enum:
                    - planning
                    - building
                    - finished
        - name: filter[referenz]
          in: query
          description: >-
            <span class="text-project">Project</span> Set value to 1 to search
            only for reference projects
          required: false
          schema:
            type: integer
            enum:
              - 0
              - 1
        - name: filter[project_tag_name]
          in: query
          description: >-
            <span class="text-project">Project</span> The name of the category
            assigned to the project. Multiple values are supported by using an
            array notation and are combined with OR
          required: false
          schema:
            oneOf:
              - type: string
              - type: array
                items:
                  type: string
        - name: filter[fertigstellung_von]
          in: query
          description: <span class="text-project">Project</span> Completion date from.
          required: false
          schema:
            type: string
            format: date
        - name: filter[fertigstellung_bis]
          in: query
          description: <span class="text-project">Project</span> Completion date to.
          required: false
          schema:
            type: string
            format: date
        - name: filter[verkaufsstart_von]
          in: query
          description: <span class="text-project">Project</span> Sale start from date.
          required: false
          schema:
            type: string
            format: date
        - name: filter[verkaufsstart_bis]
          in: query
          description: <span class="text-project">Project</span> Sale start to date.
          required: false
          schema:
            type: string
            format: date
        - name: filter[miete]
          in: query
          description: >-
            <span class="text-realty">Realty</span> Set value to 1 to search for
            real-estates available for rent.
          required: false
          schema:
            type: integer
            enum:
              - 0
              - 1
        - name: filter[kauf]
          in: query
          description: >-
            <span class="text-realty">Realty</span> Set value to 1 to search for
            real-estates available for purchase.
          required: false
          schema:
            type: integer
            enum:
              - 0
              - 1
        - name: filter[objektnummer]
          in: query
          description: <span class="text-realty">Realty</span> The realty number.
          required: false
          schema:
            type: string
        - name: filter[objektnummer_von]
          in: query
          description: <span class="text-realty">Realty</span> The min realty number.
          required: false
          schema:
            type: string
        - name: filter[objektnummer_bis]
          in: query
          description: <span class="text-realty">Realty</span> The max realty number.
          required: false
          schema:
            type: string
        - name: filter[objekt_status_id]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The realty status. Multiple
            values are supported by using an array notation.  

            see [Reference: Realty Status](#tag/reference_realty_status)
          required: false
          schema:
            oneOf:
              - type: integer
              - type: array
                items:
                  type: integer
        - name: filter[owner_id]
          in: query
          description: >-
            <span class="text-realty">Realty</span> Id of the employee
            responsible for the realty.  

            see [Call: Team List](#tag/team/operation/team-list)
          required: false
          schema:
            type: integer
        - name: filter[objektart_id]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The main realty type.
            Multiple values are supported by using an array notation.  

            see [Reference: Realty Types](#tag/reference_realty_types)
          required: false
          schema:
            oneOf:
              - type: integer
              - type: array
                items:
                  type: integer
        - name: filter[subobjektart_id]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The sub realty type.
            Multiple values are supported by using an array notation.  

            see [Reference: Realty Types](#tag/reference_realty_types)
          required: false
          schema:
            oneOf:
              - type: integer
              - type: array
                items:
                  type: integer
        - name: filter[bundesland_id]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The id of the federal state.
            Multiple values are supported by using an array notation.  

            see [Call: Federal
            States](#tag/basic_data/operation/realty-federal-states)
          required: false
          schema:
            oneOf:
              - type: integer
              - type: array
                items:
                  type: integer
        - name: filter[plz]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The zip code. Multiple
            values are supported by using an array notation
          required: false
          schema:
            oneOf:
              - type: string
              - type: array
                items:
                  type: string
        - name: filter[plz_von]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The min zip code. Does not
            work for non-numerical zip codes.
          required: false
          schema:
            type: string
        - name: filter[plz_bis]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The max zip code. Does not
            work for non-numerical zip codes.
          required: false
          schema:
            type: string
        - name: filter[preis_von]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The min price. Depending on
            type it is the rent or purchase price.
          required: false
          schema:
            type: number
        - name: filter[preis_bis]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The max price. Depending on
            type it is the rent or purchase price.
          required: false
          schema:
            type: number
        - name: filter[flaeche_von]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The min area in square
            meters.
          required: false
          schema:
            type: number
        - name: filter[flaeche_bis]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The max area in square
            meters.
          required: false
          schema:
            type: number
        - name: filter[wohnflaeche_von]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The min living area in
            square meters.
          required: false
          schema:
            type: number
        - name: filter[wohnflaeche_bis]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The max living area in
            square meters.
          required: false
          schema:
            type: number
        - name: filter[nutzflaeche_von]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The min floor area in square
            meters.
          required: false
          schema:
            type: number
        - name: filter[nutzflaeche_bis]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The max floor area in square
            meters.
          required: false
          schema:
            type: number
        - name: filter[grundflaeche_von]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The min surface area in
            square meters.
          required: false
          schema:
            type: number
        - name: filter[grundflaeche_bis]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The max surface area in
            square meters.
          required: false
          schema:
            type: number
        - name: filter[zimmer_von]
          in: query
          description: <span class="text-realty">Realty</span> The min room count.
          required: false
          schema:
            type: number
        - name: filter[zimmer_bis]
          in: query
          description: <span class="text-realty">Realty</span> The max room count.
          required: false
          schema:
            type: number
        - name: filter[stichwort]
          in: query
          description: >-
            <span class="text-realty">Realty</span> Keyword. Must be present in
            realty title, ZIP, city, street, object number or internal
            description.
          required: false
          schema:
            type: string
        - name: filter[tag_name]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The name of the category
            assigned to real-estates. Multiple values are supported by using an
            array notation and are combined with OR
          required: false
          schema:
            oneOf:
              - type: string
              - type: array
                items:
                  type: string
      responses:
        '200':
          description: >-
            Success.


            When `objektIds=1`, each project's `<immobilien>` block is replaced
            by an `<immobilien_ids>`

            element that lists its real-estates as `<id>` entries; all other
            fields are unchanged. The

            example below shows the default (`objektIds=0`) full-`<immobilien>`
            response.
          content:
            application/xml:
              schema:
                type: object
              example: |-
                <?xml version="1.0" encoding="UTF-8"?>
                <justimmo>
                    <query-result>
                        <count>2</count>
                    </query-result>
                    <projekt>
                        <id>46</id>
                        <titel>Demoprojekt in Zentrumsnähe</titel>
                        <beschreibung>Demoprojekt. Bitte nicht anfragen</beschreibung>
                        <dreizeiler></dreizeiler>
                        <strasse></strasse>
                        <hausnummer>2</hausnummer>
                        <plz>1030</plz>
                        <ort>Wien</ort>
                        <in_bau>1</in_bau>
                        <sonstige_angaben></sonstige_angaben>
                        <lage></lage>
                        <freitext_1></freitext_1>
                        <residential_aggregation_data>
                            <area_from>200</area_from>
                            <area_to>400</area_to>
                            <price_from>120000</price_from>
                            <price_to>180000</price_to>
                            <rooms_from>2</rooms_from>
                            <rooms_to>4</rooms_to>
                            <available>3</available>
                        </residential_aggregation_data>
                        <immobilien>
                            <immobilie>
                                <id>700169</id>
                                <objektnummer></objektnummer>
                                <objektkategorie>
                                    <nutzungsart WOHNEN="1" GEWERBE="0" ANLAGE="0"/>
                                    <vermarktungsart KAUF="0" MIETE_PACHT="1"/>
                                    <objektart>
                                        <wohnung/>
                                    </objektart>
                                    <user_defined_simplefield feldname="objektart_id">2</user_defined_simplefield>
                                    <user_defined_simplefield feldname="objektart_name">Wohnung</user_defined_simplefield>
                                    <user_defined_anyfield>
                                        <ji_kategorie id="4743">Wienerwald</ji_kategorie>
                                    </user_defined_anyfield>
                                </objektkategorie>
                                <titel>DEMOOBJEKT! Luxus Wienblick-Dachgeschosswohnung mit Wintergarten, offenen Kamin, Sauna und
                                    Weinkeller
                                </titel>
                                <dreizeiler></dreizeiler>
                                <naehe></naehe>
                                <objektbeschreibung>DEMOOBJEKT! Bitte nicht anfragen!</objektbeschreibung>
                                <anzahl_zimmer>5</anzahl_zimmer>
                                <etage>EG</etage>
                                <ort>Wien</ort>
                                <plz>1030</plz>
                                <preis>0</preis>
                                <gesamtmiete/>
                                <wohnflaeche>269</wohnflaeche>
                                <nutzflaeche>269</nutzflaeche>
                                <anzahl_terrassen>2</anzahl_terrassen>
                                <erstes_bild>https://files.justimmo.at/public/pic/medium/AdlOCzRy51.jpg</erstes_bild>
                                <zweites_bild>https://files.justimmo.at/public/pic/medium/AdlOGYKVg_.jpg</zweites_bild>
                                <projekt_id>46</projekt_id>
                                <status>aktiv</status>
                                <status_id>5</status_id>
                                <erstellt_am>2016-04-12 14:47:46</erstellt_am>
                                <aktualisiert_am>2016-04-19 11:18:59</aktualisiert_am>
                            </immobilie>
                            <immobilie>
                                <id>634476</id>
                                <objektnummer>894949</objektnummer>
                                <objektkategorie>
                                    <nutzungsart WOHNEN="1" GEWERBE="0" ANLAGE="0"/>
                                    <vermarktungsart KAUF="0" MIETE_PACHT="1"/>
                                    <objektart>
                                        <wohnung/>
                                    </objektart>
                                    <user_defined_simplefield feldname="objektart_id">2</user_defined_simplefield>
                                    <user_defined_simplefield feldname="objektart_name">Wohnung</user_defined_simplefield>
                                    <user_defined_anyfield>
                                        <ji_kategorie id="4743">Wienerwald</ji_kategorie>
                                    </user_defined_anyfield>
                                </objektkategorie>
                                <titel>DEMOOBJEKT! Luxus Wienblick-Dachgeschosswohnung mit Wintergarten, offenen Kamin, Sauna und
                                    Weinkeller
                                </titel>
                                <dreizeiler></dreizeiler>
                                <naehe></naehe>
                                <objektbeschreibung>DEMOOBJEKT! Bitte nicht anfragen!</objektbeschreibung>
                                <anzahl_zimmer>5</anzahl_zimmer>
                                <etage>EG</etage>
                                <ort>Wien</ort>
                                <plz>1030</plz>
                                <preis>0</preis>
                                <gesamtmiete/>
                                <wohnflaeche>269</wohnflaeche>
                                <nutzflaeche>269</nutzflaeche>
                                <anzahl_terrassen>2</anzahl_terrassen>
                                <erstes_bild>https://files.justimmo.at/public/pic/medium/AdlOCzRy51.jpg</erstes_bild>
                                <zweites_bild>https://files.justimmo.at/public/pic/medium/AdlOGYKVg_.jpg</zweites_bild>
                                <projekt_id>46</projekt_id>
                                <status>aktiv</status>
                                <status_id>5</status_id>
                                <erstellt_am>2016-02-08 14:55:02</erstellt_am>
                                <aktualisiert_am>2016-04-19 11:18:59</aktualisiert_am>
                            </immobilie>
                            <immobilie>
                                <id>620582</id>
                                <objektnummer>1000003</objektnummer>
                                <objektkategorie>
                                    <nutzungsart WOHNEN="1" GEWERBE="0" ANLAGE="0"/>
                                    <vermarktungsart KAUF="0" MIETE_PACHT="1"/>
                                    <objektart>
                                        <wohnung/>
                                    </objektart>
                                    <user_defined_simplefield feldname="objektart_id">2</user_defined_simplefield>
                                    <user_defined_simplefield feldname="objektart_name">Wohnung</user_defined_simplefield>
                                    <user_defined_anyfield>
                                        <ji_kategorie id="4743">Wienerwald</ji_kategorie>
                                    </user_defined_anyfield>
                                </objektkategorie>
                                <titel>DEMOOBJEKT! Luxus Wienblick-Dachgeschosswohnung mit Wintergarten, offenen Kamin, Sauna und
                                    Weinkeller
                                </titel>
                                <dreizeiler></dreizeiler>
                                <naehe></naehe>
                                <objektbeschreibung>DEMOOBJEKT! Bitte nicht anfragen!</objektbeschreibung>
                                <anzahl_zimmer>5</anzahl_zimmer>
                                <etage>EG</etage>
                                <ort>Wien</ort>
                                <plz>1030</plz>
                                <preis>0</preis>
                                <gesamtmiete/>
                                <wohnflaeche>269</wohnflaeche>
                                <nutzflaeche>269</nutzflaeche>
                                <anzahl_terrassen>2</anzahl_terrassen>
                                <erstes_bild>https://files.justimmo.at/public/pic/medium/AdlOCzRy51.jpg</erstes_bild>
                                <zweites_bild>https://files.justimmo.at/public/pic/medium/AdlOGYKVg_.jpg</zweites_bild>
                                <projekt_id>46</projekt_id>
                                <status>aktiv</status>
                                <status_id>5</status_id>
                                <erstellt_am>2016-01-15 11:08:56</erstellt_am>
                                <aktualisiert_am>2016-04-19 11:18:59</aktualisiert_am>
                            </immobilie>
                            <immobilie>
                                <id>560649</id>
                                <objektnummer>234235</objektnummer>
                                <objektkategorie>
                                    <nutzungsart WOHNEN="1" GEWERBE="0" ANLAGE="0"/>
                                    <vermarktungsart KAUF="1" MIETE_PACHT="0"/>
                                    <objektart>
                                        <wohnung/>
                                    </objektart>
                                    <user_defined_simplefield feldname="objektart_id">2</user_defined_simplefield>
                                    <user_defined_simplefield feldname="objektart_name">Wohnung</user_defined_simplefield>
                                    <user_defined_simplefield feldname="sub_objektart_id">45</user_defined_simplefield>
                                    <user_defined_simplefield feldname="sub_objektart_name">Wohnung</user_defined_simplefield>
                                    <user_defined_anyfield>
                                        <ji_kategorie id="4743">Wienerwald</ji_kategorie>
                                    </user_defined_anyfield>
                                </objektkategorie>
                                <titel>DEMOOBJEKT! Elegantes Büro neben Bristol und Oper</titel>
                                <dreizeiler></dreizeiler>
                                <naehe></naehe>
                                <objektbeschreibung>DEMOOBJEKT! Bitte nicht anfragen</objektbeschreibung>
                                <etage>2. KG</etage>
                                <hausnummer>2</hausnummer>
                                <strasse>Seidlgasse</strasse>
                                <ort>Wien</ort>
                                <plz>1030</plz>
                                <preis>214200</preis>
                                <kaufpreis>214200</kaufpreis>
                                <nutzflaeche>15</nutzflaeche>
                                <grundflaeche>15</grundflaeche>
                                <anzahl_balkons>2</anzahl_balkons>
                                <balkons_flaeche>12</balkons_flaeche>
                                <erstes_bild>https://files.justimmo.at/public/pic/medium/AdlOCzRy51.jpg</erstes_bild>
                                <zweites_bild>https://files.justimmo.at/public/pic/medium/AdlOGYKVg_.jpg</zweites_bild>
                                <projekt_id>46</projekt_id>
                                <status>aktiv</status>
                                <status_id>5</status_id>
                                <erstellt_am>2015-11-11 16:20:35</erstellt_am>
                                <aktualisiert_am>2016-04-19 11:18:59</aktualisiert_am>
                            </immobilie>
                            <immobilie>
                                <id>560556</id>
                                <objektnummer>33447</objektnummer>
                                <objektkategorie>
                                    <nutzungsart WOHNEN="1" GEWERBE="0" ANLAGE="0"/>
                                    <vermarktungsart KAUF="1" MIETE_PACHT="0"/>
                                    <objektart>
                                        <wohnung/>
                                    </objektart>
                                    <user_defined_simplefield feldname="objektart_id">2</user_defined_simplefield>
                                    <user_defined_simplefield feldname="objektart_name">Wohnung</user_defined_simplefield>
                                    <user_defined_simplefield feldname="sub_objektart_id">45</user_defined_simplefield>
                                    <user_defined_simplefield feldname="sub_objektart_name">Wohnung</user_defined_simplefield>
                                    <user_defined_anyfield>
                                        <ji_kategorie id="4743">Wienerwald</ji_kategorie>
                                    </user_defined_anyfield>
                                </objektkategorie>
                                <titel>DEMOOBJEKT! Elegantes Büro neben Bristol und Oper</titel>
                                <dreizeiler></dreizeiler>
                                <naehe></naehe>
                                <objektbeschreibung>DEMOOBJEKT! Bitte nicht anfragen!</objektbeschreibung>
                                <etage>2. KG</etage>
                                <hausnummer>2</hausnummer>
                                <strasse>Seidlgasse</strasse>
                                <ort>Wien</ort>
                                <plz>1030</plz>
                                <preis>200000</preis>
                                <kaufpreis>200000</kaufpreis>
                                <nutzflaeche>15</nutzflaeche>
                                <grundflaeche>15</grundflaeche>
                                <anzahl_balkons>2</anzahl_balkons>
                                <balkons_flaeche>12</balkons_flaeche>
                                <erstes_bild>https://files.justimmo.at/public/pic/medium/AdlOCzRy51.jpg</erstes_bild>
                                <zweites_bild>https://files.justimmo.at/public/pic/medium/AdlOGYKVg_.jpg</zweites_bild>
                                <projekt_id>46</projekt_id>
                                <status>aktiv</status>
                                <status_id>5</status_id>
                                <erstellt_am>2015-11-11 12:32:29</erstellt_am>
                                <aktualisiert_am>2016-04-19 11:18:59</aktualisiert_am>
                            </immobilie>
                            <immobilie>
                                <id>66079</id>
                                <objektnummer>18</objektnummer>
                                <objektkategorie>
                                    <nutzungsart WOHNEN="1" GEWERBE="0" ANLAGE="0"/>
                                    <vermarktungsart KAUF="1" MIETE_PACHT="0"/>
                                    <objektart>
                                        <wohnung/>
                                    </objektart>
                                    <user_defined_simplefield feldname="objektart_id">2</user_defined_simplefield>
                                    <user_defined_simplefield feldname="objektart_name">Wohnung</user_defined_simplefield>
                                    <user_defined_simplefield feldname="sub_objektart_id">45</user_defined_simplefield>
                                    <user_defined_simplefield feldname="sub_objektart_name">Wohnung</user_defined_simplefield>
                                    <user_defined_anyfield>
                                        <ji_kategorie id="4743">Wienerwald</ji_kategorie>
                                    </user_defined_anyfield>
                                </objektkategorie>
                                <titel>DEMOOBJEKT! Elegantes Büro neben Bristol und Oper</titel>
                                <dreizeiler></dreizeiler>
                                <naehe></naehe>
                                <objektbeschreibung>DEMOOBJEKT! Bitte nicht anfragen!</objektbeschreibung>
                                <etage>2. KG</etage>
                                <hausnummer>2</hausnummer>
                                <strasse>Seidlgasse</strasse>
                                <ort>Wien</ort>
                                <plz>1030</plz>
                                <preis>200000</preis>
                                <kaufpreis>200000</kaufpreis>
                                <nutzflaeche>15</nutzflaeche>
                                <grundflaeche>15</grundflaeche>
                                <anzahl_balkons>2</anzahl_balkons>
                                <balkons_flaeche>12</balkons_flaeche>
                                <erstes_bild>https://files.justimmo.at/public/pic/medium/AdlOCzRy51.jpg</erstes_bild>
                                <zweites_bild>https://files.justimmo.at/public/pic/medium/AdlOGYKVg_.jpg</zweites_bild>
                                <projekt_id>46</projekt_id>
                                <status>aktiv</status>
                                <status_id>5</status_id>
                                <vermittelt_am>2014-03-02</vermittelt_am>
                                <erstellt_am>2012-04-01 18:30:34</erstellt_am>
                                <aktualisiert_am>2016-04-19 11:18:59</aktualisiert_am>
                            </immobilie>
                        </immobilien>
                        <erstes_bild>https://files.justimmo.at/public/pic/medium/ACXayjSPLp.jpg</erstes_bild>
                    </projekt>
                    <!-- ...... -->
                </justimmo>
  /projekt/detail:
    get:
      summary: Detail
      description: >-
        Executes a search and returns basic information of matching
        real-estates.
      operationId: project-detail
      tags:
        - project
      parameters:
        - name: id
          in: query
          description: The id of the project
          schema:
            type: integer
            example: 10
          required: true
        - name: culture
          in: query
          description: Language for i18n fields
          schema:
            type: string
            default: de
        - name: picturesize
          in: query
          description: >-
            The picture size to be used for picture urls. Multiple sizes can be
            requested using array notation (e.g.
            `picturesize[]=big&picturesize[]=small`).
          required: false
          schema:
            oneOf:
              - $ref: '#/components/schemas/QueryParameterPictureSize'
              - type: array
                items:
                  $ref: '#/components/schemas/QueryParameterPictureSize'
        - name: alleProjektObjekte
          in: query
          description: >-
            Include all real-estates belonging to the project, regardless of
            their object status.
          required: false
          schema:
            type: integer
            default: 0
            enum:
              - 0
              - 1
        - name: objektIds
          in: query
          description: >-
            When set to 1, return only the IDs of the project real-estates (as
            `<immobilien_ids>`) instead of full `<immobilien>` entries.
          required: false
          schema:
            type: integer
            default: 0
            enum:
              - 0
              - 1
      responses:
        '200':
          description: >-
            Success.


            When `objektIds=1`, the `<immobilien>` block is replaced by an
            `<immobilien_ids>` element that

            lists the project's real-estates as `<id>` entries; all other fields
            are unchanged. The example

            below shows the default (`objektIds=0`) full-`<immobilien>`
            response.
          content:
            application/xml:
              schema:
                type: object
              example: |-
                <?xml version="1.0" encoding="UTF-8"?>
                <justimmo>
                    <projekt>
                        <id>13382716</id>
                        <nummer>281</nummer>
                        <titel>Wohnbauprojekt Titel - Demo</titel>
                        <lage>Das Projekt befindet direkt auf der Mariahilferstraße im Trendbezirk Neubau, angrenzend an das Museumsquartier MQ.</lage>
                        <beschreibung>&lt;p&gt;DEMOOBJEKT! Bitte nicht anfragen!&lt;/p&gt;&#13;
                                    &lt;p&gt;Breitenlee: Sonnige 3 Zimmer-Wohnung inmitten der Kornkammern Wiens&lt;br /&gt;&lt;br /&gt;Die
                                    helle freundliche 3 Zimmer-Wohnung mit Bad (Wanne), eigenem WC, Schrankraum, Wohnküche mit Speiss,
                                    französichen Fenstern in allen Räumen ist süd-westl. ausgerichtet. Im Mietpreis sind die Kosten für 1
                                    Garagenplatz enthalten.&lt;br /&gt;5 Minuten mit dem Auto nach Breitenlee, 10 Min. zum großen Donaustädter
                                    Einkaufspark und in 100 Metern mitten in den Feldern! Die Haltestelle des städt. Autobuses ist vor der Türe!&lt;/p&gt;</beschreibung>
                        <dreizeiler></dreizeiler>
                        <sonstige_angaben></sonstige_angaben>
                        <freitext_1>&lt;p&gt;f1&lt;/p&gt;</freitext_1>
                        <freitext_2>&lt;p&gt;f2&lt;/p&gt;</freitext_2>
                        <freitext_3>&lt;p&gt;f3&lt;/p&gt;</freitext_3>
                        <freitext_4>&lt;p&gt;f4&lt;/p&gt;</freitext_4>
                        <geokoordinaten breitengrad="48.2027517" laengengrad="16.3468287"/>
                        <land>AUT</land>
                        <bundesland>Wien</bundesland>
                        <ort>Wien</ort>
                        <plz>1070</plz>
                        <naehe>Mariahilferstrasse</naehe>
                        <anzahl_etagen>42</anzahl_etagen>
                        <anzahl_dachgeschosse>3</anzahl_dachgeschosse>
                        <bauart_id>2</bauart_id>
                        <baujahr>2018</baujahr>
                        <laermpegel>absolute Ruhelage</laermpegel>
                        <beziehbar>Mai 2018</beziehbar>
                        <ea_gueltig_bis>2022-03-13</ea_gueltig_bis>
                        <ea_hwb>9</ea_hwb>
                        <ea_hwb_klasse>A++</ea_hwb_klasse>
                        <ea_fgee>0.54</ea_fgee>
                        <ea_fgee_klasse>A++</ea_fgee_klasse>
                        <zustand>Erstbezug</zustand>
                        <haus_zustand>Erstbezug</haus_zustand>
                        <lagebewertung>gut</lagebewertung>
                        <zustandsbewertung>sehr gut</zustandsbewertung>
                        <nutzungsart wohnen="1" gewerbe="0" anlage="0"/>
                        <in_bau></in_bau>
                        <status semantic="Fertiggestellt">finished</status>
                        <referenz></referenz>
                        <fertigstellung>2018-05-01</fertigstellung>
                        <verkaufsstart>2018-03-01</verkaufsstart>
                        <objektkategorie>
                            <nutzungsart WOHNEN="1" GEWERBE="0" ANLAGE="0"/>
                        </objektkategorie>
                        <erstellt_am>2024-03-19 09:49:58</erstellt_am>
                        <residential_aggregation_data>
                            <area_from>100</area_from>
                            <area_to>100</area_to>
                            <price_from>200000</price_from>
                            <price_to>200000</price_to>
                            <rooms_from>4</rooms_from>
                            <rooms_to>4</rooms_to>
                            <available>1</available>
                        </residential_aggregation_data>
                        <immobilien>
                            <immobilie>
                                <id>13703658</id>
                                <objektnummer>1372/322</objektnummer>
                                <objektkategorie>
                                    <nutzungsart WOHNEN="1" GEWERBE="0" ANLAGE="0"/>
                                    <vermarktungsart KAUF="1" MIETE_PACHT="0"/>
                                    <objektart>
                                        <wohnung/>
                                    </objektart>
                                    <user_defined_simplefield feldname="objektart_id">2</user_defined_simplefield>
                                    <user_defined_simplefield feldname="objektart_name">Wohnung</user_defined_simplefield>
                                    <user_defined_simplefield feldname="sub_objektart_id">117</user_defined_simplefield>
                                    <user_defined_simplefield feldname="sub_objektart_name">Gartenwohnung</user_defined_simplefield>
                                </objektkategorie>
                                <titel>Wohnbauprojekt Titel - Demo</titel>
                                <dreizeiler></dreizeiler>
                                <naehe>Mariahilferstrasse</naehe>
                                <objektbeschreibung>&lt;p&gt;DEMOOBJEKT! Bitte nicht anfragen!&lt;/p&gt;&#13;
                                    &lt;p&gt;Breitenlee: Sonnige 3 Zimmer-Wohnung inmitten der Kornkammern Wiens&lt;br /&gt;&lt;br /&gt;Die
                                    helle freundliche 3 Zimmer-Wohnung mit Bad (Wanne), eigenem WC, Schrankraum, Wohnküche mit Speiss,
                                    französichen Fenstern in allen Räumen ist süd-westl. ausgerichtet. Im Mietpreis sind die Kosten für 1
                                    Garagenplatz enthalten.&lt;br /&gt;5 Minuten mit dem Auto nach Breitenlee, 10 Min. zum großen Donaustädter
                                    Einkaufspark und in 100 Metern mitten in den Feldern! Die Haltestelle des städt. Autobuses ist vor der Türe!&lt;/p&gt;</objektbeschreibung>
                                <anzahl_zimmer>4</anzahl_zimmer>
                                <etage>EG</etage>
                                <tuernummer>1</tuernummer>
                                <ort>Wien</ort>
                                <plz>1070</plz>
                                <preis>200000</preis>
                                <kaufpreis>200000</kaufpreis>
                                <wohnflaeche>100</wohnflaeche>
                                <gartenflaeche>15</gartenflaeche>
                                <erstes_bild>https://files.justimmo.at/public/pic/big/4A8YGNYQvOz7zCiOHGISKK.jpg</erstes_bild>
                                <projekt_id>13382716</projekt_id>
                                <status>aktiv</status>
                                <status_id>5</status_id>
                                <erstellt_am>2024-07-15 11:32:47</erstellt_am>
                                <aktualisiert_am>2025-05-15 16:25:05</aktualisiert_am>
                            </immobilie>
                            <!-- ..... -->
                        </immobilien>
                        <dokumente>
                            <dokument>
                                <titel>0-sample.pdf</titel>
                                <pfad>https://files.justimmo.at/public/doc/1Aa5mCQGRRSxHM78awMdYU.pdf</pfad>
                                <format>pdf</format>
                            </dokument>
                        </dokumente>
                        <bilder>
                            <bild>
                                <titel>Arbeitszimmer</titel>
                                <pfad>https://files.justimmo.at/public/pic/big/1q80gucia609J4goaai4qK.jpg</pfad>
                            </bild>
                            <bild>
                                <titel>Geräumiges Schlafzimmer</titel>
                                <pfad>https://files.justimmo.at/public/pic/big/42SGAzqcPTkVi8NTHHchRz.jpg</pfad>
                            </bild>
                            <bild>
                                <titel>Badezimmer.jpg</titel>
                                <pfad>https://files.justimmo.at/public/pic/big/slg3yhylN9bhfGe81l0A4.jpg</pfad>
                            </bild>
                            <!-- ..... -->
                        </bilder>
                        <plaene>
                            <bild>
                                <titel>fs_2016_022_archi_2_002_ges.jpg</titel>
                                <pfad>https://files.justimmo.at/public/pic/big/1RRq6a1u2iw4jx4wkyo04n.jpg</pfad>
                            </bild>
                            <bild>
                                <titel>Bgx9u9S8ko.jpg</titel>
                                <pfad>https://files.justimmo.at/public/pic/big/4UUXizhObQKvtoSYY8bnNN.jpg</pfad>
                            </bild>
                        </plaene>
                        <bilder360/>
                        <videos/>
                        <links>
                            <link>
                                <titel>Link</titel>
                                <pfad>https://www.justimmo.at</pfad>
                                <gruppe>links</gruppe>
                            </link>
                        </links>
                        <kontaktperson>
                            <id>18514415</id>
                            <email_direkt>justin.immo@example.com</email_direkt>
                            <tel_zentrale></tel_zentrale>
                            <tel_fax></tel_fax>
                            <tel_handy></tel_handy>
                            <name>Immo</name>
                            <vorname>Justin</vorname>
                            <anrede>Herr</anrede>
                            <firma>Justimmo</firma>
                            <position>Makler</position>
                            <strasse>Mariahilfer Straße 10</strasse>
                            <plz>1070</plz>
                            <ort>Wien</ort>
                            <land iso_land="AUT"/>
                            <url>example.com</url>
                            <personennummer/>
                        </kontaktperson>
                    </projekt>
                </justimmo>
  /projekt/projektList:
    get:
      summary: Short List
      description: >-
        Returns a list of projekt ids and title of all active projects with
        "Show on Homepage" flag.  

        The query-result>count element contains information of total hits of the
        search regardless of given limit parameter.
      operationId: project-short-list
      tags:
        - project
      responses:
        '200':
          description: Success
          content:
            application/xml:
              schema:
                type: object
              example: |-
                <?xml version="1.0" encoding="UTF-8"?>
                <justimmo>
                    <query-result>
                        <count>3</count>
                    </query-result>
                    <projekt>
                        <id>46</id>
                        <titel>Demoprojekt in Zentrumsnähe</titel>
                    </projekt>
                    <projekt>
                        <id>51</id>
                        <titel>Neubau mitten im dritten</titel>
                    </projekt>
                    <projekt>
                        <id>2065</id>
                        <titel></titel>
                    </projekt>
                </justimmo>
  /projekt/ids:
    get:
      summary: Ids
      description: >-
        Returns ids of matching projects as JSON without limit and offset
        limitations. For parameters see project list call.
      operationId: project-ids
      tags:
        - project
      parameters:
        - name: orderby
          in: query
          description: >-
            Order results by specific field. Applied to project, not to
            real-estates of project.
          required: false
          schema:
            type: string
            enum:
              - created_at
              - updated_at
        - name: ordertype
          in: query
          description: >-
            Order direction. Matched case-insensitively, so DESC and desc are
            equivalent.
          required: false
          schema:
            type: string
            default: asc
            x-justimmo-case-insensitive: true
            enum:
              - asc
              - desc
        - name: alle
          in: query
          description: >-
            Show all projects regardless if active real-estates are present in
            project. When set to `1`, realty filtering is skipped entirely and
            all realty filters are ignored.
          required: false
          schema:
            type: integer
            default: 0
            enum:
              - 0
              - 1
        - name: alleProjektObjekte
          in: query
          description: >-
            Include all real-estates belonging to the project, regardless of
            their object status.
          required: false
          schema:
            type: integer
            default: 0
            enum:
              - 0
              - 1
        - name: filter[projekt_objektnummer]
          in: query
          description: >-
            <span class="text-project">Project</span> The realty number of the
            project.
          required: false
          schema:
            type: string
        - name: filter[projekt_status]
          in: query
          description: >-
            <span class="text-project">Project</span> The project state. Must be
            one of planning, building, finished. Multiple values are supported
            by using an array notation.
          required: false
          schema:
            oneOf:
              - type: string
                enum:
                  - planning
                  - building
                  - finished
              - type: array
                items:
                  type: string
                  enum:
                    - planning
                    - building
                    - finished
        - name: filter[referenz]
          in: query
          description: >-
            <span class="text-project">Project</span> Set value to 1 to search
            only for reference projects
          required: false
          schema:
            type: integer
            enum:
              - 0
              - 1
        - name: filter[project_tag_name]
          in: query
          description: >-
            <span class="text-project">Project</span> The name of the category
            assigned to the project. Multiple values are supported by using an
            array notation and are combined with OR
          required: false
          schema:
            oneOf:
              - type: string
              - type: array
                items:
                  type: string
        - name: filter[fertigstellung_von]
          in: query
          description: <span class="text-project">Project</span> Completion date from.
          required: false
          schema:
            type: string
            format: date
        - name: filter[fertigstellung_bis]
          in: query
          description: <span class="text-project">Project</span> Completion date to.
          required: false
          schema:
            type: string
            format: date
        - name: filter[verkaufsstart_von]
          in: query
          description: <span class="text-project">Project</span> Sale start from date.
          required: false
          schema:
            type: string
            format: date
        - name: filter[verkaufsstart_bis]
          in: query
          description: <span class="text-project">Project</span> Sale start to date.
          required: false
          schema:
            type: string
            format: date
        - name: filter[miete]
          in: query
          description: >-
            <span class="text-realty">Realty</span> Set value to 1 to search for
            real-estates available for rent.
          required: false
          schema:
            type: integer
            enum:
              - 0
              - 1
        - name: filter[kauf]
          in: query
          description: >-
            <span class="text-realty">Realty</span> Set value to 1 to search for
            real-estates available for purchase.
          required: false
          schema:
            type: integer
            enum:
              - 0
              - 1
        - name: filter[objektnummer]
          in: query
          description: <span class="text-realty">Realty</span> The realty number.
          required: false
          schema:
            type: string
        - name: filter[objektnummer_von]
          in: query
          description: <span class="text-realty">Realty</span> The min realty number.
          required: false
          schema:
            type: string
        - name: filter[objektnummer_bis]
          in: query
          description: <span class="text-realty">Realty</span> The max realty number.
          required: false
          schema:
            type: string
        - name: filter[objekt_status_id]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The realty status. Multiple
            values are supported by using an array notation.  

            see [Reference: Realty Status](#tag/reference_realty_status)
          required: false
          schema:
            oneOf:
              - type: integer
              - type: array
                items:
                  type: integer
        - name: filter[owner_id]
          in: query
          description: >-
            <span class="text-realty">Realty</span> Id of the employee
            responsible for the realty.  

            see [Call: Team List](#tag/team/operation/team-list)
          required: false
          schema:
            type: integer
        - name: filter[objektart_id]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The main realty type.
            Multiple values are supported by using an array notation.  

            see [Reference: Realty Types](#tag/reference_realty_types)
          required: false
          schema:
            oneOf:
              - type: integer
              - type: array
                items:
                  type: integer
        - name: filter[subobjektart_id]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The sub realty type.
            Multiple values are supported by using an array notation.  

            see [Reference: Realty Types](#tag/reference_realty_types)
          required: false
          schema:
            oneOf:
              - type: integer
              - type: array
                items:
                  type: integer
        - name: filter[bundesland_id]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The id of the federal state.
            Multiple values are supported by using an array notation.  

            see [Call: Federal
            States](#tag/basic_data/operation/realty-federal-states)
          required: false
          schema:
            oneOf:
              - type: integer
              - type: array
                items:
                  type: integer
        - name: filter[plz]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The zip code. Multiple
            values are supported by using an array notation
          required: false
          schema:
            oneOf:
              - type: string
              - type: array
                items:
                  type: string
        - name: filter[plz_von]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The min zip code. Does not
            work for non-numerical zip codes.
          required: false
          schema:
            type: string
        - name: filter[plz_bis]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The max zip code. Does not
            work for non-numerical zip codes.
          required: false
          schema:
            type: string
        - name: filter[preis_von]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The min price. Depending on
            type it is the rent or purchase price.
          required: false
          schema:
            type: number
        - name: filter[preis_bis]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The max price. Depending on
            type it is the rent or purchase price.
          required: false
          schema:
            type: number
        - name: filter[flaeche_von]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The min area in square
            meters.
          required: false
          schema:
            type: number
        - name: filter[flaeche_bis]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The max area in square
            meters.
          required: false
          schema:
            type: number
        - name: filter[wohnflaeche_von]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The min living area in
            square meters.
          required: false
          schema:
            type: number
        - name: filter[wohnflaeche_bis]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The max living area in
            square meters.
          required: false
          schema:
            type: number
        - name: filter[nutzflaeche_von]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The min floor area in square
            meters.
          required: false
          schema:
            type: number
        - name: filter[nutzflaeche_bis]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The max floor area in square
            meters.
          required: false
          schema:
            type: number
        - name: filter[grundflaeche_von]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The min surface area in
            square meters.
          required: false
          schema:
            type: number
        - name: filter[grundflaeche_bis]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The max surface area in
            square meters.
          required: false
          schema:
            type: number
        - name: filter[zimmer_von]
          in: query
          description: <span class="text-realty">Realty</span> The min room count.
          required: false
          schema:
            type: number
        - name: filter[zimmer_bis]
          in: query
          description: <span class="text-realty">Realty</span> The max room count.
          required: false
          schema:
            type: number
        - name: filter[stichwort]
          in: query
          description: >-
            <span class="text-realty">Realty</span> Keyword. Must be present in
            realty title, ZIP, city, street, object number or internal
            description.
          required: false
          schema:
            type: string
        - name: filter[tag_name]
          in: query
          description: >-
            <span class="text-realty">Realty</span> The name of the category
            assigned to real-estates. Multiple values are supported by using an
            array notation and are combined with OR
          required: false
          schema:
            oneOf:
              - type: string
              - type: array
                items:
                  type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: integer
              example:
                - '123'
                - '125'
                - '159'
  /objekt/kategorien:
    get:
      summary: Realty Categories
      description: Returns a list of realty categories
      operationId: realty-categories
      tags:
        - basic_data
      parameters:
        - name: alle
          in: query
          description: >-
            Use 1 if you want to return all categories. Otherwise only
            categories with active real-estates will be returned.
          required: false
          schema:
            type: integer
            default: 0
            enum:
              - 0
              - 1
      responses:
        '200':
          description: Success
          content:
            application/xml:
              schema:
                type: object
              example: |-
                <?xml version="1.0" encoding="UTF-8"?>
                <justimmo>
                  <objektkategorie>
                    <id>3876</id>
                    <name>Topobjekte</name>
                    <sortablerank>1</sortablerank>
                  </objektkategorie>
                </justimmo>
  /objekt/objektarten:
    get:
      summary: Realty Types
      description: Returns the list of the [realty types](#tag/reference_realty_types).
      operationId: realty-types
      tags:
        - basic_data
      parameters:
        - name: alle
          in: query
          description: >-
            Use 1 if you want to return all realty types. Otherwise only realty
            types with active real-estates will be returned.
          required: false
          schema:
            type: integer
            default: 0
            enum:
              - 0
              - 1
      responses:
        '200':
          description: Success
          content:
            application/xml:
              schema:
                type: object
              example: |-
                <?xml version="1.0" encoding="UTF-8"?>
                <justimmo>
                  <objektart>
                    <id>5</id>
                    <name>Büro / Praxis</name>
                    <key>buero_praxen</key>
                    <attributename>buero_typ</attributename>
                  </objektart>
                  <objektart>
                    <id>3</id>
                    <name>Haus</name>
                    <key>haus</key>
                    <attributename>haustyp</attributename>
                  </objektart>
                  <objektart>
                    <id>2</id>
                    <name>Wohnung</name>
                    <key>wohnung</key>
                    <attributename>wohnungtyp</attributename>
                  </objektart>
                </justimmo>
  /objekt/laender:
    get:
      summary: Countries
      description: Returns the list of the countries.
      operationId: realty-countries
      tags:
        - basic_data
      parameters:
        - name: alle
          in: query
          description: >-
            Use 1 if you want to return all countries. Otherwise only countries
            with active real-estates will be returned.
          required: false
          schema:
            type: integer
            default: 0
            enum:
              - 0
              - 1
      responses:
        '200':
          description: Success
          content:
            application/xml:
              schema:
                type: object
              example: |-
                <?xml version="1.0" encoding="UTF-8"?>
                <justimmo>
                  <land>
                    <id>17</id>
                    <name>Österreich</name>
                    <iso2>AT</iso2>
                    <iso3>AUT</iso3>
                  </land>
                  <land>
                    <id>216</id>
                    <name>Thailand</name>
                    <iso2>TH</iso2>
                    <iso3>THA</iso3>
                  </land>
                </justimmo>
  /objekt/bundeslaender:
    get:
      summary: Federal States
      description: Returns the list of the federal states.
      operationId: realty-federal-states
      tags:
        - basic_data
      parameters:
        - name: alle
          in: query
          description: >-
            Use 1 if you want to return all federal states. Otherwise only
            federal states with active real-estates will be returned.
          required: false
          schema:
            type: integer
            default: 0
            enum:
              - 0
              - 1
        - name: land
          in: query
          description: Id or ISO 2 code of the country.
          schema:
            oneOf:
              - type: integer
              - type: string
      responses:
        '200':
          description: Success
          content:
            application/xml:
              schema:
                type: object
              example: |-
                <?xml version="1.0" encoding="UTF-8"?>
                <justimmo>
                    <bundesland>
                        <id>126</id>
                        <name>Burgenland</name>
                        <landid>17</landid>
                        <fipscode>01</fipscode>
                        <iso31662code>AT-1</iso31662code>
                    </bundesland>
                    <bundesland>
                        <id>127</id>
                        <name>Kärnten</name>
                        <landid>17</landid>
                        <fipscode>02</fipscode>
                        <iso31662code>AT-2</iso31662code>
                    </bundesland>
                    <!-- .... -->
                </justimmo>
  /objekt/regionen:
    get:
      summary: Regions
      description: Returns the list of the regions.
      operationId: realty-regions
      tags:
        - basic_data
      parameters:
        - name: alle
          in: query
          description: >-
            Use 1 if you want to return all regions. Otherwise only regions with
            active real-estates will be returned.
          required: false
          schema:
            type: integer
            default: 0
            enum:
              - 0
              - 1
        - name: land
          in: query
          description: Id or ISO 2 code of the country.
          schema:
            oneOf:
              - type: integer
              - type: string
        - name: bundesland
          in: query
          description: Id or name of the federal state (name matched as a prefix).
          schema:
            oneOf:
              - type: integer
              - type: string
      responses:
        '200':
          description: Success
          content:
            application/xml:
              schema:
                type: object
              example: |-
                <?xml version="1.0" encoding="UTF-8"?>
                <justimmo>
                  <region>
                    <id>39</id>
                    <name>1., Innere Stadt</name>
                  </region>
                  <region>
                    <id>58</id>
                    <name>2., Leopoldstadt</name>
                  </region>
                </justimmo>
  /objekt/politischeBezirke:
    get:
      summary: Political Districts
      description: >-
        Returns the list of the political districts. Currently only Austria
        (`land=AT`) is supported.
      operationId: realty-political-districts
      tags:
        - basic_data
      parameters:
        - name: alle
          in: query
          description: >-
            Use 1 if you want to return all political districts. Otherwise only
            districts with active real-estates will be returned.
          required: false
          schema:
            type: integer
            default: 0
            enum:
              - 0
              - 1
        - name: land
          in: query
          description: >-
            ISO 2 code of the country. Currently only "AT" (Austria) is
            supported; any other value returns 422.
          required: false
          schema:
            type: string
            default: AT
            enum:
              - AT
        - name: bundesland
          in: query
          description: Id of the federal state.
          required: false
          schema:
            type: integer
      responses:
        '200':
          description: Success
          content:
            application/xml:
              schema:
                type: object
              example: |-
                <?xml version="1.0" encoding="UTF-8"?>
                <justimmo>
                  <politischer_bezirk>
                    <id>1</id>
                    <name>Eisenstadt(Stadt)</name>
                  </politischer_bezirk>
                  <politischer_bezirk>
                    <id>2</id>
                    <name>Rust(Stadt)</name>
                  </politischer_bezirk>
                </justimmo>
  /objekt/plzsUndOrte:
    get:
      summary: Zip codes and cities
      description: Returns the list of the zip codes with their city name
      operationId: realty-zip-city
      tags:
        - basic_data
      parameters:
        - name: alle
          in: query
          description: >-
            Use 1 if you want to return all zip codes. Otherwise only zip codes
            with active realties will be returned.
          required: false
          schema:
            type: integer
            default: 0
            enum:
              - 0
              - 1
        - name: land
          in: query
          description: Id or ISO 2 code of the country.
          schema:
            oneOf:
              - type: integer
              - type: string
        - name: bundesland
          in: query
          description: Id or name of the federal state (name matched as a prefix).
          schema:
            oneOf:
              - type: integer
              - type: string
      responses:
        '200':
          description: Success
          content:
            application/xml:
              schema:
                type: object
              example: |-
                <?xml version="1.0" encoding="UTF-8"?>
                <justimmo>
                    <postleitzahl>
                        <id>567</id>
                        <landid>17</landid>
                        <regionid>40</regionid>
                        <plz>6020</plz>
                        <ort>Innsbruck</ort>
                        <bundeslandid>132</bundeslandid>
                    </postleitzahl>
                    <postleitzahl>
                        <id>462</id>
                        <landid>17</landid>
                        <regionid>41</regionid>
                        <plz>6060</plz>
                        <ort>Hall in Tirol</ort>
                        <bundeslandid>132</bundeslandid>
                    </postleitzahl>
                    <postleitzahl>
                        <id>465</id>
                        <landid>17</landid>
                        <regionid>41</regionid>
                        <plz>6063</plz>
                        <ort>Rum</ort>
                        <bundeslandid>132</bundeslandid>
                    </postleitzahl>
                </justimmo>
components:
  schemas:
    QueryParameterPictureSize:
      type: string
      description: 'see [Reference: Picture Sizes](#tag/reference_picture_sizes)'
      default: orig
      enum:
        - small
        - s220x155
        - s312x208
        - medium
        - medium_unbranded
        - big
        - big_unbranded
        - big2
        - big2_unbranded
        - fullhd
        - fullhd_unbranded
        - fullhd_downscale
        - fullhd_unbranded_downscale
        - uhd
        - uhd_unbranded
        - uhd_downscale
        - uhd_unbranded_downscale
        - orig
tags:
  - name: introduction_openapi_specification
    x-displayName: OpenAPI Specification
    description: >
      This API is documented in [OpenAPI
      3.0](https://spec.openapis.org/oas/v3.0.3) format with a few vendor
      extensions (prefixed with `x-`) for the generated HTML docs. We pledge
      ourselves to be compliant to the OpenAPI Standard, but due to different
      interpretations of the standard and different levels of implementation in
      various tools out there, we can not guarantee that the specification
      available for download above will work with any specific tool or client
      generator.


      In our experience, there is currently no client generator that supports
      the full featureset of OpenAPI 3.0, let alone newer versions, and thus we
      most likely can not support you if you run into any issues due to the use
      of incompatible generators. We may also decide to update to a newer
      version of the OpenAPI Standard in the future, which - even without any
      changes to the API itself - can also lead to further incompatibilities
      with certain tools if they haven't been updated at that point themselves.
      For this reason, our recommendation is to implement the API Calls and
      handle the responses by yourself instead of relying on generated code.
  - name: introduction_cross_origin
    x-displayName: Cross-Origin Resource Sharing
    description: >
      This API does NOT feature any Cross-Origin Resource Sharing (CORS) /
      CORS-Headers as it is meant for server-side consumption only.
  - name: introduction_getting_started
    x-displayName: Getting Started
    description: >
      ## Enable the API in Justimmo


      To enable the API in your Justimmo Account you must be logged in as an
      administrator.<br>

      Go to "more" -> "Exports" and click on the tab "Custom exports". With the
      button "Create new API Export" you can enable the api in your account.<br>

      A username and password will be provided to you automatically.


      The API is treated like any export in Justimmo and realties have to be
      booked in accordingly.


      ## Accessing the API


      The base URL for all api call is


      ~~~

      https://api.justimmo.at/rest/v1/

      ~~~


      All possible calls are described in detail in another section of this
      documentation.


      ## Authentication


      You must use HTTP-Auth for all calls in order to get access to your data.
      Username and password are provided under the API export settings (see
      above)


      ## Errors


      The API will return errors by setting the http status code to the
      appropriate value and may return a content with further information on the
      error.


      ### 401 Authentication Failure


      Username and/or password are not correct. Status code will have the value
      401.


      ### 404 Not found


      The url you are trying to call could not be found. Status code will have
      the value 404.


      ```xml

      <?xml version="1.0" encoding="UTF-8"?>

      <justimmo>
          <error>Ungültige Anfrage</error>
      </justimmo>

      ```


      ### 400 Bad Request


      A parameter could not be evaluated or has a not supported value. Status
      code will have the value 400.


      ```xml

      <?xml version="1.0" encoding="UTF-8"?>

      <justimmo>
          <error>zimmer_von ["test" is not a number.]</error>
      </justimmo>

      ```


      ### 500 Server Error


      Internal Justimmo error. Status code will have the value 500.


      ```xml

      <?xml version="1.0" encoding="UTF-8"?>

      <justimmo>
          <error>Internal Server Error</error>
      </justimmo>

      ```
  - name: introduction_files_and_images
    x-displayName: Files and Images
    description: >
      All files and images uploaded to Justimmo follow a specific url format.


      You can request multiple picture sizes by adding the `picturesize[]`
      parameter to the api calls.

      A list of [available picture sizes](#tag/reference_picture_sizes) can be
      found on the linked page.


      ### Example:


      ~~~

      https://storage.justimmo.at/thumb/072049dc39bccd4ae9c08bb4a06e8d6e/fc_h480_w630/2f28BQ3fAxC7rKkxaG9GT5.jpg

      ~~~
  - name: introduction_realty_links
    x-displayName: Realty Links
    description: >
      ## Simple objects, residential sub real-estates and commercial areas


      The links are shipped along with the attached pictures and plans in the
      &#60;anhaenge/&#62; node.


      3 groups are available


      | group    | explanation                                  | 

      |----------|----------------------------------------------| 

      | FILMLINK | the link points to a video or a video player |

      | RUNDGANG | the link points to a 360° tour player        |

      | LINKS    | a general link                               |


      ~~~xml

      <?xml version="1.0" encoding="UTF-8"?>

      <justimmo>
          <anhaenge>
              <anhang location="REMOTE" gruppe="FILMLINK">
                  <anhangtitel>Youtube Video</anhangtitel>
                  <format></format>
                  <daten>
                      <pfad>http://www.youtube.com/watch?v=123456789</pfad>
                  </daten>
              </anhang>
              <anhang location="REMOTE" gruppe="FILMLINK">
                  <anhangtitel>Link zum Vimeo</anhangtitel>
                  <format></format>
                  <daten>
                      <pfad>https://vimeo.com/123456789</pfad>
                  </daten>
              </anhang>
              <anhang location="REMOTE" gruppe="LINKS">
                  <anhangtitel>Digital expose</anhangtitel>
                  <format></format>
                  <daten>
                      <pfad>https://www.yumpu.com/de/embed/view/pil123456789</pfad>
                  </daten>
              </anhang>
              <anhang location="REMOTE" gruppe="RUNDGANG">
                  <anhangtitel>3D-Rundgang - cupix</anhangtitel>
                  <format></format>
                  <daten>
                      <pfad>https://players.cupix.com/p/123456789</pfad>
                  </daten>
              </anhang>
              <anhang location="REMOTE" gruppe="RUNDGANG">
                  <anhangtitel>3D-Rundgang - feelestate</anhangtitel>
                  <format></format>
                  <daten>
                      <pfad>https://tour.feelestate.com/view/fullscreen/id/123456789</pfad>
                  </daten>
              </anhang>
              <anhang location="REMOTE" gruppe="RUNDGANG">
                  <anhangtitel>360 Grad Fotos - kuula</anhangtitel>
                  <format></format>
                  <daten>
                      <pfad>https://kuula.co/share/123456789</pfad>
                  </daten>
              </anhang>
              <anhang location="REMOTE" gruppe="RUNDGANG">
                  <anhangtitel>Virtueller Rundgang - matterport</anhangtitel>
                  <format></format>
                  <daten>
                      <pfad>http://my.matterport.com/show/?m=123456789</pfad>
                  </daten>
              </anhang>
              <anhang location="REMOTE" gruppe="RUNDGANG">
                  <anhangtitel>3D-Tour - ogulo</anhangtitel>
                  <format></format>
                  <daten>
                      <pfad>https://ogulo.de/12345/W6789</pfad>
                  </daten>
              </anhang>
              <anhang location="REMOTE" gruppe="RUNDGANG">
                  <anhangtitel>360°-Rundgang - picmyplace</anhangtitel>
                  <format></format>
                  <daten>
                      <pfad>https://pics.picmyplace.eu/presentations/project-P1-123456789/start.html
                      </pfad>
                  </daten>
              </anhang>
              <anhang location="REMOTE" gruppe="RUNDGANG">
                  <anhangtitel>3D-Wohnungsrundgang - visitour</anhangtitel>
                  <format></format>
                  <daten>
                      <pfad>https://le1.visitour.at</pfad>
                  </daten>
              </anhang>
          </anhaenge>
      </justimmo>

      ~~~


      ## Projects


      For the projects you can find the links in the &#60;links/&#62; node in
      the detail view.


      4 groups are available


      | group      | explanation                                  | 

      |------------|----------------------------------------------| 

      | projekturl | link of the project's webpage                |

      | filmlink   | the link points to a video or a video player |

      | rundgang   | the link points to a 360° tour player        |

      | links      | a general link                               |


      ~~~xml

      <?xml version="1.0" encoding="UTF-8"?>

      <justimmo>
          <projekt>
              <links>
                  <link>
                      <titel>Projekt-Link</titel>
                      <pfad>https://www.justimmo.at</pfad>
                      <gruppe>projekturl</gruppe>
                  </link>
                  <link>
                      <titel>Youtube video</titel>
                      <pfad>http://www.youtube.com/watch?v=123456789</pfad>
                      <gruppe>filmlink</gruppe>
                  </link>
                  <link>
                      <titel>3D-Rundgang - cupix</titel>
                      <pfad>https://players.cupix.com/p/123456789</pfad>
                      <gruppe>rundgang</gruppe>
                  </link>
                  <link>
                      <titel>Digital expose</titel>
                      <pfad>https://www.yumpu.com/de/embed/view/p123456789</pfad>
                      <gruppe>links</gruppe>
                  </link>
              </links>
          </projekt>
      </justimmo>

      ~~~
  - name: realty
    x-displayName: Realty
    description: Get realty information
  - name: project
    x-displayName: Project
    description: Get information about realty projects
  - name: team
    x-displayName: Team
    description: Get information about employees
  - name: basic_data
    x-displayName: Basic Data
  - name: reference_realty_conditions
    x-displayName: Realty Conditions
    description: |
      List of the available realty conditions (Zustand) of Justimmo

      | ID | NAME                  | OpenImmo Key             |
      |----|-----------------------|--------------------------|
      | 1  | Erstbezug             | ERSTBEZUG                |
      | 2  | renovierungsbedürftig | TEIL_VOLLRENOVIERUNGSBED |
      | 3  | neuwertig             | NEUWERTIG                |
      | 4  | vollsaniert           | VOLL_SANIERT             |
      | 5  | vollrenoviert         | TEIL_VOLLRENOVIERT       |
      | 6  | baufällig             | BAUFAELLIG               |
      | 7  | nach Vereinbarung     | NACH_VEREINBARUNG        |
      | 8  | modernisiert          | MODERNISIERT             |
      | 9  | gepflegt              | GEPFLEGT                 |
      | 10 | Rohbau                | ROHBAU                   |
      | 11 | entkernt              | ENTKERNT                 |
      | 12 | Abrissobjekt          | ABRISSOBJEKT             |
      | 13 | projektiert           | PROJEKTIERT              |
      | 14 | teilsaniert           | TEIL_SANIERT             |
      | 15 | teilrenoviert         | TEIL_VOLLRENOVIERT       |
      | 16 | sanierungsbedürftig   | SANIERUNGSBEDUERFTIG     |
  - name: reference_realty_features
    x-displayName: Realty Features
    description: >
      ## Groups


      List of all available realty feature groups (Ausstattungskategorien) of
      Justimmo ooo


      | ID | Name                        |                 | ID |
      Name                     | ID | Name                          |

      |----|-----------------------------|-----------------|----|--------------------------|----|-------------------------------|

      | 1  | [Boden](#Feat1)             |                 | 11 |
      [Stellplatzart](#Feat11) | 22 | [Ausbaustufe](#Feat22)        |

      | 2  | [Befeuerung](#Feat2)        |                 | 12 |
      [Extras](#Feat12)        | 25 | [Gebäudezertifikate](#Feat25) |

      | 3  | [Heizungsart](#Feat3)       |                 | 13 |
      [Energietyp](#Feat13)    |    |                               |

      | 4  | [Küche](#Feat4)             |                 | 14 |
      [Belüftung](#Feat14)     |    |                               |

      | 5  | [Fahrstuhl](#Feat5)         |                 | 15 |
      [Räume](#Feat15)         |    |                               |

      | 6  | [Balkon](#Feat6)            |                 | 16 |
      [Elektrik](#Feat16)      |    |                               |

      | 7  | [Gastronomie](#Feat7)       |                 | 17 |
      [Fenster](#Feat17)       |    |                               |

      | 8  | [Bad](#Feat8)               |                 | 19 |
      [WCs](#Feat19)           |    |                               |

      | 9  | [Serviceleistungen](#Feat9) |                 | 20 |
      [Dachform](#Feat20)      |    |                               |

      | 10 | [Fernsehen](#Feat10)        |                 | 21 |
      [Bauweise](#Feat21)      |    |                               |


      ## Features


      List of all available realty features (Ausstattung) of Justimmo


      | ID   | Group              | Name                                      |
      XML Element              | XML Attribute                   | UDAF XML
      Element    | UDAF Attribute                |

      |------|--------------------|-------------------------------------------|--------------------------|---------------------------------|---------------------|-------------------------------|

      | 1    | Boden              | Dielen                                    |
      boden                    | DIELEN                         
      |                     |                               |

      | 2    | Boden              | Doppelboden                               |
      boden                    | DOPPELBODEN                    
      |                     |                               |

      | 3    | Boden              | Estrich                                   |
      boden                    | ESTRICH                        
      |                     |                               |

      | 4    | Boden              | Fliesen                                   |
      boden                    | FLIESEN                        
      |                     |                               |

      | 5    | Boden              | Kunststoffboden                           |
      boden                    | KUNSTSTOFF                     
      |                     |                               |

      | 6    | Boden              | Laminat                                   |
      boden                    | LAMINAT                        
      |                     |                               |

      | 7    | Boden              | Parkett                                   |
      boden                    | PARKETT                        
      |                     |                               |

      | 8    | Boden              | Steinboden                                |
      boden                    | STEIN                          
      |                     |                               |

      | 9    | Boden              | Teppichboden                              |
      boden                    | TEPPICH                        
      |                     |                               |

      | 10   | Befeuerung         | Alternativ                                |
      befeuerung               | ALTERNATIV                     
      |                     |                               |

      | 11   | Befeuerung         | Elektro                                   |
      befeuerung               | ELEKTRO                        
      |                     |                               |

      | 12   | Befeuerung         | Erdwärme                                  |
      befeuerung               | ERDWAERME                      
      |                     |                               |

      | 13   | Befeuerung         | Gas                                       |
      befeuerung               | GAS                            
      |                     |                               |

      | 14   | Befeuerung         | Öl                                        |
      befeuerung               | OEL                            
      |                     |                               |

      | 15   | Befeuerung         | Solarenergie                              |
      befeuerung               | SOLAR                          
      |                     |                               |

      | 16   | Heizungsart        | Etagenheizung                             |
      heizungsart              | ETAGE                          
      |                     |                               |

      | 17   | Heizungsart        | Fernwärme                                 |
      heizungsart              | FERN                           
      |                     |                               |

      | 18   | Heizungsart        | Fußbodenheizung                           |
      heizungsart              | FUSSBODEN                      
      |                     |                               |

      | 19   | Heizungsart        | Heizofen                                  |
      heizungsart              | OFEN                           
      |                     |                               |

      | 20   | Heizungsart        | Kamin                                     |
      kamin                    | -                              
      |                     |                               |

      | 21   | Heizungsart        | Zentralheizung                            |
      heizungsart              | ZENTRAL                        
      |                     |                               |

      | 22   | Küche              | Einbauküche                               |
      kueche                   | EBK                            
      |                     |                               |

      | 23   | Küche              | Wohnküche / offene Küche                  |
      kueche                   | OFFEN                          
      |                     |                               |

      | 24   | Fahrstuhl          | Lastenaufzug                              |
      fahrstuhl                | LASTEN                         
      |                     |                               |

      | 25   | Fahrstuhl          | Personenaufzug                            |
      fahrstuhl                | PERSONEN                       
      |                     |                               |

      | 26   | Balkon             | Nordbalkon                                |
      ausricht_balkon_terrasse | NORD                           
      |                     |                               |

      | 27   | Balkon             | Ostbalkon                                 |
      ausricht_balkon_terrasse | OST                            
      |                     |                               |

      | 28   | Balkon             | Südbalkon                                 |
      ausricht_balkon_terrasse | SUED                           
      |                     |                               |

      | 29   | Balkon             | Westbalkon                                |
      ausricht_balkon_terrasse | WEST                           
      |                     |                               |

      | 30   | Gastronomie        | Angeschl. Bar                             |
      angeschl_gastronomie     | BAR                            
      |                     |                               |

      | 31   | Gastronomie        | Angeschl. Hotelrestaurant                 |
      angeschl_gastronomie     | HOTELRESTAURANT                
      |                     |                               |

      | 32   | Gastronomie        | Brauereibindung                           |
      brauereibindung          | -                              
      |                     |                               |

      | 33   | Bad                | Bad mit Fenster                           |
      bad                      | FENSTER                        
      |                     |                               |

      | 34   | Bad                | Badewanne                                 |
      bad                      | WANNE                          
      |                     |                               |

      | 35   | Bad                | Dusche                                    |
      bad                      | DUSCHE                         
      |                     |                               |

      | 36   | Serviceleistungen  | Betreutes Wohnen                          |
      serviceleistungen        | BETREUTES_WOHNEN               
      |                     |                               |

      | 37   | Serviceleistungen  | Catering                                  |
      serviceleistungen        | CATERING                       
      |                     |                               |

      | 38   | Serviceleistungen  | Einkaufsservice                           |
      serviceleistungen        | EINKAUF                        
      |                     |                               |

      | 39   | Serviceleistungen  | Reinigungsservice                         |
      serviceleistungen        | REINIGUNG                      
      |                     |                               |

      | 40   | Serviceleistungen  | Wachdienst                                |
      serviceleistungen        | WACHDIENST                     
      |                     |                               |

      | 41   | Elektrik           | DV-Verkabelung                            |
      dv_verkabelung           | -                              
      |                     |                               |

      | 42   | Fernsehen          | Kabel/Satelliten-TV                       |
      kabel_sat_tv             | -                              
      |                     |                               |

      | 43   | Stellplatzart      | Carport                                   |
      stellplatzart            | CARPORT                        
      |                     |                               |

      | 44   | Stellplatzart      | Garage                                    |
      stellplatzart            | GARAGE                         
      |                     |                               |

      | 45   | Stellplatzart      | Parkhaus                                  |
      stellplatzart            | PARKHAUS                       
      |                     |                               |

      | 46   | Stellplatzart      | Parkplatz                                 |
      stellplatzart            | FREIPLATZ                      
      |                     |                               |

      | 47   | Stellplatzart      | Parkplatz (Duplex Garage)                 |
      stellplatzart            | DUPLEX                         
      |                     |                               |

      | 48   | Stellplatzart      | Tiefgarage                                |
      stellplatzart            | TIEFGARAGE                     
      |                     |                               |

      | 49   | Extras             | Alarmanlage                               |
      sicherheitstechnik       | ALARMANLAGE                    
      |                     |                               |

      | 50   | Gastronomie        | Gastterrasse                              |
      gastterrasse             | -                              
      |                     |                               |

      | 51   | Extras             | Hebebühne                                 |
      hebebuehne               | -                              
      |                     |                               |

      | 52   | Gastronomie        | Kantine / Cafeteria                       |
      kantine_cafeteria        | -                              
      |                     |                               |

      | 53   | Extras             | Kran                                      |
      kran                     | -                              
      |                     |                               |

      | 54   | Extras             | Polizeiruf                                |
      sicherheitstechnik       | POLIZEIRUF                     
      |                     |                               |

      | 55   | Extras             | Rampe                                     |
      rampe                    | -                              
      |                     |                               |

      | 56   | Extras             | Sauna                                     |
      sauna                    | -                              
      |                     |                               |

      | 57   | Extras             | Sicherheitskamera                         |
      sicherheitstechnik       | KAMERA                         
      |                     |                               |

      | 58   | Extras             | Sporteinrichtungen                        |
      sporteinrichtungen       | -                              
      |                     |                               |

      | 59   | Extras             | Swimmingpool                              |
      swimmingpool             | -                              
      |                     |                               |

      | 60   | Küche              | Teeküche                                  |
      teekueche                | -                              
      |                     |                               |

      | 61   | Extras             | Wasch/Trockenraum                         |
      wasch_trockenraum        | -                              
      |                     |                               |

      | 78   | Belüftung          | Klimaanlage                               |
      klimatisiert             | -                              
      |                     |                               |

      | 93   | Befeuerung         | Luftwärmepumpe                            |
      befeuerung               | LUFTWP                         
      |                     |                               |

      | 94   | Befeuerung         | Pellets                                   |
      befeuerung               | PELLET                         
      |                     |                               |

      | 96   | Boden              | Fertigparkett                             |
      boden                    | FERTIGPARKETT                  
      |                     |                               |

      | 97   | Boden              | Linoleum                                  |
      boden                    | LINOLEUM                       
      |                     |                               |

      | 98   | Boden              | Marmor                                    |
      boden                    | MARMOR                         
      |                     |                               |

      | 99   | Boden              | Terrakotta                                |
      boden                    | TERRAKOTTA                     
      |                     |                               |

      | 100  | Befeuerung         | Wasser-Elektro                            |
      befeuerung               | WASSER-ELEKTRO                 
      |                     |                               |

      | 101  | Befeuerung         | Blockheizkraftwerk                        |
      befeuerung               | BLOCK                          
      |                     |                               |

      | 102  | Befeuerung         | Fernwärme                                 |
      befeuerung               | FERN                           
      |                     |                               |

      | 103  | Balkon             | Nordostbalkon                             |
      ausricht_balkon_terrasse | NORDOST                        
      |                     |                               |

      | 104  | Balkon             | Nordwestbalkon                            |
      ausricht_balkon_terrasse | NORDWEST                       
      |                     |                               |

      | 105  | Balkon             | Südostbalkon                              |
      ausricht_balkon_terrasse | SUEDOST                        
      |                     |                               |

      | 106  | Balkon             | Südwestbalkon                             |
      ausricht_balkon_terrasse | SUEDWEST                       
      |                     |                               |

      | 107  | Bad                | Bidet                                     |
      bad                      | BIDET                          
      |                     |                               |

      | 108  | WCs                | Pissoir                                   |
      bad                      | PISSOIR                        
      |                     |                               |

      | 109  | Küche              | Pantryküche (Miniküche oder Schrankküche) |
      kueche                   | PANTRY                         
      |                     |                               |

      | 110  | Räume              | WG geeignet                               |
      wg_geeignet              | -                              
      |                     |                               |

      | 111  | Extras             | Wintergarten                              |
      wintergarten             | -                              
      |                     |                               |

      | 112  | Extras             | Fahrradraum                               |
      fahrradraum              | -                              
      |                     |                               |

      | 113  | Extras             | Abstellraum                               |
      abstellraum              | -                              
      |                     |                               |

      | 114  | Extras             | Seniorengerecht                           |
      seniorengerecht          | -                              
      |                     |                               |

      | 115  | Räume              | Räume veränderbar                         |
      raeume_veraenderbar      | -                              
      |                     |                               |

      | 116  | Boden              | Granit                                    |
      boden                    | GRANIT                         
      |                     |                               |

      | 117  | Befeuerung         | Flüssiggas                                |
      befeuerung               | FLUESSIGGAS                    
      |                     |                               |

      | 118  | Befeuerung         | Holz                                      |
      befeuerung               | HOLZ                           
      |                     |                               |

      | 119  | Befeuerung         | Kohle                                     |
      befeuerung               | KOHLE                          
      |                     |                               |

      | 120  | Extras             | Gartennutzung                             |
      gartennutzung            | -                              
      |                     |                               |

      | 121  | Extras             | Rollstuhlgerecht                          |
      rollstuhlgerecht         | -                              
      |                     |                               |

      | 122  | Fernsehen          | DVB-T                                     |
      dvbt                     | -                              
      |                     |                               |

      | 123  | Extras             | Wellnessbereich                           |
      wellnessbereich          | -                              
      |                     |                               |

      | 124  | Energietyp         | KfW-Effizienzhaus 40                      |
      energietyp               | KFW40                          
      |                     |                               |

      | 125  | Energietyp         | KfW-Effizienzhaus 55                      |
      energietyp               | KFW55                          
      |                     |                               |

      | 126  | Energietyp         | KfW-Effizienzhaus 60                      |
      energietyp               | KFW60                          
      |                     |                               |

      | 127  | Energietyp         | KfW-Effizienzhaus 70                      |
      energietyp               | KFW70                          
      |                     |                               |

      | 128  | Energietyp         | Minergie zertifiziert                     |
      energietyp               | MINERGIE_ZERTIFIZIERT          
      |                     |                               |

      | 129  | Energietyp         | Minergie Bauweise                         |
      energietyp               | MINERGIEBAUWEISE               
      |                     |                               |

      | 130  | Energietyp         | Neubaustandard                            |
      energietyp               | NEUBAUSTANDARD                 
      |                     |                               |

      | 131  | Energietyp         | Niedrigenergiehaus                        |
      energietyp               | NIEDRIGENERGIE                 
      |                     |                               |

      | 132  | Energietyp         | Passivhaus                                |
      energietyp               | PASSIVHAUS                     
      |                     |                               |

      | 147  | Elektrik           | Kabelkanäle entlang Parapet               |
      kabelkanaele             | -                              
      |                     |                               |

      | 148  | Elektrik           | Kabelkanäle Unterputz                     |
      kabelkanaele             | -                              
      |                     |                               |

      | 149  | Elektrik           | Kabelkanäle Oberputz                      |
      kabelkanaele             | -                              
      |                     |                               |

      | 166  | Fenster            | Rollladen                                 |
      rolladen                 | -                              
      |                     |                               |

      | 167  | WCs                | Gäste-WC                                  |
      gaestewc                 | -                              
      |                     |                               |

      | 168  | Dachform           | Flachdach                                 |
      dachform                 | FLACHDACH                      
      |                     |                               |

      | 169  | Dachform           | Krüppelwalmdach                           |
      dachform                 | KRUEPPELWALMDACH               
      |                     |                               |

      | 170  | Dachform           | Mansarddach                               |
      dachform                 | MANSARDDACH                    
      |                     |                               |

      | 171  | Dachform           | Pultdach                                  |
      dachform                 | PULTDACH                       
      |                     |                               |

      | 172  | Dachform           | Pyramidendach                             |
      dachform                 | PYRAMIDENDACH                  
      |                     |                               |

      | 173  | Dachform           | Satteldach                                |
      dachform                 | SATTELDACH                     
      |                     |                               |

      | 174  | Dachform           | Walmdach                                  |
      dachform                 | WALMDACH                       
      |                     |                               |

      | 175  | Bauweise           | Fertigteil                                |
      bauweise                 | FERTIGTEILE                    
      |                     |                               |

      | 176  | Bauweise           | Holz                                      |
      bauweise                 | HOLZ                           
      |                     |                               |

      | 177  | Bauweise           | Massiv                                    |
      bauweise                 | MASSIV                         
      |                     |                               |

      | 178  | Ausbaustufe        | Ausbauhaus                                |
      ausbaustufe              | AUSBAUHAUS                     
      |                     |                               |

      | 179  | Ausbaustufe        | Bausatzhaus                               |
      ausbaustufe              | BAUSATZHAUS                    
      |                     |                               |

      | 180  | Ausbaustufe        | Schlüsselfertig mit Bodenplatte           |
      ausbaustufe              | SCHLUESSELFERTIGMITBODENPLATTE 
      |                     |                               |

      | 181  | Ausbaustufe        | Schlüsselfertig mit Keller                |
      ausbaustufe              | SCHLUESSELFERTIGMITKELLER      
      |                     |                               |

      | 182  | Ausbaustufe        | Schlüsselfertig ohne Bodenplatte          |
      ausbaustufe              | SCHLUESSELFERTIGOHNEBODENPLATTE
      |                     |                               |

      | 1021 | Gebäudezertifikate | klimaaktiv                                |
      -                        | -                               |
      gebaeudezertifikate | KLIMAAKTIV                    |

      | 1024 | Gebäudezertifikate | ÖGNB                                      |
      -                        | -                               |
      gebaeudezertifikate | OGNB                          |

      | 1027 | Gebäudezertifikate | ÖGNI                                      |
      -                        | -                               |
      gebaeudezertifikate | OGNI                          |

      | 1030 | Gebäudezertifikate | IBO ÖKOPASS                               |
      -                        | -                               |
      gebaeudezertifikate | IBO_OKOPASS                   |

      | 1033 | Gebäudezertifikate | EU greenbuilding                          |
      -                        | -                               |
      gebaeudezertifikate | EU_GREENBUILDING              |

      | 1036 | Gebäudezertifikate | LEED                                      |
      -                        | -                               |
      gebaeudezertifikate | LEED                          |

      | 1039 | Gebäudezertifikate | BREEAM                                    |
      -                        | -                               |
      gebaeudezertifikate | BREEAM                        |

      | 1042 | Heizungsart        | Nahwärme                                  |
      -                        | -                               |
      heizungsart         | NAHWAERME                     |

      | 1045 | Heizungsart        | Infrarotheizung                           |
      -                        | -                               |
      heizungsart         | INFRAROTHEIZUNG               |

      | 1048 | Elektrik           | E-Ladestation für KFZ                     |
      -                        | -                               |
      elektrik            | E_LADESTATION_FUER_KFZ        |

      | 1051 | Elektrik           | Photovoltaik Anlage                       |
      -                        | -                               |
      elektrik            | PHOTOVOLTAIK_ANLAGE           |

      | 1054 | Elektrik           | Smart Home System                         |
      -                        | -                               |
      elektrik            | SMART_HOME_SYSTEM             |

      | 1057 | Serviceleistungen  | Hausverwaltung Smartphone App             |
      -                        | -                               |
      serviceleistungen   | HAUSVERWALTUNG_SMARTPHONE_APP |

      | 1060 | Extras             | Paketempfangsbox                          |
      -                        | -                               |
      extras              | PAKETEMPFANGSBOX              |


      <a name="Feat1"></a>


      ### Boden


      | ID  | Group | Name            | XML Element | XML Attribute |

      |-----|-------|-----------------|-------------|---------------|

      | 1   | Boden | Dielen          | boden       | DIELEN        |

      | 2   | Boden | Doppelboden     | boden       | DOPPELBODEN   |

      | 3   | Boden | Estrich         | boden       | ESTRICH       |

      | 4   | Boden | Fliesen         | boden       | FLIESEN       |

      | 5   | Boden | Kunststoffboden | boden       | KUNSTSTOFF    |

      | 6   | Boden | Laminat         | boden       | LAMINAT       |

      | 7   | Boden | Parkett         | boden       | PARKETT       |

      | 8   | Boden | Steinboden      | boden       | STEIN         |

      | 9   | Boden | Teppichboden    | boden       | TEPPICH       |

      | 96  | Boden | Fertigparkett   | boden       | FERTIGPARKETT |

      | 97  | Boden | Linoleum        | boden       | LINOLEUM      |

      | 98  | Boden | Marmor          | boden       | MARMOR        |

      | 99  | Boden | Terrakotta      | boden       | TERRAKOTTA    |

      | 116 | Boden | Granit          | boden       | GRANIT        |


      <a name="Feat2"></a>


      ### Befeuerung


      | ID  | Group      | Name               | XML Element | XML Attribute  |

      |-----|------------|--------------------|-------------|----------------|

      | 10  | Befeuerung | Alternativ         | befeuerung  | ALTERNATIV     |

      | 11  | Befeuerung | Elektro            | befeuerung  | ELEKTRO        |

      | 12  | Befeuerung | Erdwärme           | befeuerung  | ERDWAERME      |

      | 13  | Befeuerung | Gas                | befeuerung  | GAS            |

      | 14  | Befeuerung | Öl                 | befeuerung  | OEL            |

      | 15  | Befeuerung | Solarenergie       | befeuerung  | SOLAR          |

      | 93  | Befeuerung | Luftwärmepumpe     | befeuerung  | LUFTWP         |

      | 94  | Befeuerung | Pellets            | befeuerung  | PELLET         |

      | 100 | Befeuerung | Wasser-Elektro     | befeuerung  | WASSER-ELEKTRO |

      | 101 | Befeuerung | Blockheizkraftwerk | befeuerung  | BLOCK          |

      | 102 | Befeuerung | Fernwärme          | befeuerung  | FERN           |

      | 117 | Befeuerung | Flüssiggas         | befeuerung  | FLUESSIGGAS    |

      | 118 | Befeuerung | Holz               | befeuerung  | HOLZ           |

      | 119 | Befeuerung | Kohle              | befeuerung  | KOHLE          |


      <a name="Feat3"></a>


      ### Heizungsart


      | ID   | Group       | Name            | XML Element | XML Attribute |
      UDAF XML Element | UDAF Attribute  |

      |------|-------------|-----------------|-------------|---------------|------------------|-----------------|

      | 16   | Heizungsart | Etagenheizung   | heizungsart | ETAGE        
      |                  |                 |

      | 17   | Heizungsart | Fernwärme       | heizungsart | FERN         
      |                  |                 |

      | 18   | Heizungsart | Fußbodenheizung | heizungsart | FUSSBODEN    
      |                  |                 |

      | 19   | Heizungsart | Heizofen        | heizungsart | OFEN         
      |                  |                 |

      | 20   | Heizungsart | Kamin           | kamin       | -            
      |                  |                 |

      | 21   | Heizungsart | Zentralheizung  | heizungsart | ZENTRAL      
      |                  |                 |

      | 1042 | Heizungsart | Nahwärme        | -           | -             |
      heizungsart      | NAHWAERME       |

      | 1045 | Heizungsart | Infrarotheizung | -           | -             |
      heizungsart      | INFRAROTHEIZUNG |


      <a name="Feat4"></a>


      ### Küche


      | ID  | Group | Name                                      | XML Element |
      XML Attribute |

      |-----|-------|-------------------------------------------|-------------|---------------|

      | 22  | Küche | Einbauküche                               | kueche      |
      EBK           |

      | 23  | Küche | Wohnküche / offene Küche                  | kueche      |
      OFFEN         |

      | 60  | Küche | Teeküche                                  | teekueche   |
      -             |

      | 109 | Küche | Pantryküche (Miniküche oder Schrankküche) | kueche      |
      PANTRY        |


      <a name="Feat5"></a>


      ### Fahrstuhl


      | ID | Group     | Name           | XML Element | XML Attribute |

      |----|-----------|----------------|-------------|---------------|

      | 24 | Fahrstuhl | Lastenaufzug   | fahrstuhl   | LASTEN        |

      | 25 | Fahrstuhl | Personenaufzug | fahrstuhl   | PERSONEN      |


      <a name="Feat6"></a>


      ### Balkon


      | ID  | Group  | Name           | XML Element              | XML Attribute
      |

      |-----|--------|----------------|--------------------------|---------------|

      | 26  | Balkon | Nordbalkon     | ausricht_balkon_terrasse | NORD         
      |

      | 27  | Balkon | Ostbalkon      | ausricht_balkon_terrasse | OST          
      |

      | 28  | Balkon | Südbalkon      | ausricht_balkon_terrasse | SUED         
      |

      | 29  | Balkon | Westbalkon     | ausricht_balkon_terrasse | WEST         
      |

      | 103 | Balkon | Nordostbalkon  | ausricht_balkon_terrasse | NORDOST      
      |

      | 104 | Balkon | Nordwestbalkon | ausricht_balkon_terrasse | NORDWEST     
      |

      | 105 | Balkon | Südostbalkon   | ausricht_balkon_terrasse | SUEDOST      
      |

      | 106 | Balkon | Südwestbalkon  | ausricht_balkon_terrasse | SUEDWEST     
      |


      <a name="Feat7"></a>


      ### Gastronomie


      | ID | Group       | Name                      | XML Element          |
      XML Attribute   |

      |----|-------------|---------------------------|----------------------|-----------------|

      | 30 | Gastronomie | Angeschl. Bar             | angeschl_gastronomie |
      BAR             |

      | 31 | Gastronomie | Angeschl. Hotelrestaurant | angeschl_gastronomie |
      HOTELRESTAURANT |

      | 32 | Gastronomie | Brauereibindung           | brauereibindung      |
      -               |

      | 50 | Gastronomie | Gastterrasse              | gastterrasse         |
      -               |

      | 52 | Gastronomie | Kantine / Cafeteria       | kantine_cafeteria    |
      -               |


      <a name="Feat8"></a>


      ### Bad


      | ID  | Group | Name            | XML Element | XML Attribute |

      |-----|-------|-----------------|-------------|---------------|

      | 33  | Bad   | Bad mit Fenster | bad         | FENSTER       |

      | 34  | Bad   | Badewanne       | bad         | WANNE         |

      | 35  | Bad   | Dusche          | bad         | DUSCHE        |

      | 107 | Bad   | Bidet           | bad         | BIDET         |


      <a name="Feat9"></a>


      ### Serviceleistungen


      | ID   | Group             | Name                          | XML
      Element       | XML Attribute    | UDAF XML Element  | UDAF
      Attribute                |

      |------|-------------------|-------------------------------|-------------------|------------------|-------------------|-------------------------------|

      | 36   | Serviceleistungen | Betreutes Wohnen              |
      serviceleistungen | BETREUTES_WOHNEN |                  
      |                               |

      | 37   | Serviceleistungen | Catering                      |
      serviceleistungen | CATERING         |                  
      |                               |

      | 38   | Serviceleistungen | Einkaufsservice               |
      serviceleistungen | EINKAUF          |                  
      |                               |

      | 39   | Serviceleistungen | Reinigungsservice             |
      serviceleistungen | REINIGUNG        |                  
      |                               |

      | 40   | Serviceleistungen | Wachdienst                    |
      serviceleistungen | WACHDIENST       |                  
      |                               |

      | 1057 | Serviceleistungen | Hausverwaltung Smartphone App |
      -                 | -                | serviceleistungen |
      HAUSVERWALTUNG_SMARTPHONE_APP |


      <a name="Feat10"></a>


      ### Fernsehen


      | ID  | Group     | Name                | XML Element    | XML Attribute |

      |-----|-----------|---------------------|----------------|---------------|

      | 41  | Fernsehen | DV-Verkabelung      | dv_verkabelung | -             |

      | 42  | Fernsehen | Kabel/Satelliten-TV | kabel_sat_tv   | -             |

      | 122 | Fernsehen | DVB-T               | dvbt           | -             |


      <a name="Feat11"></a>


      ### Stellplatzart


      | ID | Group         | Name                      | XML Element   | XML
      Attribute |

      |----|---------------|---------------------------|---------------|---------------|

      | 43 | Stellplatzart | Carport                   | stellplatzart |
      CARPORT       |

      | 44 | Stellplatzart | Garage                    | stellplatzart |
      GARAGE        |

      | 45 | Stellplatzart | Parkhaus                  | stellplatzart |
      PARKHAUS      |

      | 46 | Stellplatzart | Parkplatz                 | stellplatzart |
      FREIPLATZ     |

      | 47 | Stellplatzart | Parkplatz (Duplex Garage) | stellplatzart |
      DUPLEX        |

      | 48 | Stellplatzart | Tiefgarage                | stellplatzart |
      TIEFGARAGE    |


      <a name="Feat12"></a>


      ### Extras


      | ID   | Group  | Name               | XML Element        | XML Attribute
      | UDAF XML Element | UDAF Attribute   |

      |------|--------|--------------------|--------------------|---------------|------------------|------------------|

      | 49   | Extras | Alarmanlage        | sicherheitstechnik | ALARMANLAGE  
      |                  |                  |

      | 51   | Extras | Hebebühne          | hebebuehne         | -            
      |                  |                  |

      | 53   | Extras | Kran               | kran               | -            
      |                  |                  |

      | 54   | Extras | Polizeiruf         | sicherheitstechnik | POLIZEIRUF   
      |                  |                  |

      | 55   | Extras | Rampe              | rampe              | -            
      |                  |                  |

      | 56   | Extras | Sauna              | sauna              | -            
      |                  |                  |

      | 57   | Extras | Sicherheitskamera  | sicherheitstechnik | KAMERA       
      |                  |                  |

      | 58   | Extras | Sporteinrichtungen | sporteinrichtungen | -            
      |                  |                  |

      | 59   | Extras | Swimmingpool       | swimmingpool       | -            
      |                  |                  |

      | 61   | Extras | Wasch/Trockenraum  | wasch_trockenraum  | -            
      |                  |                  |

      | 111  | Extras | Wintergarten       | wintergarten       | -            
      |                  |                  |

      | 112  | Extras | Fahrradraum        | fahrradraum        | -            
      |                  |                  |

      | 113  | Extras | Abstellraum        | abstellraum        | -            
      |                  |                  |

      | 114  | Extras | Seniorengerecht    | seniorengerecht    | -            
      |                  |                  |

      | 120  | Extras | Gartennutzung      | gartennutzung      | -            
      |                  |                  |

      | 121  | Extras | Rollstuhlgerecht   | rollstuhlgerecht   | -            
      |                  |                  |

      | 123  | Extras | Wellnessbereich    | wellnessbereich    | -            
      |                  |                  |

      | 164  | Extras | UMTS-Empfang       | umts_empfang       | -            
      |                  |                  |

      | 165  | Extras | Bibliothek         | bibliothek         | -            
      |                  |                  |

      | 1060 | Extras | Paketempfangsbox   | -                  | -            
      | extras           | PAKETEMPFANGSBOX |


      <a name="Feat13"></a>


      ### Energietyp


      | ID  | Group      | Name                  | XML Element | XML
      Attribute         |

      |-----|------------|-----------------------|-------------|-----------------------|

      | 124 | Energietyp | KfW-Effizienzhaus 40  | energietyp  |
      KFW40                 |

      | 125 | Energietyp | KfW-Effizienzhaus 55  | energietyp  |
      KFW55                 |

      | 126 | Energietyp | KfW-Effizienzhaus 60  | energietyp  |
      KFW60                 |

      | 127 | Energietyp | KfW-Effizienzhaus 70  | energietyp  |
      KFW70                 |

      | 128 | Energietyp | Minergie zertifiziert | energietyp  |
      MINERGIE_ZERTIFIZIERT |

      | 129 | Energietyp | Minergie Bauweise     | energietyp  |
      MINERGIEBAUWEISE      |

      | 130 | Energietyp | Neubaustandard        | energietyp  |
      NEUBAUSTANDARD        |

      | 131 | Energietyp | Niedrigenergiehaus    | energietyp  |
      NIEDRIGENERGIE        |

      | 132 | Energietyp | Passivhaus            | energietyp  |
      PASSIVHAUS            |


      <a name="Feat14"></a>


      ### Belüftung


      | ID | Group     | Name        | XML Element  | XML Attribute |

      |----|-----------|-------------|--------------|---------------|

      | 78 | Belüftung | Klimaanlage | klimatisiert | -             |


      <a name="Feat15"></a>


      ### Räume


      | ID  | Group | Name              | XML Element         | XML Attribute |

      |-----|-------|-------------------|---------------------|---------------|

      | 110 | Räume | WG geeignet       | wg_geeignet         | -             |

      | 115 | Räume | Räume veränderbar | raeume_veraenderbar | -             |


      <a name="Feat16"></a>


      ### Elektrik


      | ID   | Group    | Name                        | XML Element    | XML
      Attribute | UDAF XML Element | UDAF Attribute         |

      |------|----------|-----------------------------|----------------|---------------|------------------|------------------------|

      | 41   | Elektrik | DV-Verkabelung              | dv_verkabelung |
      -             |                  |                        |

      | 147  | Elektrik | Kabelkanäle entlang Parapet | kabelkanaele   |
      -             |                  |                        |

      | 148  | Elektrik | Kabelkanäle Unterputz       | kabelkanaele   |
      -             |                  |                        |

      | 149  | Elektrik | Kabelkanäle Oberputz        | kabelkanaele   |
      -             |                  |                        |

      | 1048 | Elektrik | E-Ladestation für KFZ       | -              |
      -             | elektrik         | E_LADESTATION_FUER_KFZ |

      | 1051 | Elektrik | Photovoltaik Anlage         | -              |
      -             | elektrik         | PHOTOVOLTAIK_ANLAGE    |

      | 1054 | Elektrik | Smart Home System           | -              |
      -             | elektrik         | SMART_HOME_SYSTEM      |


      <a name="Feat17"></a>


      ### Fenster


      | ID  | Group   | Name      | XML Element | XML Attribute |

      |-----|---------|-----------|-------------|---------------|

      | 166 | Fenster | Rollladen | rolladen    | -             |


      <a name="Feat19"></a>


      ### WCs


      | ID  | Group | Name     | XML Element | XML Attribute |

      |-----|-------|----------|-------------|---------------|

      | 108 | WCs   | Pissoir  | bad         | PISSOIR       |

      | 167 | WCs   | Gäste-WC | gaestewc    | -             |


      <a name="Feat20"></a>


      ### Dachform


      | ID  | Group    | Name            | XML Element | XML Attribute    |

      |-----|----------|-----------------|-------------|------------------|

      | 168 | Dachform | Flachdach       | dachform    | FLACHDACH        |

      | 169 | Dachform | Krüppelwalmdach | dachform    | KRUEPPELWALMDACH |

      | 170 | Dachform | Mansarddach     | dachform    | MANSARDDACH      |

      | 171 | Dachform | Pultdach        | dachform    | PULTDACH         |

      | 172 | Dachform | Pyramidendach   | dachform    | PYRAMIDENDACH    |

      | 173 | Dachform | Satteldach      | dachform    | SATTELDACH       |

      | 174 | Dachform | Walmdach        | dachform    | WALMDACH         |


      <a name="Feat21"></a>


      ### Bauweise


      | ID  | Group    | Name       | XML Element | XML Attribute |

      |-----|----------|------------|-------------|---------------|

      | 175 | Bauweise | Fertigteil | bauweise    | FERTIGTEILE   |

      | 176 | Bauweise | Holz       | bauweise    | HOLZ          |

      | 177 | Bauweise | Massiv     | bauweise    | MASSIV        |


      <a name="Feat22"></a>


      ### Ausbaustufe


      | ID  | Group       | Name                             | XML Element | XML
      Attribute                   |

      |-----|-------------|----------------------------------|-------------|---------------------------------|

      | 178 | Ausbaustufe | Ausbauhaus                       | ausbaustufe |
      AUSBAUHAUS                      |

      | 179 | Ausbaustufe | Bausatzhaus                      | ausbaustufe |
      BAUSATZHAUS                     |

      | 180 | Ausbaustufe | Schlüsselfertig mit Bodenplatte  | ausbaustufe |
      SCHLUESSELFERTIGMITBODENPLATTE  |

      | 181 | Ausbaustufe | Schlüsselfertig mit Keller       | ausbaustufe |
      SCHLUESSELFERTIGMITKELLER       |

      | 182 | Ausbaustufe | Schlüsselfertig ohne Bodenplatte | ausbaustufe |
      SCHLUESSELFERTIGOHNEBODENPLATTE |


      <a name="Feat25"></a>


      ### Gebäudezertifikate


      | ID   | Group              | Name             | XML Element | XML
      Attribute | UDAF XML Element    | UDAF Attribute   |

      |------|--------------------|------------------|-------------|---------------|---------------------|------------------|

      | 1021 | Gebäudezertifikate | klimaaktiv       | -           |
      -             | gebaeudezertifikate | KLIMAAKTIV       |

      | 1024 | Gebäudezertifikate | ÖGNB             | -           |
      -             | gebaeudezertifikate | OGNB             |

      | 1027 | Gebäudezertifikate | ÖGNI             | -           |
      -             | gebaeudezertifikate | OGNI             |

      | 1030 | Gebäudezertifikate | IBO ÖKOPASS      | -           |
      -             | gebaeudezertifikate | IBO_OKOPASS      |

      | 1033 | Gebäudezertifikate | EU greenbuilding | -           |
      -             | gebaeudezertifikate | EU_GREENBUILDING |

      | 1036 | Gebäudezertifikate | LEED             | -           |
      -             | gebaeudezertifikate | LEED             |

      | 1039 | Gebäudezertifikate | BREEAM           | -           |
      -             | gebaeudezertifikate | BREEAM           |
  - name: reference_realty_ownership_types
    x-displayName: Realty Ownership Types
    description: |
      | ID | Name                                         | 
      |----|----------------------------------------------| 
      | 1  | Alleineigentum                               |
      | 2  | Miteigentum                                  |
      | 3  | Miteigentum m. Benutzungsregelung            |
      | 4  | Wohnungseigentum                             |
      | 5  | Wohnungseigentum geplant                     |
      | 6  | Wohnungseigentum in Entstehung               |
      | 7  | Baurecht                                     |
      | 8  | Superädifikat                                |
      | 9  | Schlichtes Miteigentum                       |
      | 10 | Schlichtes Miteigentum m. Benutzungsregelung |
  - name: reference_realty_status
    x-displayName: Realty Status
    description: >
      List of all available main realty status (Objektstatus) of Justimmo


      | ID | Name               | 

      |----|--------------------| 

      | 4  | Entwurf            |

      | 5  | aktiv              |

      | 6  | inaktiv            |

      | 7  | reserviert         |

      | 8  | vermittelt         |

      | 9  | storniert          |

      | 10 | fremdvermittelt    |

      | 11 | Vertragserrichtung |


      When requesting realties that are "vermittelt", only those marked as
      "Referenzobjekt" will be returned.

      This also requires the setting "Referenzobjekte exportieren" to be enabled
      for the API Export Feed.
  - name: reference_realty_style_of_buildings
    x-displayName: Realty Style of Buildings
    description: |
      List of all available style of buildings (Bauarten) of Justimmo

      | ID | Name   | 
      |----|--------|
      | 1  | Altbau |
      | 2  | Neubau |
  - name: reference_realty_system_types
    x-displayName: Realty System Types
    description: >
      A realty system type is an internal type for Justimmo realties which
      defines further functionality and usage of the realty.


      List of all available realty system types of Justimmo.


      | Name                |
      Usage                                                                                                                     
      |

      |---------------------|----------------------------------------------------------------------------------------------------------------------------|

      | simple              | Simple
      realty                                                                                                             
      |

      | commercial          | Commercial realty which can have multiple
      subrealties (eg a big office building which can be rented to multiple
      companies) |

      | area                | Subrealty of a commercial
      realty                                                                                          
      |

      | residential         | Residential realty which can have multiple
      subrealties                                                                    
      |

      | residential_subunit | Subrealty of a residential
      realty                                                                                         
      |
  - name: reference_realty_types
    x-displayName: Realty Types
    description: >
      ## Main Types


      List of all available main realty types (Objektarten) of Justimmo. If
      "OpenImmo Key" is empty, the Main Type is not part of the OpenImmo
      standard.


      | ID | Name                                   | OpenImmo
      Key                 |

      |----|----------------------------------------|------------------------------|

      | 1  | [Zimmer](#Sub1)                        |
      zimmer                       |

      | 2  | [Wohnung](#Sub2)                       |
      wohnung                      |

      | 3  | [Haus](#Sub3)                          |
      haus                         |

      | 4  | [Grundstück](#Sub4)                    |
      grundstueck                  |

      | 5  | [Büro / Praxis](#Sub5)                 |
      buero_praxen                 |

      | 6  | [Einzelhandel](#Sub6)                  |
      einzelhandel                 |

      | 7  | [Gastgewerbe](#Sub7)                   |
      gastgewerbe                  |

      | 8  | [Industrie / Gewerbe](#Sub8)           |
      hallen_lager_prod            |

      | 9  | [Land und Forstwirtschaft](#Sub9)      |
      land_und_forstwirtschaft     |

      | 10 | [Sonstige / Sonderobjekte](#Sub10)     |
      sonstige                     |

      | 11 | [Freizeitimmobilie gewerblich](#Sub11) |
      freizeitimmobilie_gewerblich |

      | 12 | [Zinshaus / Renditeobjekt](#Sub12)     |
      zinshaus_renditeobjekt       |

      | 13 | [Parken](#Sub13)                       |
      parken                       |


      ## Sub Types


      List of all available sub realty types (Unterobjektarten) of Justimmo. If
      "OpenImmo Key" is empty, the Sub Type is not part of the OpenImmo
      standard.


      | ID  | Name                               | OpenImmo
      Key                       |

      |-----|------------------------------------|------------------------------------|

      | 1   | Baugrund Eigenheim                 |
      WOHNEN                             |

      | 2   | Großvolumiger Wohnbau             
      |                                    |

      | 3   | Wohn- und Geschäftsbaugrund       
      |                                    |

      | 4   | Betriebsbaugrund                   |
      GEWERBE                            |

      | 5   | Seegrund                           |
      SEELIEGENSCHAFT                    |

      | 6   | Sonstiger Grund                   
      |                                    |

      | 7   | Industriebaugrund                  |
      INDUSTRIE                          |

      | 8   | Einfamilienhaus                    |
      EINFAMILIENHAUS                    |

      | 9   | Mehrfamilienhaus                   |
      MEHRFAMILIENHAUS                   |

      | 10  | Reihenhaus                         |
      REIHENHAUS                         |

      | 11  | Bauernhaus                         |
      BAUERNHAUS                         |

      | 12  | Laube-Datsche-Gartenhaus           |
      LAUBE-DATSCHE-GARTENHAUS           |

      | 13  | Sonstiges Haus                    
      |                                    |

      | 14  | Rohbau                            
      |                                    |

      | 15  | Reihenendhaus                      |
      REIHENEND                          |

      | 16  | Reihenmittelhaus                   |
      REIHENMITTEL                       |

      | 17  | Reiheneckhaus                      |
      REIHENECK                          |

      | 18  | Doppelhaushälfte                   |
      DOPPELHAUSHAELFTE                  |

      | 19  | Bungalow                           |
      BUNGALOW                           |

      | 20  | Villa                              |
      VILLA                              |

      | 21  | Strandhaus                         |
      STRANDHAUS                         |

      | 22  | Landhaus                           |
      LANDHAUS                           |

      | 23  | Terrassenhaus                     
      |                                    |

      | 24  | Sacherl                           
      |                                    |

      | 25  | Büro                              
      |                                    |

      | 26  | Bürohaus                           |
      BUEROHAUS                          |

      | 27  | Sonstiges Büro                    
      |                                    |

      | 28  | Praxis                             |
      PRAXIS                             |

      | 29  | Ausstellungsfläche                 |
      AUSSTELLUNGSFLAECHE                |

      | 30  | Gastronomie/Restaurant             |
      GASTRONOMIE                        |

      | 31  | Imbiss                            
      |                                    |

      | 32  | Café                               |
      CAFE                               |

      | 33  | Veranstaltungsobjekt              
      |                                    |

      | 34  | Landwirtschaftliche Betriebe       |
      LANDWIRTSCHAFTLICHE_BETRIEBE       |

      | 35  | Bauernhof                          |
      BAUERNHOF                          |

      | 36  | Gartenbau                          |
      GARTENBAU                          |

      | 37  | Ackerbau                           |
      ACKERBAU                           |

      | 38  | Weinbau                            |
      WEINBAU                            |

      | 39  | Viehwirtschaft                     |
      VIEHWIRTSCHAFT                     |

      | 40  | Jagd und Forstwirtschaft           |
      JAGD_UND_FORSTWIRTSCHAFT           |

      | 41  | Jagdrevier                         |
      JAGDREVIER                         |

      | 42  | Teich / Fischzucht                 |
      TEICH_UND_FISCHWIRTSCHAFT          |

      | 43  | Scheune                            |
      SCHEUNEN                           |

      | 44  | Reiterhof                          |
      REITERHOEFE                        |

      | 45  | Wohnung                           
      |                                    |

      | 46  | Genossenschaftswohnung            
      |                                    |

      | 47  | Rohdachboden                       |
      ROHDACHBODEN                       |

      | 49  | Penthouse                          |
      PENTHOUSE                          |

      | 50  | Sonstige Wohnung                  
      |                                    |

      | 51  | Maisonette                         |
      MAISONETTE                         |

      | 52  | Loft-Studio-Atelier                |
      LOFT-STUDIO-ATELIER                |

      | 53  | Dachgeschoß                        |
      DACHGESCHOSS                       |

      | 54  | Terrassenwohnung                   |
      TERRASSEN                          |

      | 55  | Souterrain                         |
      SOUTERRAIN                         |

      | 56  | Vorsorgewohnung                   
      |                                    |

      | 57  | Schloss                            |
      SCHLOSS                            |

      | 59  | Garçonnière                       
      |                                    |

      | 60  | Apartment                          |
      APARTMENT                          |

      | 61  | Bürofläche                         |
      BUEROFLAECHE                       |

      | 62  | Ladenlokal                         |
      LADENLOKAL                         |

      | 63  | Einzelhandelsladen                 |
      EINZELHANDELSLADEN                 |

      | 64  | Verbrauchermarkt                   |
      VERBRAUCHERMARKT                   |

      | 65  | Einkaufszentrum                    |
      EINKAUFSZENTRUM                    |

      | 66  | Sportanlagen                       |
      SPORTANLAGEN                       |

      | 67  | Vergnügungsparks / -center         |
      VERGNUEGUNGSPARKS_UND_CENTER       |

      | 68  | Gastronomie und Wohnung            |
      GASTRONOMIE_UND_WOHNUNG            |

      | 69  | Pensionen                          |
      PENSIONEN                          |

      | 70  | Hotels                             |
      HOTELS                             |

      | 71  | weitere Beherbergungsbetriebe      |
      WEITERE_BEHERBERGUNGSBETRIEBE      |

      | 72  | Land- und Forstwirtschaft          |
      LAND_FORSTWIRSCHAFT                |

      | 73  | Freizeit                           |
      FREIZEIT                           |

      | 74  | Gemischt                           |
      GEMISCHT                           |

      | 75  | Sondernutzung                      |
      SONDERNUTZUNG                      |

      | 76  | Halle                              |
      HALLE                              |

      | 77  | Lager                              |
      LAGER                              |

      | 78  | Produktion / Betriebsobjekt        |
      PRODUKTION                         |

      | 79  | Werkstatt                          |
      WERKSTATT                          |

      | 80  | Hochregallager                     |
      HOCHREGALLAGER                     |

      | 81  | Service                            |
      SERVICE                            |

      | 82  | Freiflächen                        |
      FREIFLAECHEN                       |

      | 83  | Stadthaus                          |
      STADTHAUS                          |

      | 84  | Resthof                            |
      RESTHOF                            |

      | 85  | Zweifamilienhaus                   |
      ZWEIFAMILIENHAUS                   |

      | 86  | Ferienhaus                         |
      FERIENHAUS                         |

      | 87  | Berghütte                          |
      BERGHUETTE                         |

      | 88  | Chalet                             |
      CHALET                             |

      | 89  | Krankenhaus                        |
      KRANKENHAUS                        |

      | 90  | Pflegeheim                         |
      PFLEGEHEIM                         |

      | 91  | Sanatorium                         |
      SANATORIUM                         |

      | 92  | Seniorenheim                       |
      SENIORENHEIM                       |

      | 93  | Betreutes Wohnen                   |
      BETREUTES-WOHNEN                   |

      | 95  | Aussiedlerhof                      |
      AUSSIEDLERHOF                      |

      | 96  | Sonstige Landwirtschaftsimmobilien |
      SONSTIGE_LANDWIRTSCHAFTSIMMOBILIEN |

      | 97  | Parkhaus                           |
      PARKHAUS                           |

      | 98  | Tankstelle                         |
      TANKSTELLE                         |

      | 99  | Einzelgarage                       |
      EINZELGARAGE                       |

      | 100 | Stellplatz                         |
      STELLPLATZ                         |

      | 101 | Sonstige                           |
      SONSTIGE                           |

      | 102 | Etagenwohnung                      |
      ETAGE                              |

      | 103 | Erdgeschoß                         |
      ERDGESCHOSS                        |

      | 104 | Mehrfamilienhaus                   |
      MEHRFAMILIENHAUS                   |

      | 105 | Wohn- und Geschäftshaus            |
      WOHN_UND_GESCHAEFTSHAUS            |

      | 106 | Geschäftshaus                      |
      GESCHAEFTSHAUS                     |

      | 107 | Bürogebäude                        |
      BUEROGEBAEUDE                      |

      | 108 | Selbstbedienungsmärkte             |
      SB_MAERKTE                         |

      | 109 | Einkaufszentren                    |
      EINKAUFSCENTREN                    |

      | 110 | Wohnanlagen                        |
      WOHNANLAGEN                        |

      | 111 | Verbrauchermärkte                  |
      VERBRAUCHERMAERKTE                 |

      | 112 | Industrieanlagen                   |
      INDUSTRIEANLAGEN                   |

      | 113 | Geschäftslokal                    
      |                                    |

      | 114 | Renditeobjekt                     
      |                                    |

      | 115 | Verwertungsobjekt                 
      |                                    |

      | 116 | Entwicklungsobjekt                
      |                                    |

      | 117 | Gartenwohnung                     
      |                                    |

      | 118 | Apartmenthaus                      |
      APARTMENTHAUS                      |

      | 119 | Ferienwohnung                      |
      FERIENWOHNUNG                      |

      | 120 | Galeriewohnung                     |
      GALERIE                            |

      | 121 | Seeliegenschaft                    |
      SEELIEGENSCHAFT                    |

      | 122 | Seeliegenschaft                   
      |                                    |

      | 123 | Anwesen                            |
      ANWESEN                            |

      | 124 | Speditionslager                    |
      SPEDITIONSLAGER                    |

      | 125 | Bootsliegeplatz                    |
      BOOTSLIEGEPLATZ                    |

      | 126 | Burg                               |
      BURG                               |

      | 127 | Herrenhaus                         |
      HERRENHAUS                         |

      | 128 | Finca                              |
      FINCA                              |

      | 129 | Fertighaus                         |
      FERTIGHAUS                         |

      | 130 | Gewerbepark                        |
      GEWERBEPARK                        |

      | 131 | Bürozentrum                        |
      BUEROZENTRUM                       |

      | 132 | Loft / Atelier                     |
      LOFT_ATELIER                       |

      | 133 | Praxisfläche                       |
      PRAXISFLAECHE                      |

      | 134 | Praxishaus                         |
      PRAXISHAUS                         |

      | 135 | Coworking Space                    |
      COWORKING                          |

      | 136 | Shared Office                      |
      SHARED_OFFICE                      |

      | 137 | Kaufhaus                           |
      KAUFHAUS                           |

      | 138 | Factory outlet                     |
      FACTORY_OUTLET                     |

      | 141 | Kiosk                              |
      KIOSK                              |

      | 142 | Verkaufsfläche                     |
      VERKAUFSFLAECHE                    |

      | 143 | Ausstellungsfläche                 |
      AUSSTELLUNGSFLAECHE                |

      | 144 | Bar                                |
      BAR                                |

      | 145 | Discothek                          |
      DISCOTHEK                          |

      | 146 | Industriehalle                     |
      INDUSTRIEHALLE                     |

      | 147 | Lagerflächen                       |
      LAGERFLAECHEN                      |

      | 148 | Lager mit Freifläche               |
      LAGER_MIT_FREIFLAECHE              |

      | 149 | Kühlhaus                           |
      KUEHLHAUS                          |

      | 150 | Freizeitanlage                     |
      FREIZEITANLAGE                     |

      | 152 | Carport                            |
      CARPORT                            |

      | 153 | Doppelgarage                       |
      DOPPELGARAGE                       |

      | 154 | Duplex                             |
      DUPLEX                             |

      | 155 | Tiefgarage                         |
      TIEFGARAGE                         |

      | 156 | Parkhaus                           |
      PARKHAUS                           |

      | 157 | Tiefgaragenstellplatz              |
      TIEFGARAGENSTELLPLATZ              |

      | 158 | Parkplatz mit Ladestation          |
      PARKPLATZ_STROM                    |


      ## Sub Types by Main Types


      Lists of all Sub Types grouped by their corresponding Main Type.


      <a name="Sub1"></a>


      ### Zimmer


      None


      <a name="Sub2"></a>


      ### Wohnung


      | ID  | Name                   | OpenImmo Key        |

      |-----|------------------------|---------------------|

      | 45  | Wohnung                |                     |

      | 46  | Genossenschaftswohnung |                     |

      | 47  | Rohdachboden           | ROHDACHBODEN        |

      | 49  | Penthouse              | PENTHOUSE           |

      | 50  | Sonstige Wohnung       |                     |

      | 51  | Maisonette             | MAISONETTE          |

      | 52  | Loft-Studio-Atelier    | LOFT-STUDIO-ATELIER |

      | 53  | Dachgeschoß            | DACHGESCHOSS        |

      | 54  | Terrassenwohnung       | TERRASSEN           |

      | 55  | Souterrain             | SOUTERRAIN          |

      | 56  | Vorsorgewohnung        |                     |

      | 59  | Garçonnière            |                     |

      | 60  | Apartment              | APARTMENT           |

      | 102 | Etagenwohnung          | ETAGE               |

      | 103 | Erdgeschoß             | ERDGESCHOSS         |

      | 117 | Gartenwohnung          |                     |

      | 119 | Ferienwohnung          | FERIENWOHNUNG       |

      | 120 | Galeriewohnung         | GALERIE             |


      <a name="Sub3"></a>


      ### Haus


      | ID  | Name                     | OpenImmo Key             |

      |-----|--------------------------|--------------------------|

      | 8   | Einfamilienhaus          | EINFAMILIENHAUS          |

      | 9   | Mehrfamilienhaus         | MEHRFAMILIENHAUS         |

      | 10  | Reihenhaus               | REIHENHAUS               |

      | 11  | Bauernhaus               | BAUERNHAUS               |

      | 12  | Laube-Datsche-Gartenhaus | LAUBE-DATSCHE-GARTENHAUS |

      | 13  | Sonstiges Haus           |                          |

      | 14  | Rohbau                   |                          |

      | 15  | Reihenendhaus            | REIHENEND                |

      | 16  | Reihenmittelhaus         | REIHENMITTEL             |

      | 17  | Reiheneckhaus            | REIHENECK                |

      | 18  | Doppelhaushälfte         | DOPPELHAUSHAELFTE        |

      | 19  | Bungalow                 | BUNGALOW                 |

      | 20  | Villa                    | VILLA                    |

      | 21  | Strandhaus               | STRANDHAUS               |

      | 22  | Landhaus                 | LANDHAUS                 |

      | 23  | Terrassenhaus            |                          |

      | 24  | Sacherl                  |                          |

      | 57  | Schloss                  | SCHLOSS                  |

      | 83  | Stadthaus                | STADTHAUS                |

      | 84  | Resthof                  | RESTHOF                  |

      | 85  | Zweifamilienhaus         | ZWEIFAMILIENHAUS         |

      | 86  | Ferienhaus               | FERIENHAUS               |

      | 87  | Berghütte                | BERGHUETTE               |

      | 88  | Chalet                   | CHALET                   |

      | 118 | Apartmenthaus            | APARTMENTHAUS            |

      | 122 | Seeliegenschaft          |                          |

      | 126 | Burg                     | BURG                     |

      | 127 | Herrenhaus               | HERRENHAUS               |

      | 128 | Finca                    | FINCA                    |

      | 129 | Fertighaus               | FERTIGHAUS               |


      <a name="Sub4"></a>


      ### Grundstück


      | ID  | Name                        | OpenImmo Key        |

      |-----|-----------------------------|---------------------|

      | 1   | Baugrund Eigenheim          | WOHNEN              |

      | 2   | Großvolumiger Wohnbau       |                     |

      | 3   | Wohn- und Geschäftsbaugrund |                     |

      | 4   | Betriebsbaugrund            | GEWERBE             |

      | 5   | Seegrund                    | SEELIEGENSCHAFT     |

      | 6   | Sonstiger Grund             |                     |

      | 7   | Industriebaugrund           | INDUSTRIE           |

      | 72  | Land- und Forstwirtschaft   | LAND_FORSTWIRSCHAFT |

      | 73  | Freizeit                    | FREIZEIT            |

      | 74  | Gemischt                    | GEMISCHT            |

      | 75  | Sondernutzung               | SONDERNUTZUNG       |

      | 121 | Seeliegenschaft             | SEELIEGENSCHAFT     |

      | 130 | Gewerbepark                 | GEWERBEPARK         |


      <a name="Sub5"></a>


      ### Büro / Praxis


      | ID  | Name               | OpenImmo Key        |

      |-----|--------------------|---------------------|

      | 25  | Büro               |                     |

      | 26  | Bürohaus           | BUEROHAUS           |

      | 27  | Sonstiges Büro     |                     |

      | 28  | Praxis             | PRAXIS              |

      | 29  | Ausstellungsfläche | AUSSTELLUNGSFLAECHE |

      | 61  | Bürofläche         | BUEROFLAECHE        |

      | 131 | Bürozentrum        | BUEROZENTRUM        |

      | 132 | Loft / Atelier     | LOFT_ATELIER        |

      | 133 | Praxisfläche       | PRAXISFLAECHE       |

      | 134 | Praxishaus         | PRAXISHAUS          |

      | 135 | Coworking Space    | COWORKING           |

      | 136 | Shared Office      | SHARED_OFFICE       |


      <a name="Sub6"></a>


      ### Einzelhandel


      | ID  | Name               | OpenImmo Key        |

      |-----|--------------------|---------------------|

      | 62  | Ladenlokal         | LADENLOKAL          |

      | 63  | Einzelhandelsladen | EINZELHANDELSLADEN  |

      | 64  | Verbrauchermarkt   | VERBRAUCHERMARKT    |

      | 65  | Einkaufszentrum    | EINKAUFSZENTRUM     |

      | 113 | Geschäftslokal     |                     |

      | 137 | Kaufhaus           | KAUFHAUS            |

      | 138 | Factory outlet     | FACTORY_OUTLET      |

      | 141 | Kiosk              | KIOSK               |

      | 142 | Verkaufsfläche     | VERKAUFSFLAECHE     |

      | 143 | Ausstellungsfläche | AUSSTELLUNGSFLAECHE |


      <a name="Sub7"></a>


      ### Gastgewerbe


      | ID  | Name                          | OpenImmo Key                  |

      |-----|-------------------------------|-------------------------------|

      | 30  | Gastronomie/Restaurant        | GASTRONOMIE                   |

      | 31  | Imbiss                        |                               |

      | 32  | Café                          | CAFE                          |

      | 33  | Veranstaltungsobjekt          |                               |

      | 68  | Gastronomie und Wohnung       | GASTRONOMIE_UND_WOHNUNG       |

      | 69  | Pensionen                     | PENSIONEN                     |

      | 70  | Hotels                        | HOTELS                        |

      | 71  | weitere Beherbergungsbetriebe | WEITERE_BEHERBERGUNGSBETRIEBE |

      | 144 | Bar                           | BAR                           |

      | 145 | Discothek                     | DISCOTHEK                     |


      <a name="Sub8"></a>


      ### Industrie / Gewerbe


      | ID  | Name                        | OpenImmo Key          |

      |-----|-----------------------------|-----------------------|

      | 76  | Halle                       | HALLE                 |

      | 77  | Lager                       | LAGER                 |

      | 78  | Produktion / Betriebsobjekt | PRODUKTION            |

      | 79  | Werkstatt                   | WERKSTATT             |

      | 80  | Hochregallager              | HOCHREGALLAGER        |

      | 81  | Service                     | SERVICE               |

      | 82  | Freiflächen                 | FREIFLAECHEN          |

      | 124 | Speditionslager             | SPEDITIONSLAGER       |

      | 146 | Industriehalle              | INDUSTRIEHALLE        |

      | 147 | Lagerflächen                | LAGERFLAECHEN         |

      | 148 | Lager mit Freifläche        | LAGER_MIT_FREIFLAECHE |

      | 149 | Kühlhaus                    | KUEHLHAUS             |


      <a name="Sub9"></a>


      ### Land und Forstwirtschaft


      | ID  | Name                               | OpenImmo
      Key                       |

      |-----|------------------------------------|------------------------------------|

      | 34  | Landwirtschaftliche Betriebe       |
      LANDWIRTSCHAFTLICHE_BETRIEBE       |

      | 35  | Bauernhof                          |
      BAUERNHOF                          |

      | 36  | Gartenbau                          |
      GARTENBAU                          |

      | 37  | Ackerbau                           |
      ACKERBAU                           |

      | 38  | Weinbau                            |
      WEINBAU                            |

      | 39  | Viehwirtschaft                     |
      VIEHWIRTSCHAFT                     |

      | 40  | Jagd und Forstwirtschaft           |
      JAGD_UND_FORSTWIRTSCHAFT           |

      | 41  | Jagdrevier                         |
      JAGDREVIER                         |

      | 42  | Teich / Fischzucht                 |
      TEICH_UND_FISCHWIRTSCHAFT          |

      | 43  | Scheune                            |
      SCHEUNEN                           |

      | 44  | Reiterhof                          |
      REITERHOEFE                        |

      | 95  | Aussiedlerhof                      |
      AUSSIEDLERHOF                      |

      | 96  | Sonstige Landwirtschaftsimmobilien |
      SONSTIGE_LANDWIRTSCHAFTSIMMOBILIEN |

      | 123 | Anwesen                            |
      ANWESEN                            |


      <a name="Sub10"></a>


      ### Sonstige / Sonderobjekte


      | ID  | Name        | OpenImmo Key |

      |-----|-------------|--------------|

      | 89  | Krankenhaus | KRANKENHAUS  |

      | 97  | Parkhaus    | PARKHAUS     |

      | 98  | Tankstelle  | TANKSTELLE   |

      | 101 | Sonstige    | SONSTIGE     |


      <a name="Sub11"></a>


      ### Freizeitimmobilie gewerblich


      | ID  | Name                       | OpenImmo Key                 |

      |-----|----------------------------|------------------------------|

      | 66  | Sportanlagen               | SPORTANLAGEN                 |

      | 67  | Vergnügungsparks / -center | VERGNUEGUNGSPARKS_UND_CENTER |

      | 150 | Freizeitanlage             | FREIZEITANLAGE               |


      <a name="Sub12"></a>


      ### Zinshaus / Renditeobjekt


      | ID  | Name                    | OpenImmo Key            |

      |-----|-------------------------|-------------------------|

      | 90  | Pflegeheim              | PFLEGEHEIM              |

      | 91  | Sanatorium              | SANATORIUM              |

      | 92  | Seniorenheim            | SENIORENHEIM            |

      | 93  | Betreutes Wohnen        | BETREUTES-WOHNEN        |

      | 104 | Mehrfamilienhaus        | MEHRFAMILIENHAUS        |

      | 105 | Wohn- und Geschäftshaus | WOHN_UND_GESCHAEFTSHAUS |

      | 106 | Geschäftshaus           | GESCHAEFTSHAUS          |

      | 107 | Bürogebäude             | BUEROGEBAEUDE           |

      | 108 | Selbstbedienungsmärkte  | SB_MAERKTE              |

      | 109 | Einkaufszentren         | EINKAUFSCENTREN         |

      | 110 | Wohnanlagen             | WOHNANLAGEN             |

      | 111 | Verbrauchermärkte       | VERBRAUCHERMAERKTE      |

      | 112 | Industrieanlagen        | INDUSTRIEANLAGEN        |

      | 114 | Renditeobjekt           |                         |

      | 115 | Verwertungsobjekt       |                         |

      | 116 | Entwicklungsobjekt      |                         |


      <a name="Sub13"></a>


      ### Parken


      | ID  | Name                      | OpenImmo Key          |

      |-----|---------------------------|-----------------------|

      | 99  | Einzelgarage              | EINZELGARAGE          |

      | 100 | Stellplatz                | STELLPLATZ            |

      | 125 | Bootsliegeplatz           | BOOTSLIEGEPLATZ       |

      | 152 | Carport                   | CARPORT               |

      | 153 | Doppelgarage              | DOPPELGARAGE          |

      | 154 | Duplex                    | DUPLEX                |

      | 155 | Tiefgarage                | TIEFGARAGE            |

      | 156 | Parkhaus                  | PARKHAUS              |

      | 157 | Tiefgaragenstellplatz     | TIEFGARAGENSTELLPLATZ |

      | 158 | Parkplatz mit Ladestation | PARKPLATZ_STROM       |
  - name: reference_prices_explanation
    x-displayName: Prices Explanation
    description: |
      ## Erklärung der XML Felder

      ~~~ xml
      <preise>
          <nettokaltmiete>482.95</nettokaltmiete>
          <!-- Summe aller Felder der Gruppe "Miete" exkl. USt. (blau) -->
          <kaltmiete>802.95</kaltmiete>
          <!-- Monatliche Gesamtbelastung exkl. Heizkosten und USt. -->
          <warmmiete>1100.25</warmmiete>
          <!-- Monatliche Gesamtbelastung inkl. Heizkosten und USt. -->
          <nebenkosten>120</nebenkosten>
          <!-- Betriebskosten exkl. USt. (rot) -->
          <heizkosten>170</heizkosten>
          <!-- Summe aller Felder der Gruppe "Heizkosten" exkl. USt. (gelb) -->
          <zzg_mehrwertsteuer>1</zzg_mehrwertsteuer>
          <!-- Kann ignoriert werden -->
          <abstand>15000</abstand>
          <!-- Ablöse -->
          <kaufpreis_pro_qm>6.04</kaufpreis_pro_qm>
          <!-- Mietpreise pro m², nur bei Kaufobjekten vorhanden -->
          <mietpreis_pro_qm>6.04</mietpreis_pro_qm>
          <!-- Mietpreise pro m², nur bei Mietobjekten vorhanden -->
          <aussen_courtage>3 Bruttomonatsmieten zzgl. 20% USt.</aussen_courtage>
          <!-- Provisionstext -->
          <waehrung iso_waehrung="EUR"/>
          <!-- Währung im ISO 4217 Format -->
          <kaution>1234.5</kaution>
          <!-- Kaution, nur vorhanden wenn die Kaution ein Zahlenwert ist -->
          <kaution_text>5 Bruttomonatsmieten</kaution_text>
          <!-- Kaution als Text -->
          <gesamtmiete_ust>110.3</gesamtmiete_ust>
          <!-- USt. der monatlichen Gesamtbelastung exkl. Heizkosten -->
          <miete>
              <netto>452.95</netto>
              <!-- Miete exkl. USt. -->
              <brutto>498.25</brutto>
              <!-- Miete inkl. USt. -->
              <ust>10</ust>
              <!-- USt. in Prozent -->
              <ust_wert>10</ust_wert>
              <!-- USt. Eingabe -->
              <ust_berechneter_wert>45.3</ust_berechneter_wert>
              <!-- USt. in Währung -->
              <ust_typ>percent</ust_typ>
              <!-- Typ der USt. Eingabe | numeric oder percent -->
          </miete>
          <zusatzkosten>
              <betriebskosten>
                  <name>Betriebskosten</name>
                  <!-- Bezeichnung -->
                  <netto>120</netto>
                  <!-- Wert exkl. USt. -->
                  <brutto>144</brutto>
                  <!-- Wert inkl. USt. -->
                  <ust>20</ust>
                  <!-- USt. in Prozent -->
                  <ust_wert>20</ust_wert>
                  <!-- USt. Eingabe -->
                  <ust_berechneter_wert>24</ust_berechneter_wert>
                  <!-- USt. Berechneter Wert in Euro/Währung -->
                  <ust_typ>percent</ust_typ>
                  <!-- Typ der USt. Eingabe | numeric oder percent -->
              </betriebskosten>
              <heizkosten>
                  <name>Heizkosten</name>
                  <!-- Bezeichnung -->
                  <netto>100</netto>
                  <!-- Wert exkl. USt. -->
                  <brutto>110</brutto>
                  <!-- Wert inkl. USt. -->
                  <ust>10</ust>
                  <!-- USt. in Prozent -->
                  <ust_wert>10</ust_wert>
                  <!-- USt. Eingabe -->
                  <ust_berechneter_wert>10</ust_berechneter_wert>
                  <!-- USt. Berechneter Wert in Euro/Währung -->
                  <ust_typ>percent</ust_typ>
                  <!-- Typ der USt. Eingabe | numeric oder percent -->
              </heizkosten>
              <zusatzkosten_1>
                  <name>Reparaturrücklage</name>
                  <!-- Bezeichnung -->
                  <netto>50</netto>
                  <!-- Wert exkl. USt. -->
                  <brutto>55</brutto>
                  <!-- Wert inkl. USt. -->
                  <ust>10</ust>
                  <!-- USt. in Prozent -->
                  <ust_wert>10</ust_wert>
                  <!-- USt. Eingabe -->
                  <ust_berechneter_wert>5</ust_berechneter_wert>
                  <!-- USt. Berechneter Wert in Euro/Währung -->
                  <ust_typ>percent</ust_typ>
                  <!-- Typ der USt. Eingabe | numeric oder percent -->
                  <optional>false</optional>
                  <!-- Posten ist optional | true oder false -->
                  <gruppe>other</gruppe>
                  <!-- Kostengruppe | rent, operating, heating oder other -->
              </zusatzkosten_1>
              <zusatzkosten_2>
                  <name>Warmwasser</name>
                  <netto>40</netto>
                  <brutto>44</brutto>
                  <ust>10</ust>
                  <ust_wert>10</ust_wert>
                  <ust_typ>percent</ust_typ>
                  <optional>false</optional>
                  <gruppe>heating</gruppe>
              </zusatzkosten_2>
              <zusatzkosten_3>
                  <name>Möbelmiete</name>
                  <netto>30</netto>
                  <brutto>36</brutto>
                  <ust>20</ust>
                  <ust_wert>20</ust_wert>
                  <ust_berechneter_wert>16</ust_berechneter_wert>
                  <ust_typ>percent</ust_typ>
                  <optional>false</optional>
                  <gruppe>rent</gruppe>
              </zusatzkosten_3>
              <zusatzkosten_4>
                  <name>Kühlung</name>
                  <netto>30</netto>
                  <brutto>33</brutto>
                  <ust>10</ust>
                  <ust_wert>10</ust_wert>
                  <ust_berechneter_wert>3</ust_berechneter_wert>
                  <ust_typ>percent</ust_typ>
                  <optional>false</optional>
                  <gruppe>heating</gruppe>
              </zusatzkosten_4>
              <zusatzkosten_5>
                  <name>Parkplatz</name>
                  <netto>20</netto>
                  <brutto>24</brutto>
                  <ust>20</ust>
                  <ust_wert>20</ust_wert>
                  <ust_berechneter_wert>4</ust_berechneter_wert>
                  <ust_typ>percent</ust_typ>
                  <optional>true</optional>
                  <gruppe>rent</gruppe>
              </zusatzkosten_5>
              <zusatzkosten_6>
                  <name>Garage</name>
                  <netto>60</netto>
                  <brutto>72</brutto>
                  <ust>20</ust>
                  <ust_wert>20</ust_wert>
                  <ust_berechneter_wert>12</ust_berechneter_wert>
                  <ust_typ>percent</ust_typ>
                  <optional>true</optional>
                  <gruppe>rent</gruppe>
              </zusatzkosten_6>
              <zusatzkosten_7>
                  <name>Sonstiges</name>
                  <netto>150</netto>
                  <brutto>180</brutto>
                  <ust>20</ust>
                  <ust_wert>20</ust_wert>
                  <ust_berechneter_wert>30</ust_berechneter_wert>
                  <ust_typ>percent</ust_typ>
                  <optional>false</optional>
                  <gruppe>other</gruppe>
              </zusatzkosten_7>
          </zusatzkosten>
          <user_defined_simplefield feldname="miete_ust">110.3</user_defined_simplefield>
          <!-- USt. der monatlichen Gesamtbelastung exkl. Heizkosten -->
          <user_defined_anyfield>
              <mwst_gesamt>127.3</mwst_gesamt>
              <!-- USt. der monatlichen Gesamtbelastung inkl. Heizkosten -->
          </user_defined_anyfield>
          <user_defined_anyfield>
              <sonstige_kosten>200</sonstige_kosten>
              <!-- Summe aller Felder der Gruppe "Sonstige Kosten" exkl. USt. (grün) -->
          </user_defined_anyfield>
          <!-- Erstauftraggeberprinzip aktiviert/deaktiviert (nur bei Mietobjekten in Österreich mit Nutzungsart Wohnen) -->
          <user_defined_simplefield feldname="erstauftraggeberprinzip">1</user_defined_simplefield>
      </preise>
      ~~~

      ## Gruppen

      <p>Die Preise werden in folgende Gruppen gegliedert:</p>
      <p><span></span> Miete <code>rent</code></p>
      <p><span></span> Betriebskosten <code>operating</code></p>
      <p><span></span> Heizkosten <code>heating</code></p>
      <p><span></span> Sonstige Kosten <code>other</code></p>

      ## Eingabe in Justimmo

      <p>Eingabemaske in Justimmo für Preise.</p>
      <img src="/images/preise-xml.png"/>
  - name: reference_prices_display
    x-displayName: Prices Display
    description: >
      ## Darstellung


      Grundsätzlich können Sie die Preise in beliebiger Form darstellen. Es ist
      dabei jedoch folgende gesetzliche Vorgabe einzuhalten:


      > „(3) In Inseraten über Mietwohnungen haben Immobilienmakler Angaben über
      die monatliche Belastung in Form der Gesamtbelastung sowie – sofern es
      sich nicht um einen Pauschalmietzins handelt – Angaben über den
      Hauptmietzins, die Betriebs- und Heizkostenakonti und die Umsatzsteuer zu
      machen.“


      Quelle:
      [https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10007765](https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10007765)


      Zur besseren Vergleichbarkeit von Inseraten, empfiehlt die OpenImmo
      Austria Usergroup die Anzeige der **Gesamtmiete**. Diese entspricht der
      Summe aller monatlichen Kosten (inkl. USt.) exklusive den Heizkosten.

      > Gesamtmiete = Miete + Betriebskosten + Sonstige Kosten


      ### Variante 1


      Die erste Variante stellt die Preise als Rechung dar, z.B.


      <table width="70%" border="0" cellpadding="0" cellspacing="0"
      class="price_table">
          <tr>
              <th width="25%">Gesamtmiete*:</th>
              <td width="15%" align="right">€ 913,25</td>
              <td width="5%">&nbsp;</td>
              <td width="55%"><code>preise->kaltmiete + preise->gesamtmiete_ust</code></td>
          </tr>
          <tr>
              <td colspan="4">&nbsp;</td>
          </tr>
          <tr>
              <th>Miete:</th>
              <td align="right">€ 452,95</td>
              <td>&nbsp;</td>
              <td><code>preise->miete->netto</code></td>
          </tr>
          <tr>
              <th>Möbelmiete:</th>
              <td align="right">€ 30,00</td>
              <td>&nbsp;</td>
              <td><code>preise->zusatzkosten->zusatzkosten_3->netto</code></td>
          </tr>
          <tr>
              <th>Betriebskosten:</th>
              <td align="right">€ 120,00</td>
              <td>&nbsp;</td>
              <td><code>preise->zusatzkosten->betriebskosten->netto</code></td>
          </tr>
          <tr>
              <th>Heizkosten:</th>
              <td align="right">€ 100,00</td>
              <td>&nbsp;</td>
              <td><code>preise->zusatzkosten->heizkosten->netto</code></td>
          </tr>
          <tr>
              <th>Warmwasser:</th>
              <td align="right">€ 40,00</td>
              <td>&nbsp;</td>
              <td><code>preise->zusatzkosten->zusatzkosten_2->netto</code></td>
          </tr>
          <tr>
              <th>Kühlung:</th>
              <td align="right">€ 30,00</td>
              <td>&nbsp;</td>
              <td><code>preise->zusatzkosten->zusatzkosten_4->netto</code></td>
          </tr>
          <tr>
              <th>Reparaturrücklage:</th>
              <td align="right">€ 50,00</td>
              <td>&nbsp;</td>
              <td><code>preise->zusatzkosten->zusatzkosten_1->netto</code></td>
          </tr>
          <tr>
              <th>Sonstiges:</th>
              <td align="right">€ 150,00</td>
              <td>&nbsp;</td>
              <td><code>preise->zusatzkosten->zusatzkosten_7->netto</code></td>
          </tr>
          <tr>
              <th>Umsatzsteuer:</th>
              <td align="right">€ 127,30</td>
              <td>&nbsp;</td>
              <td><code>preise->user_defined_anyfield->mwst_gesamt</code></td>
          </tr>
          <tr>
              <td colspan="2"></td>
              <td colspan="2"></td>
          </tr>
          <tr>
              <th>monatliche Gesamtbelastung:</th>
              <td align="right">€ 1.100,25</td>
              <td>&nbsp;</td>
              <td><code>preise->warmmiete</code></td>
          </tr>
      </table>


      <br>

      <p><strong>Optionale Kosten</strong></p>


      <table width="70%" border="0" cellpadding="0" cellspacing="0">
          <tr>
              <th width="25%">Parkplatz (inkl. 20% USt.)**:</th>
              <td width="15%" align="right">€ 24,00</td>
              <td width="5%">&nbsp;</td>
              <td width="55%"><code>preise->zusatzkosten->zusatzkosten_5->brutto</code></td>
          </tr>
          <tr>
              <th>Garage (inkl. 20% USt.)**:</th>
              <td align="right">€ 72,00</td>
              <td>&nbsp;</td>
              <td><code>preise->zusatzkosten->zusatzkosten_6->brutto</code></td>
          </tr>
      </table>


      <br>

      <p>
          * Miete + Nebenkosten (inkl. USt.), ohne Heizkosten<br>
          ** optional, nicht in der Miete enthalten
      </p>


      ### Variante 2


      Die zweite Variante stellt die Preise in den definierten Gruppen dar, z.B.


      <table width="70%" border="0" cellpadding="0" cellspacing="0">
          <tr>
              <th width="25%">Gesamtmiete*:</th>
              <td width="15%" align="right">€ 913,25</td>
              <td width="5%">&nbsp;</td>
              <td width="55%"><code>preise->kaltmiete + preise->gesamtmiete_ust</code></td>
          </tr>
          <tr>
              <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
              <th>Miete:</th>
              <td align="right">€ 482,95</td>
              <td>&nbsp;</td>
              <td><code>preise->nettokaltmiete</code></td>
          </tr>
          <tr>
              <th>Betriebskosten:</th>
              <td align="right">€ 120,00</td>
              <td>&nbsp;</td>
              <td><code>preise->nebenkosten</code></td>
          </tr>
          <tr>
              <th>Heizkosten:</th>
              <td align="right">€ 170,00</td>
              <td>&nbsp;</td>
              <td><code>preise->heizkosten</code></td>
          </tr>
          <tr>
              <th>Sonstige Kosten:</th>
              <td align="right">€ 200,00</td>
              <td>&nbsp;</td>
              <td><code>preise->user_defined_anyfield->sonstige_kosten</code></td>
          </tr>
          <tr>
              <th>Umsatzsteuer:</th>
              <td align="right">€ 127,30</td>
              <td>&nbsp;</td>
              <td><code>preise->user_defined_anyfield->mwst_gesamt</code></td>
          </tr>
          <tr>
              <td colspan="2"></td>
              <td colspan="2"></td>
          </tr>
          <tr>
              <th>monatliche Gesamtbelastung:</th>
              <td align="right">€ 1.100,25</td>
              <td>&nbsp;</td>
              <td><code>preise->warmmiete</code></td>
          </tr>
      </table>


      <br>

      <p><strong>Optionale Kosten</strong></p>


      <table width="70%" border="0" cellpadding="0" cellspacing="0">
          <tr>
              <th width="25%">Parkplatz (inkl. 20% USt.)**:</th>
              <td width="15%" align="right">€ 24,00</td>
              <td width="5%">&nbsp;</td>
              <td width="55%"><code>preise->zusatzkosten->zusatzkosten_5->brutto</code></td>
          </tr>
          <tr>
              <th>Garage (inkl. 20% USt.)**:</th>
              <td align="right">€ 72,00</td>
              <td>&nbsp;</td>
              <td><code>preise->zusatzkosten->zusatzkosten_6->brutto</code></td>
          </tr>
      </table>


      <br>

      <p>
          * Miete + Nebenkosten (inkl. USt.), ohne Heizkosten<br>
          ** optional, nicht in der Miete enthalten
      </p>
  - name: reference_expose_types
    x-displayName: Expose Types
    description: >
      List of all available expose types which are accessible for every
      customer. Some Justimmo customer may have additional expose types.


      | Type                        |
      Description                                 |

      |-----------------------------|---------------------------------------------|

      | DefaultNewWebsite           | Exposé as displayed on frontend
      pages       |

      | DefaultNew                  | Exposé as sent in
      offers                    |

      | DefaultNewWithoutBackground | Exposé as sent in offers without
      background |

      | DefaultFactsheet            | Exposé for
      displays                         |

      | DefaultProject              | Exposé for
      projects                         |

      | Meldezettel                 | Certificate of
      registration                 |

      | PDFFile                     | Individual
      exposé                           |
  - name: reference_picture_sizes
    x-displayName: Picture Sizes
    description: |
      | setting                    | size      | branded |
      |----------------------------|-----------|---------|
      | small                      | 100x300   | no      |
      | s220x155                   | 220x155   | no      |
      | s312x208                   | s312x208  | no      |
      | medium                     | 630x480   | yes     |
      | medium_unbranded           | 630x480   | no      |
      | big                        | 800x600   | yes     |
      | big_unbranded              | 800x600   | no      |
      | big2                       | 950x713   | yes     |
      | big2_unbranded             | 950x713   | no      |
      | fullhd                     | 1920x1080 | yes     |
      | fullhd_unbranded           | 1920x1080 | no      |
      | fullhd_downscale           | 1920x1080 | yes     |
      | fullhd_unbranded_downscale | 1920x1080 | no      |
      | uhd                        | 3840x2160 | yes     |
      | uhd_unbranded              | 3840x2160 | no      |
      | uhd_downscale              | 3840x2160 | yes     |
      | uhd_unbranded_downscale    | 3840x2160 | no      |
      | orig                       | original  | no      |
  - name: reference_salutations
    x-displayName: Salutations
    description: >
      List of all available salutations which are accessible for every customer.
      Some Justimmo customer may have additional salutations.


      | Id | English | German |

      |----|---------|--------|

      | 1  | Mr.     | Herr   |

      | 2  | Ms.     | Frau   |
  - name: reference_geo_data_and_pois
    x-displayName: Geo Data and POIs
    description: >
      XML structure for realty geo data.


      POI fields vary from realty to realty. Geo coordinate fields may not
      always be set.


      Info on geo coordinates userdefined simple fields:

      * `geokoordinaten_laengengrad_exakt`, `geokoordinaten_breitengrad_exakt`
      may only be set for API requests.

      * `geokoordinaten_laengengrad`, `geokoordinaten_breitengrad` may be absent
      if the realty's position is set to be hidden.

      * `ungenaue_verortung_laengengrad`, `ungenaue_verortung_breitengrad`,
      `ungenaue_verortung_radius` may be available in addition to
      `geokoordinaten_laengengrad`, `geokoordinaten_breitengrad`, to provide a
      more precise area containing the realty.


      ```xml


      <immobilie>
          ...
          <geo>
              ...
              <geokoordinaten breitengrad="48.2197079" laengengrad="16.4035782" />
              ...
              <user_defined_simplefield feldname="geokoordinaten_laengengrad_exakt">15.01234</user_defined_simplefield>
              <user_defined_simplefield feldname="geokoordinaten_breitengrad_exakt">48.56789</user_defined_simplefield>
              <user_defined_simplefield feldname="geokoordinaten_laengengrad">15.01234</user_defined_simplefield>
              <user_defined_simplefield feldname="geokoordinaten_breitengrad">48.56789</user_defined_simplefield>
              <user_defined_simplefield feldname="ungenaue_verortung_laengengrad">15.01234</user_defined_simplefield>
              <user_defined_simplefield feldname="ungenaue_verortung_breitengrad">48.56789</user_defined_simplefield>
              <user_defined_simplefield feldname="ungenaue_verortung_radius">500</user_defined_simplefield>
              ...
              <user_defined_anyfield>
                  <ji_point_of_interest_distance>
                      <distance type="doctors" group="health">500</distance>
                      <distance type="pharmacy" group="health">1500</distance>
                      <distance type="hospital" group="health">2000</distance>
                      <distance type="clinic" group="health">1500</distance>
                      <distance type="supermarket" group="local_supply">500</distance>
                      <distance type="bakery" group="local_supply">1000</distance>
                      <distance type="mall" group="local_supply">3500</distance>
                      <distance type="school" group="children_and_school">1000</distance>
                      <distance type="kindergarten" group="children_and_school">1500</distance>
                      <distance type="university" group="children_and_school">2500</distance>
                      <distance type="college" group="children_and_school">2500</distance>
                      <distance type="bank" group="other">500</distance>
                      <distance type="atm" group="other">500</distance>
                      <distance type="post_office" group="other">1000</distance>
                      <distance type="police" group="other">1000</distance>
                      <distance type="tram" group="traffic">2000</distance>
                      <distance type="railway_station" group="traffic">2000</distance>
                      <distance type="motorway_junction" group="traffic">1500</distance>
                      <distance type="subway" group="traffic">3500</distance>
                      <distance type="aerodrome" group="traffic">1000</distance>
                  </ji_point_of_interest_distance>
              </user_defined_anyfield>
          </geo>
          ...
      </immobilie>

      ```
  - name: reference_geo_federal_states
    x-displayName: Federal States
    description: |
      List of Austrian federal states.

      | ID  | Name             |
      |-----|------------------|
      | 126 | Burgenland       |
      | 127 | Kärnten          |
      | 128 | Niederösterreich |
      | 129 | Oberösterreich   |
      | 130 | Salzburg         |
      | 131 | Steiermark       |
      | 132 | Tirol            |
      | 133 | Vorarlberg       |
      | 134 | Wien             |
  - name: reference_user_defined_simplefields
    x-displayName: User Defined Simplefields
    description: |
      | Feldname                         |
      |----------------------------------|
      | aktualisiert_am                  |
      | anschluesse                      |
      | anzahl_abstellraum               |
      | anzahl_balkon                    |
      | anzahl_dachgeschoss              |
      | anzahl_etage                     |
      | anzahl_garagen                   |
      | anzahl_garten                    |
      | anzahl_keller                    |
      | anzahl_loggia                    |
      | anzahl_terrasse                  |
      | ausrichtung                      |
      | balkon_flaeche                   |
      | bauart_id                        |
      | bautraeger                       |
      | befristete_flaeche               |
      | beiname                          |
      | belagsfertig                     |
      | betriebskosten_brutto            |
      | betriebskosten_netto             |
      | bild                             |
      | bundesland                       |
      | code                             |
      | created_at                       |
      | created_at_unknown               |
      | datenschutzinformation_url       |
      | ea_fgee                          |
      | ea_fgee_klasse                   |
      | ea_hwb                           |
      | ea_hwb_klasse                    |
      | epass_fgeeklasse                 |
      | epass_fgeewert                   |
      | epass_hwbklasse                  |
      | epass_hwbwert                    |
      | erf_datum                        |
      | erstauftraggeberprinzip          |
      | erstellt_am                      |
      | etage                            |
      | etage_dg                         |
      | etage_kg                         |
      | etage_nr                         |
      | ez                               |
      | finanzierungsbeitrag             |
      | funktion                         |
      | fussboeden                       |
      | garage_flaeche                   |
      | garagen_flaeche                  |
      | geokoordinaten_breitengrad       |
      | geokoordinaten_breitengrad_exakt |
      | geokoordinaten_laengengrad       |
      | geokoordinaten_laengengrad_exakt |
      | gewichtete_flaeche               |
      | Grnr                             |
      | grundbuch_einlagezahl            |
      | grundbuch_grundstuecknummer      |
      | grundbuch_katastralgemeinde      |
      | grundbucheintragung              |
      | grunderwerbssteuer               |
      | hallenhoehe                      |
      | hausnummer_verortung             |
      | hauszustand                      |
      | heizkosten_netto                 |
      | heizung                          |
      | immocard_firma_id                |
      | immocard_id                      |
      | ist_baugrundstueck               |
      | ji_acquisition_state             |
      | ji_anzeige_in_suchergebnis       |
      | ji_completion_date               |
      | ji_eigentumsform_id              |
      | ji_is_reference                  |
      | ji_kundennummer                  |
      | ji_objektstatus                  |
      | ji_objektstatus_id               |
      | ji_projekt_status                |
      | ji_sale_start                    |
      | ji_stand_vom                     |
      | ji_summe_nettomiete_bis          |
      | ji_summe_nettomiete_von          |
      | ji_type                          |
      | kg                               |
      | laermpegel                       |
      | lagebewertung                    |
      | land                             |
      | letzte_generalsanierung          |
      | loggia_flaeche                   |
      | miete_ust                        |
      | mietkauf                         |
      | mobiliar                         |
      | moeblierung                      |
      | monatl_kosten                    |
      | monatlichekostenbrutto           |
      | objektart_id                     |
      | objektart_name                   |
      | objektgruppe                     |
      | objekttyp                        |
      | ort                              |
      | parent_id                        |
      | plz                              |
      | political_district_id            |
      | politischer_bezirk               |
      | projekt_url                      |
      | provisionsteilung                |
      | provisionsteilung_text           |
      | raumhoehe                        |
      | realty_system_type               |
      | rohdachboden_flaeche             |
      | schluesselfertig                 |
      | sprache                          |
      | status                           |
      | stellplatz_flaeche               |
      | stiege                           |
      | strasse                          |
      | strasse_verortung                |
      | sub_objektart_id                 |
      | sub_objektart_name               |
      | terrasse_flaeche                 |
      | terrassen_flaeche                |
      | ubahn_naehe                      |
      | ungenaue_verortung_breitengrad   |
      | ungenaue_verortung_laengengrad   |
      | ungenaue_verortung_radius        |
      | url                              |
      | username                         |
      | ust_summe                        |
      | verbaubare_flaeche               |
      | vermittelt_am                    |
      | vermittelt_datum                 |
      | vermittelt_kaufpreis             |
      | veroeffentlicht_am               |
      | vertragserrichtungsgebuehr       |
      | weiterekosten_brutto             |
      | weiterekosten_netto              |
      | wohnbaufoerderung                |
      | zentral_begehbar                 |
      | zustand                          |
  - name: examples_realty
    x-displayName: Realty
    description: >
      ## List


      All real-estates for rent with a max monthly rent price of 2.000&euro;


      ### API


      ~~~

      https://api.justimmo.at/rest/v1/objekt/list?filter[miete]=1&filter[preis_bis]=2000

      ~~~


      The `query-result` `count` element contains information of total hits of
      the search regardless of given limit parameter.


      ~~~xml title="Result"

      <?xml version="1.0" encoding="UTF-8"?>

      <justimmo>
          <query-result>
              <count>15</count>
          </query-result>
          <immobilie>
              <id>361672</id>
              <objektnummer>17</objektnummer>
              <objektkategorie>
                  <nutzungsart WOHNEN="1" GEWERBE="0" ANLAGE="0" />
                  <vermarktungsart KAUF="0" MIETE_PACHT="1" />
                  <objektart>
                      <wohnung wohnungtyp="ERDGESCHOSS" />
                  </objektart>
                  <user_defined_simplefield feldname="objektart_id">2</user_defined_simplefield>
                  <user_defined_simplefield feldname="objektart_name">Wohnung</user_defined_simplefield>
                  <user_defined_simplefield feldname="sub_objektart_id">103</user_defined_simplefield>
                  <user_defined_simplefield feldname="sub_objektart_name">Erdgeschoß</user_defined_simplefield>
              </objektkategorie>
              <titel>DEMOOBJEKT! Grünruhelage in den Kornkammern Wiens</titel>
              <dreizeiler></dreizeiler>
              <naehe>Donauufer</naehe>
              <objektbeschreibung>&lt;p&gt;DEMOOBJEKT! Bitte nicht anfragen!&lt;/p&gt;&#13;
                  &lt;p&gt;Breitenlee: Sonnige 3 Zimmer-Wohnung inmitten der Kornkammern Wiens&lt;br /&gt;&lt;br /&gt;Die
                  helle freundliche 3 Zimmer-Wohnung mit Bad (Wanne), eigenem WC, Schrankraum, Wohnküche mit Speiss,
                  französichen Fenstern in allen Räumen ist süd-westl. ausgerichtet. Im Mietpreis sind die Kosten für 1
                  Garagenplatz enthalten.&lt;br /&gt;5 Minuten mit dem Auto nach Breitenlee, 10 Min. zum großen Donaustädter
                  Einkaufspark und in 100 Metern mitten in den Feldern! Die Haltestelle des städt. Autobuses ist vor der Türe!&lt;/p&gt;
              </objektbeschreibung>
              <anzahl_zimmer>3</anzahl_zimmer>
              <etage>4. Etage</etage>
              <ort>Wien</ort>
              <plz>1220</plz>
              <preis>1752</preis>
              <gesamtmiete>1818</gesamtmiete>
              <mietkauf>0</mietkauf>
              <wohnflaeche>82</wohnflaeche>
              <nutzflaeche>95</nutzflaeche>
              <anzahl_terrassen>1</anzahl_terrassen>
              <terrassen_flaeche>15</terrassen_flaeche>
              <erstes_bild>https://files.justimmo.at/public/pic/small/APRorOYjzZ.jpg</erstes_bild>
              <zweites_bild>https://files.justimmo.at/public/pic/small/APRoFdmnle.jpg</zweites_bild>
              <status>aktiv</status>
              <status_id>5</status_id>
              <erstellt_am>2014-12-03 10:21:03</erstellt_am>
              <aktualisiert_am>2016-03-04 10:44:19</aktualisiert_am>
          </immobilie>
          <!-- ..... -->
      </justimmo>

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19-21"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterByRent(1)
          ->filterByBuy(0)
          ->filterByPrice(['max' => 2000])
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          var_dump($realty);
          //....
      }

      ~~~


      ## Detail

      Returns detailed information of a single realty as xml loosely based on
      [Openimmo 1.2.7](http://www.openimmo.de/).


      ### API


      ~~~

      https://api.justimmo.at/rest/v1/objekt/detail?objekt_id=123456789&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19" title="Getting some data"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;



      $api = new JustimmoApi('username', 'password');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realty = $query
          ->findPk(123456789);

      echo sprintf('Vertragserrichtung: %s',
      $realty->getContractEstablishmentCosts()) . "<br/>\n";

      echo sprintf('Grundbucheintragung: %s', $realty->getLandRegistration()) .
      "<br/>\n";

      echo sprintf('Grunderwerbsteuer: %s', $realty->getTransferTax()) .
      "<br/>\n";


      echo sprintf('16. Verkaufsfläche: %s', $realty->getSalesArea()) .
      "<br/>\n";

      echo sprintf('18. Hallenhöhe: %s', $realty->getHallHeight()) . "<br/>\n";

      echo sprintf('19. Freie Fläche: %s', $realty->getSurfaceArea()) .
      "<br/>\n";

      echo sprintf('20. Befristete Fläche: %s', $realty->getShortTermArea()) .
      "<br/>\n";

      echo sprintf('22. Gewichtete Fläche: %s', $realty->getWeightedArea()) .
      "<br/>\n";

      echo sprintf('23. Rohdachbodenfläche: %s',
      $realty->getUndevelopedAtticArea()) . "<br/>\n";

      echo sprintf('25. Raumhöhe: %s', $realty->getCeilingHeight()) . "<br/>\n";

      echo sprintf('26. Anzahl Gärten: %s', $realty->getGardenCount()) .
      "<br/>\n";

      echo sprintf('28. Anzahl Keller: %s', $realty->getCellarCount()) .
      "<br/>\n";


      echo sprintf('free text 1: %s', $realty->getFreetext1()) . "<br/>\n";

      echo sprintf('free text 2: %s', $realty->getFreetext2()) . "<br/>\n";

      echo sprintf('free text 3: %s', $realty->getFreetext3()) . "<br/>\n";

      echo sprintf('free text 4: %s', $realty->getFreetext4()) . "<br/>\n";


      ~~~


      ~~~php linenums="14" title="Getting links and attachments"

      <?php


      // same code like above


      $realty = $query
          ->findPk(123456789);

      /** @var \Justimmo\Model\Attachment $link */

      foreach ($realty->getLinks() as $link) {
          var_dump($link);
      }


      /** @var \Justimmo\Model\Attachment $attachment */

      foreach ($realty->getAttachments() as $attachment) {
          if ($attachment->getType() === 'link') {
              var_dump($attachment);
          }
      }

      ~~~


      ~~~ php linenums="14" title="Getting pictures"

      <?php


      // same code like above


      $realty = $query
          ->findPk(123456789);

      echo sprintf('oid/number: %d/%d<br/>', $realty->getId(),
      $realty->getPropertyNumber());

      echo sprintf('title: %s<br/>', $realty->getTitle());


      $pics   = $realty->getPictures();

      /** @var \Justimmo\Model\Attachment $pic */

      foreach ($pics as $pic) {
          echo sprintf('pic title: %s<br/>', $pic->getTitle());
          echo sprintf('pic description: %s<br/>', $pic->getDescription());
          echo sprintf('url: %s<br/>', $pic->calculateUrl('small'));
          echo sprintf('url: %s<br/>', $pic->calculateUrl('s220x155'));
          echo sprintf('url: %s<br/>', $pic->calculateUrl('s312x208'));
          echo sprintf('url: %s<br/>', $pic->calculateUrl('medium'));
          echo sprintf('url: %s<br/>', $pic->calculateUrl('medium_unbranded'));
          echo sprintf('url: %s<br/>', $pic->calculateUrl('big'));
          echo sprintf('url: %s<br/>', $pic->calculateUrl('big_unbranded'));
          echo sprintf('url: %s<br/>', $pic->calculateUrl('big2'));
          echo sprintf('url: %s<br/>', $pic->calculateUrl('big2_unbranded'));
          echo sprintf('url: %s<br/>', $pic->calculateUrl('fullhd'));
          echo sprintf('url: %s<br/>', $pic->calculateUrl('fullhd_unbranded'));
          echo sprintf('url: %s<br/>', $pic->calculateUrl('fullhd_downscale'));
          echo sprintf('url: %s<br/>', $pic->calculateUrl('fullhd_unbranded_downscale'));
          echo sprintf('url: %s<br/>', $pic->calculateUrl('uhd'));
          echo sprintf('url: %s<br/>', $pic->calculateUrl('uhd_unbranded'));
          echo sprintf('url: %s<br/>', $pic->calculateUrl('uhd_downscale'));
          echo sprintf('url: %s<br/>', $pic->calculateUrl('uhd_unbranded_downscale'));
          echo sprintf('url: %s<br/>', $pic->calculateUrl());

          var_dump($pic->getData());
      }

      ~~~


      ~~~ php linenums="14" title="Rental prices"

      <?php


      // same code like above


      $realty = $query
          ->findPk(123456789);

      if ($realty !== null) {
          echo sprintf('oid/number: %d/%d<br/>', $realty->getId(), $realty->getPropertyNumber());
          echo sprintf('title: %s<br/><br/>', $realty->getTitle());

          echo sprintf('getRentNet: %s<br/>', $realty->getRentNet());
          echo sprintf('getRentVat: %s<br/>', $realty->getRentVat());
          echo sprintf('getRentVatValue: %s<br/>', $realty->getRentVatValue());
          echo sprintf('rentGross: %s<br/>', $realty->getRentGross());
          echo sprintf('getTotalRent: %s<br/>', $realty->getTotalRent());
          echo sprintf('getTotalRentVat: %s<br/>', $realty->getTotalRentVat());
          echo sprintf('getTotalRentWithoutHeating: %s<br/><br/>', $realty->getTotalRentWithoutHeating());

          echo sprintf('getCostsExplanation: %s<br/>', $realty->getCostsExplanation());
          echo sprintf('getMonthlyCosts: %s<br/>', $realty->getMonthlyCosts());
          echo sprintf('getMonthlyCostsVat: %s<br/><br/>', $realty->getMonthlyCostsVat());

          echo sprintf('getOperatingCostsNet: %s<br/>', $realty->getOperatingCostsNet());
          echo sprintf('getOperatingCostsVat: %s<br/>', $realty->getOperatingCostsVat());
          echo sprintf('getOperatingCostsGross: %s<br/><br/>', $realty->getOperatingCostsGross());

          echo sprintf('getHeatingCostsNet: %s<br/>', $realty->getHeatingCostsNet());
          echo sprintf('getHeatingCostsVat: %s<br/>', $realty->getHeatingCostsVat());
          echo sprintf('getHeatingCostsGross: %s<br/>', $realty->getHeatingCostsGross());
          echo sprintf('getHeatingCosts: %s<br/><br/>', $realty->getHeatingCosts());

          echo "Additional costs\n";
          print_r($realty->getAdditionalCosts());
      }


      ~~~


      ## Expose

      Get the default expose for realty 123456 in English language


      ### API


      ~~~

      https://api.justimmo.at/rest/v1/objekt/expose?objekt_id=123456&expose=DefaultNew&culture=en

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;



      header('Content-type: application/pdf');


      $api = new JustimmoApi('username', 'password');

      $api->setCulture('en');


      echo $api->callExpose(123456, 'DefaultNew');


      ~~~


      ## Inquiry

      Create an inquiry for contact "John AutoOffer <autoOffer@40example.com>"


      ### API


      ~~~

      https://api.justimmo.at/rest/v1/objekt/anfrage?objekt_id=3834984&vorname=John&nachname=AutoOffer&email=autoOffer%40example.com&tel=123456&message=SuperB&strasse=Mariahilfer+Strasse+8%2F11&plz=1070&ort=Wien&land=AT&titel=Dr.&anrede_id=1&funding_inquiry=1&culture=de

      ~~~


      The inquiry and contact have been created successfully, if the response
      code is 200.



      ### PHP-SDK


      ~~~ php linenums="1"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\Mapper\V1\RealtyInquiryMapper;

      use Justimmo\Request\RealtyInquiryRequest;


      $api = new JustimmoApi('username', 'password');

      $api->setCulture('de');


      $mapper = new RealtyInquiryMapper();



      $rq = new RealtyInquiryRequest($api, $mapper);

      $rq->setRealtyId(12816952)
          ->setSalutationId(1) //Mr.
          ->setTitle('Dr.')
          ->setFirstName('John')
          ->setLastName('Funding Inquiry')
          ->setEmail('autoOffer@example.com')
          ->setMessage('SuperB')
          ->setPhone('123456')
          ->setStreet('Mariahilfer Strasse 8/11')
          ->setZipCode('1070')
          ->setCity('Wien')
          ->setCountry('AT')
          ->setFundingInquiry(true)
          ->send();

      echo "Inquiry sent!";


      ~~~


      ## IDs

      All realty ids for rent with a max monthly rent price of 2.000&euro;


      ### API


      ~~~

      https://api.justimmo.at/rest/v1/objekt/ids?filter[miete]=1&filter[preis_bis]=2000

      ~~~


      ~~~json title="Result"

      ["361672","361671","361670","361668","361667","361666","361665","131924","131923","131922","131921","131920","131919","131917","131915"]

      ~~~



      ### PHP-SDK


      ~~~ php linenums="1"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realtyIds = $query
          ->filterByRent(1)
          ->filterByBuy(0)
          ->filterByPrice(['max' => 2000])
          ->orderByPrice('desc')
          ->findIds();

      var_dump($realtyIds);
          
      ~~~
  - name: examples_team
    x-displayName: Team
    description: >
      ## List

      Returns all categories with employees with an active "Show on Homepage"
      flag in Justimmo


      ### API


      ~~~

      https://api.justimmo.at/rest/v1/team/list

      ~~~


      ~~~xml

      <?xml version="1.0" encoding="UTF-8"?>

      <justimmo>
          <kategorie name="Geschäftsführung">
              <mitarbeiter>
                  <id>264110</id>
                  <bild>
                      <pfad>https://files.justimmo.at/public/pic/user_small/APRil3QC47.jpg</pfad>
                      <pfad_medium>https://files.justimmo.at/public/pic/user_medium/APRil3QC47.jpg</pfad_medium>
                  </bild>
                  <vorname>Aurel</vorname>
                  <nachname>Stehmann</nachname>
                  <position>Geschäftsführung</position>
                  <email>a.stehmann@justimmo.at</email>
              </mitarbeiter>
          </kategorie>
      </justimmo>

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\EmployeeQuery;

      use Justimmo\Model\Mapper\V1\EmployeeMapper;

      use Justimmo\Model\Wrapper\V1\EmployeeWrapper;


      $api = new JustimmoApi('username', 'password');

      $api->setCulture('de');


      $mapper  = new EmployeeMapper();

      $wrapper = new EmployeeWrapper($mapper);


      $query = new EmployeeQuery($api, $wrapper, $mapper);

      $employees = $query->find();


      /** @var \Justimmo\Model\Employee $employee */

      foreach ($employees as $employee) {
          echo sprintf('Id (Justimmo Id): %d<br/>', $employee->getId());
          echo sprintf('Number (Mitarbeiter-ID): %s<br/>', $employee->getNumber());
          echo sprintf('Title (Titel / Präfix): %s<br/>', $employee->getTitle());
          echo sprintf('Suffix (Suffix): %s<br/>', $employee->getSuffix());
          echo sprintf('First name (Vorname): %s<br/>', $employee->getFirstName());
          echo sprintf('Last name (Nachname): %s<br/>', $employee->getLastName());
          echo sprintf('Position (Position): %s<br/>', $employee->getPosition());

          echo sprintf('City (Ort): %s<br/>', $employee->getCity());
          echo sprintf('Street (Straße): %s<br/>', $employee->getStreet());
          echo sprintf('Postal code (Postleitzahl): %s<br/>', $employee->getPostal());

          echo sprintf('Email (E-Mail Adresse): %s<br/>', $employee->getEmail());
          echo sprintf('Phone (Telefon): %s<br/>', $employee->getPhone());
          echo sprintf('Mobile (Mobil): %s<br/>', $employee->getMobile());
          echo sprintf('Fax (Fax): %s<br/>', $employee->getFax());

          echo sprintf('Biography (Biographie): %s<br/>', $employee->getBiography());
          echo sprintf('Category (Kategorien): %s<br/>', $employee->getCategory());

          echo sprintf('Url (Webseite): %s<br/><br/>', $employee->getUrl());

          $attachments    = $employee->getAttachments();
          $pictures       = $employee->getPictures();
          $profilePicture = $employee->getProfilePicture();
          $documents      = $employee->getDocuments();
          $links          = $employee->getLinks();
          $videos         = $employee->getVideos();

      }


      ~~~


      ## Detail

      Returns detailed information of a single employee


      ### API


      ~~~

      https://api.justimmo.at/rest/v1/team/detail?id=264110

      ~~~


      ~~~xml

      <?xml version="1.0" encoding="UTF-8"?>

      <justimmo>
          <id>264110</id>
          <bild>
              <pfad>https://files.justimmo.at/public/pic/user_small/APRil3QC47.jpg</pfad>
              <pfad_medium>https://files.justimmo.at/public/pic/user_medium/APRil3QC47.jpg</pfad_medium>
          </bild>
          <vorname>Aurel</vorname>
          <nachname>Stehmann</nachname>
          <position>Geschäftsführung</position>
          <email>a.stehmann@justimmo.at</email>
      </justimmo>

      ~~~



      ### PHP-SDK


      ~~~ php linenums="1"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\EmployeeQuery;

      use Justimmo\Model\Mapper\V1\EmployeeMapper;

      use Justimmo\Model\Wrapper\V1\EmployeeWrapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.just.immo/rest');

      $api->setCulture('de');


      $mapper  = new EmployeeMapper();

      $wrapper = new EmployeeWrapper($mapper);


      $query = new EmployeeQuery($api, $wrapper, $mapper);

      /** @var \Justimmo\Model\Employee $employee */

      $employee = $query->findOne(264110);


      echo sprintf('Id (Justimmo Id): %d<br/>', $employee->getId());

      echo sprintf('Number (Mitarbeiter-ID): %s<br/>', $employee->getNumber());

      echo sprintf('Title (Titel / Präfix): %s<br/>', $employee->getTitle());

      echo sprintf('Suffix (Suffix): %s<br/>', $employee->getSuffix());

      echo sprintf('First name (Vorname): %s<br/>', $employee->getFirstName());

      echo sprintf('Last name (Nachname): %s<br/>', $employee->getLastName());

      echo sprintf('Position (Position): %s<br/>', $employee->getPosition());


      echo sprintf('City (Ort): %s<br/>', $employee->getCity());

      echo sprintf('Street (Straße): %s<br/>', $employee->getStreet());

      echo sprintf('Postal code (Postleitzahl): %s<br/>',
      $employee->getPostal());


      echo sprintf('Email (E-Mail Adresse): %s<br/>', $employee->getEmail());

      echo sprintf('Phone (Telefon): %s<br/>', $employee->getPhone());

      echo sprintf('Mobile (Mobil): %s<br/>', $employee->getMobile());

      echo sprintf('Fax (Fax): %s<br/>', $employee->getFax());


      echo sprintf('Biography (Biographie): %s<br/>',
      $employee->getBiography());

      echo sprintf('Category (Kategorien): %s<br/>', $employee->getCategory());


      echo sprintf('Url (Webseite): %s<br/><br/>', $employee->getUrl());


      $attachments    = $employee->getAttachments();

      $pictures       = $employee->getPictures();

      $profilePicture = $employee->getProfilePicture();

      $documents      = $employee->getDocuments();

      $links          = $employee->getLinks();

      $videos         = $employee->getVideos();


      ~~~


      ## IDs


      All employee ids


      ### API


      ~~~

      https://api.justimmo.at/rest/v1/team/ids

      ~~~


      ~~~json title="Response"

      ["123","125","159"]

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\EmployeeQuery;

      use Justimmo\Model\Mapper\V1\EmployeeMapper;

      use Justimmo\Model\Wrapper\V1\EmployeeWrapper;


      $api = new JustimmoApi('username', 'password');

      $api->setCulture('de');


      $mapper  = new EmployeeMapper();

      $wrapper = new EmployeeWrapper($mapper);


      $query = new EmployeeQuery($api, $wrapper, $mapper);

      $employeeIds = $query->findIds();


      var_dump($employeeIds);


      ~~~
  - name: examples_project
    x-displayName: Project
    description: >
      ## List


      All active projects with real-estates booked into API feed.


      ### API

      ~~~

      https://api.justimmo.at/rest/v1/projekt/list

      ~~~


      The `query-result` `count` element contains information of total hits of
      the search regardless of given limit parameter.


      ~~~xml

      <?xml version="1.0" encoding="UTF-8"?>

      <justimmo>
          <query-result>
              <count>2</count>
          </query-result>
          <projekt>
              <id>46</id>
              <titel>Demoprojekt in Zentrumsnähe</titel>
              <beschreibung>Demoprojekt. Bitte nicht anfragen</beschreibung>
              <dreizeiler></dreizeiler>
              <strasse></strasse>
              <hausnummer>2</hausnummer>
              <plz>1030</plz>
              <ort>Wien</ort>
              <in_bau>1</in_bau>
              <sonstige_angaben></sonstige_angaben>
              <lage></lage>
              <freitext_1></freitext_1>
              <residential_aggregation_data>
                  <area_from>200</area_from>
                  <area_to>400</area_to>
                  <price_from>120000</price_from>
                  <price_to>180000</price_to>
                  <rooms_from>2</rooms_from>
                  <rooms_to>4</rooms_to>
                  <available>3</available>
              </residential_aggregation_data>
              <immobilien>
                  <immobilie>
                      <id>700169</id>
                      <objektnummer></objektnummer>
                      <objektkategorie>
                          <nutzungsart WOHNEN="1" GEWERBE="0" ANLAGE="0" />
                          <vermarktungsart KAUF="0" MIETE_PACHT="1" />
                          <objektart>
                              <wohnung />
                          </objektart>
                          <user_defined_simplefield feldname="objektart_id">2</user_defined_simplefield>
                          <user_defined_simplefield feldname="objektart_name">Wohnung</user_defined_simplefield>
                          <user_defined_anyfield>
                              <ji_kategorie id="4743">Wienerwald</ji_kategorie>
                          </user_defined_anyfield>
                      </objektkategorie>
                      <titel>DEMOOBJEKT! Luxus Wienblick-Dachgeschosswohnung mit Wintergarten, offenen Kamin, Sauna und
                          Weinkeller
                      </titel>
                      <dreizeiler></dreizeiler>
                      <naehe></naehe>
                      <objektbeschreibung>DEMOOBJEKT! Bitte nicht anfragen!</objektbeschreibung>
                      <anzahl_zimmer>5</anzahl_zimmer>
                      <etage>EG</etage>
                      <ort>Wien</ort>
                      <plz>1030</plz>
                      <preis>0</preis>
                      <gesamtmiete />
                      <wohnflaeche>269</wohnflaeche>
                      <nutzflaeche>269</nutzflaeche>
                      <anzahl_terrassen>2</anzahl_terrassen>
                      <erstes_bild>https://files.justimmo.at/public/pic/medium/AdlOCzRy51.jpg</erstes_bild>
                      <zweites_bild>https://files.justimmo.at/public/pic/medium/AdlOGYKVg_.jpg</zweites_bild>
                      <projekt_id>46</projekt_id>
                      <status>aktiv</status>
                      <status_id>5</status_id>
                      <erstellt_am>2016-04-12 14:47:46</erstellt_am>
                      <aktualisiert_am>2016-04-19 11:18:59</aktualisiert_am>
                  </immobilie>
                  <immobilie>
                      <id>634476</id>
                      <objektnummer>894949</objektnummer>
                      <objektkategorie>
                          <nutzungsart WOHNEN="1" GEWERBE="0" ANLAGE="0" />
                          <vermarktungsart KAUF="0" MIETE_PACHT="1" />
                          <objektart>
                              <wohnung />
                          </objektart>
                          <user_defined_simplefield feldname="objektart_id">2</user_defined_simplefield>
                          <user_defined_simplefield feldname="objektart_name">Wohnung</user_defined_simplefield>
                          <user_defined_anyfield>
                              <ji_kategorie id="4743">Wienerwald</ji_kategorie>
                          </user_defined_anyfield>
                      </objektkategorie>
                      <titel>DEMOOBJEKT! Luxus Wienblick-Dachgeschosswohnung mit Wintergarten, offenen Kamin, Sauna und
                          Weinkeller
                      </titel>
                      <dreizeiler></dreizeiler>
                      <naehe></naehe>
                      <objektbeschreibung>DEMOOBJEKT! Bitte nicht anfragen!</objektbeschreibung>
                      <anzahl_zimmer>5</anzahl_zimmer>
                      <etage>EG</etage>
                      <ort>Wien</ort>
                      <plz>1030</plz>
                      <preis>0</preis>
                      <gesamtmiete />
                      <wohnflaeche>269</wohnflaeche>
                      <nutzflaeche>269</nutzflaeche>
                      <anzahl_terrassen>2</anzahl_terrassen>
                      <erstes_bild>https://files.justimmo.at/public/pic/medium/AdlOCzRy51.jpg</erstes_bild>
                      <zweites_bild>https://files.justimmo.at/public/pic/medium/AdlOGYKVg_.jpg</zweites_bild>
                      <projekt_id>46</projekt_id>
                      <status>aktiv</status>
                      <status_id>5</status_id>
                      <erstellt_am>2016-02-08 14:55:02</erstellt_am>
                      <aktualisiert_am>2016-04-19 11:18:59</aktualisiert_am>
                  </immobilie>
                  <immobilie>
                      <id>620582</id>
                      <objektnummer>1000003</objektnummer>
                      <objektkategorie>
                          <nutzungsart WOHNEN="1" GEWERBE="0" ANLAGE="0" />
                          <vermarktungsart KAUF="0" MIETE_PACHT="1" />
                          <objektart>
                              <wohnung />
                          </objektart>
                          <user_defined_simplefield feldname="objektart_id">2</user_defined_simplefield>
                          <user_defined_simplefield feldname="objektart_name">Wohnung</user_defined_simplefield>
                          <user_defined_anyfield>
                              <ji_kategorie id="4743">Wienerwald</ji_kategorie>
                          </user_defined_anyfield>
                      </objektkategorie>
                      <titel>DEMOOBJEKT! Luxus Wienblick-Dachgeschosswohnung mit Wintergarten, offenen Kamin, Sauna und
                          Weinkeller
                      </titel>
                      <dreizeiler></dreizeiler>
                      <naehe></naehe>
                      <objektbeschreibung>DEMOOBJEKT! Bitte nicht anfragen!</objektbeschreibung>
                      <anzahl_zimmer>5</anzahl_zimmer>
                      <etage>EG</etage>
                      <ort>Wien</ort>
                      <plz>1030</plz>
                      <preis>0</preis>
                      <gesamtmiete />
                      <wohnflaeche>269</wohnflaeche>
                      <nutzflaeche>269</nutzflaeche>
                      <anzahl_terrassen>2</anzahl_terrassen>
                      <erstes_bild>https://files.justimmo.at/public/pic/medium/AdlOCzRy51.jpg</erstes_bild>
                      <zweites_bild>https://files.justimmo.at/public/pic/medium/AdlOGYKVg_.jpg</zweites_bild>
                      <projekt_id>46</projekt_id>
                      <status>aktiv</status>
                      <status_id>5</status_id>
                      <erstellt_am>2016-01-15 11:08:56</erstellt_am>
                      <aktualisiert_am>2016-04-19 11:18:59</aktualisiert_am>
                  </immobilie>
                  <immobilie>
                      <id>560649</id>
                      <objektnummer>234235</objektnummer>
                      <objektkategorie>
                          <nutzungsart WOHNEN="1" GEWERBE="0" ANLAGE="0" />
                          <vermarktungsart KAUF="1" MIETE_PACHT="0" />
                          <objektart>
                              <wohnung />
                          </objektart>
                          <user_defined_simplefield feldname="objektart_id">2</user_defined_simplefield>
                          <user_defined_simplefield feldname="objektart_name">Wohnung</user_defined_simplefield>
                          <user_defined_simplefield feldname="sub_objektart_id">45</user_defined_simplefield>
                          <user_defined_simplefield feldname="sub_objektart_name">Wohnung</user_defined_simplefield>
                          <user_defined_anyfield>
                              <ji_kategorie id="4743">Wienerwald</ji_kategorie>
                          </user_defined_anyfield>
                      </objektkategorie>
                      <titel>DEMOOBJEKT! Elegantes Büro neben Bristol und Oper</titel>
                      <dreizeiler></dreizeiler>
                      <naehe></naehe>
                      <objektbeschreibung>DEMOOBJEKT! Bitte nicht anfragen</objektbeschreibung>
                      <etage>2. KG</etage>
                      <hausnummer>2</hausnummer>
                      <strasse>Seidlgasse</strasse>
                      <ort>Wien</ort>
                      <plz>1030</plz>
                      <preis>214200</preis>
                      <kaufpreis>214200</kaufpreis>
                      <nutzflaeche>15</nutzflaeche>
                      <grundflaeche>15</grundflaeche>
                      <anzahl_balkons>2</anzahl_balkons>
                      <balkons_flaeche>12</balkons_flaeche>
                      <erstes_bild>https://files.justimmo.at/public/pic/medium/AdlOCzRy51.jpg</erstes_bild>
                      <zweites_bild>https://files.justimmo.at/public/pic/medium/AdlOGYKVg_.jpg</zweites_bild>
                      <projekt_id>46</projekt_id>
                      <status>aktiv</status>
                      <status_id>5</status_id>
                      <erstellt_am>2015-11-11 16:20:35</erstellt_am>
                      <aktualisiert_am>2016-04-19 11:18:59</aktualisiert_am>
                  </immobilie>
                  <immobilie>
                      <id>560556</id>
                      <objektnummer>33447</objektnummer>
                      <objektkategorie>
                          <nutzungsart WOHNEN="1" GEWERBE="0" ANLAGE="0" />
                          <vermarktungsart KAUF="1" MIETE_PACHT="0" />
                          <objektart>
                              <wohnung />
                          </objektart>
                          <user_defined_simplefield feldname="objektart_id">2</user_defined_simplefield>
                          <user_defined_simplefield feldname="objektart_name">Wohnung</user_defined_simplefield>
                          <user_defined_simplefield feldname="sub_objektart_id">45</user_defined_simplefield>
                          <user_defined_simplefield feldname="sub_objektart_name">Wohnung</user_defined_simplefield>
                          <user_defined_anyfield>
                              <ji_kategorie id="4743">Wienerwald</ji_kategorie>
                          </user_defined_anyfield>
                      </objektkategorie>
                      <titel>DEMOOBJEKT! Elegantes Büro neben Bristol und Oper</titel>
                      <dreizeiler></dreizeiler>
                      <naehe></naehe>
                      <objektbeschreibung>DEMOOBJEKT! Bitte nicht anfragen!</objektbeschreibung>
                      <etage>2. KG</etage>
                      <hausnummer>2</hausnummer>
                      <strasse>Seidlgasse</strasse>
                      <ort>Wien</ort>
                      <plz>1030</plz>
                      <preis>200000</preis>
                      <kaufpreis>200000</kaufpreis>
                      <nutzflaeche>15</nutzflaeche>
                      <grundflaeche>15</grundflaeche>
                      <anzahl_balkons>2</anzahl_balkons>
                      <balkons_flaeche>12</balkons_flaeche>
                      <erstes_bild>https://files.justimmo.at/public/pic/medium/AdlOCzRy51.jpg</erstes_bild>
                      <zweites_bild>https://files.justimmo.at/public/pic/medium/AdlOGYKVg_.jpg</zweites_bild>
                      <projekt_id>46</projekt_id>
                      <status>aktiv</status>
                      <status_id>5</status_id>
                      <erstellt_am>2015-11-11 12:32:29</erstellt_am>
                      <aktualisiert_am>2016-04-19 11:18:59</aktualisiert_am>
                  </immobilie>
                  <immobilie>
                      <id>66079</id>
                      <objektnummer>18</objektnummer>
                      <objektkategorie>
                          <nutzungsart WOHNEN="1" GEWERBE="0" ANLAGE="0" />
                          <vermarktungsart KAUF="1" MIETE_PACHT="0" />
                          <objektart>
                              <wohnung />
                          </objektart>
                          <user_defined_simplefield feldname="objektart_id">2</user_defined_simplefield>
                          <user_defined_simplefield feldname="objektart_name">Wohnung</user_defined_simplefield>
                          <user_defined_simplefield feldname="sub_objektart_id">45</user_defined_simplefield>
                          <user_defined_simplefield feldname="sub_objektart_name">Wohnung</user_defined_simplefield>
                          <user_defined_anyfield>
                              <ji_kategorie id="4743">Wienerwald</ji_kategorie>
                          </user_defined_anyfield>
                      </objektkategorie>
                      <titel>DEMOOBJEKT! Elegantes Büro neben Bristol und Oper</titel>
                      <dreizeiler></dreizeiler>
                      <naehe></naehe>
                      <objektbeschreibung>DEMOOBJEKT! Bitte nicht anfragen!</objektbeschreibung>
                      <etage>2. KG</etage>
                      <hausnummer>2</hausnummer>
                      <strasse>Seidlgasse</strasse>
                      <ort>Wien</ort>
                      <plz>1030</plz>
                      <preis>200000</preis>
                      <kaufpreis>200000</kaufpreis>
                      <nutzflaeche>15</nutzflaeche>
                      <grundflaeche>15</grundflaeche>
                      <anzahl_balkons>2</anzahl_balkons>
                      <balkons_flaeche>12</balkons_flaeche>
                      <erstes_bild>https://files.justimmo.at/public/pic/medium/AdlOCzRy51.jpg</erstes_bild>
                      <zweites_bild>https://files.justimmo.at/public/pic/medium/AdlOGYKVg_.jpg</zweites_bild>
                      <projekt_id>46</projekt_id>
                      <status>aktiv</status>
                      <status_id>5</status_id>
                      <vermittelt_am>2014-03-02</vermittelt_am>
                      <erstellt_am>2012-04-01 18:30:34</erstellt_am>
                      <aktualisiert_am>2016-04-19 11:18:59</aktualisiert_am>
                  </immobilie>
              </immobilien>
              <erstes_bild>https://files.justimmo.at/public/pic/medium/ACXayjSPLp.jpg</erstes_bild>
          </projekt>
          <!-- ...... -->
      </justimmo>

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\Mapper\V1\ProjectMapper;

      use Justimmo\Model\ProjectQuery;

      use Justimmo\Model\Wrapper\V1\ProjectWrapper;



      $api = new JustimmoApi('username', 'password');

      $api->setCulture('de');


      $mapper  = new ProjectMapper();

      $wrapper = new ProjectWrapper($mapper);


      $query = new ProjectQuery($api, $wrapper, $mapper);


      try {
          $realties = $query
              ->setLimit(15)
              ->find();

          echo sprintf("%d objects<br/><br/>", $realties->count());

          /** @var \Justimmo\Model\Project $realty */
          foreach ($realties as $realty) {
              echo sprintf('oid: %d: %s<br/><br/>', $realty->getId(), $realty->getTitle());
          }

      } catch (Throwable $e) {
          echo $e->getMessage();
      }


      ~~~


      ## Detail


      Returns detailed information of a single project as xml in the same format
      as project list call.


      ### API


      ~~~

      https://api.justimmo.at/rest/v1/projekt/detail?id=123456789&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="21" title="The basics"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\Mapper\V1\ProjectMapper;

      use Justimmo\Model\ProjectQuery;

      use Justimmo\Model\Wrapper\V1\ProjectWrapper;



      $api = new JustimmoApi('username', 'password');

      $api->setCulture('de');


      $mapper  = new ProjectMapper();

      $wrapper = new ProjectWrapper($mapper);


      $query = new ProjectQuery($api, $wrapper, $mapper);

      try {
          /** @var \Justimmo\Model\Project $project */
          $project = $query
              ->findPk(123456789);

          var_dump($project);

      } catch (Throwable $e) {
          echo $e->getMessage() . "<br/>\n";
      }

      ~~~


      ~~~php linenums="14" hl_lines="25-28" title="Sub real-estates"

      <?php


      // same code like above


      try {
          /** @var \Justimmo\Model\Project $project */
          $project = $query
              ->findPk(123456789);

          echo sprintf("%d sub real-estates<br/><br/>", count($project->getRealties()));
          
          /** @var \Justimmo\Model\Realty $realty */
          foreach ($project->getRealties() as $realty) {
              echo sprintf('pid/id: %d/%d (%d): %s<br/><br/>', $realty->getProjectId(), $realty->getId(), $realty->getPropertyNumber(), $realty->getTitle());
          }

      } catch (Throwable $e) {
          echo $e->getMessage() . "<br/>\n";
      }

      ~~~


      ~~~php linenums="14" title="Links, pictures, videos and documents"

      <?php


      // same code like above


      try {
          /** @var \Justimmo\Model\Project $project */
          $project = $query
              ->findPk(123456789);

          // links
          
          /** @var \Justimmo\Model\Attachment $link */
          foreach ($project->getLinks() as $link) {
              var_export($link);
          }

          /** @var \Justimmo\Model\Attachment $attachment */
          foreach ($project->getAttachments() as $attachment) {
              if ($attachment->getType() === 'link') {
                  var_export($attachment);
              }
          }

          // pictures
       
          /** @var \Justimmo\Model\Attachment $picture */
          foreach ($project->getPictures() as $picture) {
              print_r($picture);
          }
          
          /** @var \Justimmo\Model\Attachment $attachment */
          foreach ($project->getAttachments() as $attachment) {
              if ($attachment->getType() === 'picture') {
                  var_export($attachment);
              }
          }

          // videos

          /** @var \Justimmo\Model\Attachment $video */
          foreach ($project->getVideos() as $video) {
              print_r($video);
          }
          
          /** @var \Justimmo\Model\Attachment $attachment */
          foreach ($project->getAttachments() as $attachment) {
              if ($attachment->getType() === 'video') {
                  var_export($attachment);
              }
          }

          // documents

          /** @var \Justimmo\Model\Attachment $document */
          foreach ($project->getDocuments() as $document) {
              print_r($document);
          }
          
          /** @var \Justimmo\Model\Attachment $attachment */
          foreach ($project->getAttachments() as $attachment) {
              if ($attachment->getType() === 'document') {
                  var_export($attachment);
              }
          }

      } catch (Throwable $e) {
          echo $e->getMessage() . "<br/>\n";
      }

      ~~~


      ## Short List


      ### API


      ~~~

      https://api.justimmo.at/rest/v1/projekt/projektList

      ~~~


      The `query-result` `count` element contains information of total hits of
      the search regardless of given limit parameter.


      ~~~xml

      <?xml version="1.0" encoding="UTF-8"?>

      <justimmo>
          <query-result>
              <count>3</count>
          </query-result>
          <projekt>
              <id>46</id>
              <titel>Demoprojekt in Zentrumsnähe</titel>
          </projekt>
          <projekt>
              <id>51</id>
              <titel>Neubau mitten im dritten</titel>
          </projekt>
          <projekt>
              <id>2065</id>
              <titel></titel>
          </projekt>
      </justimmo>

      ~~~


      ## IDs


      Returns ids of matching projects as JSON without limit and offset
      limitations.


      ### API


      ~~~

      https://api.justimmo.at/rest/v1/projekt/ids?filter[projekt_status]=building

      ~~~


      ~~~json

      ["123","125","159"]

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\Mapper\V1\ProjectMapper;

      use Justimmo\Model\ProjectQuery;

      use Justimmo\Model\Wrapper\V1\ProjectWrapper;



      $api = new JustimmoApi('username', 'password');

      $api->setCulture('de');


      $mapper  = new ProjectMapper();

      $wrapper = new ProjectWrapper($mapper);


      $query = new ProjectQuery($api, $wrapper, $mapper);


      try {
          $realtyIds = $query
              ->setLimit(15)
              ->findIds();

          var_dump($realtyIds);

      } catch (Throwable $e) {
          echo $e->getMessage();
      }


      ~~~
  - name: examples_basic_data
    x-displayName: Basic Data
    description: >
      ## Realty Categories


      ### API


      ~~~

      https://api.justimmo.at/rest/v1/objekt/kategorien?alle=1

      ~~~


      ~~~xml title="Response"

      <?xml version="1.0" encoding="UTF-8"?>

      <justimmo>
          <objektkategorie>
              <id>3876</id>
              <name>Topobjekte</name>
              <sortablerank>1</sortablerank>
          </objektkategorie>
      </justimmo>

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="14 15 19-21 25-27"

      <?php

      require_once '../vendor/autoload.php';


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\Query\BasicDataQuery;

      use Justimmo\Model\Wrapper\V1\BasicDataWrapper;

      use Justimmo\Model\Mapper\V1\BasicDataMapper;


      try {
          $api = new JustimmoApi('username', 'password');
          $api->setBaseUrl('https://api.justimmo.at/rest');
          $api->setCulture('de');

          $mapper  = new BasicDataMapper();
          $wrapper = new BasicDataWrapper();

          $query = new BasicDataQuery($api, $wrapper, $mapper);

          $categories = $query
              ->all(true)
              ->findRealtyCategories();

          print_r($categories);

          $categories = $query
              ->all(false)
              ->findRealtyCategories();

          print_r($categories);

      } catch(Exception $exception) {
          echo $exception->getMessage();
      }

      ~~~


      ## Realty Features


      ### API


      ~~~

      https://api.justimmo.at/rest/v1/referenz/ausstattungen?culture=en&gruppe=2

      ~~~


      ~~~xml title="Response"

      <?xml version="1.0" encoding="UTF-8"?>

      <justimmo>
          <ausstattung>
              <id>93</id>
              <gruppeid>2</gruppeid>
              <gruppename>Energy source</gruppename>
              <name>air source heat pump</name>
              <gruppencode>befeuerung</gruppencode>
              <code>LUFTWP</code>
          </ausstattung>
          <ausstattung>
              <id>10</id>
              <gruppeid>2</gruppeid>
              <gruppename>Energy source</gruppename>
              <name>alternative energy</name>
              <gruppencode>befeuerung</gruppencode>
              <code>ALTERNATIV</code>
          </ausstattung>
          <ausstattung>
              <id>101</id>
              <gruppeid>2</gruppeid>
              <gruppename>Energy source</gruppename>
              <name>CHP</name>
              <gruppencode>befeuerung</gruppencode>
              <code>BLOCK</code>
          </ausstattung>
          <ausstattung>
              <id>119</id>
              <gruppeid>2</gruppeid>
              <gruppename>Energy source</gruppename>
              <name>coal</name>
              <gruppencode>befeuerung</gruppencode>
              <code>KOHLE</code>
          </ausstattung>
          <ausstattung>
              <id>102</id>
              <gruppeid>2</gruppeid>
              <gruppename>Energy source</gruppename>
              <name>district heating</name>
              <gruppencode>befeuerung</gruppencode>
              <code>FERN</code>
          </ausstattung>
          <ausstattung>
              <id>11</id>
              <gruppeid>2</gruppeid>
              <gruppename>Energy source</gruppename>
              <name>electricity</name>
              <gruppencode>befeuerung</gruppencode>
              <code>ELEKTRO</code>
          </ausstattung>
          <ausstattung>
              <id>13</id>
              <gruppeid>2</gruppeid>
              <gruppename>Energy source</gruppename>
              <name>gas</name>
              <gruppencode>befeuerung</gruppencode>
              <code>GAS</code>
          </ausstattung>
          <ausstattung>
              <id>12</id>
              <gruppeid>2</gruppeid>
              <gruppename>Energy source</gruppename>
              <name>geothermal energy</name>
              <gruppencode>befeuerung</gruppencode>
              <code>ERDWAERME</code>
          </ausstattung>
          <ausstattung>
              <id>117</id>
              <gruppeid>2</gruppeid>
              <gruppename>Energy source</gruppename>
              <name>liquefied gas</name>
              <gruppencode>befeuerung</gruppencode>
              <code>FLUESSIGGAS</code>
          </ausstattung>
          <ausstattung>
              <id>14</id>
              <gruppeid>2</gruppeid>
              <gruppename>Energy source</gruppename>
              <name>oil</name>
              <gruppencode>befeuerung</gruppencode>
              <code>OEL</code>
          </ausstattung>
          <ausstattung>
              <id>94</id>
              <gruppeid>2</gruppeid>
              <gruppename>Energy source</gruppename>
              <name>pellets</name>
              <gruppencode>befeuerung</gruppencode>
              <code>PELLET</code>
          </ausstattung>
          <ausstattung>
              <id>15</id>
              <gruppeid>2</gruppeid>
              <gruppename>Energy source</gruppename>
              <name>solar panels</name>
              <gruppencode>befeuerung</gruppencode>
              <code>SOLAR</code>
          </ausstattung>
          <ausstattung>
              <id>100</id>
              <gruppeid>2</gruppeid>
              <gruppename>Energy source</gruppename>
              <name>water/electric</name>
              <gruppencode>befeuerung</gruppencode>
              <code>WASSER-ELEKTRO</code>
          </ausstattung>
          <ausstattung>
              <id>118</id>
              <gruppeid>2</gruppeid>
              <gruppename>Energy source</gruppename>
              <name>wood</name>
              <gruppencode>befeuerung</gruppencode>
              <code>HOLZ</code>
          </ausstattung>
      </justimmo>


      ~~~


      ### PHP-SDK


      It is not supported by our PHP-SDK.


      ## Realty Types


      ### API


      ~~~

      https://api.justimmo.at/rest/v1/objekt/objektarten

      ~~~


      ~~~xml title="Response"

      <?xml version="1.0" encoding="UTF-8"?>

      <justimmo>
          <objektart>
              <id>5</id>
              <name>Büro / Praxis</name>
              <key>buero_praxen</key>
              <attributename>buero_typ</attributename>
          </objektart>
          <objektart>
              <id>3</id>
              <name>Haus</name>
              <key>haus</key>
              <attributename>haustyp</attributename>
          </objektart>
          <objektart>
              <id>2</id>
              <name>Wohnung</name>
              <key>wohnung</key>
              <attributename>wohnungtyp</attributename>
          </objektart>
      </justimmo>

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="14 15 19-21 25-27"

      <?php

      require_once '../vendor/autoload.php';


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\Query\BasicDataQuery;

      use Justimmo\Model\Wrapper\V1\BasicDataWrapper;

      use Justimmo\Model\Mapper\V1\BasicDataMapper;


      try {
          $api = new JustimmoApi('username', 'password');
          $api->setBaseUrl('https://api.justimmo.at/rest');
          $api->setCulture('de');

          $mapper  = new BasicDataMapper();
          $wrapper = new BasicDataWrapper();

          $query = new BasicDataQuery($api, $wrapper, $mapper);

          $realtyTypes = $query
              ->all(true)
              ->findRealtyTypes();

          print_r($realtyTypes);

          $realtyTypes = $query
              ->all(false)
              ->findRealtyTypes();

          print_r($realtyTypes);

      } catch(Exception $exception) {
          echo $exception->getMessage();
      }

      ~~~


      ## Countries


      ### API


      ~~~

      https://api.justimmo.at/rest/v1/objekt/laender

      ~~~


      ~~~xml title="Response"

      <?xml version="1.0" encoding="UTF-8"?>

      <justimmo>
          <land>
              <id>17</id>
              <name>Österreich</name>
              <iso2>AT</iso2>
              <iso3>AUT</iso3>
          </land>
          <land>
              <id>216</id>
              <name>Thailand</name>
              <iso2>TH</iso2>
              <iso3>THA</iso3>
          </land>
      </justimmo>

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="14 15 19-21 25-27"

      <?php

      require_once '../vendor/autoload.php';


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\Query\BasicDataQuery;

      use Justimmo\Model\Wrapper\V1\BasicDataWrapper;

      use Justimmo\Model\Mapper\V1\BasicDataMapper;


      try {
          $api = new JustimmoApi('username', 'password');
          $api->setBaseUrl('https://api.justimmo.at/rest');
          $api->setCulture('de');

          $mapper  = new BasicDataMapper();
          $wrapper = new BasicDataWrapper();

          $query = new BasicDataQuery($api, $wrapper, $mapper);

          $countries = $query
              ->all(false)
              ->findCountries();

          var_dump($countries);

          $countries = $query
              ->all(true)
              ->findCountries();

          var_dump($countries);

      } catch(Exception $exception) {
          echo $exception->getMessage();
      }

      ~~~


      ## Federal States


      All federal states of austria


      ### API


      ~~~

      https://api.justimmo.at/rest/v1/objekt/bundeslaender?land=AT&alle=1

      ~~~


      ~~~xml title="Response"

      <?xml version="1.0" encoding="UTF-8"?>

      <justimmo>
          <bundesland>
              <id>126</id>
              <name>Burgenland</name>
              <landid>17</landid>
              <fipscode>01</fipscode>
              <iso31662code>AT-1</iso31662code>
          </bundesland>
          <bundesland>
              <id>127</id>
              <name>Kärnten</name>
              <landid>17</landid>
              <fipscode>02</fipscode>
              <iso31662code>AT-2</iso31662code>
          </bundesland>
          <!-- .... -->
      </justimmo>

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="14 15 19-22 26-29"

      <?php

      require_once '../vendor/autoload.php';


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\Query\BasicDataQuery;

      use Justimmo\Model\Wrapper\V1\BasicDataWrapper;

      use Justimmo\Model\Mapper\V1\BasicDataMapper;


      try {
          $api = new JustimmoApi('username', 'password');
          $api->setBaseUrl('https://api.justimmo.at/rest');
          $api->setCulture('de');

          $mapper  = new BasicDataMapper();
          $wrapper = new BasicDataWrapper();

          $query = new BasicDataQuery($api, $wrapper, $mapper);

          $states = $query
              ->all(false)
              ->filterByCountry('AT')
              ->findFederalStates();

          var_dump($states);

          $states = $query
              ->all(true)
              ->filterByCountry('AT')
              ->findFederalStates();

          var_dump($states);

      } catch(Exception $exception) {
          echo $exception->getMessage();
      }

      ~~~


      ## Regions


      All regions of Vienna


      ### API


      ~~~

      https://api.justimmo.at/rest/v1/objekt/regionen?land=AT&bundesland=134&alle=1

      ~~~


      ~~~xml title="Response"

      <?xml version="1.0" encoding="UTF-8"?>

      <justimmo>
          <region>
              <id>39</id>
              <name>1., Innere Stadt</name>
          </region>
          <region>
              <id>58</id>
              <name>2., Leopoldstadt</name>
          </region>
          <!-- .... -->
      </justimmo>

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="14 15 19-23 27-31"

      <?php

      require_once '../vendor/autoload.php';


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\Query\BasicDataQuery;

      use Justimmo\Model\Wrapper\V1\BasicDataWrapper;

      use Justimmo\Model\Mapper\V1\BasicDataMapper;


      try {
          $api = new JustimmoApi('username', 'password');
          $api->setBaseUrl('https://api.justimmo.at/rest');
          $api->setCulture('de');

          $mapper  = new BasicDataMapper();
          $wrapper = new BasicDataWrapper();

          $query = new BasicDataQuery($api, $wrapper, $mapper);

          $regions = $query
              ->all(false)
              ->filterByCountry('AT')
              ->filterByFederalState(134)
              ->findRegions();

          var_dump($regions);

          $regions = $query
              ->all(true)
              ->filterByCountry('AT')
              ->filterByFederalState(134)
              ->findRegions();

          var_dump($regions);

      } catch(Exception $exception) {
          echo $exception->getMessage();
      }

      ~~~


      ## Zip Codes


      All zip codes with their city names of Tirol


      ### API


      ~~~

      https://api.justimmo.at/rest/v1/objekt/plzsUndOrte?land=AT&bundesland=132&alle=1

      ~~~


      ~~~xml title="Response"

      <?xml version="1.0" encoding="UTF-8"?>

      <justimmo>
          <postleitzahl>
              <id>567</id>
              <landid>17</landid>
              <regionid>40</regionid>
              <plz>6020</plz>
              <ort>Innsbruck</ort>
              <bundeslandid>132</bundeslandid>
          </postleitzahl>
          <postleitzahl>
              <id>462</id>
              <landid>17</landid>
              <regionid>41</regionid>
              <plz>6060</plz>
              <ort>Hall in Tirol</ort>
              <bundeslandid>132</bundeslandid>
          </postleitzahl>
          <postleitzahl>
              <id>465</id>
              <landid>17</landid>
              <regionid>41</regionid>
              <plz>6063</plz>
              <ort>Rum</ort>
              <bundeslandid>132</bundeslandid>
          </postleitzahl>
          <!-- .... -->
      </justimmo>

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="15 16 20-24 28-32"

      <?php

      require_once '../vendor/autoload.php';


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\Query\BasicDataQuery;

      use Justimmo\Model\Wrapper\V1\BasicDataWrapper;

      use Justimmo\Model\Mapper\V1\BasicDataMapper;


      try {
          $api = new JustimmoApi('api-6389', 'Ins3j1bBla1');
          $api->setBaseUrl('https://api.just.immo/rest');
          $api->setCulture('de');
          //$api->setCurlOption(CURLOPT_CONNECTTIMEOUT_MS, 20000);

          $mapper  = new BasicDataMapper();
          $wrapper = new BasicDataWrapper();

          $query = new BasicDataQuery($api, $wrapper, $mapper);

          $zips = $query
              ->all(false)
              ->filterByCountry('AT')
              ->filterByFederalState(132)
              ->findZipCodes();

          print_r($zips);

          $zips = $query
              ->all(true)
              ->filterByCountry('AT')
              ->filterByFederalState(132)
              ->findZipCodes();

          print_r($zips);

      } catch(Exception $exception) {
          echo $exception->getMessage();
      }

      ~~~
  - name: examples_filter
    x-displayName: Filter
    description: >
      ## By area


      Filtering by minimum / maximum value of the area. Multiple values are
      supported by using an array notation.


      ### API


      `sort_flaeche` / `sort_flaeche_von` / `sort_flaeche_bis`


      ~~~ title="API"

      https://api.justimmo.at/rest/v1/objekt/list?filter[sort_flaeche_von]=87&filter[sort_flaeche_bis]=120&limit=3&showDetails=1&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19" title="PHP-SDK"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterByArea(['min' => 87, 'max' => 120])
          ->setLimit(3)
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          var_dump($realty);
          //....
      }

      ~~~


      ## By balcony number


      Filtering the real-estates by minimum / maximum number of the balconies.


      ### API


      `anzahl_balkons_von` / `anzahl_balkons_bis`


      ~~~

      https://api.justimmo.at/rest/v1/objekt/list?filter[anzahl_balkons_von]=2&filter[anzahl_balkons_bis]=3&limit=3&showDetails=1&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterByBalconyCount(['min' => 2, 'max' => 3])
          ->setLimit(3)
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          var_dump($realty);
          //....
      }

      ~~~


      ## By bathroom number


      Filtering the real-estates by minimum / maximum number of the bathrooms.


      ### API


      `anzahl_badezimmer_von` / `anzahl_badezimmer_bis`


      ~~~

      https://api.justimmo.at/rest/v1/objekt/list?filter[anzahl_badezimmer_von]=2&filter[anzahl_badezimmer_bis]=4&limit=3&showDetails=1&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterByBathRoomCount(['min' => 2, 'max' => 4])
          ->setLimit(3)
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          var_dump($realty);
          //....
      }

      ~~~


      ## By cellar number


      Filtering the real-estates by minimum / maximum number of the cellars.


      ### API


      `anzahl_keller_von` / `anzahl_keller_bis`


      ~~~

      https://api.justimmo.at/rest/v1/objekt/list?filter[anzahl_keller_von]=1&filter[anzahl_keller_von]=3&limit=3&showDetails=1&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterByCellarCount(['min' => 1, 'max' => 3])
          ->setLimit(3)
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          var_dump($realty);
          //....
      }

      ~~~


      ## By condition


      Filtering the real-estates by condition. The id of the <a
      href="#tag/reference_realty_conditions">conditions</a>.


      ### API


      `zustand_id`


      ~~~

      https://api.justimmo.at/rest/v1/objekt/list?filter[zustand_id]=3&limit=3&showDetails=1&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterByCondition(3)
          ->setLimit(3)
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          var_dump($realty);
          //....
      }

      ~~~


      ## By disability access


      Filtering the real-estates by disability access.


      ### API


      `barrierefrei`


      ~~~

      https://api.justimmo.at/rest/v1/objekt/list?filter[barrierefrei]=1&limit=3&showDetails=1&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterByDisabilityAccess(true)
          ->setLimit(3)
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          var_dump($realty);
          //....
      }

      ~~~


      ## By equipment


      Filtering the real-estates by equipments. The IDs of the <a
      href="#tag/reference_realty_features">features</a> are listed on the
      linked page.

      Multiple values are supported by using an array notation.


      ### API


      `objekt_ausstattung_list`


      ~~~

      https://api.justimmo.at/rest/v1/objekt/list?filter[objekt_ausstattung_list][]=175&filter[objekt_ausstattung_list][]=176&filter[objekt_ausstattung_list][]=177&filter[objekt_ausstattung_list][]=942&filter[objekt_ausstattung_list][]=945&limit=3&showDetails=1&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterByEquipment([175,176,177,942,945])
          ->setLimit(3)
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          var_dump($realty);
          //....
      }

      ~~~


      ## By marketing type


      Set miete to 1 to search for real-estates available for rent. Set kauf to
      1 to search for real-estates available for purchase.


      ### API


      `miete` / `kauf`


      ~~~

      https://api.justimmo.at/rest/v1/objekt/list?filter[kauf]=1&filter[miete]=0&limit=3&showDetails=1&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterByBuy(1)
          ->filterByRent(0)
          ->setLimit(3)
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          var_dump($realty);
          //....
      }

      ~~~


      ## By price


      Filtering by min / max price. Depending on the type, it is the rental fee
      or the purchase price.


      ### API


      `preis` / `preis_von` / `preis_bis`


      ~~~

      https://api.justimmo.at/rest/v1/objekt/list?filter[preis_von]=100000&filter[preis_bis]=500000&orderby=preis&ordertype=desc&limit=3&showDetails=1&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterByPrice(['min' => 100000, 'max' => 500000])
          ->orderByPrice('desc')
          ->setLimit(3)
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          var_dump($realty);
          //....
      }

      ~~~


      ## By property number


      Filtering by the property number.


      ### API


      `objektnummer` / `objektnummer_von` / `objektnummer_bis`


      ~~~

      https://api.justimmo.at/rest/v1/objekt/list?filter[objektnummer]=43156&limit=3&showDetails=1&culture=de

      https://api.justimmo.at/rest/v1/objekt/list?filter[objektnummer_von]=43000&filter[objektnummer_bis]=44000&limit=3&showDetails=1&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19 24"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterByPropertyNumber(['min' => 43000, 'max' => 44000])
          ->setLimit(3)
          ->find();

      $realties = $query
          ->filterByPropertyNumber(43156)
          ->setLimit(3)
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          var_dump($realty);
          //....
      }

      ~~~


      ## By realty category


      Filtering by the name of the category assigned to the real-estates.


      ### API


      `tag_name`


      ~~~

      https://api.justimmo.at/rest/v1/objekt/list?filter[tag_name][]=Topobjekte&filter[tag_name][]=Penthouse&limit=3&showDetails=1&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterByRealtyCategory(['Topobjekte', 'Penthouse'])
          ->setLimit(3)
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          var_export($realty->getCategories());
          //....
      }

      ~~~


      ## By realty system type


      Filtering by the <a href="#tag/reference_realty_system_types">realty
      system types</a>.


      ### API


      `realty_type`


      ~~~

      https://api.justimmo.at/rest/v1/objekt/list?filter[realty_type]=simple&limit=3&showDetails=1&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterByRealtySystemType('simple')
          ->setLimit(3)
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          echo sprintf("id: %d (%s)<br/>", $realty->getId(), $realty->getRealtySystemType());
          //....
      }

      ~~~


      ## By realty type ID


      Filtering by <a href="#tag/reference_realty_types">main realty type</a>.
      Multiple values are supported by using an array notation.


      ### API


      `objektart_id`


      ~~~

      https://api.justimmo.at/rest/v1/objekt/list?filter[objektart_id][]=1&filter[objektart_id][]=2&limit=3&showDetails=1&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterByRealtyTypeId([1,2])
          ->setLimit(3)
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          var_dump($realty);
          //....
      }

      ~~~


      ## By room number


      Filtering by the number of the rooms. Multiple values are supported by
      using an array notation.


      ### API


      `zimmer` / `zimmer_von` / `zimmer_bis`


      ~~~

      https://api.justimmo.at/rest/v1/objekt/list?filter[zimmer]=2&limit=3&showDetails=1&culture=de

      https://api.justimmo.at/rest/v1/objekt/list?filter[zimmer_von]=1&filter[zimmer_bis]=3&limit=3&showDetails=1&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterByRooms(['min' => 1, 'max' => 3])
          ->setLimit(3)
          ->find();

      $realties = $query
          ->filterByRooms(2)
          ->setLimit(3)
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          var_dump($realty);
          //....
      }

      ~~~


      ## By status ID


      Filtering by <a href="#tag/reference_realty_types">realty status</a>.
      Multiple values are supported by using an array notation.


      ### API


      `objekt_status_id`


      ~~~

      https://api.justimmo.at/rest/v1/objekt/list?filter[objekt_status_id]=5&showDetails=1&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterByStatusId(5)
          ->setLimit(3)
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          var_dump($realty);
          //....
      }

      ~~~


      ## By style of building


      Filtering by old or new buildings. The possible <a
      href="#tag/reference_realty_style_of_buildings">building styles</a> are
      available on the linked page.


      ### API


      `bauart_id`


      ~~~

      https://api.justimmo.at/rest/v1/objekt/list?filter[bauart_id]=2&showDetails=1&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterByStyleOfBuildingId(2)
          ->setLimit(3)
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          var_dump($realty);
          //....
      }

      ~~~


      ## By sub-realty type ID


      Filtering by <a href="#tag/reference_realty_types/Sub-Types">sub realty
      type</a>. Multiple values are supported by using an array notation.


      ### API


      `subobjektart_id`


      ~~~

      https://api.justimmo.at/rest/v1/objekt/list?filter[subobjektart_id][]=45&filter[subobjektart_id][]=49&limit=3&showDetails=1&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterBySubRealtyTypeId([45,49])
          ->setLimit(3)
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          var_dump($realty);
          //....
      }

      ~~~


      ## By last updated time


      Filtering by the time of the last modification.


      ### API


      `aktualisiert_am_von` / `aktualisiert_am_bis`


      ~~~

      https://api.justimmo.at/rest/v1/objekt/list?filter[aktualisiert_am_von]=2021-04-01+00%3A00%3A00&filter[aktualisiert_am_bis]=2021-04-30+12%3A00%3A00&orderby=updated_at&ordertype=asc&limit=3&showDetails=1&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterByUpdatedAt(['min' => '2021-04-01 00:00:00', 'max' => '2021/04/30 12:00:00'])
          ->orderByUpdatedAt('asc')
          ->setLimit(3)
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          echo sprintf("id: %d (%s)<br/>", $realty->getId(), $realty->getUpdatedAt());
          //....
      }

      ~~~


      ## By ZIP code


      Filtering by zip code. Multiple values are supported by using an array
      notation.


      ### API


      `plz`


      ~~~

      https://api.justimmo.at/rest/v1/objekt/list?filter[plz]=1160&limit=3&showDetails=1&culture=de

      https://api.justimmo.at/rest/v1/objekt/list?filter[plz][]=1070&filter[plz][]=1160&limit=3&showDetails=1&culture=de

      ~~~


      ### PHP-SDK


      ~~~ php linenums="1" hl_lines="19"

      <?php


      require __DIR__ . "/../vendor/autoload.php";


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $api = new JustimmoApi('username', 'password');

      $api->setBaseUrl('https://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query
          ->filterByZipCode('1160')
          ->setLimit(3)
          ->find();

      $realties = $query
          ->filterByZipCode(['1070', '1160'])
          ->setLimit(3)
          ->find();

      /** @var \Justimmo\Model\Realty $realty */

      foreach ($realties as $realty) {
          echo $realty->getZipCode() . '<br/>';
          //....
      }

      ~~~
  - name: examples_wordpress
    x-displayName: Wordpress
    description: >
      ## Sending inquiry in E-mail


      Sending inquiry attached to an E-mail from WordPress


      It is a very simple 1 file example. You have to adjust it regarding your
      form, webhooks and your application.


      1. Install these packages with composer:


      ~~~shell

      $ composer require league/uri

      $ composer require league/uri-components

      $ composer require symfony/mailer

      $ composer require symfony/google-mailer

      ~~~


      2. Create a new file in your WP root directory called
      <code>justimmo_inquiry.php</code> with the following content:


      ~~~ php

      <?php


      require_once __DIR__ . '/../vendor/autoload.php';


      use League\Uri\Components\Query;

      use League\Uri\UriTemplate;

      use Symfony\Component\Mailer\Mailer;

      use Symfony\Component\Mailer\Transport;

      use Symfony\Component\Mime\Email;



      // this email address is defined by Justimmo

      $feedbackEmail = 'ask-it-from-the-support@muster-justimmo.at';


      // this is the folder where the logic saves the generated XML files

      // if there were any issues with the sending then you can send them later
      again

      $feedbackXMLFilesFolderPath = __DIR__ . '/../openimmo_feedbacks/';


      // you need to use a WP webhook to pass the data from the Contact Form to
      this logic

      // for example:
      https://musterimmo.at/justimmo_inquiry.php?realtyId=999999999&salutationId=1&title=Dr.&firstName=John&lastName=Doe&...

      // get the arguments from the url that you passed through your local WP
      webhook - in this example we use League\Uri packages 


      $template =
      'https://musterimmo.at/justimmo_inquiry.php{?realtyOoId,salutation,title,firstName,lastName,email,message,phone,fax,mobile,street,zipCode,city,country,categories}';


      $uriTemplate = new UriTemplate($template, []);

      $uri = $uriTemplate->expand(getUrlQueryParameters());


      $query = Query::createFromRFC3986($uri->getQuery(), '&');


      $realtyOoId = $query->params('realtyOoId'); // it has to be the same like
      in Justimmo: OBGC2................

      $salutation = $query->params('salutation');

      $title      = $query->params('title');

      $firstName  = $query->params('firstName');

      $lastName   = $query->params('lastName');

      $email      = $query->params('email');

      $message    = $query->params('message');

      $phone      = $query->params('phone');

      $fax        = $query->params('fax');

      $mobile     = $query->params('mobile');

      $street     = $query->params('street');

      $zipCode    = $query->params('zipCode');

      $city       = $query->params('city');

      $country    = $query->params('country');

      //$categories = $query->params('categories');


      // don't send the inquiry without these mandatory data!

      if ($realtyId === null || $email === null || $message === null) {
          die('invalid request');
      }


      // don't forget to clean up and validate the values before you add them to
      the XML!


      // acquire the other necessary variables from your database


      $senderName   = 'Max Musterman Immobilien';

      $openImmoAnid = 'ABGC2................'; // you can get it from Justimmo
      support

      $date         = date('Y-m-d');

      $tenantId     = 99999; // optional


      $portalId     = 99999; // optional

      $providerId   = '9999_OBGC2................';

      $exposeUrl    = 'https://musterimmo.at/immobilien/999/expose';

      $description  = 'Schöne Wohnung mit Potenzial';



      // build the XML. It has to be a valid Openimmo feedback XML


      $xml = new SimpleXMLElement('<?xml version="1.0"
      encoding="UTF-8"?><openimmo_feedback/>');


      $xml->addChild('version', '1.2.5');


      $sender = $xml->addChild('sender');

      $sender->addChild('name', $senderName);

      $sender->addChild('openimmo_anid', $openImmoAnid);

      $sender->addChild('datum', $date);

      $sender->addChild('makler_id', $tenantId);


      $object = $xml->addChild('objekt');

      $object->addChild('portal_unique_id', $portalId);

      $object->addChild('oobj_id', $realtyOoId);

      $object->addChild('anbieter_id', $providerId);

      $object->addChild('expose_url', $exposeUrl);

      $object->addChild('bezeichnung', $description);


      $contact = $object->addChild('interessent');

      $contact->addChild('anrede', $salutation);

      $contact->addChild('vorname', $firstName);

      $contact->addChild('nachname', $lastName);

      $contact->addChild('strasse', $street);

      $contact->addChild('plz', $zipCode);

      $contact->addChild('ort', $city);

      $contact->addChild('email', $email);

      $contact->addChild('tel', $phone);

      $contact->addChild('fax', $fax);

      $contact->addChild('mobil', $mobile);

      $contact->addChild('anfrage', $message);



      // save the XML on your server with unique naming

      $feedbackFileName = date('Y-m-d-His') . '-' . $objectOpenimmoId . '.xml';

      $feedbackFilePath = $feedbackXMLFilesFolderPath . $feedbackFileName;

      $xml->saveXML($feedbackFilePath);



      // send the feedback attached to an email


      // in this example we used Symfony Mailer:
      https://symfony.com/doc/current/mailer.html

      $email = (new Email())
          ->from('noreply@musterimmo.at')
          ->to($feedbackEmail)
          //->cc('oi-feedbacks@musterimmo.at') // if you want to get a copy
          ->subject('Musterimmo-Anfrage an OpenImmo Objekt #' . $objectOpenimmoId)
          ->text(strip_tags($message))
          ->html($message);

      // attach the XML

      $email
          ->attachFromPath($feedbackFilePath);

      // don't forget to add the 'Envelope-to' tag to the headers!

      $email
          ->getHeaders()
              ->addTextHeader('Envelope-to', $feedbackEmail);

      // setup the transport and the mailer


      $transport = Transport::fromDsn('smtp://localhost:1025');

      //$transport =
      Transport::fromDsn('gmail+smtp://USERNAME:PASSWORD@default');


      $mailer = new Mailer($transport);


      $mailer->send($email);


      exit();



      /**
       * it is just a very simple example, and it is not secure to use it on live server!!!
       *
       * @return array
       */
      function getUrlQueryParameters(): array

      {
          $uri = $_SERVER['REQUEST_URI'];

          parse_str(parse_url($uri, PHP_URL_QUERY), $queryArray);

          $queryArray = array_map('trim', $queryArray);

          return array_filter($queryArray, fn($value) => !is_null($value) && $value !== '');
      }


      ~~~


      The XML logic above will result an output like this


      ~~~xml

      <?xml version="1.0" encoding="UTF-8"?>

      <openimmo_feedback>
          <version>1.2.5</version>
          <sender>
              <name>Max Musterman Immobilien</name>
              <openimmo_anid>ABGC2................</openimmo_anid>
              <datum>2022-01-04</datum>
              <makler_id>9999</makler_id>
          </sender>
          <objekt>
              <portal_unique_id>9999</portal_unique_id>
              <oobj_id>OBGC2................</oobj_id>
              <anbieter_id>999_OBGC2................</anbieter_id>
              <expose_url>https://musterimmo.at/immobilien/999/expose</expose_url>
              <bezeichnung>Schöne Wohnung mit Potenzial</bezeichnung>
              <interessent>
                  <anrede />
                  <vorname>Max</vorname>
                  <nachname>Mustermann</nachname>
                  <strasse>Hauptstrasse</strasse>
                  <plz>1111</plz>
                  <ort>Wien</ort>
                  <email>max@musterimmo.at</email>
                  <tel />
                  <fax />
                  <mobil>4365555555555</mobil>
                  <anfrage>Ich will folgendes über das Objekt wissen..</anfrage>
              </interessent>
          </objekt>
      </openimmo_feedback>

      ~~~


      and the generated email looks like this


      ~~~

      From: noreply@musterimmo.at

      To: ask-it-from-the-support@muster-justimmo.at

      Subject: Musterimmo-Anfrage an OpenImmo Objekt #OBGC2................

      Envelope-to: ask-it-from-the-support@muster-justimmo.at

      Message-ID: <11635acb69e2ef0b00908fffc53defef@musterimmo.at>

      MIME-Version: 1.0

      Date: Wed, 05 Jan 2022 18:13:51 +0100

      Content-Type: multipart/mixed; boundary=KRdavuDN


      --KRdavuDN

      Content-Type: text/plain; charset=utf-8

      Content-Transfer-Encoding: quoted-printable


      Ich will folgendes =C3=BCber das Objekt wissen..

      --KRdavuDN

      Content-Type: application/xml;
       name=2022-01-05-181351-OBGC2.................xml
      Content-Transfer-Encoding: base64

      Content-Disposition: attachment;
       name=2022-01-05-181351-OBGC2.................xml;
       filename=2022-01-05-181351-OBGC2.................xml

      PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPG9wZW5pbW1vX2ZlZWRiYWNr

      Pjx2ZXJzaW9uPjEuMi41PC92ZXJzaW9uPjxzZW5kZXI+PG5hbWU+TWF4IE11c3Rlcm1hbiBJbW1v

      YmlsaWVuPC9uYW1lPjxvcGVuaW1tb19hbmlkPkFCR0MyLi4uLi4uLi4uLi4uLi4uLjwvb3Blbmlt

      bW9fYW5pZD48ZGF0dW0+MjAyMi0wMS0wNTwvZGF0dW0+PG1ha2xlcl9pZD45OTk5PC9tYWtsZXJf

      aWQ+PC9zZW5kZXI+PG9iamVrdD48cG9ydGFsX3VuaXF1ZV9pZD45OTk5PC9wb3J0YWxfdW5pcXVl

      X2lkPjxvb2JqX2lkPk9CR0MyLi4uLi4uLi4uLi4uLi4uLjwvb29ial9pZD48YW5iaWV0ZXJfaWQ+

      OTk5X09CR0MyLi4uLi4uLi4uLi4uLi4uLjwvYW5iaWV0ZXJfaWQ+PGV4cG9zZV91cmw+aHR0cHM6

      Ly9tdXN0ZXJpbW1vLmF0L2ltbW9iaWxpZW4vOTk5L2V4cG9zZTwvZXhwb3NlX3VybD48YmV6ZWlj

      aG51bmc+U2Now7ZuZSBXb2hudW5nIG1pdCBQb3RlbnppYWw8L2JlemVpY2hudW5nPjxpbnRlcmVz

      c2VudD48YW5yZWRlLz48dm9ybmFtZT5NYXg8L3Zvcm5hbWU+PG5hY2huYW1lPk11c3Rlcm1hbm48

      L25hY2huYW1lPjxzdHJhc3NlPkhhdXB0c3RyYXNzZTwvc3RyYXNzZT48cGx6PjExMTE8L3Bsej48

      b3J0PldpZW48L29ydD48ZW1haWw+bWF4QG11c3RlcmltbW8uYXQ8L2VtYWlsPjx0ZWwvPjxmYXgv

      Pjxtb2JpbD40MzY1NTU1NTU1NTU1PC9tb2JpbD48YW5mcmFnZT5JY2ggd2lsbCBmb2xnZW5kZXMg

      w7xiZXIgZGFzIE9iamVrdCB3aXNzZW4uLjwvYW5mcmFnZT48L2ludGVyZXNzZW50Pjwvb2JqZWt0

      Pjwvb3BlbmltbW9fZmVlZGJhY2s+Cg==

      --KRdavuDN--

      ~~~


      ## Sending inquiry with Justimmo PHP-SDK


      Sending inquiry using Justimmo PHP-SDK through local WordPress webhook


      1. Install Justimmo PHP-SDK with composer:


      ~~~shell

      $ composer require justimmo/php-sdk "1.0.*"

      ~~~


      2. Create a new file in your WP root directory called
      <code>justimmo_inquiry.php</code> with the following content


      ~~~ php

      <?php


      require_once __DIR__ . '/../vendor/autoload.php';


      use Justimmo\Request\RealtyInquiryRequest;

      use Justimmo\Model\Mapper\V1\RealtyInquiryMapper;


      // get the arguments from the url that you passed through your local WP
      webhook

      //
      https://musterimmo.at/justimmo_inquiry.php?realtyId=999999999&salutationId=1&title=Dr.&firstName=John&lastName=Doe&...


      $realtyId     = get_query_var('realtyId', null);

      $salutationId = get_query_var('salutationId', '');

      $title        = get_query_var('title', '');

      $firstName    = get_query_var('firstName', '');

      $lastName     = get_query_var('lastName', '');

      $email        = get_query_var('email', null);

      $message      = get_query_var('message', null);

      $phone        = get_query_var('phone', '');

      $street       = get_query_var('street', '');

      $zipCode      = get_query_var('zipCode', '');

      $city         = get_query_var('city', '');

      $country      = get_query_var('country', '');

      $categories   = get_query_var('categories', '');


      if ($realtyId === null || $email === null || $message === null) {
          die('invalid request');
      }



      $api = new \Justimmo\Api\JustimmoApi('justimmo_export_feed_username',
      'password');


      $rq = new RealtyInquiryRequest($api, new RealtyInquiryMapper());

      $rq->setRealtyId($realtyId)
          ->setSalutationId($salutationId)
          ->setTitle($title)
          ->setFirstName($firstName)
          ->setLastName($lastName)
          ->setEmail($email)
          ->setMessage($message)
          ->setPhone($phone)
          ->setStreet($street)
          ->setZipCode($zipCode)
          ->setCity($city)
          ->setCountry($country)
          ->setCategory($categories)
          ->send();
      ~~~
  - name: php_sdk_basics
    x-displayName: Basics
    description: >+
      The PHP SDK can be found on [Github](https://github.com/justimmo/php-sdk)


      ## Autoloading


      The easiest way to install the Justimmo PHP-SDK and autoload the classes
      in you php application is using <a href="http://getcomposer.org/"
      target="_blank">Composer</a>.

      The PHP-SDK follows the <a href="http://www.php-fig.org/psr/psr-0/"
      target="_blank">PSR-0</a> standards for autoloading.


      ## The API class


      The API class handles the communication between the Justimmo API and the
      PHP-SDK. It has to be injected in every query.

      Mandatory Requirements for the API class when instancing it is a username
      and a password for the Justimmo API, a LoggerInterface and a
      CacheInterface.

      Optional Attributes are the version (default __v1__) and the culture
      (default __de__). The culture defines the default language in which the
      API returns values. You can override this per call if needed.


      ~~~ php

      <?php


      use Justimmo\Api\JustimmoApi;

      use Justimmo\Model\RealtyQuery;


      $api = new JustimmoApi('username', 'password');

      //.....

      $api->setCulture('en');

      //.....

      ~~~


      ## Exceptions


      The PHP-SDK throws a variety of exceptions you can catch and handle into
      appropiate messages.


      ## Abstraction


      The concept of this PHP-SDK is to abstract the Justimmo API to a point
      that you just have to change the mapper and wrapper of a query to use a
      different version of the API. To achieve this the API uses dependency
      injection.

      If you don't want to build your dependencies by hand when using the API,
      you can use a <a
      href="http://symfony.com/doc/current/components/dependency_injection/introduction.html"
      target="_blank">dependency injection container</a>.


      ## Queries


      Queries are a object oriented way you can use to fetch data from the API.
      You can find a full list of possibilities in the query documentation.


      ~~~ php

      <?php

      //...


      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query->filterByPrice(array('min' => 500, 'max' => 1500))
          ->filterByZipCode(1020)
          ->orderByPrice('desc')
          ->find();
      ~~~


      ## Model


      Model classes are abstracted representations of a singular data set
      (example Realty, Employee,...)

      Instances of model classes are created by wrappers which handle the
      translation of the output format of a API call (xml, json) into an
      abstracted model object. By default queries return model instances while
      API calls return the plain output format as string.

      Depending on the dataset they come with a variety of different getters.
      You can find a full list of all properties in the model classes.


      ~~~ php

      <?php

      //...


      $realty = $query->findPk(12345);

      echo $realty->getPurchasePrice();

      echo $realty->getTitle();

      //...


      //information about the contact person of that realty

      echo $realty->getContact()->getFirstName();

      echo $realty->getContact()->getEmail());


      //...


      //attachments getPictures() getVideos() getDocuments()

      foreach($realty->getPictures() as $picture) {
          echo $picture->getUrl('orig');
      }

      //abstracted attachments

      foreach($realty->getAttachmentsByType('bilder360') as $picture) {
          echo $picture->getUrl('orig');
      }


      ~~~


      ## Pagination


      Queries return by default a ListPager instance, which is an extension of a
      PHP array object and only holds a subset of all data and additional
      methods to build a pager.


      ~~~ php

      <?php

      //iterating trough the subset of data

      foreach($pager as $realty) {
          //...
      }


      $pager->haveToPaginate(); //if the pager contains all data of if we have
      to paginate

      $pager->getPage(); //the current page of the pager

      $pager->getFirstPage(); //the first page of the pager

      $pager->getMaxPerPage(); //how many entries are shown on a page

      $pager->getLastPage(); //the last page of the pager

      $pager->getNbResults(); //number of all found results not only the number
      contained on the current page

      $pager->getLinks(5);  //gets the numbers of the adjacent pages of the
      current page if available

      $pager->toKeyValue('getId', 'getTitle'); //returns a php array as
      key/value pair with the passed keyMethodGetter and valueMethodGetter


      ~~~


      ## Errors


      The SDK will throw different exceptions on API failures. All SDK related
      exceptions implement the Justimmo\Exception\JustimmoException to let you
      catch all SDK exceptions thrown by the SDK.


      ~~~php

      <?php


      try {
          //...
          $query->find();
          //...
      } catch (\Justimmo\Exception\InvalidRequestException $e) {
          //bad request format oder filter parameter, example output "zimmer_von ["test" is not a number.]"
          echo $e->getMessage();
      } catch (\Justimmo\Exception\JustimmoException $e) {
          //other sdk exception
      } catch (\Exception $e) {
          //exception not thrown by SDK if JustimmoException is previously catched
      }


      ~~~


      ### Available Exceptions


      | Class                                              |
      Description                                                                                      
      |

      |----------------------------------------------------|---------------------------------------------------------------------------------------------------|

      | Justimmo\Exception\InvalidRequestException         | Thrown if api
      returns a statuscode between 400 and 499 due to invalid request
      data                |

      | Justimmo\Exception\AuthenticationException         | Thrown if SDK could
      not
      login                                                                    
      |

      | Justimmo\Exception\NotFoundException               | API returned a 404
      Error, eg. Realty detail request could not find a realty matching the
      given id |

      | Justimmo\Exception\StatusCodeException             | API returned a non
      successfull status code which is not handled by any of the other
      exceptions    |

      | Justimmo\Exception\MethodNotFoundException         | Thrown by most
      magic methods like toKeyValue() if method was not found on the model
      object        |

      | Justimmo\Exception\AttachmentSizeNotFoundException | Thrown by
      $attachment->getUrl() if $size has not been
      found                                       |

      | Justimmo\Exception\JustimmoException               | Interface to catch
      all SDK related
      exceptions                                                     |

  - name: php_sdk_query
    x-displayName: Query
    description: >
      Queries are a objectoriented way to fetch data from the api and abstract
      the results. They use a mapper and a wrapper to transform the result into
      a abstracted object. If you want to update the api to another version you
      just have to inject another mapper and wrapper into the query.


      ~~~ php

      <?php

      use Justimmo\Model\RealtyQuery;

      use Justimmo\Model\Wrapper\V1\RealtyWrapper;

      use Justimmo\Model\Mapper\V1\RealtyMapper;


      $mapper = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);

      $query = new RealtyQuery($api, $wrapper, $mapper);

      $realties = $query->filterByPrice(array('min' => 500, 'max' => 1500))
          ->filterByZipCode(1020)
          ->orderByPrice('desc')
          ->find();
      ~~~


      ## Default Methods


      The query instance has an internal parameter array with key/value pairs
      which will be translated into a query string when sent to the api by a
      termination method. You can combine as many methods as you like before
      calling a termination method.


      ### ->set($key, $value)


      Adds a parameter to the query what will be translated into the url on the
      call


      ### ->setLimit(), ->setOffset()


      Sets the limit and the offset for the next call. They work like they would
      do in SQL. Justimmo only supports a max limit of 100 realties in a list
      call.


      ### ->clear()


      Clears the query instance to it's state right after __construct()


      ### ->orderBy($column, $direction = 'asc')


      Adds the order in what the results should be returned on the next call


      ### ->orderByXXX($direction = 'asc')


      Shortcut for ->orderBy('XXX', $direction = 'asc');


      ### ->filter($key, $value)


      They can be used to search the Justimmo data for specific values.


      ~~~ php

      <?php

      //filter by a spefic value

      $query->filterByPrice(1500);


      //filter by a range

      $query->filterByPrice(array('min' => 500, 'max' => 1500));


      //filter by multiple values

      $query->filterByZipCode(array('1020', '1050'));

      ~~~


      ### ->filterByXXX($value)


      Shortcut for ->filter('XXX', $value);


      ### ->find()


      find is a termination method which passes all previously set parameters on
      the query to the api and returns a by the wrappers transformed result.
      Find returns a ListPager instance and clears the current query instance.


      ### ->findOne()


      findOne is a termination method which passes all previously set parameters
      on the query to the api and returns a by the wrappers transformed result.
      Find returns a model instance depending on what query it is.


      ### ->findPk($pk)


      findPk is a termination method which only passes the primary key of a
      object to the api and returns a model instance


      ### ->paginate($page = 1, $maxPerPage = 10)


      find is a termination method which passes all previously set parameters on
      the query to the api and returns a by the wrappers transformed result.
      Find returns a ListPager instance and clears the current query instance.
      The ListPager instance only has the data of the page passed to pagina

      They can be used to search the Justimmo data for specific values. Justimmo
      only supports a max limit of 100 realties in a list call ($maxPerPage).


      ~~~ php

      <?php

      //example of a query which would return 100 results overall

      $query->paginate(1, 10); //returns datarows 1 to 10

      $query->paginate(3, 10); //returns datarows 21 to 30

      $query->paginate(3, 15); //returns datarows 31 to 45

      ~~~


      ## RealtyQuery


      The RealtyQuery additionally supports following methods. Keep in mind that
      you can add not integrated default parameters by using __->set()__ and
      __->filter()__


      * Filter
          * filterByRent($value)
          * filterByBuy($value)
          * filterByPrice($value)
          * filterByRealtyTypeId($value)
          * filterBySubRealtyTypeId($value)
          * filterByRealtyCategory($value)
          * filterByTag($value)
          * filterByZipCode($value)
          * filterByRooms($value)
          * filterByPropertyNumber($value)
          * filterByArea($value)
          * filterByLivingArea($value)
          * filterByFloorArea($value)
          * filterBySurfaceArea($value)
          * filterByKeyword($value)
          * filterByFederalStateId($value)
          * filterByStyleOfBuildingId($value)
      * Sorting
          * orderByPrice($direction = 'asc')
          * orderByPropertyNumber($direction = 'asc')
          * orderByArea($direction = 'asc')
          * orderByLivingArea($direction = 'asc')
          * orderByFloorArea($direction = 'asc')
          * orderBySurfaceArea($direction = 'asc')
          * orderByCreatedAt($direction = 'asc')
          * orderByUpdatedAt($direction = 'asc')

      ### ->findIds()


      Special call only on RealtyQuery to bypass performance heavy operations on
      server- and clientside to get only the id property of the realties in a
      php array format


      ## ProjectQuery


      The ProjectQuery additionally supports following methods. Keep in mind
      that you can add not integrated default parameters by using __->set()__
      and __->filter()__


      * filterByRealtyCategory($value)

      * filterByTag($value)

      * filterByKeyword($value)

      * filterByFederalStateId($value)

      * all(1|0)


      ## EmployeeQuery


      The RealtyQuery additionally supports following methods. Keep in mind that
      you can add not integrated default parameters by using __->set()__ and
      __->filter()__ . Additionally Justimmo only outputs employees which are
      assigned to a category.


      ## BasicDataQuery


      The BasicDataQuery differs from the other queries because its used to
      fetch Justimmo Basic Data like Countries, Federal States, ... It does not
      return abstracted objects but php arrays with the primary key as array key


      ~~~ php

      <?php

      use Justimmo\Model\Query\BasicDataQuery;

      use Justimmo\Model\Wrapper\V1\BasicDataWrapper;

      use Justimmo\Model\Mapper\V1\BasicDataMapper();



      $query = new BasicDataQuery($api, new BasicDataWrapper(), new
      BasicDataMapper());

      $query->all(true)
          ->filterByCountry('AT')
          ->findFederalStates();
      ~~~


      ### ->set()


      See default methods


      ### ->setLimit(), ->setOffset()


      See default methods


      ### ->all(true|false)


      Defines if the next call should return all results or only results
      associated with currently active realties. Example: Without
      __->all(true)__ a findCountries() calls would only return contries in
      which the Justimmo Client associated with the used api account would have
      active realties.


      ### ->filterByCountry($value)


      Filters the results by country. Accepts the Justimmo PK of the country or
      a ISO2 country code.


      ### ->filterByFederalState($value)


      Filters the results by federal state. Accepts the Justimmo PK of the
      federal state or the name of the federal state (currently german only).


      ### ->findCountries()


      Returns an array of countries


      ~~~ php

      <?php

      //return array format

      array(
          pk => array(
              'name' => '...',
              'iso2' => '...',
              'iso3' => '...',
          ),
          //...
      );

      ~~~


      ### ->findFederalStates()


      Returns an array of federal states


      ~~~ php

      <?php

      //return array format

      array(
          pk => array(
              'name'      => '...',
              'countryId' => '...',
              'fipsCode'  => '...',
          ),
          //...
      );

      ~~~


      ### ->findZipCodes()


      Returns an array of zip codes and their place name


      ~~~ php

      <?php

      //return array format

      array(
          pk => array(
              'countryId'      => '...',
              'regionId'       => '...',
              'zipCode'        => '...',
              'place'          => '...',
              'federalStateId' => '...',
          ),
          //...
      );

      ~~~


      ### ->findRegions()


      Returns an array of regions


      ~~~ php

      <?php

      //return array format

      array(
          pk => 'name',
          //...
      );

      ~~~


      ### ->findRealtyTypes()


      Returns an array of realty types


      ~~~ php

      <?php

      //return array format

      array(
          pk => array(
              'name'      => '...',
              'key'       => '...',
              'attribute' => '...',
          ),
          //...
      );

      ~~~


      ### ->findRealtyCategories()


      Returns an array of realty categories


      ~~~ php

      <?php

      //return array format

      array(
          pk => array(
              'name'         => '...',
              'sortableRank' => '...',
          ),
          //...
      );

      ~~~
  - name: php_sdk_caching
    x-displayName: Caching
    description: >
      To speed up your application we strongly suggest you cache all api calls.
      The Justimmo PHP-SDK comes with a build in Memcache Class. If you don't
      have a MemcachedService at your disposal you can easily create an inject
      own Caching Services


      ## Memcache


      [PHP Memcache
      Documentation](http://www.php.net/manual/en/book.memcache.php)


      ~~~ php

      <?php

      use Justimmo\Cache\MemcacheCache;

      use Justimmo\Api\JustimmoApi;


      $memcache = new Memcache();

      $memcache->addServer('localhost');


      //pass an instance of Memcache and a lifetime

      $cache = new MemcacheCache($memcache, 1200);

      $api = new JustimmoApi('username', 'password', null, $cache);

      ~~~


      Building your own cache

      -----------------------

      Create a class which implements the \Justimmo\Cache\CacheInterface
  - name: php_sdk_logging
    x-displayName: Logging
    description: >
      The SDK follows the <a href="http://www.php-fig.org/psr/psr-3/"
      target="_blank">PSR-3 Logger Interface</a>. A simple way to implement it,
      is to use <a href="https://github.com/Seldaek/monolog"
      target="_blank">Monolog</a>


      ~~~ php

      <?php

      use Justimmo\Cache\NullCache;

      use Justimmo\Api\JustimmoApi;

      use Monolog\Logger;

      use Monolog\Handler\StreamHandler;

      use Monolog\Handler\NativeMailerHandler;


      $log = new Logger('JustimmoApi');

      $log->pushHandler(new StreamHandler('path/to/api_debug.log',
      Logger::DEBUG));

      $log->pushHandler(new NativeMailerHandler('me@me.com', 'Error occured
      while using justimmo api', 'no-reply@my-project.com', Logger::ERROR));


      $api = new JustimmoApi('username', 'password', $log, new NullCache());

      ~~~
  - name: php_sdk_inquiry
    x-displayName: Inquiry
    description: >
      ## Realty inquiry


      You are able to push data (e.g. contact form) directly to the Justimmo
      account via the RealtyInquiry object.


      ~~~ php

      <?php

      use Justimmo\Request\RealtyInquiryRequest;

      use Justimmo\Model\Mapper\V1\RealtyInquiryMapper;


      $rq = new RealtyInquiryRequest($api, new RealtyInquiryMapper());

      $rq->setRealtyId(12345)
          ->setSalutationId(1) //Mr.
          ->setTitle('Dr.')
          ->setFirstName('John')
          ->setLastName('Doe')
          ->setEmail('john.doe@example.com')
          ->setMessage('This message should be displayed to the responsible user of realty 12345')
          ->setPhone('123456')
          ->setStreet('Mariahilfer Strasse 8/11')
          ->setZipCode('1070')
          ->setCity('Wien')
          ->setCountry('AT')
          ->setCategory('Demo Marketing Category') // must be a category of type "marketing"
          ->setCompany('Acme')
          ->setIsRealtyOwner(true)
          ->setRealtyOwnerConsultationRequest(false)
          ->registerForNewsletter([4, 10], false)
          ->setFundingInquiry(true) // only use this method, if the service has been activated in Justimmo
          ->send();
      ~~~


      The passed data as seen above, adds to the Justimmo account a new contact
      and a relation to the 12345 realty with a logged contact activity. Based
      on the collected data, the responsible Justimmo user is now able to send
      an offer.


      ### Funding Inquiry


      It is an additional paid service that can be activated in Justimmo.


      If this option is set to "true", all recipients configured in this service
      will receive the financing consultation request via email.
  - name: php_sdk_expose
    x-displayName: Expose
    description: >
      The expose call on the API returns the pdf file. The first passed
      parameter is the primary key of the realty. The second parameter is the
      expose type. 404 will be returned if the expose/realty cannot be found.

      A list of expose types is available <a
      href="#tag/reference_expose_types">here.</a>


      ~~~ php

      <?php


      header('Content-type: application/pdf');

      echo $api->callExpose(12345, 'DefaultNewWebsite');

      ~~~
  - name: php_sdk_attachments
    x-displayName: Attachments
    description: >
      Attachments have multiple properties


      * Title<br>
        the title of the attachment
      * Type<br>
        the type of the attachment, can be picture, document or video
      * Group<br>
        the group defines the function of the attachment within the object, for example TITELBILD, default null

      On every model object (Realty, Employee, Project) you can fetch it's
      attachment with following methods


      ```php

      <?php

      $realty->getPictures();

      $realty->getVideos();

      $realty->getDocuments();


      //you can add a parameter to the methods to filter by different groups


      //gets all pictures regardless of the group

      $realty->getPictures();


      //gets all pictures without a group

      $realty->getPictures(null);


      //gets all pictures of the group TITELBILD

      $realty->getPictures('TITELBILD');


      //gets all pictures of the group bilder360

      $realty->getPictures('bilder360');


      // ...

      ```


      ## File Urls


      A list of available attachment sizes can be found <a
      href="#tag/reference_picture_sizes">here</a>.


      You can request specific sizes with the `setPicturesize` function.


      ```php

      $api = new JustimmoApi('xxxxxxxxx', 'xxxxxxxxxxxx');

      $api->setBaseUrl('http://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query  = new RealtyQuery($api, $wrapper, $mapper);


      // adds the requested picture sizes, listed at the link above 

      $query->setPicturesize(array('big', 'big2'));


      //gets an url to an attachment size, but only if the api returned that
      size

      $attachment->getUrl('big');


      //gets an url to an attachment size, even if the api does not return that
      size. BEWARE: this method cannot ensure that the url is a valid ressource

      $attachment->calculateUrl('big');

      ```


      ## Links


      Acquiring the links of a realty


      ```php

      $api = new JustimmoApi('xxxxxxxxx', 'xxxxxxxxxxxx');

      $api->setBaseUrl('http://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new RealtyMapper();

      $wrapper = new RealtyWrapper($mapper);


      $query  = new RealtyQuery($api, $wrapper, $mapper);

      $realty = $query->findPk(1234567);


      /** @var \Justimmo\Model\Attachment $link */

      foreach ($realty->getLinks() as $link) {
          var_dump($link);
      }


      /** @var \Justimmo\Model\Attachment $attachment */

      foreach ($realty->getAttachments() as $attachment) {
          if ($attachment->getType() === 'link') {
              var_dump($attachment);
          }
      }

      ```


      Acquiring the links of a residential project


      ```php

      $api = new JustimmoApi('xxxxxxxxx', 'xxxxxxxxxxxx');

      $api->setBaseUrl('http://api.justimmo.at/rest');

      $api->setCulture('de');


      $mapper  = new ProjectMapper();

      $wrapper = new ProjectWrapper($mapper);


      $query    = new ProjectQuery($api, $wrapper, $mapper);

      $project = $query->findPk(1234567);


      /** @var \Justimmo\Model\Attachment $link */

      foreach ($project->getLinks() as $link) {
          var_dump($link);
      }


      /** @var \Justimmo\Model\Attachment $attachment */

      foreach ($project->getAttachments() as $attachment) {
          if ($attachment->getType() === 'link') {
              var_dump($attachment);
          }
      }

      ```
x-tagGroups:
  - name: Introduction
    tags:
      - introduction_openapi_specification
      - introduction_cross_origin
      - introduction_getting_started
      - introduction_files_and_images
      - introduction_realty_links
  - name: Calls
    tags:
      - realty
      - team
      - project
      - basic_data
  - name: Reference
    tags:
      - reference_realty_conditions
      - reference_realty_features
      - reference_realty_ownership_types
      - reference_realty_status
      - reference_realty_style_of_buildings
      - reference_realty_system_types
      - reference_realty_types
      - reference_prices_explanation
      - reference_prices_display
      - reference_expose_types
      - reference_picture_sizes
      - reference_salutations
      - reference_geo_data_and_pois
      - reference_geo_federal_states
      - reference_user_defined_simplefields
  - name: PHP-SDK
    tags:
      - php_sdk_basics
      - php_sdk_query
      - php_sdk_caching
      - php_sdk_logging
      - php_sdk_inquiry
      - php_sdk_expose
      - php_sdk_attachments
  - name: Examples
    tags:
      - examples_realty
      - examples_team
      - examples_project
      - examples_basic_data
      - examples_filter
      - examples_wordpress
