პროექტებისა და განლაგებების XML Feed

1. ფიდის დანიშნულება

XML ფიდი გადასცემს სტრუქტურირებულ მონაცემებს უძრავი ქონების პროექტებისა და ტიპური გეგმარებების შესახებ. მისი მიზანია მიმღებმა სისტემამ ავტომატურად შექმნას და განაახლოს პროექტის ბარათები, აჩვენოს ფასები, სტატუსები, გალერეები, ინფრასტრუქტურა, გადახდის პირობები, EOI და დეველოპერის სარეკლამო მასალები.

ფიდი გეგმარებებს აგრეგირებული ფორმით გადასცემს: ერთი ჩანაწერი აღწერს ტიპურ გეგმარებას და ამ ტიპის ხელმისაწვდომი ერთეულების რაოდენობას. ეს არ არის კონკრეტული აპარტამენტების, ოფისების ან მიწის ნაკვეთების სია.

  • realty-feed: მთელი XML ფიდის ძირითადი კონტეინერი. მთავარი ID: —
  • offers: ერთი პროექტი ან კომპლექსი. მთავარი ID: complex-id
  • layouts: პროექტის ფარგლებში ტიპური გეგმარება. მთავარი ID: id
  • payment_plans: პროექტის ერთი გადახდის ვარიანტი. მთავარი ID: id
  • eoi_item: EOI-ის ერთი პირობა. მთავარი ID: —
  • stock: დეველოპერის სარეკლამო კამპანია, სიახლე ან პრომო შეტყობინება. მთავარი ID: —

1.1 რა არის XML ფიდი

XML ფიდი არის სტრუქტურირებული ფაილი, რომელიც შეიცავს მონაცემებს უძრავი ქონების პროექტებისა და ტიპური გეგმარებების შესახებ. მასში შედის აღწერილობები, ფოტოები, ფასები, მისამართები, სტატუსები, მახასიათებლები, ინფრასტრუქტურა და სხვა მონაცემები, რომლებიც საჭიროა ობიექტების სააგენტოს ვებგვერდზე ან კატალოგში საჩვენებლად.

მარტივად რომ ვთქვათ, XML ფიდი არის უძრავი ქონების მონაცემთა ნაკადი, რომელსაც მიმღები სისტემა რეგულარულად ჩამოტვირთავს, კითხულობს და იყენებს ობიექტის ბარათების ავტომატურად განახლებისთვის.

Alnair უზრუნველყოფს მონაცემებს. ვებგვერდის დამუშავება, კატალოგის განვითარება, CRM ინტეგრაცია და იმპორტის ლოგიკა მომხმარებლის ან მისი ტექნიკური გუნდის პასუხისმგებლობაა.

1.2 რა სჭირდება სააგენტოს

XML ფიდის გამოსაყენებლად სააგენტოს სჭირდება საკუთარი ტექნიკური ინფრასტრუქტურა, რომელიც შეძლებს XML-ის რეგულარულ ჩამოტვირთვას, სტრუქტურის გაანალიზებას და მონაცემების საკუთარ სისტემაში განახლებას.

  • ვებგვერდი ან ობიექტების კატალოგი: ადგილი, სადაც ფიდიდან მიღებული პროექტები და გეგმარებები გამოჩნდება.
  • ტექნიკური გუნდი ან დეველოპერი: XML-ის ჩამოტვირთვის, parsing-ის და იმპორტის გამართვა.
  • XML parser: XML სტრუქტურის წაკითხვა და შიდა მონაცემთა მოდელად გარდაქმნა.
  • Import module: პროექტებისა და გეგმარებების შექმნა, განახლება და დეაქტივაცია.
  • Task scheduler: იმპორტის რეგულარული შესრულება გრაფიკით, მაგალითად cron-ის ან scheduler-ის მეშვეობით.
  • Error logging: უცნობი enum მნიშვნელობების, ცარიელი ველებისა და ჩატვირთვის შეცდომების მონიტორინგი.

1.3 როგორ იყენებს სააგენტო XML ფიდს

