Загальні відомості

Цей документ дає роз’яснення для маркетплейсів щодо реалізації функцій Переліків оренди в ЕТС. Технічна інформація про безпосередні виклики та моделі даних доступна за посиланням https://procedure-sandbox.prozorro.sale/api/doc, розділ Registry

Поточна (перша) версія реєстрів є тимчасовою, і передбачає обмежений набір дій, який є мінімально необхідним для задоволення вимог, що містяться в НПА, які регламентують процес оренди державного/комунального майна в Україні

Слова “реєстр” і “перелік” в контексті цього документу тотожні

Авторизація користувачів та майданчиків

Операції запису/модифікації виконуються від імені майданчика. Для всіх сутностей реєстру в базі реєстру зберігається тільки ідентифікатор майданчика (поле owner). Інформація, яку майданчик передає в моделі організацій або користувачів, є виключно атрибутами сутностей, і участі в авторизації на боці бази реєстру не приймають.

Майданчик, по аналогії з ЦБД, забезпечує аутентифікацію та авторизацію кінцевих користувачів з накладенням аналогічних нефункціональних вимог до реалізації

Представник майданчика, перед наданням дозволу на реєстрацію користувача з певною роллю, на основі документів має пересвідчитись, що потенційний користувач має достатньо повноважень від своєї організації на ведення роботи в реєстрі. Для фізичних осіб, що претендують на роль Потенційного орендаря, зазначена перевірка повноважень природньо не потрібна

Ролі

Майданчик має надавати користувачу можливість діяти від наступних ролей з відповідним переліком доступних активностей:

Органи управління та Органи охорони культурної спадщини, вірогідно, найближчим часом користуватись системою не будуть, тому їх створення можна відтермінувати

За погодженням з організаціями-користувачами майданчик може створювати додаткові ієрархії, функції підтвердження тощо всередині або між різними організаціями. В переліку вище наведено перелік обов’язкових функцій, які мають бути доступні на всіх майданчиках

Сутності і моделі даних

Реєстр передбачає наявність трьох основних видів сутностей - об’єкт, дія і заявка.

Реєстр не передбачає наявності будь-яких послідовних бізнес-процесів. Факт того, що певний набір об’єктів, заявок і дій пов’язаний одне з іншим, може (опціонально) бути зазначений користувачем, який володіє певними сутностями шляхом вказання пов’язаних сутностей. Наприклад, якщо заявка відноситься до вже існуючого об’єкту, то користувач може вказати в relatedObjectId ідентифікатор цього об’єкту. Або якщо дія має якусь попередню пов'язану дію, то користувач може вказати її ідентифікатор в relatedActionId

Моделі даних реєстру, назви яких співпадають з назвами базових моделей ЦБД, всередині також є цілком ідентичними. Модель base.ManagingEntity співпадає з моделлю base.SellingEntity ЦБД

Об’єкт

Сутність, що власне містить інформацію про певний фізичний об’єкт (або декілька однотипних фізичних об’єктів, об’єднаних в один логічний об’єкт), який потенційно може бути зданий в оренду. 

Об’єкт може бути одним з чотирьох типів:

Один об’єкт може містити декілька фізичних об’єктів (item) одного типу (наприклад, декілька будівель в RealEstate). Створення об’єктів з різними типами item всередині тимчасово неможливо

Опис об’єкта складається з:

Логіка заповнення полів: Обмеження щодо використання майна (заборонені цільові призначення) (intendedUse), Спосіб обмеження цільового призначення об'єкта(intendedUseRestrictionMethod), Цільове призначення об'єкта оренди (за наявності)(intendedUseRestrictionDescription) в структурі leaseRules

  1. Якщо поле intendedUseRestrictionMethod має значення:
    1. Тільки зазначене (onlyDescribed) → 
      1. Поле intendedUse є неактивним
      2. Організатор повинен в полі intendedUseRestrictionDescription вручну ввести перелік дозволених призначень
  2. Якщо поле intendedUseRestrictionMethod має значення:
    1. Окрім зазначеного (exceptDescribed) → 
      1. Організатор повинен в полі intendedUse обрати до 5-ти значень зі словника 
      2. Поле intendedUseRestrictionDescription є необов'язковим для заповнення організатором
  3. Якщо поле intendedUseRestrictionMethod має значення:
    1. Без обмежень (No restrictions) → 
      1. Поле intendedUse є неактивним
      2. Поле intendedUseRestrictionDescription є необов'язковим для заповнення організатором

Дія

Сутність, яка забезпечує реалізацію активностей в ЕТС, які мають виконувати орендодавеці та балансоутримувачі (registry.LeaseAction). Перелік формальних дій, які мають виконувати представники цих організацій, доступний у вигляді переліку в кінці цього документу

Дія включає в себе інформацію про особу, що виконує дію (actingEntity). Модель має заповнюватись майданчиком автоматично з використанням авторизаційних даних користувача.

Окрім інформації про виконавця дії модель передбачає заповнення наступної інформації:

Поле actionStatus наразі є статичним і в бізнес-логіці участі не бере

Заявка

Сутність, яку має право створити будь-яка фізична або юридична особа, і в якій вона виявляє бажання  мати певні орендні відносини з державними/комунальними установами

Структура даних заявки передбачає інформацію про:

Поле requestStatus наразі є статичним і в бізнес-логіці участі не бере

Синхронізація та пошук

Впродовж найближчого часу передбачається створення механізмів дзеркала (Mirror) та пошуку (Search) по аналогії з механізмами, що працюють в ЦБД. До моменту їх створення фактично майданчик може працювати тільки з об’єктами, власником яких він є. Це досягається шляхом збереження ідентифікаторів сутностей на боці майданчика, і наступним (за потреби) використанням ендпоінта GET /api​/registry​/{obj_id}

Сервіс документів

Робота з документами реалізована в точності так само, як і сервіс документів в ЦБД

Доступні активності

Нижче наведено короткий опис активностей, які мають надаватись користувачам згідно їх ролей

Метод:  POST ​/api​/registry​/{obj_type}

Має передаватись набір даних, що відповідає одній з моделей: 

  1. registry.RealEstate
  2. registry.JointPropertyComplex
  3. registry.Vehicle
  4. registry.OtherProperty

Має передаватись відредагований набір даних

Типи переліків

Для об'єктів реєстру важливою характеристикою є відношення об'єкту до певного переліку, а також статус об'єкту в цьому переліку

За ці дані відповідають поля об'єкту registry.%type%.statusesDecisions.listType так registry.%type%.statusesDecisions.statusInList

Всі об'єкти за замовчанням відносяться до першого типу переліку (listType = First). Значення listType = Second має бути цілеспрямовано зазначено орендодавцем

Значення statusInList:

Передбачається, що будь-яке рішення по зміні значень listType та/або statusInList орендодавець має підтверджувати шляхом створення Дії, або, щонайменше, завантаженням електронної копії відповідного паперового рішення ьезпосередньо в об'єкт

Перелік формальних дій, що реалізуються за допомогою створення сутностей “Заявка” та “Дія”: