Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

В 1. До базової моделі base.LandProps присутні додати нові поля типу boolean:
- hasEncumbrances
- hasJointOwnership
- hasUtilitiesAvailability

...

1.1. Якщо користувач при публікації Процедури вказав
- hasEncumbrances == false і додатково передає заповнене поле encumbrances необхідно повернути валідаційну помилку "no encumbrances are indicated (hasEncumbrances = false)"

...

-  hasJointOwnership == false і додатково передає заповнене поле jointOwnership необхідно повернути валідаційну помилку "no jointOwnership are indicated (hasJointOwnership = false)"
- hasUtilitiesAvailability == false і додатково передає заповнене поле utilitiesAvailability необхідно повернути валідаційну помилку "no utilitiesAvailability are indicated (hasUtilitiesAvailability = false)"  

**Бізнесово:** якщо користувач при публікації Процедури вказує, що немає "Обтяжень" та/або немає "Співвласників" та/або немає "Інженерних мереж", то не даємо заповнити відповідні поля, що може вказувати, що такі параметри насправді є.

1.2. Якщо користувач при публікації Процедури вказав:  
- hasEncumbrances == true, то обовʼязково має бути заповнено існуюче поле encumbrances (воно має тип string). Необхідно повернути валідаційну помилку "_при значенні true має бути заповнено поле encumbrances_" 
- hasJointOwnership == true, то обовʼязково має бути заповнено існуюче поле jointOwnership (воно має тип string)
- hasUtilitiesAvailability == true, то обовʼязково має бути заповнено існуюче поле utilitiesAvailability (воно має тип string)

1.3.1 Якщо користувач при публікації Процедури передав тільки заповнені існуючі encumbrances та/або jointOwnership та/або utilitiesAvailability і не передав їх відповідники: hasEncumbrances, hasJointOwnership, hasUtilitiesAvailability - необхідно повернути валідаційну помилку помилку _"no "true" value for hasEncumbrances/hasJointOwnership/hasUtilitiesAvailability"_ і не дозволити опублікувати Процедуру без цих полів.

1.3.2. Якщо користувач при публікації Процедури НЕ передав ні has* ні encumbrances/jointOwnership/utilitiesAvailability (або передав пусті значення) - при створенні обʼєкта Процедури необхідно автоматично заповнити відповідні поля hasEncumbrances/hasJointOwnership/hasUtilitiesAvailability значенням false.  

**На прикладі:  При **  При створенні процедури користувач передав:  
1. hasEncumbrances = true + заповнене поле encumbrances
2. заповнене поле jointOwnershiphasJointOwnership = false
3. НЕ передав hasUtilitiesAvailability і не передав utilitiesAvailability, то має створитися Процедура з  
hasEncumbrances: true  
encumbrances: _text_  
hasJointOwnership: true false  
jointOwnership: _text_  
hasUtilitiesAvailability: false

