This API is documented in OpenAPI 3.0 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.
This API does NOT feature any Cross-Origin Resource Sharing (CORS) / CORS-Headers as it is meant for server-side consumption only.
To enable the API in your Justimmo Account you must be logged in as an administrator.
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.
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.
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.
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)
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.
Username and/or password are not correct. Status code will have the value 401.
The url you are trying to call could not be found. Status code will have the value 404.
<?xml version="1.0" encoding="UTF-8"?>
<justimmo>
<error>Ungültige Anfrage</error>
</justimmo>
A parameter could not be evaluated or has a not supported value. Status code will have the value 400.
<?xml version="1.0" encoding="UTF-8"?>
<justimmo>
<error>zimmer_von ["test" is not a number.]</error>
</justimmo>
Internal Justimmo error. Status code will have the value 500.
<?xml version="1.0" encoding="UTF-8"?>
<justimmo>
<error>Internal Server Error</error>
</justimmo>
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 can be found on the linked page.
https://storage.justimmo.at/thumb/072049dc39bccd4ae9c08bb4a06e8d6e/fc_h480_w630/2f28BQ3fAxC7rKkxaG9GT5.jpg
The links are shipped along with the attached pictures and plans in the <anhaenge/> 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 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>
For the projects you can find the links in the <links/> 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 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>
Executes a search and returns basic information of matching realties
| limit | integer Default: 10 How many elements should be returned in the list. Max 100. |
| offset | integer Default: 0 Offset of the first element in the list. |
| culture | string Default: "de" Language for i18n fields. |
QueryParameterPictureSize (string) or Array of QueryParameterPictureSize (strings) The picture size to be used for picture urls.
In combination with showDetails=1 it is also possible to request multiple sizes (e.g. | |
| showDetails | integer Default: 0 Enum: 0 1 Return all details of the real-estates instead of short summaries |
| orderby | string Enum: "created_at" "objektnummer" "plz" "preis" "published_at" "updated_at" Order results by specific field. |
| ordertype | string Default: "asc" Enum: "asc" "desc" Order direction. Matched case-insensitively, so DESC and desc are equivalent. |
| alleProjektObjekte | integer Default: 0 Enum: 0 1 Show all real-estates with projects regardless of realty state |
| preciseAreaSearch | integer Default: 0 Enum: 0 1 Search commercial real-estates by usable area of the sub real-estates |
| filter[preis_von] | number The min price. Depending on type it is the rent or purchase price. |
| filter[preis_bis] | number The max price. Depending on type it is the rent or purchase price. |
| filter[price_per_m2_von] | number The min price per square meter. Depending on type it is the rent or purchase price. |
| filter[price_per_m2_bis] | number The max price per square meter. Depending on type it is the rent or purchase price. |
integer or Array of integers The main realty type. Multiple values are supported by using an array notation. | |
integer or Array of integers The sub realty type. Multiple values are supported by using an array notation. | |
string or Array of strings The name of the category assigned to real-estates. Multiple values are supported by using an array notation and are combined with OR. | |
string or Array of strings The zip code. Multiple values are supported by using an array notation. | |
| filter[plz_von] | string The min zip code. Does not work for non-numerical zip codes. |
| filter[plz_bis] | string The max zip code. Does not work for non-numerical zip codes. |
| filter[zimmer_von] | number The min room count. |
| filter[zimmer_bis] | number The max room count. |
| filter[objektnummer] | string The realty number. |
| filter[objektnummer_von] | string The min realty number. |
| filter[objektnummer_bis] | string The max realty number. |
| filter[sort_flaeche_von] | number The min area in square meters. It refers to the area fields in this order - living area, floor area, surface area and total area. |
| filter[sort_flaeche_bis] | number The max area in square meters. It refers to the area fields in this order - living area, floor area, surface area and total area. |
| filter[flaeche_von] | number The min area in square meters. |
| filter[flaeche_bis] | number The max area in square meters. |
| filter[wohnflaeche_von] | number The min living area in square meters. |
| filter[wohnflaeche_bis] | number The max living area in square meters. |
| filter[nutzflaeche_von] | number The min floor area in square meters. |
| filter[nutzflaeche_bis] | number The max floor area in square meters. |
| filter[grundflaeche_von] | number The min surface area in square meters. |
| filter[grundflaeche_bis] | number The max surface area in square meters. |
| filter[anzahl_garten_von] | integer The min number of the gardens. |
| filter[anzahl_garten_bis] | integer The max number of the gardens. |
| filter[anzahl_balkons_von] | integer The min number of the balconies. |
| filter[anzahl_balkons_bis] | integer The max number of the balconies. |
| filter[anzahl_loggias_von] | integer The min number of the loggias. |
| filter[anzahl_loggias_bis] | integer The max number of the loggias. |
| filter[anzahl_terrassen_von] | integer The min number of the terraces. |
| filter[anzahl_terrassen_bis] | integer The max number of the terraces. |
| filter[anzahl_keller_von] | integer The min number of the cellars. |
| filter[anzahl_keller_bis] | integer The max number of the cellars. |
| filter[anzahl_garagen_von] | integer The min number of the garages. |
| filter[anzahl_garagen_bis] | integer The max number of the garages. |
| filter[anzahl_stellplaetze_von] | integer The min number of the parking spots. |
| filter[anzahl_stellplaetze_bis] | integer The max number of the parking spots. |
| filter[anzahl_sep_wc_von] | integer The min number of the toilet rooms. |
| filter[anzahl_sep_wc_bis] | integer The max number of the toilet rooms. |
| filter[anzahl_badezimmer_von] | integer The min number of the bathrooms. |
| filter[anzahl_badezimmer_bis] | integer The max number of the bathrooms. |
| filter[anzahl_abstellraum_von] | integer The min number of the storage rooms. |
| filter[anzahl_abstellraum_bis] | integer The max number of the storage rooms. |
| filter[zustand_id] | integer Filter by condition. The id of the conditions. |
| filter[objekt_ausstattung_list] | Array of integers Filter by equipments. The id of the features. The array notation is required, also for a single value. |
| filter[barrierefrei] | |
| filter[stichwort] | string Keyword. Must be present in realty title, ZIP, city, street, object number or internal description. |
integer or Array of integers The id of the country. Multiple values are supported by using an array notation. | |
integer or Array of integers The id of the federal state. Multiple values are supported by using an array notation. see Call: Federal States | |
| filter[politischer_bezirk_id] | integer The id of the political district. Only a single value is supported. see Call: Political Districts |
integer or Array of integers The realty status. Multiple values are supported by using an array notation. | |
| filter[miete] | |
| filter[kauf] | integer Enum: 0 1 Set value to 1 to search for realties available for purchase. |
| filter[bauart_id] | |
| filter[owner_id] | integer Id of the employee responsible for the realty. |
| filter[projekt_id] | integer Id of the project the realty belongs to. |
| filter[realty_type] | string Name of the realty system type the realty belongs to. |
| filter[parent_id] | integer Id of the parent realty. |
| filter[aktualisiert_am_von] | string <date-time> Updated at from date. |
| filter[aktualisiert_am_bis] | string <date-time> Updated at to date. |
| filter[rent_with_purchase_option] | integer Enum: 0 1 Filter for rent realties which have the option enabled. |
<?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><p>DEMOOBJEKT! Bitte nicht anfragen!</p> <p>Breitenlee: Sonnige 3 Zimmer-Wohnung inmitten der Kornkammern Wiens<br /><br />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.<br />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!</p></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>
Returns detailed information of a single realty as xml loosely based on Openimmo 1.2.7
| objekt_id required | integer Example: objekt_id=10 The id of the realty |
| culture | string Default: "de" Language for i18n fields |
QueryParameterPictureSize (string) or Array of QueryParameterPictureSize (strings) The picture size to be used for picture urls. Multiple sizes can be requested using array notation (e.g. |
<?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><p>DEMOOBJEKT! Bitte nicht anfragen!</p> <p>Breitenlee: Sonnige 3 Zimmer-Wohnung inmitten der Kornkammern Wiens<br /><br />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.<br />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!</p></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>
Returns the content of the expose pdf as a stream
| objekt_id required | integer Example: objekt_id=10 The id of the realty |
| expose | string Default: "Default" Example: expose=DefaultNew The type of the expose. |
| culture | string Default: "de" Language |
Create an inquiry. Justimmo will automatically create a contact and assign the inquiry to the employee of the realty.
| objekt_id | integer Example: objekt_id=10 The id of the realty |
| anrede_id | |
| titel | string Example: titel=Dr. Title of contact |
| vorname required | string Example: vorname=John First name of contact |
| nachname required | string Example: nachname=Doe Last name of contact |
| suffix | string Example: suffix=MSc Name suffix of contact |
string <email> Example: email=john.doe@example.com Email address of contact | |
| tel | string Example: tel=+4312345678 Phone number of contact |
| message required | string Example: message=I'm interested in this property. Message of the inquiry |
| strasse | string Example: strasse=Main Street 123 Street of contact |
| plz | string Example: plz=10115 Zip code of contact |
| ort | string Example: ort=Wien City of contact |
| land | |
| kategorie | string Example: kategorie=Website-Anfrage 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. |
| firma | string Example: firma=Example Company GmbH Company of the contact |
| newsletter | Array of integers Example: newsletter=1&newsletter=3 An array of newsletter category ids to be assigned to the contact created by this request. |
| doubleoptin_completed | integer Enum: 0 1 Example: doubleoptin_completed=0 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 |
| is_realty_owner | integer Enum: 0 1 Example: is_realty_owner=0 Whether the inquiry comes from a realty owner. If 1, the contact is assigned to the contact category "Owner". |
| realty_owner_consultation_request | integer Enum: 0 1 Example: realty_owner_consultation_request=0 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. |
| funding_inquiry | integer Enum: 0 1 Example: funding_inquiry=0 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. |
Returns ids of matching realties as JSON without limit and offset limitations.
| orderby | string Enum: "created_at" "objektnummer" "plz" "preis" "published_at" "updated_at" Order results by specific field. |
| ordertype | string Default: "asc" Enum: "asc" "desc" Order direction. Matched case-insensitively, so DESC and desc are equivalent. |
| alleProjektObjekte | integer Default: 0 Enum: 0 1 Show all real-estates with projects regardless of realty state |
| preciseAreaSearch | integer Default: 0 Enum: 0 1 Search commercial real-estates by usable area of the sub real-estates |
| filter[preis_von] | number The min price. Depending on type it is the rent or purchase price. |
| filter[preis_bis] | number The max price. Depending on type it is the rent or purchase price. |
| filter[price_per_m2_von] | number The min price per square meter. Depending on type it is the rent or purchase price. |
| filter[price_per_m2_bis] | number The max price per square meter. Depending on type it is the rent or purchase price. |
integer or Array of integers The main realty type. Multiple values are supported by using an array notation. | |
integer or Array of integers The sub realty type. Multiple values are supported by using an array notation. | |
string or Array of strings The name of the category assigned to real-estates. Multiple values are supported by using an array notation and are combined with OR. | |
string or Array of strings The zip code. Multiple values are supported by using an array notation. | |
| filter[plz_von] | string The min zip code. Does not work for non-numerical zip codes. |
| filter[plz_bis] | string The max zip code. Does not work for non-numerical zip codes. |
| filter[zimmer_von] | number The min room count. |
| filter[zimmer_bis] | number The max room count. |
| filter[objektnummer] | string The realty number. |
| filter[objektnummer_von] | string The min realty number. |
| filter[objektnummer_bis] | string The max realty number. |
| filter[sort_flaeche_von] | number The min area in square meters. It refers to the area fields in this order - living area, floor area, surface area and total area. |
| filter[sort_flaeche_bis] | number The max area in square meters. It refers to the area fields in this order - living area, floor area, surface area and total area. |
| filter[flaeche_von] | number The min area in square meters. |
| filter[flaeche_bis] | number The max area in square meters. |
| filter[wohnflaeche_von] | number The min living area in square meters. |
| filter[wohnflaeche_bis] | number The max living area in square meters. |
| filter[nutzflaeche_von] | number The min floor area in square meters. |
| filter[nutzflaeche_bis] | number The max floor area in square meters. |
| filter[grundflaeche_von] | number The min surface area in square meters. |
| filter[grundflaeche_bis] | number The max surface area in square meters. |
| filter[anzahl_garten_von] | integer The min number of the gardens. |
| filter[anzahl_garten_bis] | integer The max number of the gardens. |
| filter[anzahl_balkons_von] | integer The min number of the balconies. |
| filter[anzahl_balkons_bis] | integer The max number of the balconies. |
| filter[anzahl_loggias_von] | integer The min number of the loggias. |
| filter[anzahl_loggias_bis] | integer The max number of the loggias. |
| filter[anzahl_terrassen_von] | integer The min number of the terraces. |
| filter[anzahl_terrassen_bis] | integer The max number of the terraces. |
| filter[anzahl_keller_von] | integer The min number of the cellars. |
| filter[anzahl_keller_bis] | integer The max number of the cellars. |
| filter[anzahl_garagen_von] | integer The min number of the garages. |
| filter[anzahl_garagen_bis] | integer The max number of the garages. |
| filter[anzahl_stellplaetze_von] | integer The min number of the parking spots. |
| filter[anzahl_stellplaetze_bis] | integer The max number of the parking spots. |
| filter[anzahl_sep_wc_von] | integer The min number of the toilet rooms. |
| filter[anzahl_sep_wc_bis] | integer The max number of the toilet rooms. |
| filter[anzahl_badezimmer_von] | integer The min number of the bathrooms. |
| filter[anzahl_badezimmer_bis] | integer The max number of the bathrooms. |
| filter[anzahl_abstellraum_von] | integer The min number of the storage rooms. |
| filter[anzahl_abstellraum_bis] | integer The max number of the storage rooms. |
| filter[zustand_id] | integer Filter by condition. The id of the conditions. |
| filter[objekt_ausstattung_list] | Array of integers Filter by equipments. The id of the features. The array notation is required, also for a single value. |
| filter[barrierefrei] | |
| filter[stichwort] | string Keyword. Must be present in realty title, ZIP, city, street, object number or internal description. |
integer or Array of integers The id of the country. Multiple values are supported by using an array notation. | |
integer or Array of integers The id of the federal state. Multiple values are supported by using an array notation. see Call: Federal States | |
| filter[politischer_bezirk_id] | integer The id of the political district. Only a single value is supported. see Call: Political Districts |
integer or Array of integers The realty status. Multiple values are supported by using an array notation. | |
| filter[miete] | |
| filter[kauf] | integer Enum: 0 1 Set value to 1 to search for realties available for purchase. |
| filter[bauart_id] | |
| filter[owner_id] | integer Id of the employee responsible for the realty. |
| filter[projekt_id] | integer Id of the project the realty belongs to. |
| filter[realty_type] | string Name of the realty system type the realty belongs to. |
| filter[parent_id] | integer Id of the parent realty. |
| filter[aktualisiert_am_von] | string <date-time> Updated at from date. |
| filter[aktualisiert_am_bis] | string <date-time> Updated at to date. |
| filter[rent_with_purchase_option] | integer Enum: 0 1 Filter for rent realties which have the option enabled. |
[- "361672",
- "361673",
- "361677"
]Returns all categories with employees with an active "Show on Homepage" flag in Justimmo
<?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>
Executes a search and returns basic information of matching real-estates.
| id required | integer Example: id=264110 The id of the employee |
<?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>
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:
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 Realty filters are ignored and only Project filters apply.
| limit | integer Default: 25 How many elements should be returned in the list. Max 100. |
| offset | integer Default: 0 Offset of the first element in the list. |
| culture | string Default: "de" Language for i18n fields. |
QueryParameterPictureSize (string) or Array of QueryParameterPictureSize (strings) The picture size to be used for picture urls. In combination with showDetails=1 it is also possible to request multiple sizes (e.g. | |
| showDetails | integer Default: 0 Enum: 0 1 Return all details of the real-estates instead of short summaries |
| objektIds | integer Default: 0 Enum: 0 1 When set to 1, return only the IDs of each project's real-estates (as |
| orderby | string Enum: "created_at" "updated_at" Order results by specific field. Applied to project, not to real-estates of project. |
| ordertype | string Default: "asc" Enum: "asc" "desc" Order direction. Matched case-insensitively, so DESC and desc are equivalent. |
| alle | integer Default: 0 Enum: 0 1 Show all projects regardless if active real-estates are present in project. When set to |
| alleProjektObjekte | integer Default: 0 Enum: 0 1 Include all real-estates belonging to the project, regardless of their object status. |
| filter[projekt_objektnummer] | string Project The realty number of the project. |
string or Array of strings Project The project state. Must be one of planning, building, finished. Multiple values are supported by using an array notation. | |
| filter[referenz] | integer Enum: 0 1 Project Set value to 1 to search only for reference projects |
string or Array of strings Project The name of the category assigned to the project. Multiple values are supported by using an array notation and are combined with OR | |
| filter[fertigstellung_von] | string <date> Project Completion date from. |
| filter[fertigstellung_bis] | string <date> Project Completion date to. |
| filter[verkaufsstart_von] | string <date> Project Sale start from date. |
| filter[verkaufsstart_bis] | string <date> Project Sale start to date. |
| filter[miete] | integer Enum: 0 1 Realty Set value to 1 to search for real-estates available for rent. |
| filter[kauf] | integer Enum: 0 1 Realty Set value to 1 to search for real-estates available for purchase. |
| filter[objektnummer] | string Realty The realty number. |
| filter[objektnummer_von] | string Realty The min realty number. |
| filter[objektnummer_bis] | string Realty The max realty number. |
integer or Array of integers Realty The realty status. Multiple values are supported by using an array notation. | |
| filter[owner_id] | integer Realty Id of the employee responsible for the realty. |
integer or Array of integers Realty The main realty type. Multiple values are supported by using an array notation. | |
integer or Array of integers Realty The sub realty type. Multiple values are supported by using an array notation. | |
integer or Array of integers Realty The id of the federal state. Multiple values are supported by using an array notation. | |
string or Array of strings Realty The zip code. Multiple values are supported by using an array notation | |
| filter[plz_von] | string Realty The min zip code. Does not work for non-numerical zip codes. |
| filter[plz_bis] | string Realty The max zip code. Does not work for non-numerical zip codes. |
| filter[preis_von] | number Realty The min price. Depending on type it is the rent or purchase price. |
| filter[preis_bis] | number Realty The max price. Depending on type it is the rent or purchase price. |
| filter[flaeche_von] | number Realty The min area in square meters. |
| filter[flaeche_bis] | number Realty The max area in square meters. |
| filter[wohnflaeche_von] | number Realty The min living area in square meters. |
| filter[wohnflaeche_bis] | number Realty The max living area in square meters. |
| filter[nutzflaeche_von] | number Realty The min floor area in square meters. |
| filter[nutzflaeche_bis] | number Realty The max floor area in square meters. |
| filter[grundflaeche_von] | number Realty The min surface area in square meters. |
| filter[grundflaeche_bis] | number Realty The max surface area in square meters. |
| filter[zimmer_von] | number Realty The min room count. |
| filter[zimmer_bis] | number Realty The max room count. |
| filter[stichwort] | string Realty Keyword. Must be present in realty title, ZIP, city, street, object number or internal description. |
string or Array of strings Realty The name of the category assigned to real-estates. Multiple values are supported by using an array notation and are combined with OR |
<?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>
Executes a search and returns basic information of matching real-estates.
| id required | integer Example: id=10 The id of the project |
| culture | string Default: "de" Language for i18n fields |
QueryParameterPictureSize (string) or Array of QueryParameterPictureSize (strings) The picture size to be used for picture urls. Multiple sizes can be requested using array notation (e.g. | |
| alleProjektObjekte | integer Default: 0 Enum: 0 1 Include all real-estates belonging to the project, regardless of their object status. |
| objektIds | integer Default: 0 Enum: 0 1 When set to 1, return only the IDs of the project real-estates (as |
<?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><p>DEMOOBJEKT! Bitte nicht anfragen!</p> <p>Breitenlee: Sonnige 3 Zimmer-Wohnung inmitten der Kornkammern Wiens<br /><br />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.<br />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!</p></beschreibung> <dreizeiler></dreizeiler> <sonstige_angaben></sonstige_angaben> <freitext_1><p>f1</p></freitext_1> <freitext_2><p>f2</p></freitext_2> <freitext_3><p>f3</p></freitext_3> <freitext_4><p>f4</p></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><p>DEMOOBJEKT! Bitte nicht anfragen!</p> <p>Breitenlee: Sonnige 3 Zimmer-Wohnung inmitten der Kornkammern Wiens<br /><br />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.<br />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!</p></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>
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.
<?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>
Returns ids of matching projects as JSON without limit and offset limitations. For parameters see project list call.
| orderby | string Enum: "created_at" "updated_at" Order results by specific field. Applied to project, not to real-estates of project. |
| ordertype | string Default: "asc" Enum: "asc" "desc" Order direction. Matched case-insensitively, so DESC and desc are equivalent. |
| alle | integer Default: 0 Enum: 0 1 Show all projects regardless if active real-estates are present in project. When set to |
| alleProjektObjekte | integer Default: 0 Enum: 0 1 Include all real-estates belonging to the project, regardless of their object status. |
| filter[projekt_objektnummer] | string Project The realty number of the project. |
string or Array of strings Project The project state. Must be one of planning, building, finished. Multiple values are supported by using an array notation. | |
| filter[referenz] | integer Enum: 0 1 Project Set value to 1 to search only for reference projects |
string or Array of strings Project The name of the category assigned to the project. Multiple values are supported by using an array notation and are combined with OR | |
| filter[fertigstellung_von] | string <date> Project Completion date from. |
| filter[fertigstellung_bis] | string <date> Project Completion date to. |
| filter[verkaufsstart_von] | string <date> Project Sale start from date. |
| filter[verkaufsstart_bis] | string <date> Project Sale start to date. |
| filter[miete] | integer Enum: 0 1 Realty Set value to 1 to search for real-estates available for rent. |
| filter[kauf] | integer Enum: 0 1 Realty Set value to 1 to search for real-estates available for purchase. |
| filter[objektnummer] | string Realty The realty number. |
| filter[objektnummer_von] | string Realty The min realty number. |
| filter[objektnummer_bis] | string Realty The max realty number. |
integer or Array of integers Realty The realty status. Multiple values are supported by using an array notation. | |
| filter[owner_id] | integer Realty Id of the employee responsible for the realty. |
integer or Array of integers Realty The main realty type. Multiple values are supported by using an array notation. | |
integer or Array of integers Realty The sub realty type. Multiple values are supported by using an array notation. | |
integer or Array of integers Realty The id of the federal state. Multiple values are supported by using an array notation. | |
string or Array of strings Realty The zip code. Multiple values are supported by using an array notation | |
| filter[plz_von] | string Realty The min zip code. Does not work for non-numerical zip codes. |
| filter[plz_bis] | string Realty The max zip code. Does not work for non-numerical zip codes. |
| filter[preis_von] | number Realty The min price. Depending on type it is the rent or purchase price. |
| filter[preis_bis] | number Realty The max price. Depending on type it is the rent or purchase price. |
| filter[flaeche_von] | number Realty The min area in square meters. |
| filter[flaeche_bis] | number Realty The max area in square meters. |
| filter[wohnflaeche_von] | number Realty The min living area in square meters. |
| filter[wohnflaeche_bis] | number Realty The max living area in square meters. |
| filter[nutzflaeche_von] | number Realty The min floor area in square meters. |
| filter[nutzflaeche_bis] | number Realty The max floor area in square meters. |
| filter[grundflaeche_von] | number Realty The min surface area in square meters. |
| filter[grundflaeche_bis] | number Realty The max surface area in square meters. |
| filter[zimmer_von] | number Realty The min room count. |
| filter[zimmer_bis] | number Realty The max room count. |
| filter[stichwort] | string Realty Keyword. Must be present in realty title, ZIP, city, street, object number or internal description. |
string or Array of strings Realty The name of the category assigned to real-estates. Multiple values are supported by using an array notation and are combined with OR |
[- "123",
- "125",
- "159"
]Returns a list of realty categories
| alle | integer Default: 0 Enum: 0 1 Use 1 if you want to return all categories. Otherwise only categories with active real-estates will be returned. |
<?xml version="1.0" encoding="UTF-8"?> <justimmo> <objektkategorie> <id>3876</id> <name>Topobjekte</name> <sortablerank>1</sortablerank> </objektkategorie> </justimmo>
Returns the list of the realty types.
| alle | integer Default: 0 Enum: 0 1 Use 1 if you want to return all realty types. Otherwise only realty types with active real-estates will be returned. |
<?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>
Returns the list of the countries.
| alle | integer Default: 0 Enum: 0 1 Use 1 if you want to return all countries. Otherwise only countries with active real-estates will be returned. |
<?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>
Returns the list of the federal states.
| alle | integer Default: 0 Enum: 0 1 Use 1 if you want to return all federal states. Otherwise only federal states with active real-estates will be returned. |
integer or string Id or ISO 2 code of the country. |
<?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>
Returns the list of the regions.
| alle | integer Default: 0 Enum: 0 1 Use 1 if you want to return all regions. Otherwise only regions with active real-estates will be returned. |
integer or string Id or ISO 2 code of the country. | |
integer or string Id or name of the federal state (name matched as a prefix). |
<?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>
Returns the list of the political districts. Currently only Austria (land=AT) is supported.
| alle | integer Default: 0 Enum: 0 1 Use 1 if you want to return all political districts. Otherwise only districts with active real-estates will be returned. |
| land | string Default: "AT" Value: "AT" ISO 2 code of the country. Currently only "AT" (Austria) is supported; any other value returns 422. |
| bundesland | integer Id of the federal state. |
<?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>
Returns the list of the zip codes with their city name
| alle | integer Default: 0 Enum: 0 1 Use 1 if you want to return all zip codes. Otherwise only zip codes with active realties will be returned. |
integer or string Id or ISO 2 code of the country. | |
integer or string Id or name of the federal state (name matched as a prefix). |
<?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>
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 |
List of all available realty feature groups (Ausstattungskategorien) of Justimmo ooo
| ID | Name | ID | Name | ID | Name | |
|---|---|---|---|---|---|---|
| 1 | Boden | 11 | Stellplatzart | 22 | Ausbaustufe | |
| 2 | Befeuerung | 12 | Extras | 25 | Gebäudezertifikate | |
| 3 | Heizungsart | 13 | Energietyp | |||
| 4 | Küche | 14 | Belüftung | |||
| 5 | Fahrstuhl | 15 | Räume | |||
| 6 | Balkon | 16 | Elektrik | |||
| 7 | Gastronomie | 17 | Fenster | |||
| 8 | Bad | 19 | WCs | |||
| 9 | Serviceleistungen | 20 | Dachform | |||
| 10 | Fernsehen | 21 | Bauweise |
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 |
| 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 |
| 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 |
| 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 |
| 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 |
| ID | Group | Name | XML Element | XML Attribute |
|---|---|---|---|---|
| 24 | Fahrstuhl | Lastenaufzug | fahrstuhl | LASTEN |
| 25 | Fahrstuhl | Personenaufzug | fahrstuhl | PERSONEN |
| 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 |
| 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 | - |
| 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 |
| 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 |
| 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 | - |
| 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 |
| 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 |
| 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 |
| ID | Group | Name | XML Element | XML Attribute |
|---|---|---|---|---|
| 78 | Belüftung | Klimaanlage | klimatisiert | - |
| ID | Group | Name | XML Element | XML Attribute |
|---|---|---|---|---|
| 110 | Räume | WG geeignet | wg_geeignet | - |
| 115 | Räume | Räume veränderbar | raeume_veraenderbar | - |
| 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 |
| ID | Group | Name | XML Element | XML Attribute |
|---|---|---|---|---|
| 166 | Fenster | Rollladen | rolladen | - |
| ID | Group | Name | XML Element | XML Attribute |
|---|---|---|---|---|
| 108 | WCs | Pissoir | bad | PISSOIR |
| 167 | WCs | Gäste-WC | gaestewc | - |
| 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 |
| ID | Group | Name | XML Element | XML Attribute |
|---|---|---|---|---|
| 175 | Bauweise | Fertigteil | bauweise | FERTIGTEILE |
| 176 | Bauweise | Holz | bauweise | HOLZ |
| 177 | Bauweise | Massiv | bauweise | MASSIV |
| 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 |
| 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 |
| 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 |
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.
List of all available style of buildings (Bauarten) of Justimmo
| ID | Name |
|---|---|
| 1 | Altbau |
| 2 | Neubau |
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 |
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 | zimmer |
| 2 | Wohnung | wohnung |
| 3 | Haus | haus |
| 4 | Grundstück | grundstueck |
| 5 | Büro / Praxis | buero_praxen |
| 6 | Einzelhandel | einzelhandel |
| 7 | Gastgewerbe | gastgewerbe |
| 8 | Industrie / Gewerbe | hallen_lager_prod |
| 9 | Land und Forstwirtschaft | land_und_forstwirtschaft |
| 10 | Sonstige / Sonderobjekte | sonstige |
| 11 | Freizeitimmobilie gewerblich | freizeitimmobilie_gewerblich |
| 12 | Zinshaus / Renditeobjekt | zinshaus_renditeobjekt |
| 13 | Parken | parken |
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 |
Lists of all Sub Types grouped by their corresponding Main Type.
None
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| ID | Name | OpenImmo Key |
|---|---|---|
| 89 | Krankenhaus | KRANKENHAUS |
| 97 | Parkhaus | PARKHAUS |
| 98 | Tankstelle | TANKSTELLE |
| 101 | Sonstige | SONSTIGE |
| ID | Name | OpenImmo Key |
|---|---|---|
| 66 | Sportanlagen | SPORTANLAGEN |
| 67 | Vergnügungsparks / -center | VERGNUEGUNGSPARKS_UND_CENTER |
| 150 | Freizeitanlage | FREIZEITANLAGE |
| 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 |
| 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 |
<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>
Die Preise werden in folgende Gruppen gegliedert:
Miete rent
Betriebskosten operating
Heizkosten heating
Sonstige Kosten other
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
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
Die erste Variante stellt die Preise als Rechung dar, z.B.
| Gesamtmiete*: | € 913,25 | preise->kaltmiete + preise->gesamtmiete_ust |
|
|---|---|---|---|
| Miete: | € 452,95 | preise->miete->netto |
|
| Möbelmiete: | € 30,00 | preise->zusatzkosten->zusatzkosten_3->netto |
|
| Betriebskosten: | € 120,00 | preise->zusatzkosten->betriebskosten->netto |
|
| Heizkosten: | € 100,00 | preise->zusatzkosten->heizkosten->netto |
|
| Warmwasser: | € 40,00 | preise->zusatzkosten->zusatzkosten_2->netto |
|
| Kühlung: | € 30,00 | preise->zusatzkosten->zusatzkosten_4->netto |
|
| Reparaturrücklage: | € 50,00 | preise->zusatzkosten->zusatzkosten_1->netto |
|
| Sonstiges: | € 150,00 | preise->zusatzkosten->zusatzkosten_7->netto |
|
| Umsatzsteuer: | € 127,30 | preise->user_defined_anyfield->mwst_gesamt |
|
| monatliche Gesamtbelastung: | € 1.100,25 | preise->warmmiete |
|
Optionale Kosten
| Parkplatz (inkl. 20% USt.)**: | € 24,00 | preise->zusatzkosten->zusatzkosten_5->brutto |
|
|---|---|---|---|
| Garage (inkl. 20% USt.)**: | € 72,00 | preise->zusatzkosten->zusatzkosten_6->brutto |
* Miete + Nebenkosten (inkl. USt.), ohne Heizkosten
** optional, nicht in der Miete enthalten
Die zweite Variante stellt die Preise in den definierten Gruppen dar, z.B.
| Gesamtmiete*: | € 913,25 | preise->kaltmiete + preise->gesamtmiete_ust |
|
|---|---|---|---|
| Miete: | € 482,95 | preise->nettokaltmiete |
|
| Betriebskosten: | € 120,00 | preise->nebenkosten |
|
| Heizkosten: | € 170,00 | preise->heizkosten |
|
| Sonstige Kosten: | € 200,00 | preise->user_defined_anyfield->sonstige_kosten |
|
| Umsatzsteuer: | € 127,30 | preise->user_defined_anyfield->mwst_gesamt |
|
| monatliche Gesamtbelastung: | € 1.100,25 | preise->warmmiete |
|
Optionale Kosten
| Parkplatz (inkl. 20% USt.)**: | € 24,00 | preise->zusatzkosten->zusatzkosten_5->brutto |
|
|---|---|---|---|
| Garage (inkl. 20% USt.)**: | € 72,00 | preise->zusatzkosten->zusatzkosten_6->brutto |
* Miete + Nebenkosten (inkl. USt.), ohne Heizkosten
** optional, nicht in der Miete enthalten
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é |
| 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 |
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 |
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.
<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>
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 |
| 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 |
The PHP SDK can be found on Github
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
use Justimmo\Api\JustimmoApi;
use Justimmo\Model\RealtyQuery;
$api = new JustimmoApi('username', 'password');
//.....
$api->setCulture('en');
//.....
The PHP-SDK throws a variety of exceptions you can catch and handle into appropiate messages.
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 dependency injection container.
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
//...
$query = new RealtyQuery($api, $wrapper, $mapper);
$realties = $query->filterByPrice(array('min' => 500, 'max' => 1500))
->filterByZipCode(1020)
->orderByPrice('desc')
->find();
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
//...
$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');
}
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
//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
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
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
}
| 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 |
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
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();
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.
Adds a parameter to the query what will be translated into the url on the call
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.
Clears the query instance to it's state right after __construct()
Adds the order in what the results should be returned on the next call
Shortcut for ->orderBy('XXX', $direction = 'asc');
They can be used to search the Justimmo data for specific values.
<?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'));
Shortcut for ->filter('XXX', $value);
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 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 is a termination method which only passes the primary key of a object to the api and returns a model instance
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
//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
The RealtyQuery additionally supports following methods. Keep in mind that you can add not integrated default parameters by using ->set() and ->filter()
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
The ProjectQuery additionally supports following methods. Keep in mind that you can add not integrated default parameters by using ->set() and ->filter()
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.
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
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();
See default methods
See default methods
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.
Filters the results by country. Accepts the Justimmo PK of the country or a ISO2 country code.
Filters the results by federal state. Accepts the Justimmo PK of the federal state or the name of the federal state (currently german only).
Returns an array of countries
<?php
//return array format
array(
pk => array(
'name' => '...',
'iso2' => '...',
'iso3' => '...',
),
//...
);
Returns an array of federal states
<?php
//return array format
array(
pk => array(
'name' => '...',
'countryId' => '...',
'fipsCode' => '...',
),
//...
);
Returns an array of zip codes and their place name
<?php
//return array format
array(
pk => array(
'countryId' => '...',
'regionId' => '...',
'zipCode' => '...',
'place' => '...',
'federalStateId' => '...',
),
//...
);
Returns an array of regions
<?php
//return array format
array(
pk => 'name',
//...
);
Returns an array of realty types
<?php
//return array format
array(
pk => array(
'name' => '...',
'key' => '...',
'attribute' => '...',
),
//...
);
Returns an array of realty categories
<?php
//return array format
array(
pk => array(
'name' => '...',
'sortableRank' => '...',
),
//...
);
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
<?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);
Create a class which implements the \Justimmo\Cache\CacheInterface
The SDK follows the PSR-3 Logger Interface. A simple way to implement it, is to use Monolog
<?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());
You are able to push data (e.g. contact form) directly to the Justimmo account via the RealtyInquiry object.
<?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.
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.
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 here.
<?php
header('Content-type: application/pdf');
echo $api->callExpose(12345, 'DefaultNewWebsite');
Attachments have multiple properties
On every model object (Realty, Employee, Project) you can fetch it's attachment with following methods
<?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');
// ...
A list of available attachment sizes can be found here.
You can request specific sizes with the setPicturesize function.
$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');
Acquiring the links of a realty
$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
$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);
}
}
All real-estates for rent with a max monthly rent price of 2.000€
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 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><p>DEMOOBJEKT! Bitte nicht anfragen!</p>
<p>Breitenlee: Sonnige 3 Zimmer-Wohnung inmitten der Kornkammern Wiens<br /><br />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.<br />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!</p>
</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
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);
//....
}
Returns detailed information of a single realty as xml loosely based on Openimmo 1.2.7.
https://api.justimmo.at/rest/v1/objekt/detail?objekt_id=123456789&culture=de
<?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
// 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
// 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
// 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());
}
Get the default expose for realty 123456 in English language
https://api.justimmo.at/rest/v1/objekt/expose?objekt_id=123456&expose=DefaultNew&culture=en
<?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');
Create an inquiry for contact "John AutoOffer autoOffer@40example.com"
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
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!";
All realty ids for rent with a max monthly rent price of 2.000€
https://api.justimmo.at/rest/v1/objekt/ids?filter[miete]=1&filter[preis_bis]=2000
["361672","361671","361670","361668","361667","361666","361665","131924","131923","131922","131921","131920","131919","131917","131915"]
<?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);
Returns all categories with employees with an active "Show on Homepage" flag in Justimmo
https://api.justimmo.at/rest/v1/team/list
<?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
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();
}
Returns detailed information of a single employee
https://api.justimmo.at/rest/v1/team/detail?id=264110
<?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
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();
All employee ids
https://api.justimmo.at/rest/v1/team/ids
["123","125","159"]
<?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);
All active projects with real-estates booked into API feed.
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 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
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();
}
Returns detailed information of a single project as xml in the same format as project list call.
https://api.justimmo.at/rest/v1/projekt/detail?id=123456789&culture=de
<?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
// 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
// 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";
}
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 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>
Returns ids of matching projects as JSON without limit and offset limitations.
https://api.justimmo.at/rest/v1/projekt/ids?filter[projekt_status]=building
["123","125","159"]
<?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();
}
https://api.justimmo.at/rest/v1/objekt/kategorien?alle=1
<?xml version="1.0" encoding="UTF-8"?>
<justimmo>
<objektkategorie>
<id>3876</id>
<name>Topobjekte</name>
<sortablerank>1</sortablerank>
</objektkategorie>
</justimmo>
<?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();
}
https://api.justimmo.at/rest/v1/referenz/ausstattungen?culture=en&gruppe=2
<?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>
It is not supported by our PHP-SDK.
https://api.justimmo.at/rest/v1/objekt/objektarten
<?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
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();
}
https://api.justimmo.at/rest/v1/objekt/laender
<?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
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();
}
All federal states of austria
https://api.justimmo.at/rest/v1/objekt/bundeslaender?land=AT&alle=1
<?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
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();
}
All regions of Vienna
https://api.justimmo.at/rest/v1/objekt/regionen?land=AT&bundesland=134&alle=1
<?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
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();
}
All zip codes with their city names of Tirol
https://api.justimmo.at/rest/v1/objekt/plzsUndOrte?land=AT&bundesland=132&alle=1
<?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
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();
}
Filtering by minimum / maximum value of the area. Multiple values are supported by using an array notation.
sort_flaeche / sort_flaeche_von / sort_flaeche_bis
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
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);
//....
}
Filtering the real-estates by minimum / maximum number of the balconies.
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
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);
//....
}
Filtering the real-estates by minimum / maximum number of the bathrooms.
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
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);
//....
}
Filtering the real-estates by minimum / maximum number of the cellars.
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
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);
//....
}
Filtering the real-estates by condition. The id of the conditions.
zustand_id
https://api.justimmo.at/rest/v1/objekt/list?filter[zustand_id]=3&limit=3&showDetails=1&culture=de
<?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);
//....
}
Filtering the real-estates by disability access.
barrierefrei
https://api.justimmo.at/rest/v1/objekt/list?filter[barrierefrei]=1&limit=3&showDetails=1&culture=de
<?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);
//....
}
Filtering the real-estates by equipments. The IDs of the features are listed on the linked page. Multiple values are supported by using an array notation.
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
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);
//....
}
Set miete to 1 to search for real-estates available for rent. Set kauf to 1 to search for real-estates available for purchase.
miete / kauf
https://api.justimmo.at/rest/v1/objekt/list?filter[kauf]=1&filter[miete]=0&limit=3&showDetails=1&culture=de
<?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);
//....
}
Filtering by min / max price. Depending on the type, it is the rental fee or the purchase price.
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
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);
//....
}
Filtering by the property number.
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
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);
//....
}
Filtering by the name of the category assigned to the real-estates.
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
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());
//....
}
Filtering by the realty system types.
realty_type
https://api.justimmo.at/rest/v1/objekt/list?filter[realty_type]=simple&limit=3&showDetails=1&culture=de
<?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());
//....
}
Filtering by main realty type. Multiple values are supported by using an array notation.
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
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);
//....
}
Filtering by the number of the rooms. Multiple values are supported by using an array notation.
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
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);
//....
}
Filtering by realty status. Multiple values are supported by using an array notation.
objekt_status_id
https://api.justimmo.at/rest/v1/objekt/list?filter[objekt_status_id]=5&showDetails=1&culture=de
<?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);
//....
}
Filtering by old or new buildings. The possible building styles are available on the linked page.
bauart_id
https://api.justimmo.at/rest/v1/objekt/list?filter[bauart_id]=2&showDetails=1&culture=de
<?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);
//....
}
Filtering by sub realty type. Multiple values are supported by using an array notation.
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
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);
//....
}
Filtering by the time of the last modification.
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
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());
//....
}
Filtering by zip code. Multiple values are supported by using an array notation.
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
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/>';
//....
}
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.
$ composer require league/uri
$ composer require league/uri-components
$ composer require symfony/mailer
$ composer require symfony/google-mailer
justimmo_inquiry.php with the following content:<?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 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 using Justimmo PHP-SDK through local WordPress webhook
$ composer require justimmo/php-sdk "1.0.*"
justimmo_inquiry.php with the following content<?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();