სტანდარტული სამუშაო პროცესი ასეთია:

  1. სააგენტოს სისტემა XML-ს პირადი ვებბმულიდან ჩამოტვირთავს.
  2. XML ინახება როგორც raw snapshot დიაგნოსტიკისა და ხელახლა დამუშავებისთვის.
  3. parser-ი კითხულობს realty-feed, offers, layouts სტრუქტურას და ჩაშენებულ ბლოკებს.
  4. import module ქმნის ახალ პროექტებსა და გეგმარებებს ან განაახლებს არსებულებს.
  5. ობიექტები, რომლებიც ახალ ფიდში გაქრება, ინაქტიურებად მონიშნავენ.
  6. სააგენტოს ვებგვერდზე გამოჩნდება განახლებული პროექტის ბარათები, ფასები, გალერეები და სტატუსები.

ინტეგრაციის ძირითადი შესაძლებლობები:

  • ავტომატური განახლება: პროექტები და გეგმარებები ხელით ჩარევის გარეშე ახლდება.
  • ობიექტის გვერდის შექმნა: ფიდის მონაცემები გამოიყენება პროექტისა და გეგმარების ბარათებისთვის.
  • განახლებული ფასები და სტატუსები: ვებგვერდი XML განახლებებს გრაფიკით იღებს.
  • ფილტრები და ძიება: რაიონი, ფასი, ობიექტის ტიპი, ოთახების რაოდენობა და ფართობი შეიძლება გამოყენებულ იქნას ფილტრაციისთვის.
  • მედია გალერეები: შესაძლებელია პროექტის ფოტოების, თემატური გალერეების და გეგმარების სურათების ჩვენება ინტერფეისში.

2. საერთო XML სტრუქტურა

<realty-feed>
  <generation-date>2026-06-17T12:06:39+04:00</generation-date>
  <offers>...</offers>
  <offers>...</offers>
</realty-feed>

  • realty-feed: ობიექტი. ფიდის ძირითადი ბლოკი.
  • generation-date: datetime. XML-ის გენერირების თარიღი და დრო. გამოიყენება მონაცემების სიახლის შესამოწმებლად.
  • offers: object[]. პროექტების ან კომპლექსების სია. თითოეული offers ბლოკი შეიცავს პროექტის მონაცემებს და მის გეგმარებებს.

2.1 ფიდზე წვდომა და ჩამოტვირთვის ლიმიტები

ფიდი მომხმარებელს მიეწოდება პირადი ვებბმულით. ბმული უნიკალურია და გამოიყენება მიმღები სისტემის მიერ XML-ის ავტომატურად ჩამოსატვირთად.

პირადი ბმული ხელმისაწვდომია ადმინისტრატორისთვის Alnair-ის ანგარიშში. ადმინისტრატორს შეუძლია ეს ბმული გადასცეს მომხმარებლის ტექნიკურ გუნდს იმპორტის გასამართად.

  • წვდომის ტიპი: პირადი ვებბმული. მომხმარებლისთვის ინდივიდუალური XML ფიდის URL.
  • სად ვიპოვოთ ბმული: Alnair-ის ანგარიში. ბმული ხელმისაწვდომია მომხმარებლის ადმინისტრატორისთვის.
  • ფიდის განახლების სიხშირე: ყოველ 4 საათში. XML მონაცემები Alnair-ის მხარეს ახლდება ყოველ 4 საათში ერთხელ.
  • ჩამოტვირთვის მინიმალური ინტერვალი: არა უმეტეს ერთხელ საათში. მიმღებმა სისტემამ ფიდზე წვდომა არ უნდა გააკეთოს საათში ერთხელ მეტჯერ.
  • ლიმიტის გადაჭარბება: წვდომის ბლოკირება. თუ მოთხოვნები ზედმეტად ხშირია, ფიდზე წვდომა დროებით შეიძლება დაბლოკილ იქნას.

სასურველი ინტეგრაციის ლოგიკა: cron-ის ან scheduler-ის მეშვეობით დააყენეთ დაგეგმილი ჩამოტვირთვა, შეინახეთ ბოლოს მიღებული XML და ნუ მოითხოვთ ფიდს ვებგვერდის ყოველი ჩატვირთვისას. ოპტიმალური რეჟიმია ფიდის ჩამოტვირთვა არა უმეტეს საათში ერთხელ, იმით გათვალისწინებით, რომ ახალი მონაცემები დაახლოებით ყოველ 4 საათში ჩნდება.

3. პროექტი: <offers>

offers არის ფიდის ძირითადი ერთეული. იგი შეიცავს პროექტის აღწერას, დეველოპერს, მდებარეობას, მშენებლობისა და გაყიდვების სტატუსს, ფასებს, მედიას, ინფრასტრუქტურას, გადახდის გეგმებს, EOI-ს, სარეკლამო აქციებს და ტიპურ გეგმარებებს.

<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: integer. უნიკალური პროექტის ID Alnair-ში. გამოიყენეთ როგორც გარე პროექტის ID upsert-ისთვის.
  • type: enum. ზედა დონის ერთეულის ტიპი: project ან compound. შეინახეთ raw მნიშვნელობა და იმპორტი გააკეთეთ როგორც ზედა დონის პროექტი.
  • logo: url. პროექტის ლოგო. აჩვენეთ ბრენდინგში, არ გამოიყენოთ ქავერად.
  • photo: url. პროექტის მთავარი ფოტო / ქავერი. გამოიყენეთ ქავერად და hero image-ად.
  • title: localized object. პროექტის სახელი en/ru/ar-ში. აჩვენეთ ინტერფეისის ენის მიხედვით.
  • description: localized HTML. პროექტის აღწერა en/ru/ar-ში. უსაფრთხოდ წარმოაჩინეთ; HTML CDATA-შია.
  • price_on_request: 0/1. ფასის დამალვის ფლაგი. თუ 1, აჩვენეთ „ფასი მოთხოვნით“.
  • status: object. მშენებლობის სტატუსი. არ აგერიოთ sales_status-ში.
  • construction_start_at: datetime. მშენებლობის დაწყების თარიღი. აჩვენეთ, თუ შევსებულია.
  • construction_progress: decimal. მშენებლობის დასრულების პროცენტი. აჩვენეთ პროცენტულად.
  • planned_completion_at: datetime. პროექტის დაგეგმილი დასრულების თარიღი. გამოიყენეთ გადაცემის თარიღად.
  • predicted_completion_at: datetime. მოსალოდნელი დასრულების თარიღი. შეიძლება გამოყენებულ იქნას განახლებულ დასრულების თარიღად.
  • amenities: object. პროექტის ინფრასტრუქტურა და მახასიათებლები. გაამართეთ key-ის მიხედვით.
  • developer: object. პროექტის დეველოპერი. შეინახეთ სახელი და ლოგო.
  • city / address: string. პროექტის ქალაქი და მისამართი. გამოიყენეთ მდებარეობის მონაცემებში.
  • latitude / longitude: decimal. კოორდინატები. გამოიყენეთ რუკისთვის.
  • districts: object. პროექტის რაიონები. გამოიყენეთ ფილტრებისთვის და პროექტის ბარათისთვის.
  • album: object. პროექტის ძირითადი არათემატური გალერეა. აჩვენეთ როგორც ზოგადი გალერეა.
  • albums: object. თემატური პროექტის გალერეები. დააჯგუფეთ title-ის მიხედვით.
  • for_sale_count: integer. პროექტში ხელმისაწვდომი ერთეულების რაოდენობა. შეიძლება აჩვენოთ როგორც ხელმისაწვდომობა.
  • price: object. პროექტის ფასების ზოგადი დიაპაზონი. დამალეთ, როცა price_on_request=1.
  • br_prices: object[]. ფასები ოთახების რაოდენობის ან კატეგორიის მიხედვით. გამოიყენეთ ფილტრებისთვის და სიისთვის.
  • updated_at: datetime. პროექტის განახლების თარიღი. გამოიყენეთ სინქრონიზაციისთვის.
  • is_sold_out: 0/1. გაყიდული ფლაგი. გამოიყენეთ sales_status-თან ერთად.
  • payment_plans: object[]. დეველოპერის გადახდის ვარიანტები. აჩვენეთ როგორც გადახდის ოფციები.
  • sales_status: localized object. პროექტის გაყიდვების სტატუსი. განსაზღვრავს გაყიდვების ეტაპს.
  • stocks: object. დეველოპერის მარკეტინგული კამპანიები და სარეკლამო შეტყობინებები. აჩვენეთ როგორც პრომო ბლოკები.
  • eoi: object. ინტერესის გამოხატვა. აჩვენეთ მხოლოდ Presale (EOI)-ზე.
  • service_charge: object. მომსახურების საფასური. აჩვენეთ, თუ მნიშვნელობა შევსებულია.
  • assignment: decimal. Assignment-ის პირობა. ცარიელი ნიშნავს, რომ მითითებული არ არის.
  • is_limited_publication: 0/1. გამოქვეყნების შეზღუდვა. თუ 1, არ გამოაქვეყნოთ საჯაროდ ნებართვის გარეშე.
  • layouts: object[]. პროექტის ტიპური გეგმარებები. იმპორტი გააკეთეთ როგორც პროექტის შვილობილი ერთეულები.

4. ლოკალიზებული ველები

ლოკალიზებულ ველებს ერთნაირი სტრუქტურა აქვთ: ინგლისურ, რუსულ და არაბულ მნიშვნელობებს ტეგის შიგნით გადასცემენ.

<title>
  <en>პროექტის სახელი</en>
  <ru>Название проекта</ru>
  <ar>اسم المشروع</ar>
</title>

  • en: ინგლისური მნიშვნელობა. რეკომენდებული fallback.
  • ru: რუსული მნიშვნელობა.
  • ar: არაბული მნიშვნელობა.

Fallback-ის წესი:

  1. გამოიყენეთ ინტერფეისის ენა, თუ ის შევსებულია.
  2. თუ საჭირო ენა ცარიელია, გამოიყენეთ en.
  3. თუ en ცარიელია, გამოიყენეთ ru.
  4. თუ ru ცარიელია, გამოიყენეთ ar.
  5. თუ ყველა მნიშვნელობა ცარიელია, ველი არ აჩვენოთ.

5. სტატუსები

5.1 მშენებლობის სტატუსი: <status>

მშენებლობის სტატუსი აჩვენებს პროექტის ფიზიკურ მდგომარეობას. ის არ მიუთითებს გაყიდვის ხელმისაწვდომობაზე.

<status>
  <key>development_stage_progress</key>
  <en>In Progress</en>
  <ru>Строится</ru>
  <ar>قيد الإنشاء</ar>
</status>

  • Scheduled: პროექტი დაგეგმილია.
  • In Progress: მშენებლობა მიმდინარეობს.
  • Ready: პროექტი დასრულებულია.
  • Stopped: მშენებლობა შეჩერებულია.

5.2 გაყიდვების სტატუსი: <sales_status>

გაყიდვების სტატუსი აჩვენებს პროექტის კომერციულ ეტაპს: ანონსი, წინასწარი გაყიდვა, გაშვება, აქტიური გაყიდვები ან სრულად გაყიდული.

  • Preliminary Info: პროექტის საწყისი ინფორმაცია.
  • Announcement: პროექტი გამოცხადებულია.
  • Presale (EOI): მიმდინარეობს EOI-ის შეგროვება.
  • Launch: გაყიდვების გაშვება.
  • On Sale: პროექტი ხელმისაწვდომია შესაძენად.
  • Sold Out: პროექტი სრულად გაყიდულია.
  • Pending: სტატუსი განახლების მოლოდინშია.

6. დეველოპერი და მდებარეობა