1.4.1. Необхідно внести зміни в існуючу логіку заповнення поля encumbrances:
- для нових Процедур не дозволяти обирати значення "noEncumbrances" зі словника [encumbrances](https://procedure-sandbox.prozorro.sale/api/dictionaries/encumbrances)  
Необхідно повертати валідаційну помилку "invalid value" для поля encumbrances

**Бізнесово:** якщо користувач хоче опублікувати Процедуру у якій "немає Обтяжень", то треба передавати hasEncumbrances == false і не передавати взагалі поле encumbrances  

...


2. МІГРАЦІЯ:  
2.1. Міграція поля encumbrances  
- Якщо існуюче поле encumbrances НЕ заповнено в обʼєкті Процедури (відсутнє), то hasEncumbrances == false + encumbrances НЕ додаємо (його не було і не має зʼявитися)
- Якщо існуюче поле encumbrances заповнено в обʼєкті значеннями:  
  -- noEncumbrances  
  -- Відсутні  
  -- Ні  
  -- Немає  
  -- Не зареєстровані  
(не враховувати регістр літер - може бути написано "відсутні", "ні" тощо)  
то, hasEncumbrances == false, поле encumbrances прибираємо із публічного API response.  
- Якщо існуюче поле encumbrances заповнено будь-якими іншими значеннями, окрім перерахованих вище, то hasEncumbrances == true, поле encumbrances залишаємо у тому вигляді, яким воно є без змін.  2.2. Міграція поля jointOwnership  
- Якщо існуюче поле jointOwnership НЕ заповнено в обʼєкті Процедури (відсутнє), то hasEncumbrances == false + jointOwnership НЕ додаємо (його не було і не має зʼявитися)
- Якщо існуюче поле jointOwnership заповнено в обʼєкті значеннями:  
  "-"  
  -- Відсутні  
  -- Ні  
  -- Немає  
  -- Не зареєстровані  
(не враховувати регістр літер - може бути написано "відсутні", "ні" тощо)  
то, hasJointOwnership hasEncumbrances == false, поле jointOwnership encumbrances прибираємо із публічного API response.  
- Якщо існуюче поле jointOwnership заповнено будь-якими іншими значеннями, окрім перерахованих вище, то hasJointOwnership == true, поле jointOwnership залишаємо у тому вигляді, яким воно є без змін.2.3. Міграція поля utilitiesAvailability  
- Якщо існуюче поле utilitiesAvailability НЕ заповнено в обʼєкті Процедури (відсутнє), то hasUtilitiesAvailability == false + utilitiesAvailability НЕ додаємо (його не було і не має зʼявитися)
- Якщо існуюче поле utilitiesAvailability заповнено в обʼєкті значеннями:  
  -- Відсутні  
  -- Ні  
  -- Немає  
  -- Не зареєстровані  
(не враховувати регістр літер - може бути написано "відсутні", "ні" тощо)  
то, hasUtilitiesAvailability == false, поле utilitiesAvailability прибираємо із публічного API response.  Краще дотриуватись однієї логіки: якщо hasEncumbrances == false, то encumbrances має бути відсутнім.
- Якщо існуюче поле utilitiesAvailability encumbrances заповнено будь-якими іншими значеннями, окрім перерахованих вище, то hasUtilitiesAvailability hasEncumbrances == true, поле utilitiesAvailability encumbrances залишаємо у тому вигляді, яким воно є без змін.  


32. Необхідно змінити для існуючих і додати для нових параметрів  
LegalNames для параметрів:  
```
"hasEncumbrances": {
     "uk_UA": "Присутні обтяження",
     "en_US": "Encumbrances are present"
},
"hasJointOwnership": {
     "uk_UA": "Наявні співвласники",
     "en_US": "Co-owners available"
},
"hasUtilitiesAvailability": {
     "uk_UA": "Інженерні мережі наявні",
     "en_US": "Utilities are available"
},
"encumbrances": {
     "uk_UA": "Інформація про наявні обтяження",
     "en_US": "Encumbrances information"
},
"jointOwnership": {
     "uk_UA": "Інформація про співвласників",
     "en_US": "JointOwnership information"
},
"utilitiesAvailability": {
     "uk_UA": "Інформація про інженерні мережі",
     "en_US": "Utilities information"
},
```


P.S.: Для процедур BRE/BRD поле utilitiesAvailability є обовʼязковим для заповнення. Відповідно, повʼязане поле hasUtilitiesAvailability має бути true.  Залишається на відповідальність Майданчика


4.

  1. bankRuptcy
    1.1.
  • якщо продається щось із Land (землі), то поле utilitiesAvailability (Наявність на земельній ділянці комунікацій) є обовʼязковим для заповнення.
  • якщо продається щось із JPC (майновий комплекс), то там присутня Land (земля) також. Але поле utilitiesAvailability вже НЕ обовʼязкове для заповнення.
    1.2.
  • якщо продається щось із Land, то поле specialLandPurpose (Цільове призначення земельної ділянки) наявне і є обовʼязковим для заповнення.
  • якщо продається щось із JPC, то там присутній Land також. Але поле specialLandPurpose відсутнє взагалі.


5.

поле landIntendedUse (Поточне використання земельної ділянки)

НапрямНаявністьКоментарОбовʼязковість
BSE/BSD/BSWТакє в Land і є в JPCНі, Ні
GFE/GFDТакє в Land і є в JPCНі, Ні
LLE/LLD/LLPТакприсутній в JPC (Land відстуній взагалі, як тип item)Ні
LREНіпотенційно має бути-
LSE/LSPНіпотенційно має бути-
RCE/RCDНіі не потрібно-
SUE/SUDНіі не потрібно-
AAEНіі не потрібно-
ALEТакприсутній в JPC (Land відстуній взагалі, як тип item)Ні
CSE/CSD/CSIТакє в Land і є в JPCНі
BRE/BRD/BRWТакє в Land і є в JPCНі
RLE/RLDТакприсутній в JPC (Land відстуній взагалі, як тип item)Ні
CLE/CLDТакприсутній в JPC (Land відстуній взагалі, як тип item)Ні
SSWНіприсутній в JPC, + тут є Land і там немаєНі
NLE/NLDТакє в Land і є в JPCНі
SPE/SPDТакє в Land і є в JPCНі
LPEТакє в Land і є в JPCНі
LAE/LAP/LAWНіпотенційно має бути-
APE/APDТакє в Land і є в JPCНі