Struktura formatu programu Agencja3000 oparta jest na formacie Domy.pl (dawniej Oferty.net, opis na domy.pl/eksport). Oba formaty różnią się ilością pól opisujących oferty, typami ofert i sposobem obsługi zdjęć.
Eksport przesyłany w postaci pliku ZIP. Archiwum ZIP zawiera plik XML (opisujący oferty oraz zdjęcia) oraz pliki zdjęć (płaska struktura bez podkatalogów, zdjęcia dodatkowo opisane w pliku XML). Plik XML ma kodowanie znaków UTF-8.
<?xml version="1.0" encoding="utf-8" ?> -
nagłówek XML
<plik> - główny
znacznik, reprezentujący cały plik uploadu
<header>
- znacznik obejmujący wszelkie dodatkowe informacje (od
<plik> do <lista_ofert>)
<informacje>
- znacznik zawierający różne informacje.
<agencja>
- nazwa agencji (nie musi to być równoznaczne z loginem agencji)
<data>
- czas eksportu w formacie rrrr-mm-dd hh:mm:ss
<wersja>0.4</wersja>
<cel>oferty.net</cel>
<zawartosc_pliku>
- czy plik jest całościowy, czy różnicowy, dopuszczalne wartości
to: calosc i roznica
</header>
<lista_ofert> -
lista wszystkich ofert, w tym znaczniku zagnieżdżone są znaczniki
<dzial>
<dzial
tab="tab" typ="typ"> - znacznik, w którym zagnieżdżone są
znaczniki <oferta> i <oferta_usun> z danego działu
atrybut
tab przyjmuje wartości mieszkania, domy, dzialki, lokale
(nieruchomości komercyjne) lub pokoje
atrybut
typ przyjmuje wartości sprzedaz lub wynajem
<oferta>
<id>
- identyfikator oferty
<cena
waluta="KOD"> - cena oferty (całkowita, nie za metr), w
atrybucie waluta trzyliterowy kod: PLN, USD lub EUR
<param
nazwa="nazwa" typ="typ"> - wszystkie inne parametry oferty,
atrybut nazwa to nazwa parametru (np. opis, powierzchnia, ...)
atrybut
typ = int, integer - liczba całkowita
bool,
boolean, tak, T, true, 1 = prawda, wszystko inne = fałsz
real,
float - liczba, część dziesiętna może być oddzielona przecinkiem
lub kropką
text
- dowolny tekst
<linia>
- jeżli parametr typu text ma być na sztywno podzielony na linie,
należy go zapisać w postaci:
<linia>pierwsza
linia</linia>
<linia>druga</linia>
</oferta>
<oferta_usun>
- znacznik służący do usuwania oferty (tylko przy eksporcie
różnicowym!, dla każdej oferty oddzielna sekcja
<oferta_usun>!)
<id>
- identyfikator oferty
</oferta_usun>
</dzial>
</lista_ofert>
<zdjecia> - lista
wszystkich zdjęć, w tym znaczniku zagnieżdżone są znaczniki
<zdjecie>
<zdjecie>
- znacznik dla zdjęć
...
</zdjecie>
</zdjecia>
</plik>
Format Domy.pl wymienia kilka sposobów wysyłki zdjęć. Format Agencja3000 stosuje oddzielną sekcję <zdjecia> znajdującą się zaraz po <lista_ofert>, gdzie znajdują się informacje o wszystkiech zdjęciach wszystkich eksportowanych ofert. Każde zdjęcie opisane jest w znaczniku <zdjecie>. Porównując z formatem Domy.pl, jest to sposób nr 3, przy czym zawsze wysyłane są wszystkie zdjęcia (informacje w XML oraz pliki zdjęć) do eksportowanych ofert.
Eksporty pełne zawierają wszystkie oferty oraz zdjęcia (pliki, informacja w XML) do ofert zamieszczonych w XML.
Eksporty różnicowe zawierają zmienione oferty a dla każdej zmienionej oferty przesyłany jest komplet istniejących zdjęć. To oznacza, że zdjęcia, które istnieją na portalu, a nie zostały wysłane w eksporcie, należy usunąć.
<zdjecie>
<id>
- identyfikator oferty
<typ>
- m / d / l / z / p (mieszkanie / dom / komercyjne / działka /
pokoje)
<sprzedaz>
- typ int, 0 - nie, 1 - tak
<kolejnosc>
- typ int
<akcja>
- zawsze d - dodaj (zawsze wysyłany komplet zdjęć do ofert
opisanych w XML)
<nazwa>
- nazwa pliku ze zdjęciem
<opis>
- opis zdjecia, opcjonalny
</zdjecie>
szerokość geograficzna: <param nazwa="n_geo_y"
typ="real">52.242</param>
długość geograficzna: <param nazwa="n_geo_x"
typ="real">21.2745</param>
<location>
<area
level="1">wartość</area>
<area level="2">wartość</area>
<area level="3">wartość</area>
<area level="4">wartość</area>
<area level="5">wartość</area>
<area level="6">wartość</area>
<area level="7">wartość</area>
<area level="8">wartość</area>
</location>
- przykład dla Polska / Mazowieckie / warszawski zachodni /
Błonie:
<location>
<area
level="1">Polska</area>
<area level="2">Mazowieckie</area>
<area level="3">warszawski
zachodni</area>
<area level="4">Błonie</area>
</location>
- jeśli dysponujemy kompletem informacji w stylu
województwo/miasto/dzielnica
np.
mazowieckie/warszawa/mokotów informacja w xml-u powinna wyglądać:
<param
nazwa="wojewodztwo" typ="text">mazowieckie</param>
<param nazwa="miasto"
typ="text">warszawa</param>
<param
nazwa="dzielnica" typ="text">mokotów</param>
- jeśli dysponujemy kompletem informacji w stylu
województwo/powiat/gmina
np.
mazowieckie/nowodworski/Pomiechówek informacja w xml-u powinna
wyglądać:
<param
nazwa="wojewodztwo" typ="text">mazowieckie</param>
<param nazwa="miasto"
typ="text">nowodworski</param>
<param
nazwa="dzielnica" typ="text">Pomiechówek</param>
advertisement_text => text
agent_email => text
agent_nazwisko
=> text
agent_tel_biuro => text
agent_tel_kom
=> text
balkon => bool
bezprowizji => bool
biuro
=> bool
czas_wynajmu => text
czy_cena_do_negocjacji
=> bool
dataaktualizacji => text
dodatkowe_koszty
=> text
dwupoziomowe => bool
dzielnica =>
text
forma_wlasnosci => text
gaz => text
internet
=> bool
kaucja => text
klimatyzacja => bool
kraj
=> text
kuchniawyposazona => bool
lazienka_wc
=> bool
liczba_miejsc_parkingowych => int
liczba_poziomow
=> int
liczba_sypialni => int
liczba_wind =>
int
liczbalazienek => int
liczbapieter => int
liczbapokoi => int
liczbatelefonow => int
ma_domofon => bool
ma_gaz => bool
ma_kominek
=> bool
ma_ogrzewanie => bool
ma_pom_socjalne
=> bool
ma_rampe => bool
ma_telefon => bool
materialbudowy => text
meble => bool
miasto
=> text
miejscaparkingowe => text
napoddaszu
=> bool
nazwa_inwestycji => text
numer_licencji_posrednika => int
ogrzewanie => text
okolica => text
opis => text
osiedle_zamkniete
=> bool
piecykgazowy => bool
pietro => int
piwnica => bool
powierzchnia_balkonu => real
powierzchnia_lazienki => real
powierzchnia => real
przetarg => bool
przyjazne_zwierzetom => bool
rodzajlacz => text
rokbudowy => int
rynek_pierwotny => bool
stanbudynku => text
stannieruchomosci
=> text
stolarka_okienna => text
taras =>
bool
termin_przetargu => text
typ_podlogi =>
text
typbudynkumieszk => text
typkuchni => text
ulica
=> text
vadium => real
wideo => text
winda => bool
wojewodztwo => text
wylacznosc
=> bool
wysokoscpomieszczen => real
zwalnianeod
=> text
advertisement_text => text
agent_email => text
agent_nazwisko
=> text
agent_tel_biuro => text
agent_tel_kom
=> text
balkon => bool
bezprowizji => bool
biuro
=> bool
czas_wynajmu => text
czy_cena_do_negocjacji
=> bool
dataaktualizacji => text
dlugoscdzialki
=> real
dodatkowe_koszty => text
drogadojazdowa
=> text
dzielnica => text
forma_wlasnosci =>
text
gaz => text
internet => bool
kanalizacja
=> text
kaucja => text
klimatyzacja => bool
kraj
=> text
kuchniawyposazona => bool
lazienka_wc
=> bool
liczbalazienek => int
liczba_miejsc_parkingowych
=> int
liczba_poziomow => int
liczba_sypialni
=> int
liczbapieter => int
liczbapokoi => int
liczbatelefonow => int
ma_domofon => bool
ma_gaz => bool
ma_kanalizacje => bool
ma_kominek => bool
ma_ogrzewanie => bool
ma_pom_socjalne => bool
ma_rampe => bool
ma_telefon => bool
ma_wode => bool
materialbudowy
=> text
meble => bool
miasto => text
miejscaparkingowe
=> text
nazwa_inwestycji => text
numer_licencji_posrednika => int
ogrodzenie => text
ogrzewanie => text
okolica => text
opis =>
text
osiedle_zamkniete => bool
piecykgazowy =>
bool
piwnica => bool
powierzchnia_balkonu =>
real
powierzchnia_lazienki => real
powierzchnia
=> real
powierzchniadzialki => real
prad =>
bool
przetarg => bool
przyjazne_zwierzetom =>
bool
rodzajlacz => text
rokbudowy => int
rynek_pierwotny => bool
sila => bool
stanbudynku
=> text
stannieruchomosci => text
stolarka_okienna
=> text
szerokoscdzialki => real
taras =>
bool
termin_przetargu => text
typpodlaczeniawody
=> text
typdachu => text
typzabudowy => text
ulica
=> text
vadium => real
wideo => text
wojewodztwo
=> text
wylacznosc => bool
wysokoscpomieszczen
=> real
zwalnianeod => text
advertisement_text => text
agent_email => text
agent_nazwisko
=> text
agent_tel_biuro => text
agent_tel_kom
=> text
bezprowizji => bool
czy_cena_do_negocjacji => bool
dataaktualizacji =>
text
dlugoscdzialki => real
drogadojazdowa =>
text
dzielnica => text
forma_wlasnosci => text
gaz => text
kanalizacja => text
kraj => text
ma_gaz
=> bool
ma_kanalizacje => bool
ma_ogrzewanie
=> bool
ma_wode => bool
miasto => text
nazwa_inwestycji
=> text
numer_licencji_posrednika => int
ogrodzenie
=> text
ogrzewanie => text
okolica => text
opis
=> text
powierzchnia => real
prad => bool
przetarg => bool
przyjazne_zwierzetom => bool
sila => bool
szerokoscdzialki => real
termin_przetargu
=> text
typdzialki => text
typpodlaczeniawody
=> text
ulica => text
vadium => real
wideo
=> text
wojewodztwo => text
wylacznosc =>
bool
advertisement_text => text
agent_email => text
agent_nazwisko
=> text
agent_tel_biuro => text
agent_tel_kom
=> text
bezprowizji => bool
czas_wynajmu =>
text
czy_cena_do_negocjacji => bool
dataaktualizacji => text
dlugoscdzialki => real
dodatkowe_koszty => text
drogadojazdowa => text
dzielnica => text
forma_wlasnosci => text
gaz
=> text
internet => bool
kanalizacja => text
kaucja
=> text
klimatyzacja => bool
kraj => text
liczba_miejsc_parkingowych
=> int
liczba_wind => int
liczbalazienek =>
int
liczbapieter => int
liczbapomieszczen => int
liczbatelefonow
=> int
ma_domofon => bool
ma_ogrzewanie =>
bool
ma_pom_socjalne => bool
ma_rampe => bool
ma_telefon
=> bool
ma_wode => bool
materialbudowy =>
text
meble => bool
miasto => text
miejscaparkingowe
=> text
nazwa_inwestycji => text
numer_licencji_posrednika
=> int
ogrodzenie => text
ogrzewanie => text
okolica
=> text
opis => text
pietro => int
powierzchniadzialki
=> real
powierzchnia => real
prad => bool
przetarg
=> bool
przeznaczenie => text
przyjazne_zwierzetom
=> bool
rodzajlacz => text
rokbudowy => int
rynek_pierwotny
=> bool
sila => bool
stanbudynku => text
stannieruchomosci
=> text
szerokoscdzialki => real
termin_przetargu
=> text
total_area => real
typ_biura => text
typkuchni
=> text
typlokalu => text
typpodlaczeniawody
=> text
ulica => text
vadium => real
wideo
=> text
winda => bool
wojewodztwo => text
wylacznosc
=> bool
wysokoscpomieszczen => real
zabezpieczenia => text
zwalnianeod => text
advertisement_text => text
agent_email => text
agent_nazwisko
=> text
agent_tel_biuro => text
agent_tel_kom
=> text
balkon => bool
bezprowizji => bool
biuro
=> bool
czy_cena_do_negocjacji => bool
dataaktualizacji
=> text
dzielnica => text
forma_wlasnosci =>
text
internet => bool
kraj => text
lazienka_wc
=> bool
liczbapieter => int
liczbapokoi =>
int
liczbatelefonow => int
meble => bool
miasto => text
numer_licencji_posrednika => int
ogrzewanie => text
okolica => text
opis =>
text
osiedle_zamkniete => bool
pietro => int
powierzchnia => real
przetarg => bool
przyjazne_zwierzetom => bool
rokbudowy => int
stannieruchomosci => text
termin_przetargu => text
typkuchni => text
ulica => text
vadium =>
real
wideo => text
winda => bool
wojewodztwo => text
wylacznosc => bool
wysokoscpomieszczen
=> real
zwalnianeod => text
Format oferty przynależącej do inwestycji jest identyczny z formatem zwykłych ofert, z jednym wyjątkiem. Oferta taka będzie zawierała 2 parametry:
rynek_pierwotny => bool - przyjmujący zawsze wartość true
nazwa_inwestycji => text - nazwa inwestycji
Lista poniżej zawiera pola, które mogą pojawić się przy ofertach podczas eksportów na strony internetowe biur. Rozszerzenie formatu Domy.pl o dodatkowe parametry (nazwa => "typ" - opis).
accessControl => bool - Kontrola dostępu
agent_gg =>
text - Numer GG
agent_skype => text - Login Skype
amfilada
=> bool - Amfilada
apartmentCompositionType => text -
Rozkład mieszkania
apartmentSituatedType => text -
Usytuowanie mieszkania
balconyType => text - Typ balkonu
bank
=> bool - Bank
basicMap => bool - Mapa zasadnicza
bath
=> bool - Wanna
budgetFitOutPrice => text - Budżet fit
out
budgetFitOutPriceM2 => text - Budżet fit out (m2)
buildingDepth
=> int - Głębokość budynku
buildingManagementSystem =>
bool - System zarządzania budynkiem
buildingStandard =>
text - Standard wykończenia
builtUpArea => real -
Powierzchnia zabudowy domu
canteen => bool - Kantyna
cctv
=> bool - CCTV
certificateType => text - Certyfikaty
columnsGrid
=> text - Gęstość siatki słupów
commonArea => real -
Powierzchnia wspólna
commonAreaPercentage => real -
Współczynnik powierzchni wspólnych
cooperativeType =>
text - Rodzaj spółdzielni
coverageArea10min => int -
Strefa zasięgu w liczbie osób, 0-10 minut samochodem
coverageArea20min
=> int - Strefa zasięgu w liczbie osób, 10-20 minut samochodem
coverageArea40min
=> int - Strefa zasięgu w liczbie osób, 20-40 minut samochodem
crossDock
=> bool - Cross dock
datawprowadzenia => text - Data
utworzenia
distanceFromCentre => int - Odległość od
centrum
energyDemand => real - Roczne zapotrzebowanie
energetyczne
entresol => bool - Antresola
entryFromLevel0
=> bool - Wjazd z poziomu 0
entryFromLevel1 => bool -
Wjazd z poziomu +1
entryType => text - Typ wjazdu
extraCostsDesc
=> text - Opis dodatkowych kosztów
extraCostsM2 =>
text - Dodatkowe koszty eksploatacyjne za metr
fitness =>
bool - Fitness
floorBearingCapacity => real - Obciążenie
posadzki
floorCapacity => text - Nośność posadzki
garagePersonal => bool - Parking osobowy
garageTir =>
bool - Parking TIR
garageType => text - Typ garażu
gates
=> int - Bramy wjazdowe
gatesPerArea => real - Bramy
wjazdowe / m2
geologicalReasearch => bool -
Badania geologiczne
groundParingRentPrice => text -
Opłata za parking naziemny
groundParkingPlacesNr => int -
Liczba miejsc parkingowych naziemnych
guestParking =>
bool - Parking dla gości
hairdresser => bool - Fryzjer
heightInLight
=> real - Wysokość w świetle
insideMinHeight => int -
Minimalna wysokość
installationType => text - Stan
instalacji
keys => bool - Klucze do mieszkania
kitchenOpen => bool - Kuchnia otwarta
landDevelopmentConditions => bool - Decyzja o warunkach
zabudowy
landRecordsExtract => bool - Wypis z ewidencji
gruntów
landRecordsPrint => bool - Wyrys z ewidencji
gruntów
landRegister => bool - Księga wieczysta
landUseConditionsAndDirections
=> bool - Studium uwarunkowań i kierunków zagospodarowania
levelsNr
=> int - Liczba kondygnacji
liftedFloors => bool -
Podnoszone podłogi
lighting => bool - Oświetlenie
lightProduction => bool - Lekka produkcja
loadingDocks
=> int - Doki załadunkowe
loadingDocksPerArea => real
- Doki załadunkowe / m2
localSpatialManagementPlanExtract => bool - Wypis z Miejscowego
planu zagospodarowania przestrzennego
localSpatialManagementPlanPrint => bool - Wyrys z Miejscowego
planu zagospodarowania przestrzennego
locationDescription
=> text - Opis lokalizacji
maneuveringSquare => bool -
Plac manewrowy
market_type => text - Typ rynku
messenger
=> bool - Kurier
minimalRentalDuration => int -
Minimalny okres wynajmu (w miesiącach)
minimalRentUnit =>
real - Minimalny moduł do wynajmu
monitoring => bool -
Monitoring
nazwaobiektu => text - Nazwa obiektu
network
=> bool - Sieć lokalna
networkType => text - Typ
okablowania
newsStand => bool - Kiosk
officeAreaInOffice => real - Pow. biurowa w biurze
officeCategory => text - Klasa biura
officeRentPrice
=> text - Cena wynajmu powierzchni biurowej
officeRentPriceM2 => text - Cena wynajmu powierzchni biurowej
za m2
openableWindows => bool - Otwierane okna
otherFacilities => bool - Inne udogodnienia
ownershipBase => text - Podstawa własności
parkingPlacesPerArea => real - Współczynnik miejsc parkingowych
parkingRentPrice
=> text - Cena wynajmu parkingu
parkingSalePrice =>
text - Cena sprzedaży parkingu
partitions => bool -
Ścianki działowe
paymentInMeters => text - Opłaty wg
liczników
paymentInRent => text - Opłaty wg czynszu
phoneLineType => text - Typ linii telefonicznej
phoneOperator => text - Operator telekomunikacyjny
plotForm => text - Kształt działki
plotTerrainForm =>
text - Ukształtowanie działki
postOffice => bool - Poczta
railwaySiding
=> bool - Bocznica kolejowa
refrigeratorRentPrice =>
text - Cena wynajmu powierzchni magazynowej chłodni
refrigeratorRentPriceM2
=> text - Cena wynajmu powierzchni magazynowej chłodni za m2
rentAreaType => text - Typ powierzchni do wynajęcia
rentedFrom => text - Wynajęte od
rentInApartment =>
text - Czynsz dla administracji
rentPersonsNr => int -
Liczba osób do czynszu
restaurant => bool - Restauracja
roomHeight
=> int - Wysokość wnętrza
security => bool - Ochrona
serverRoom
=> bool - Serwerownia
shoppingCentre => bool - Centrum
handlowe
shower => bool - Prysznic
skylights =>
bool - Świetliki
smokeMoveDetector => bool - Czujniki
dymu / ciepła
sprinklers => bool - Tryskacze
sprzedane
=> bool - Oferta sprzedana
standardFloorArea => real -
Powierzchnia typowego piętra
subhire => bool - Podnajem
suspendedCeiling
=> bool - Podwieszane sufity
swimmingPool => bool -
Basen
switchboard => bool - Centrala
temperatureControl
=> text - Regulacja temperatury
tenantUnitType => text
- Moduł najemcy
totalFloorRentArea => real - Całkowita
powierzchnia do wynajęcia na piętrze
totalRentArea =>
real - Całkowita powierzchnia do wynajęcia
tradeAreaRentPrice
=> text - Cena wynajmu powierzchni handlowej
tradeAreaRentPriceM2
=> text - Cena wynajmu powierzchni handlowej za m2
tradeBuildingType => text - Klasa budynków handlowych
undergroundLevelsNr => int - Liczba kondygnacji podziemnych
vacateMonthsCount => int - Liczba miesięcy zwolnienia
ventilation
=> bool - Wentylacja
warehouseBuildingNr => int -
Liczba budynków magazynowych
warehouseCategory => text -
Klasa magazynu
warehouseRentPrice => text - Cena wynajmu
powierzchni magazynowej
warehouseRentPriceM2 => text -
Cena wynajmu powierzchni magazynowej za m2
Szczególnym przypadkiem jest pole z ceną za m2:
<cenam2 waluta="KOD"> - cena oferty za
metr, w atrybucie waluta trzyliterowy kod: PLN, USD lub EUR