ეს ბლოკები საჭიროა დეველოპერის ბრენდისა და პროექტის გეოგრაფიული მდებარეობის საჩვენებლად.

<developer>
  <title>
    <en>დეველოპერის სახელი</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. დეველოპერის სახელი.
  • developer.logo: url. დეველოპერის ლოგო.
  • city: string. ქალაქი.
  • address: string. მისამართი.
  • latitude / longitude: decimal. კოორდინატები რუკისთვის.
  • districts.district: string[]. პროექტის რაიონები.

7. ფასები

7.1 პროექტის ფასი: <price>

პროექტის დონეზე ფასი აჩვენებს ხელმისაწვდომი შეთავაზებების ზოგად ფასთა დიაპაზონს.

<price>
  <min>815462</min>
  <max>2089780</max>
  <min_usd>222009</min_usd>
  <max_usd>568942</max_usd>
  <currency>AED</currency>
</price>

  • min: decimal. მინიმალური ფასი.
  • max: decimal. მაქსიმალური ფასი.
  • min_usd: decimal. მინიმალური ფასი USD-ში.
  • max_usd: decimal. მაქსიმალური ფასი USD-ში.
  • currency: enum. ძირითადი ვალუტა, ჩვეულებრივ AED.

თუ price_on_request = 1, ზუსტი ფასები საჯაროდ არ ჩანს, მაშინაც კი, თუ price შევსებულია.

7.2 ფასები კატეგორიების მიხედვით: <br_prices>

br_prices აჯგუფებს ფასებსა და ფართობებს საძინებლების რაოდენობის ან ობიექტის ტიპის მიხედვით. ეს სასარგებლოა ფილტრებისთვის და მოკლე პროექტის ბარათებისთვის.

<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: სტუდიოები.
  • 1-6: საძინებლების რაოდენობა.
  • villa: ვილები.
  • townhouse: თაუნჰაუსები.
  • n: არ გამოიყენება / არასაცხოვრებელი კატეგორია / სხვა.

8. მედია

ფიდში მედია რამდენიმე ტიპად იყოფა. არ უნდა გაერთიანდეს ერთ გალერიად მისი დანიშნულების გათვალისწინების გარეშე: ერთი სურათი შეიძლება იყოს პროექტის ქავერი, მეორე ლოგო, მესამე პრომო სურათი, ხოლო მეოთხე — სართულის გეგმა.

  • logo: offers.logo. პროექტის ლოგო. აჩვენეთ პროექტის ბრენდინგში; არ გამოიყენოთ ქავერად.
  • photo: offers.photo. პროექტის მთავარი ფოტო / ქავერი. გამოიყენეთ ბარათის ქავერად და პროექტის გვერდზე hero image-ად.
  • album.image: offers.album.image. პროექტის ძირითადი არათემატური გალერეა. აჩვენეთ ზოგად პროექტის გალერიაში.
  • albums.album.images.image: offers.albums.album.images.image. თემატური პროექტის გალერეა. დააჯგუფეთ albums.album.title-ის მიხედვით.
  • developer.logo: offers.developer.logo. დეველოპერის ლოგო. აჩვენეთ დეველოპერის ბლოკში.
  • stocks.stock.logo: offers.stocks.stock.logo. მარკეტინგული კამპანიის სურათი. აჩვენეთ პრომო ბლოკში.
  • layouts.album.image: offers.layouts.album.image. კონკრეტული ტიპური გეგმარების გალერეა. აჩვენეთ გეგმარების დონეზე.
  • levels_photos.level_photo.image: offers.layouts.levels_photos.level_photo.image. გეგმარების სურათი დონეების მიხედვით. გამოიყენეთ როგორც სართულის გეგმა.

<photo>https://...</photo>
<album>
  <image>https://...</image>
</album>
<albums>
  <album>
    <title><en>ინფრასტრუქტურა</en><ru>Инфраструктура</ru><ar>...</ar></title>
    <images>
      <image>https://...</image>
    </images>
  </album>
