XML-syöte projekteille ja pohjaratkaisuille
1. Syötteen tarkoitus
XML-syöte siirtää jäsenneltyä tietoa kiinteistöprojekteista ja tyypillisistä pohjaratkaisuista. Sen tarkoitus on mahdollistaa vastaanottavalle järjestelmälle projektikorttien automaattinen luonti ja päivitys sekä hintojen, tilojen, gallerioiden, palveluiden, maksuehtojen, EOI-tietojen ja kehittäjien markkinointimateriaalien näyttäminen.
Syöte välittää pohjaratkaisut koosteena: yksi layout-tieto kuvaa tyypillistä pohjaratkaisua ja kyseisen tyypin vapaiden yksiköiden määrää. Kyse ei ole yksittäisten asuntojen, toimistojen tai tonttien listasta.
- realty-feed: koko XML-syötteen juurisäiliö. Pää-ID: —
- offers: yksi projekti tai kokonaisuus. Pää-ID: complex-id
- layouts: projektin sisäinen tyypillinen pohjaratkaisu. Pää-ID: id
- payment_plans: yksi projektin maksuvaihtoehto. Pää-ID: id
- eoi_item: yksi EOI-ehto. Pää-ID: —
- stock: markkinointikampanja, uutinen tai kehittäjän promootioviesti. Pää-ID: —
1.1 Mikä on XML-syöte
XML-syöte on jäsennelty tiedosto, joka sisältää tietoa kiinteistöprojekteista ja tyypillisistä pohjaratkaisuista. Se sisältää kuvaukset, kuvat, hinnat, osoitteet, tilat, ominaisuudet, palvelut ja muut tiedot, joita tarvitaan kohteiden näyttämiseen välityssivustolla tai katalogissa.
Yksinkertaisesti sanottuna XML-syöte on kiinteistötietovirta, jonka vastaanottava järjestelmä lataa säännöllisesti, lukee ja käyttää kohdekorttien automaattiseen päivittämiseen.
Alnair toimittaa datan. Sivuston kehitys, katalogin kehitys, CRM-integraatio ja tuontilogiikka ovat asiakkaan tai asiakkaan teknisen tiimin vastuulla.
1.2 Mitä toimisto tarvitsee
XML-syötteen käyttöä varten toimistolla tulee olla oma tekninen infrastruktuuri, joka pystyy lataamaan XML:n säännöllisesti, jäsentämään sen rakenteen ja päivittämään tiedot järjestelmään.
- Verkkosivusto tai kohdekatalogi: paikka, jossa syötteen projektit ja pohjaratkaisut näytetään.
- Tekninen tiimi tai kehittäjä: XML:n latauksen, jäsentämisen ja tuonnin toteutus.
- XML-jäsennin: XML-rakenteen lukeminen ja muuntaminen sisäiseen tietomalliin.
- Tuontimoduuli: projektien ja pohjaratkaisujen luonti, päivitys ja deaktivointi.
- Tehtävien ajastin: säännöllinen tuonti aikataulun mukaan, esimerkiksi cronin tai schedulerin avulla.
- Virheloki: tuntemattomien enum-arvojen, tyhjien kenttien ja latausvirheiden seuranta.
1.3 Miten toimisto käyttää XML-syötettä
Tyypillinen työnkulku on seuraava:
- Toimiston järjestelmä lataa XML:n henkilökohtaisesta verkkolinkistä.
- XML tallennetaan raakana tilannekuvana diagnostiikkaa ja uudelleenkäsittelyä varten.
- Jäsennin lukee realty-feed-, offers- ja layouts-rakenteet sekä sisäkkäiset lohkot.
- Tuontimoduuli luo uudet projektit ja pohjaratkaisut tai päivittää olemassa olevat.
- Kohteet, jotka puuttuvat uudesta syötteestä, merkitään inaktiivisiksi.
- Toimiston verkkosivusto näyttää ajantasaiset projektikortit, hinnat, galleriat ja tilat.
Keskeiset integraatiomahdollisuudet:
- Automaattiset päivitykset: projektit ja pohjaratkaisut päivittyvät ilman manuaalista työtä.
- Kohdesivujen luonti: syötteen dataa käytetään projekti- ja layout-korteissa.
- Ajantasaiset hinnat ja tilat: sivusto vastaanottaa XML-päivitykset aikataulun mukaisesti.
- Suodattimet ja haku: aluetta, hintaa, kohdetyyppiä, huonemäärää ja pinta-alaa voidaan käyttää suodatukseen.
- Mediasisällöt: projektikuvia, teemagallerioita ja layout-kuvia voidaan näyttää käyttöliittymässä.
2. Yleinen XML-rakenne
<realty-feed>
<generation-date>2026-06-17T12:06:39+04:00</generation-date>
<offers>...</offers>
<offers>...</offers>
</realty-feed>
- realty-feed: objekti. Syötteen juurilohko.
- generation-date: datetime. XML:n luontiaika. Käytetään tiedon ajantasaisuuden tarkistamiseen.
- offers: object[]. Lista projekteista tai kokonaisuuksista. Kukin offers-lohko sisältää projektitiedot ja sen pohjaratkaisut.
2.1 Syötteen käyttö ja latausrajoitukset
Syöte toimitetaan asiakkaalle henkilökohtaisen verkkolinkin kautta. Linkki on yksilöllinen asiakkaalle ja vastaanottava järjestelmä käyttää sitä XML:n automaattiseen lataamiseen.
Henkilökohtainen linkki on ylläpitäjän saatavilla Alnair-tilillä. Ylläpitäjä voi välittää linkin asiakkaan tekniselle tiimille tuonnin käyttöönottoa varten.
- Käyttötapa: henkilökohtainen verkkolinkki. Asiakkaalle yksilöllinen XML-syötteen URL-osoite.
- Mistä linkki saadaan: Alnair-tili. Linkki on asiakkaan ylläpitäjän käytettävissä.
- Syötteen päivitystiheys: 4 tunnin välein. XML-data päivittyy Alnairin puolella kerran 4 tunnissa.
- Vähimmäislatausväli: enintään kerran tunnissa. Vastaanottava järjestelmä ei saa hakea syötettä useammin kuin kerran tunnissa.
- Rajan ylitys: käytön esto. Jos pyyntöjä tehdään liian usein, syötteen käyttö voidaan estää tilapäisesti.
Suositeltu integraatiologiikka: määritä aikataulutettu lataus cronin tai schedulerin kautta, tallenna viimeksi vastaanotettu XML äläkä hae syötettä jokaisella sivun latauksella. Optimaalinen toimintatapa on ladata syöte enintään kerran tunnissa ottaen huomioon, että uutta dataa ilmestyy noin 4 tunnin välein.
3. Projekti: <offers>
offers on syötteen pääelementti. Se sisältää projektin kuvauksen, kehittäjän, sijainnin, rakentamisen ja myynnin tilan, hinnat, median, palvelut, maksusuunnitelmat, EOI:n, markkinointikampanjat ja tyypilliset pohjaratkaisut.
<offers>
<complex-id>5646</complex-id>
<type>project</type>
<logo>https://...</logo>
<photo>https://...</photo>
<title>...</title>
<description>...</description>
<price_on_request>1</price_on_request>
<status>...</status>
<construction_start_at>2025-01-01T00:00:00+04:00</construction_start_at>
<construction_progress>15</construction_progress>
<planned_completion_at>2027-12-31T00:00:00+04:00</planned_completion_at>
<predicted_completion_at>2027-12-31T00:00:00+04:00</predicted_completion_at>
<amenities>...</amenities>
<developer>...</developer>
<city>Dubai</city>
<address>...</address>
<latitude>25.000000</latitude>
<longitude>55.000000</longitude>
<districts>...</districts>
<album>...</album>
<albums>...</albums>
<constructions_count>1</constructions_count>
<for_sale_count>10</for_sale_count>
<price>...</price>
<br_prices>...</br_prices>
<updated_at>2026-06-17T10:53:20+04:00</updated_at>
<is_sold_out>0</is_sold_out>
<payment_plans>...</payment_plans>
<sales_status>...</sales_status>
<stocks>...</stocks>
<eoi>...</eoi>
<service_charge>...</service_charge>
<assignment>...</assignment>
<is_limited_publication>0</is_limited_publication>
<layouts>...</layouts>
</offers>
- complex-id: kokonaisluku. Yksilöllinen projektitunnus Alnairissa. Käytetään ulkoisena projektitunnisteena upserttiin.
- type: enum. Ylimmän tason entiteettityyppi: project tai compound. Tallenna raaka-arvo ja tuo ylimmän tason projektina.
- logo: url. Projektin logo. Näytä brändäyksessä, älä käytä kansikuvana.
- photo: url. Projektin pääkuva / kansikuva. Käytä kansi- ja hero-kuvana.
- title: localized object. Projektin nimi en/ru/ar. Näytä käyttöliittymän kielen mukaan.
- description: localized HTML. Projektin kuvaus en/ru/ar. Renderöi turvallisesti; HTML on CDATA:n sisällä.
- price_on_request: 0/1. Hintojen piilotuslippu. Jos 1, näytä “Hinta pyynnöstä”.
- status: object. Rakentamisen tila. Älä sekoita sales_statusiin.
- construction_start_at: datetime. Rakentamisen aloituspäivä. Näytä, jos täytetty.
- construction_progress: decimal. Rakentamisen valmiusaste. Näytä prosenttina.
- planned_completion_at: datetime. Projektin suunniteltu valmistumispäivä. Käytä luovutuspäivänä.
- predicted_completion_at: datetime. Arvioitu valmistumispäivä. Voidaan käyttää päivitettynä valmistumispäivänä.
- amenities: object. Projektin palvelut ja ominaisuudet. Kartoita avaimen perusteella.
- developer: object. Projektin kehittäjä. Tallenna nimi ja logo.
- city / address: string. Projektin kaupunki ja osoite. Käytä sijaintitiedoissa.
- latitude / longitude: decimal. Koordinaatit. Käytä kartalla.
- districts: object. Projektin alueet. Käytä suodattimissa ja projektikortissa.
- album: object. Projektin päägalleria ilman erillistä luokittelua. Näytä yleisenä galleriana.
- albums: object. Teemagalleriat. Ryhmittele otsikon mukaan.
- for_sale_count: integer. Projektissa vapaiden yksiköiden määrä. Voidaan näyttää saatavuutena.
- price: object. Projektin yleinen hintahaarukka. Piilota, kun price_on_request=1.
- br_prices: object[]. Hinnat makuuhuonemäärän tai kohdetyypin mukaan. Käytä suodattimissa ja listauksissa.
- updated_at: datetime. Projektin päivitysaika. Käytä synkronointiin.
- is_sold_out: 0/1. Loppuunmyyty-lippu. Käytä yhdessä sales_statusin kanssa.
- payment_plans: object[]. Kehittäjän maksuvaihtoehdot. Näytä maksuvaihtoehtoina.
- sales_status: localized object. Projektin myyntitila. Määrittää myyntivaiheen.
- stocks: object. Kehittäjän markkinointikampanjat ja promootioviestit. Näytä promo-lohkoina.
- eoi: object. Expression of Interest. Näytä vain Presale (EOI) -vaiheessa.
- service_charge: object. Hoitovastike. Näytä, jos arvo on täytetty.
- assignment: decimal. Luovutusehto. Tyhjä tarkoittaa, ettei sitä ole määritelty.
- is_limited_publication: 0/1. Julkaisurajoitus. Jos 1, älä julkaise julkisesti ilman lupaa.
- layouts: object[]. Projektin tyypilliset pohjaratkaisut. Tuo projektin lapsielementteinä.
4. Lokalisoidut kentät
Lokalisoiduissa kentissä on sama rakenne: englannin-, venäjän- ja arabiankieliset arvot välitetään tunnisteen sisällä.
<title>
<en>Project Name</en>
<ru>Название проекта</ru>
<ar>اسم المشروع</ar>
</title>
- en: englanninkielinen arvo. Suositeltu varatieto.
- ru: venäjänkielinen arvo.
- ar: arabiankielinen arvo.
Varasääntö:
- Käytä käyttöliittymän kieltä, jos se on täytetty.
- Jos vaadittu kieli on tyhjä, käytä en.
- Jos en on tyhjä, käytä ru.
- Jos ru on tyhjä, käytä ar.
- Jos kaikki arvot ovat tyhjiä, älä näytä kenttää.
5. Tilat
5.1 Rakentamisen tila: <status>
Rakentamisen tila kertoo projektin fyysisen vaiheen. Se ei kuvaa myynnin saatavuutta.
<status>
<key>development_stage_progress</key>
<en>In Progress</en>
<ru>Строится</ru>
<ar>قيد الإنشاء</ar>
</status>
- Scheduled: projekti on suunnitteilla.
- In Progress: rakentaminen on käynnissä.
- Ready: projekti on valmistunut.
- Stopped: rakentaminen on pysäytetty.
5.2 Myyntitila: <sales_status>
Myyntitila kertoo projektin kaupallisen vaiheen: julkistus, ennakkomyynti, lanseeraus, aktiivinen myynti tai loppuunmyynti.
- Preliminary Info: varhaiset projektitiedot.
- Announcement: projekti on julkistettu.
- Presale (EOI): EOI-kokoelma on käynnissä.
- Launch: myynnin aloitus.
- On Sale: projekti on ostettavissa.
- Sold Out: projekti on loppuunmyyty.
- Pending: tila odottaa päivitystä.
6. Kehittäjä ja sijainti
Nämä lohkot tarvitaan kehittäjäbrändin ja projektin maantieteellisen sijainnin näyttämiseen.
<developer>
<title>
<en>Developer Name</en>
<ru>Developer Name</ru>
<ar>Developer Name</ar>
</title>
<logo>https://...</logo>
</developer>
<city>Dubai</city>
<address>Project Address, Dubai</address>
<latitude>25.01809076</latitude>
<longitude>55.13354525</longitude>
<districts>
<district>Jumeirah Village Triangle (JVT)</district>
</districts>
- developer.title: localized object. Kehittäjän nimi.
- developer.logo: url. Kehittäjän logo.
- city: string. Kaupunki.
- address: string. Osoite.
- latitude / longitude: decimal. Karttakoordinaatit.
- districts.district: string[]. Projektin alueet.
7. Hinnat
7.1 Projektin hinta: <price>
Projektitason hinta näyttää projektissa saatavilla olevien kohteiden yleisen hintahaarukan.
<price>
<min>815462</min>
<max>2089780</max>
<min_usd>222009</min_usd>
<max_usd>568942</max_usd>
<currency>AED</currency>
</price>
- min: decimal. Alin hinta.
- max: decimal. Ylin hinta.
- min_usd: decimal. Alin hinta USD:ssa.
- max_usd: decimal. Ylin hinta USD:ssa.
- currency: enum. Päävaluutta, yleensä AED.
Jos price_on_request = 1, tarkkoja hintoja ei näytetä julkisesti, vaikka price olisi täytetty.
7.2 Hinnat luokittain: <br_prices>
br_prices ryhmittelee hinnat ja pinta-alat makuuhuonemäärän tai kohdetyypin mukaan. Tämä on hyödyllistä suodattimissa ja lyhyissä projektikorteissa.
<br_prices>
<key>1</key>
<count>7</count>
<min_price>1070564</min_price>
<max_price>1289674</max_price>
<min_price_m2>17204</min_price_m2>
<max_price_m2>18483</max_price_m2>
<currency>AED</currency>
<min_area><m2>57.92</m2><ft2>623.45</ft2></min_area>
<max_area><m2>74.17</m2><ft2>798.36</ft2></max_area>
</br_prices>
- studio: yksiöt.
- 1-6: makuuhuoneiden määrä.
- villa: villat.
- townhouse: rivitalot.
- n: ei sovellu / ei-asuinluokka / muu.
8. Media
Syötteen media on jaettu useisiin tyyppeihin. Näitä ei pidä yhdistää yhdeksi galleriaksi käyttötarkoitusta huomioimatta: yksi kuva voi olla projektin kansikuva, toinen logo, kolmas promootiokuva ja neljäs pohjakuva.
- logo: offers.logo. Projektin logo. Näytä projektin brändäyksessä; älä käytä kansikuvana.
- photo: offers.photo. Projektin pääkuva / kansikuva. Käytä kortin kansikuvana ja projektisivun hero-kuvana.
- album.image: offers.album.image. Projektin päägalleria ilman erillistä luokitusta. Näytä yleisessä projektigalleriassa.
- albums.album.images.image: offers.albums.album.images.image. Teemagalleria. Ryhmittele albums.album.title:n mukaan.
- developer.logo: offers.developer.logo. Kehittäjän logo. Näytä kehittäjälohkossa.
- stocks.stock.logo: offers.stocks.stock.logo. Markkinointikampanjan kuva. Näytä promootiolohkossa.
- layouts.album.image: offers.layouts.album.image. Tietyn tyypillisen pohjaratkaisun galleria. Näytä layout-tasolla.
- levels_photos.level_photo.image: offers.layouts.levels_photos.level_photo.image. Pohjaratkaisukuva kerroksittain. Käytä pohjapiirroksena.
<photo>https://...</photo>
<album>
<image>https://...</image>
</album>
<albums>
<album>
<title><en>Infrastructure</en><ru>Инфраструктура</ru><ar>...</ar></title>
<images>
<image>https://...</image>
</images>
</album>
</albums>
- Project presentation: projektiesittelyn kuvat.
- Construction progress: rakennustyön etenemisen kuvat.
- Finishing examples: viimeistelyesimerkit.
- Infrastructure: projektin infrastruktuuri.
- View: näkymät ja ympäristö.
Jokaisessa projektissa kaikkien kategorioiden ei tarvitse olla mukana. Jos kategorian otsikko on tyhjä, kuvat voidaan tuoda ilman luokittelua tai sijoittaa yleiseen galleriaan.
Nykyisessä rakenteessa ei ole erillistä history/story-XML-tunnistetta. Uutiset, promootioviestit ja projektin markkinointimateriaalit välitetään stocks-lohkon kautta. Rakennushistoriaa varten voidaan käyttää Construction progress -kategoriaa, jos se on albumsissa käytettävissä.
9. Palvelut
amenities kuvaa projektin palveluita ja ominaisuuksia. Integraatiossa kannattaa käyttää key-avainta, kun taas lokalisoituja arvoja käytetään näyttämiseen.
<amenities>
<amenity>
<key>project_facilities_gym</key>
<en>Gym</en>
<ru>Тренажёрный зал</ru>
<ar>صالة رياضية</ar>
</amenity>
</amenities>
- amenities: objekti. Palvelusäiliö.
- amenity: objekti. Yksi palvelu.
- key: enum. Tekninen avain.
- en / ru / ar: string. Palvelun nimi kolmella kielellä.
Avain projecet_hotel_license sisältää kirjoitusvirheen, mutta se on mapattava Hotel License -arvoksi. On suositeltavaa tukea aliasta eikä rikkoa tuontia.
10. Markkinointikampanjat: <stocks>
stocks ovat kehittäjien markkinointikampanjoita, uutisia ja promootioviestejä. Ne voivat sisältää erikoishintoja, alennuksia, lanseerausehtoja, EOI-ilmoituksia, määräaikaisia maksutarjouksia ja mainosmateriaaleja. Tämä lohko ei ole varastotieto eikä määritä yksiköiden saatavuutta.
<stocks>
<stock>
<title>...</title>
<description>...</description>
<start_at>2025-06-26T00:00:00+04:00</start_at>
<end_at/>
<logo>https://...</logo>
</stock>
</stocks>
- stocks: objekti. Markkinointiviestien säiliö.
- stock: objekti. Yksi kampanja, uutinen tai promootioviesti.
- title: localized object. Kampanjan otsikko.
- description: localized HTML. Kampanjan kuvaus.
- start_at: datetime. Alkamispäivä.
- end_at: datetime. Päättymispäivä; voi olla tyhjä.
- logo: url. Kampanjan kuva.
Käytä saatavuuteen for_sale_count-, layouts.sale_units_count- ja sales_status-tietoja, älä stocksia.
11. EOI
EOI tarkoittaa Expression of Interest -ilmaisua. Lohko kuvaa ennakkokiinnostuksen tai talletusehtojen projektissa, jonka tila on Presale (EOI).
<eoi>
<is_eoi_return>0</is_eoi_return>
<eoi_items>
<eoi_item>
<price>100000</price>
<percent/>
<description>
<en>EOI amount for 2 Bedrooms</en>
<ru>Сумма EOI для 2-комнатных</ru>
<ar>...</ar>
</description>
</eoi_item>
</eoi_items>
</eoi>
- is_eoi_return: 0/1/empty. 0 = ei palautettava, 1 = palautettava, empty = ei määritelty.
- eoi_items: objekti. EOI-ehtojen säiliö.
- eoi_item: objekti. Yksi EOI-ehto.
- price: decimal. Kiinteä EOI-summa.
- percent: decimal. EOI-prosentti, jos käytössä.
- description: localized object. Ehdon kuvaus.
- sales_status.en = Presale (EOI) ja eoi_items on täytetty: näytä EOI.
- Muu sales_status: piilota EOI.
12. Hoitovastike ja luovutus
<service_charge>
<value>172.22</value>
<unit>sq. m</unit>
<currency>AED</currency>
</service_charge>
<assignment>40.00</assignment>
- service_charge.value: hoitovastikkeen määrä. Jos tyhjä, älä näytä lohkoa.
- service_charge.unit: laskentayksikkö, yleensä sq. m. Voi olla tyhjä.
- service_charge.currency: valuutta, yleensä AED. Voi olla tyhjä.
- assignment: prosentti, jonka jälkeen luovutus on mahdollinen. Tyhjä = tieto ei ole määritelty, ei rajoitus.
13. Maksusuunnitelmat: <payment_plans>
payment_plans kuvaa kehittäjän tarjoamia kohteen maksuvaihtoehtoja. Yhdellä projektilla voi olla useita maksusuunnitelmia. Kukin suunnitelma jakaa maksut vaiheisiin: varaus, rakentaminen, luovutus ja luovutuksen jälkeinen aika. Kulut ja lisämaksut välitetään erikseen, joten kokonaisprosentti voi ylittää 100%. Esimerkiksi 104% voi tarkoittaa 100% kohteen hinnasta + 4% DLD-maksua.
- Basic: id, title, currency. Suunnitelman tunniste, otsikko ja valuutta. title on vapaata tekstiä, ei enum.
- Booking: on_booking_percent, on_booking_fix, on_booking_payments_count, on_booking_fees. Maksut ja kulut varausvaiheessa.
- Construction: on_construction_percent, on_construction_fix, on_construction_payments_count, on_construction_fees. Maksut rakentamisen aikana.
- Handover: on_handover_percent, on_handover_fix, on_handover_payments_count, on_handover_fees. Maksut kohteen luovutuksen yhteydessä.
- Post-handover: post_handover_percent, post_handover_fix, on_post_handover_payments_count, on_post_handover_fees. Maksut luovutuksen jälkeen.
- ROI: roi_percent, roi_fix, roi_payments_count, roi_fees. Kentät ROI- tai taatun tuoton malleille.
- Lisämaksut: additional, additional_percent, additional_fix, additional_fix_m2. Lisämaksut, esimerkiksi DLD Fee.
- Jaksot: period_after_handover, period_after_roi. Toistuvien maksujen tiheys.
- Yhteensä: price_total, fees_included_total. Suunnitelman kokonaissummat ja sisältyvät kulut.
14. Pohjaratkaisut: <layouts>
layouts kuvaa projektin tyypillisen pohjaratkaisun. Se on koosteellinen yksikkötyyppi, ei yksittäinen asunto tai toimisto.
- id: kokonaisluku. Yksilöllinen layout-tunnus. Käytä ulkoisena layout-tunnuksena.
- title: localized object. Layoutin nimi. Näytä käyttöliittymän kielen mukaan.
- project_id: kokonaisluku. Yläprojektin tunnus. Yhdistä offers.complex-id:n kanssa.
- building_name: localized object. Rakennuksen nimi. Älä näytä, jos tyhjä.
- price_on_request: 0/1. Hintojen piilotuslippu. Jos 1, älä näytä hintaa.
- area_min / area_max: object. Pinta-alan vaihteluväli. m2 ja ft2.
- area_balcony_min / area_balcony_max: object. Parvekkeen pinta-alan vaihteluväli. Voi olla tyhjä.
- type: localized object. Kohdetyyppi. Katso Unit type -viite.
- sale_units_count: integer. Tämän tyypin vapaiden yksiköiden määrä. Kyse ei ole tonttilistasta.
- album: object. Layout-galleria. Näytä layout-tasolla.
- levels_photos: object. Kuvat kerroksittain. Käytä pohjapiirroksina.
- floors_count: integer. Kerrosten määrä. 1, 2, 3 jne.
- rooms_count: localized object. Huonemäärä. Katso Rooms count -viite.
- price: object. Layoutin hintahaarukka. Piilota, kun price_on_request=1.
- is_limited_publication: 0/1. Julkaisurajoitus. Jos 1, piilota julkisesti.
15. Enum-arvojen viitteet
- Project type: project, compound.
- Sales status: Preliminary Info, Announcement, Presale (EOI), Launch, On Sale, Sold Out, Pending.
- Construction status: Scheduled, Ready, Stopped, In Progress.
- Unit type: Apartment, Villa, Townhouse, Duplex, Triplex, Penthouse, Retail, Office, Suite.
- Rooms count: Studio, 1 BR, 2 BR, 3 BR, 4 BR, 5 BR, 6 BR, 7 BR, 8 BR, NA.
- BR price key: studio, 1, 2, 3, 4, 5, 6, villa, townhouse, n.
- Gallery category: Project presentation, Construction progress, Finishing examples, Infrastructure, View.
- Currency: AED.
- Service charge unit: sq. m.
- Boolean flags: 0, 1; tyhjä on sallittu joissakin kentissä.
Jos syöte sisältää arvon, որը ei ole viitelistassa, tuonnin ei tule epäonnistua. Arvo on tallennettava raaka-arvona, mapattava tuntemattomaksi ja kirjattava tarkistettavaksi.
16. Tyhjät arvot
Tyhjä arvo tarkoittaa “ei määritelty”, ei 0. Tyhjät tagit voivat näyttää muodolta <field/> tai <field></field>.
- assignment: luovutusehtoa ei ole määritelty.
- service_charge.value: hoitovastiketta ei ole määritelty.
- eoi.is_eoi_return: EOI:n palautettavuutta ei ole määritelty.
- area_balcony_min.m2: parvekkeen pinta-alaa ei ole määritelty.
- description.en: kuvaus puuttuu.
17. Näyttösäännöt
- Hinta piilotettu: price_on_request = 1. Näytä “Hinta pyynnöstä”.
- Hinta näkyvissä: price_on_request = 0. Näytä min/max-hinta.
- EOI: sales_status.en = Presale (EOI) ja EOI on täytetty. Näytä EOI.
- EOI ei relevantti: sales_status.en != Presale (EOI). Piilota EOI.
- Loppuunmyyty: is_sold_out = 1 tai sales_status.en = Sold Out. Näytä “Loppuunmyyty” tai piilota listauksesta.
- Rajoitettu julkaisu: is_limited_publication = 1. Älä julkaise julkisesti.
- Assignment tyhjä: assignment tyhjä. Älä näytä assignment-lohkoa.
- Hoitovastike tyhjä: service_charge.value tyhjä. Älä näytä hoitovastiketta.
18. Tuontisäännöt
- Projekti: hae complex-id:n perusteella; jos löytyy, päivitä; jos ei löydy, luo.
- Layout: hae layouts.id:n perusteella; yhdistä projektiin project_id:n kautta.
- Poisto: jos kohde katoaa uudesta syötteestä, merkitse se inaktiiviseksi sen sijaan, että poistaisit sen heti.
- Tuntematon enum: tallenna raaka-arvo, mapaa tuntemattomaksi ja kirjaa.
- Tyhjät arvot: älä muuta niitä 0:ksi ilman selkeää kenttäkohtaista sääntöä.
19. Suositeltu tietorakenne
Projektikenttä → Lähde
- external_project_id: complex-id.
- raw_offer_type: type.
- title_*: title.
- description_*: description.
- developer_name: developer.title.
- developer_logo_url: developer.logo.
- city/address/coordinates: city, address, latitude, longitude.
- districts: districts.district.
- construction_status: status.en.
- sales_status: sales_status.en.
- price_min / price_max: price.
- price_on_request: price_on_request.
- galleries: photo, album, albums.
- payment_plans: payment_plans.
- eoi: eoi.
- stocks: stocks.
- source_updated_at: updated_at.
Layout-kenttä → Lähde
- external_layout_id: layouts.id.
- external_project_id: layouts.project_id.
- title_*: layouts.title.
- building_name_*: building_name.
- unit_type: type.en.
- rooms_count: rooms_count.en.
- sale_units_count: sale_units_count.
- area_min / area_max: area_min, area_max.
- balcony_min / balcony_max: area_balcony_min, area_balcony_max.
- floors_count: floors_count.
- price_min / price_max: price.
- layout_gallery: album.
- levels_photos: levels_photos.
- is_limited_publication: is_limited_publication.