</albums>

  • Project presentation: პროექტის პრეზენტაციის სურათები.
  • Construction progress: მშენებლობის პროგრესის ფოტოები.
  • Finishing examples: მოპირკეთების ნიმუშები.
  • Infrastructure: პროექტის ინფრასტრუქტურა.
  • View: ხედები და გარემო.

საგანგებო არაა, რომ ყველა კატეგორია ყველა პროექტში იყოს წარმოდგენილი. თუ კატეგორიის title ცარიელია, სურათები შეიძლება იმპორტირდეს როგორც არათემატური ან მოხვდეს ზოგად გალერიაში.

მიმდინარე სტრუქტურაში ისტორიის/სტორის ცალკე XML ტეგი არ არსებობს. სიახლეები, პრომო შეტყობინებები და პროექტის მარკეტინგული მასალები გადაეცემა stocks-ის მეშვეობით. მშენებლობის ისტორიისთვის შეიძლება გამოყენებულ იქნას Construction progress კატეგორია, თუ ის albums-შია წარმოდგენილი.

9. ინფრასტრუქტურა

amenities აღწერს პროექტის ინფრასტრუქტურასა და მახასიათებლებს. ინტეგრაციისთვის უმჯობესია key-ის გამოყენება, ხოლო ჩვენებისთვის — ლოკალიზებული მნიშვნელობები.

<amenities>
  <amenity>
    <key>project_facilities_gym</key>
    <en>სპორტდარბაზი</en>
    <ru>Тренажёрный зал</ru>
    <ar>صالة رياضية</ar>
  </amenity>
</amenities>

  • amenities: object. ინფრასტრუქტურის კონტეინერი.
  • amenity: object. ერთი ინფრასტრუქტურული ელემენტი.
  • key: enum. ტექნიკური გასაღები.
  • en / ru / ar: string. ინფრასტრუქტურის სახელწოდება სამ ენაზე.

key projecet_hotel_license შეიცავს ბეჭდურ შეცდომას, მაგრამ უნდა იყოს გა-მაპული როგორც Hotel License. რეკომენდებულია alias-ის მხარდაჭერა და იმპორტის არდაზიანება.

10. მარკეტინგული აქციები: <stocks>

stocks არის დეველოპერების მარკეტინგული კამპანიები, სიახლეები და სარეკლამო შეტყობინებები. ისინი შეიძლება მოიცავდეს სპეციალურ ფასებს, ფასდაკლებებს, გაშვების პირობებს, EOI განცხადებებს, დროებით გადახდის შეთავაზებებს და სარეკლამო მასალებს. ეს ბლოკი არ არის საწყობი და არ განსაზღვრავს ერთეულების ხელმისაწვდომობას.

<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: object. მარკეტინგული შეტყობინებების კონტეინერი.
  • stock: object. ერთი კამპანია, სიახლე ან სარეკლამო განცხადება.
  • title: localized object. პრომოს სათაური.
  • description: localized HTML. პრომოს აღწერა.
  • start_at: datetime. დაწყების თარიღი.
  • end_at: datetime. დასრულების თარიღი; შეიძლება იყოს ცარიელი.
  • logo: url. პრომოს სურათი.

ობიექტის ხელმისაწვდომობისთვის გამოიყენეთ for_sale_count, layouts.sale_units_count და sales_status, და არა stocks.

11. EOI

EOI ნიშნავს Expression of Interest-ს. ეს ბლოკი აღწერს წინასწარი ინტერესის ან დეპოზიტის პირობებს 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 = არ ანაზღაურებადი, 1 = ანაზღაურებადი, empty = არ არის მითითებული.
  • eoi_items: object. EOI პირობების კონტეინერი.
  • eoi_item: object. ერთი EOI პირობა.
  • price: decimal. ფიქსირებული EOI თანხა.
  • percent: decimal. EOI პროცენტული მაჩვენებელი, თუ გამოიყენება.
  • description: localized object. პირობის აღწერა.
  • sales_status.en = Presale (EOI) და eoi_items შევსებულია: აჩვენეთ EOI.
  • ნებისმიერი სხვა sales_status: დამალეთ EOI.

12. მომსახურების საფასური და Assignment

<service_charge>
  <value>172.22</value>
  <unit>sq. m</unit>
  <currency>AED</currency>
</service_charge>
<assignment>40.00</assignment>

  • service_charge.value: მომსახურების საფასურის ოდენობა. თუ ცარიელია, ბლოკი არ გამოჩნდება.
  • service_charge.unit: გამოთვლის ერთეული, ჩვეულებრივ sq. m. შეიძლება იყოს ცარიელი.
  • service_charge.currency: ვალუტა, ჩვეულებრივ AED. შეიძლება იყოს ცარიელი.
  • assignment: პროცენტი, რომლის შემდეგაც assignment შესაძლებელია. ცარიელი = ინფორმაცია მითითებული არ არის, არაა შეზღუდვა.

13. გადახდის გეგმები: <payment_plans>

payment_plans აღწერს დეველოპერის მიერ ობიექტისთვის შეთავაზებულ გადახდის ვარიანტებს. ერთ პროექტს შეიძლება რამდენიმე გადახდის გეგმა ჰქონდეს. თითოეული გეგმა გადახდას ეტაპებად ანაწილებს: დაჯავშნა, მშენებლობა, ჩაბარება და ჩაბარების შემდეგი პერიოდი. საფასურები და დამატებითი გადასახადები ცალკე გადაეცემა, ამიტომ ჯამური პროცენტი შეიძლება 100%-ს აღემატებოდეს. მაგალითად, 104% შეიძლება ნიშნავდეს ობიექტის ფასის 100% + 4% DLD fee-ს.

  • Basic: id, title, currency. გეგმის იდენტიფიკატორი, სათაური და ვალუტა. title არის თავისუფალი ტექსტი და არა enum.
  • Booking: on_booking_percent, on_booking_fix, on_booking_payments_count, on_booking_fees. გადახდები და საფასურები დაჯავშნის ეტაპზე.
  • Construction: on_construction_percent, on_construction_fix, on_construction_payments_count, on_construction_fees. გადახდები მშენებლობის დროს.
  • Handover: on_handover_percent, on_handover_fix, on_handover_payments_count, on_handover_fees. გადახდები ობიექტის ჩაბარებისას.
  • Post-handover: post_handover_percent, post_handover_fix, on_post_handover_payments_count, on_post_handover_fees. გადახდები ჩაბარების შემდეგ.
  • ROI: roi_percent, roi_fix, roi_payments_count, roi_fees. ველები ROI ან გარანტირებული შემოსავლის სქემებისთვის.
  • დამატებითი საფასურები: additional, additional_percent, additional_fix, additional_fix_m2. დამატებითი გადახდები, მაგალითად DLD Fee.
  • პერიოდები: period_after_handover, period_after_roi. განმეორებადი გადახდების სიხშირე.
  • ჯამები: price_total, fees_included_total. გეგმის ჯამური თანხები და ჩასმული საფასურები.

14. გეგმარებები: <layouts>

layouts აღწერს პროექტის ფარგლებში ტიპურ გეგმარებას. ეს არის აგრეგირებული ერთეულის ტიპი და არა კონკრეტული ბინა ან ოფისი.

  • id: integer. უნიკალური გეგმარების ID. გამოიყენეთ როგორც გარე გეგმარების ID.
  • title: localized object. გეგმარების სახელი. აჩვენეთ ინტერფეისის ენის მიხედვით.
  • project_id: integer. მშობელი პროექტის ID. დააკავშირეთ offers.complex-id-თან.
  • building_name: localized object. შენობის სახელი. არ აჩვენოთ, თუ ცარიელია.
  • price_on_request: 0/1. ფასის დამალვის ფლაგი. თუ 1, ფასი არ აჩვენოთ.
  • area_min / area_max: object. ფართობის დიაპაზონი. m2 და ft2.
  • area_balcony_min / area_balcony_max: object. აივნის ფართობის დიაპაზონი. შეიძლება იყოს ცარიელი.
  • type: localized object. ობიექტის ტიპი. იხილეთ Unit type reference.
  • sale_units_count: integer. ამ ტიპის ხელმისაწვდომი ერთეულების რაოდენობა. ეს არ არის ნაკვეთების სია.
  • album: object. გეგმარების გალერეა. აჩვენეთ გეგმარების დონეზე.
  • levels_photos: object. სურათები დონეების მიხედვით. გამოიყენეთ როგორც სართულის გეგმები.
  • floors_count: integer. დონეების რაოდენობა. 1, 2, 3 და ა.შ.
  • rooms_count: localized object. ოთახების რაოდენობა. იხილეთ Rooms count reference.
  • price: object. გეგმარების ფასთა დიაპაზონი. დამალეთ, როცა price_on_request=1.
  • is_limited_publication: 0/1. გამოქვეყნების შეზღუდვა. თუ 1, საჯაროდ დამალეთ.

15. Enum მნიშვნელობების მითითებები

  • 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; ზოგიერთ ველში ცარიელი მნიშვნელობაც დასაშვებია.

თუ ფიდი შეიცავს მნიშვნელობას, რომელიც reference სიაში არ არის, იმპორტი არ უნდა ჩაიშალოს. მნიშვნელობა უნდა შეინახოს raw value-დ, მიენიჭოს unknown და ჩაიწეროს ლოგში შემდგომი შემოწმებისთვის.

16. ცარიელი მნიშვნელობები

ცარიელი მნიშვნელობა ნიშნავს „არ არის მითითებული“ და არა 0-ს. ცარიელი ტეგები შეიძლება გამოიყურებოდეს როგორც <field/> ან <field></field>.

  • assignment: assignment-ის პირობა მითითებული არ არის.
  • service_charge.value: მომსახურების საფასური მითითებული არ არის.
  • eoi.is_eoi_return: EOI-ის დაბრუნებადობა მითითებული არ არის.
  • area_balcony_min.m2: აივნის ფართობი მითითებული არ არის.
  • description.en: აღწერა აკლია.

17. ჩვენების წესები

  • ფასი დამალულია: price_on_request = 1. აჩვენეთ „ფასი მოთხოვნით“.
  • ფასი ჩანს: price_on_request = 0. აჩვენეთ მინ/მაქს ფასი.
  • EOI: sales_status.en = Presale (EOI) და EOI შევსებულია. აჩვენეთ EOI.
  • EOI არ არის რელევანტური: sales_status.en != Presale (EOI). დამალეთ EOI.
  • სრულად გაყიდულია: is_sold_out = 1 ან sales_status.en = Sold Out. აჩვენეთ „სრულად გაყიდულია“ ან დამალეთ სიიდან.
  • შეზღუდული გამოქვეყნება: is_limited_publication = 1. არ გამოაქვეყნოთ საჯაროდ.
  • Assignment ცარიელია: assignment ცარიელია. არ აჩვენოთ assignment-ის ბლოკი.
  • მომსახურების საფასური ცარიელია: service_charge.value ცარიელია. არ აჩვენოთ მომსახურების საფასური.

18. იმპორტის წესები

  • პროექტი: მოძებნეთ complex-id-ით; თუ ნაპოვნია, განაახლეთ; თუ არა, შექმენით.
  • გეგმარება: მოძებნეთ layouts.id-ით; პროექტთან დააკავშირეთ project_id-ით.
  • წაშლა: თუ ობიექტი ახალ ფიდში გაქრა, დაუყოვნებლივ არ წაშალოთ — მონიშნეთ როგორც ინაქტიური.
  • უცნობი enum: შეინახეთ raw value, მონიშნეთ როგორც unknown და დაალოგეთ.
  • ცარიელი მნიშვნელობები: არ გადააქციოთ 0-ად, თუ კონკრეტული ველისთვის ცალკე წესი არ არსებობს.

Project field → Source

  • 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 field → Source

  • 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.