...
Мета створення та нормативні засади
Відповідно до:
- ЗУ “Про приватизацію державного і комунального майна”
- постанови КМУ від 10.05.2018 року № 432 “Про затвердження Порядку проведення електронних аукціонів для продажу об’єктів малої приватизації та визначення додаткових умов продажу”
- постанови КМУ від 20.05.2026 року № 632 "Про внесення змін до Порядку проведення електронних аукціонів для продажу об’єктів малої приватизації та визначення додаткових умов продажу"
розробити функціонал Інформаційних повідомлень.
В рамках Prozorro.Sale буде реалізовано сутність improvements_announcement (JIS). Технічна назва improvementsAnnouncementSmallPrivatization
Особливості Інформаційних Повідомлень приватизації обʼєкта оренди з невідʼємними поліпшеннями
...
- При створенні Інформаційного Повідомлення має відбуватись перевірка, чи не задіяний пов'язаний Asset у інших сутностях Інформаційних Повідомлень, Пріоритетного Викупу, які перебувають на момент створення у активному стані, відповідно asset.status = pending;
- При створенні Інформаційного Повідомлення має відбуватись перевірка:
- якщо обраний для створення ІП Asset має assetItems.assetItemType== ‘asset’, то чи додані у Asset.documents.documentType == 'Illustration'. Створити Asset є можливість без документів illustration, але створити ІП із Asset, який не має таких документів - не має бути можливості.
- При створенні Інформаційного Повідомлення в ньому зберігається посилання на Об’єкт реєстру (announcement.relatedEntities.type == asset), в Об’єкт реєстру передається посилання на Інформаційне Повідомлення;
- Зміни полів та документів Об'єкта реєстру, зберігаються як окремі версії Об’єкта;
- Інформаційне Повідомлення має поле announcement.relatedEntities.archiveId - це версія Об’єкта реєстру, яка була останньою на момент створення Інформаційного Повідомлення.
- Гарантійний внесок та Гарантійний внесок чинного орендаря перераховується автоматично відповідно до правил, якщо будь-які 2 попередні Процедури не відбулись з причини дискваліфікації учасників.
- Поле saleCondition автоматично генерується зі значенням "Так" без можливості редагування
- Поле Наявність переважного права у чинного орендаря автоматично генерується зі значенням "Так" без можливості редагування (Поле обовʼязкове для ІП але не буде передаватись в Процедури)
- 2-,6-в Процедури можуть бути не створені в ЦБД (2-,6-а Процедура в spec в такому випадку набувають статусу unpublished)
- Обов'язкові поля для заповнення при Публікації Announcement:
- всі чотири initialProps.bankAccounts.accountType: guarantee, registrationFee, payment та improvementCompensation.
- Інформація про орендаря (учасника з ппinitialProps.currentTenants)
- Інформація про орендодавця (заповнене на етапі публікації Asset поле "assetCustodian - Інформація про розпорядника" автоматично копіюється із Asset в ІП)
- Інформація про договір оренди (initialProps.currentTenants.contract.*)
- дата укладання
- дата завершення
- строк дії
- місячна оренда плата
- площа що орендується
- Інформація про невідʼємні поліпшення (initialProps.currentTenants.essentialImprovements.*)
- вартість невідʼємних поліпшень
- дата завершення невідʼємних поліпшень
- умови компенсації
- рішення про згоду на невідʼємні поліпшення
- наказ про затвердження висновку про вартість об’єкта приватизації
- Додаткові документи інформаційного повідомлення приватизації об’єкта оренди з невід’ємними поліпшеннями
- висновок будівельної експертизи
Створення та робота із Процедурою
...
- При авто-створенні Першої процедури (tenderAttempts = 1) поля і документи копіюються із asset та announcement (детально описано в ТЗ Процедур в розділі "Струкрута даних")
- При авто-створенні Другої і наступних процедур (tenderAttempts >1) поля мають заповнюватись згідно логіки, яка описана в ТЗ процедури (якщо поле\модель з полями можуть редагуватися в процедурі, то при авто-публікації наступної процедури, в межах одного ланцюжка, значення полів потірбно взяти із попередньої процедури, а не із asset\announcement) (детально описано в ТЗ Процедур в розділі "Струкрута даних")
- В Інформаційному Повідомленні зберігаються ідентифікатори Процедур, які оголошені в рамках "ланцюжка" (producedEntities.type == procedure);
- Ланцюжок Процедур складається з послідовності аукціонів:
- англійський аукціон з переважним правом
- англійський аукціон з переважним правом (якщо перший аукціон не відбувся з причини дискваліфікації учасників без переважного права) або перехід на наступний етап
- англійський аукціон
- англійський аукціон де стартова вартість знижена на 50% від початкової ціни зазначеної в ІП
- голландський аукціон де стартова вартість знижена на 50% від початкової ціни зазначеної в ІП
- голландський аукціон де стартова вартість знижена на 50% від початкової ціни зазначеної в ІП (за умови якщо попередній аукціон не відбувся з причини дискваліфікації учасників)
...
Логіка роботи з Класифікаторами описана у ТЗ по Об’єктам реєстру МП: Посилання на ТЗ по Об'єкта реєстру МП
Періоди і статуси
...
Конфігураційний файл з періодами и статусами - Треба створити новий для даного ІП
Конфігураційний файл з періодами и статусами - Треба створити новий для даного ІП
Загальна схема процесу публікації Інформаційного Повідомлення
Схема “Загальний процес продажу об'єктів малої приватизації”
Функціонал ролей в рамках періодів
Timeline
Схема “Timeline Інформаційного Повідомлення”
Статуси Інформаційного Повідомлення
...
Перша Процедура створюється автоматично по завершенню announcement.rectificationPeriod (Як тільки наступає announcement.rectificationPeriod.endDate)
Друга (можлива), Третя, Четверта, Пʼята та можлива Шоста Процедура автоматично створюється одразу, якщо попередня Процедура набула статусу unsuccessful.
- Особливості:
- 2-а Процедура створюється тільки у випадку коли 1-а Процедура аукціону перейшла в статус unsuccessful:
- Якщо на етапі кваліфікації award-ів відбулася дискваліфікація переможців (1й та 2й учасник в разі наявності мають статус unsuccessful) та серед дискваліфікованих жоден з учасників не був учасник з переважним правом
- 2-а Процедура не створюється і одразу створюється 3-я Процедура в ЦБД у випадку коли 1-а Процедура аукціону перейшла в статус unsuccessful:
- Якщо на етапі кваліфікації award-ів відбулася дискваліфікація переможців (1й та 2й учасник в разі наявності мають статус unsuccessful), та серед дискваліфікованих учасників з будь-якої причини був учасник з переважним правом
- Якщо учасник під час admissionPeriod перейшов в статус cancelled.
- Якщо в 1-й Процедурі не було жодного учасника.
- 6-а Процедура створюється тільки у випадку, коли 5-а Процедура перейшла в unsuccessful внаслідок дискваліфікації учасників з будь-якої причини. Якщо на етапі кваліфікації award-ів відбулася дискваліфікація переможців (1й та 2й учасник в разі наявності мають статус unsuccessful) то такий аукціон вважається зірваним і це є причиною створення шостої Процедури. Тобто, логіка наступна: якщо Процедура-5 має статус unsuccessful і у неї 1 або 2 awardи у статусі unsuccessful, то має створитись Процедура-6, в іншому випадку Процедура-6 не створюється.
- 2-а Процедура створюється тільки у випадку коли 1-а Процедура аукціону перейшла в статус unsuccessful:
Якщо статус Процедури змінено на cancelled, то наступна Процедура не створюється, а Інформаційне Повідомлення автоматично набуває статусу dissolved.
За замовчуванням кількість аукціонів - 4. Мінімальна кількість -1 (якщо Перша процедура успішна), Можливий 2й та 6й аукціон за умови, що Перший та Пʼятий відповідно завершився з причини дискваліфікації Учасників.
В залежності від значення tenderAttempts, відображати назву аукціону:
- 1 - "Аукціон з умовами та переважним правом "
- 2 - "Повторний аукціон з умовами та переважним правом"
- 3 - "Аукціон з умовами"
- 4 - "Аукціон із зниженням стартової ціни"
- 5 - "Аукціон за методом покрокового зниження стартової ціни та подальшого подання цінових пропозицій"
- 6 - "Повторний аукціон за методом покрокового зниження стартової ціни та подальшого подання цінових пропозицій"
| Note | ||
|---|---|---|
| ||
Значення tenderAttempts не змінюється від кількості оголошених Процедур. Тобто, якщо умови склалися таким чином, що Друга процедура не публікувалася, то Третя процедура (яка насправді буде другою через skip) має отримати tenderAttempts == 3 |
Особливості часових параметрів
...
- Період на подачу пропозицій (робочих днів) (extraSpecs[].periods.periodName: tenderPeriod duration)
- Особливості:
- Визначається Організатором;
- Значення загальне для 2-*, 3-, 4-, 5-, 6-ї* Процедури із ланцюжка;
- Період на подачу пропозицій - це tenderPeriod, який буде мати 2-*,3-,4-,5-, 6-ї*та Процедура.
- ЦБД валідує тільки нижнє значення tenderPeriodDuration >= 3 р.д.;
- ЦБД не валідує верхнє значення tenderPeriodDuration.
- Якщо Дата початку Модулю Аукціону припадає на вихідний або святковий день, то Аукціон буде перенесений вперед на найближчий робочий день.
- Технічна особливість: На інтерфейсі Майданчика при створенні ІП має бути одне поле, в якому Організатор може вказати тривалість "Періоду прийняття пропозицій". Організатор вказує кількість в днях один раз на інтерфейсі.
- Але коли Майданчик передає запит на ЦБД, то має це значення закопіювати і передати в трьох місцях: extraSpecs[1].periods.periodName: tenderPeriod duration, extraSpecs[2].periods.periodName: tenderPeriod duration, extraSpecs[3].periods.periodName: tenderPeriod duration, extraSpecs[4].periods.periodName: tenderPeriod duration, extraSpecs[5].periods.periodName: tenderPeriod duration
- Особливості:
...
| systemName | x-legalNameUa | x-legalNameEn | Type | readOnly | Обовʼязковість | Коментар | |
|---|---|---|---|---|---|---|---|
| _id | Внутрішній ідентифікатор | ID | string | true | + | ||
| owner | Ідентифікатор майданчика | Owner ID | string | true | + | ||
| ownerToken | string | true | + | Токен майданчика, через який створено об'єкт | |||
| objectId | Ідентифікатор | Object ID | string | true | + | Example: JIS001-UA-20200220-12345 | |
| previousObjectId | Ідентифікатор попереднього Інформаційного повідомлення | Previous Announcement Id | string | true | - | автоматично підтягується з останнього Інформаційного повідомлення з однаковим asset minLength: 1 | |
| title | Найменування | Announcement title | base.MultiLang | false | + | Автоматично заповнюється з related asset.title, але може редагуватися. minLength: 1 | |
| description | Опис | Announcement description | base.MultiLang | false | + | Автоматично заповнюється з related asset.description, але може редагуватися minLength: 1 | |
| _specs | true | опис спеціфікацих за яких створюються похідні сутності | |||||
| activeScenario | string | true | |||||
| pipelineMethod | string | false | Enum: [improvements_announcement, improvements_announcement-fast, improvements_announcement-manual, improvements_announcement-ultrafast, improvements_announcement-fast-prod, improvements_announcement-fast-prod-fast-first] | ||||
| status | Статус інформаційного повідомлення | Announcement status | string | true | Enum: [pending, active_auction, active_contracting, sold, dissolved, deleted] | ||
| datePublished | Дата публікації | Published date | string($date-time) | true | |||
| dateModified | Дата останнього редагування | Date modified | string($date-time) | true | |||
| platformLegalDetails | Перелік та реквізити авторизованих електронних майданчиків | Platform legal details | string | true | default: https://prozorro.sale/info/elektronni-majdanchiki-ets-prozorroprodazhi-cbd2 | ||
| documents | AnnouncementDocument | Документи Інформаційного Повідомлення | Announcement Documents | list-object | false | Містить дані щодо структури документу | |
| id | Ідентифікатор документу | Document ID | string | true | |||
| title | Назва документу | Document title | base.MultiLang | false | |||
| description | Опис документу | Document description | base.MultiLang | false | |||
| url | Посилання на документ | Document link | string | true | example: http://string.com | ||
| relatedDocument | Пов'язаний документ | Related document | string | Ідентифікатор, що відображається тільки в документі digitalSignature та використовується example: 5e300ec4080b60d45dc28bb8 | |||
| documentOf | Об'єкт документу | Document object | string | false | default: improvements_announcement Enum: [improvements_announcement] | ||
| documentType | Тип документу | Document type | string | false | Enum: [ notice, evaluationCriteria, contractProforma, clarifications, сonstructionExpertise, digitalSignature ] | ||
| datePublished | Дата публікації документу | Document publishing date | string($date-time) | true | x-default: now | ||
| dateModified | Остання дата редагування документу | Document modified date | string($date-time) | true | x-default: now | ||
| index | Параметр сортування ілюстрацій | Document index | integer($int64) | false | Чим менше значення поля, тим вище документ буде при відображенні на майданчиках. | ||
| format | Формат документу | Document format | string | true | |||
| language | Мова документу | Document language | string | false | |||
| hash | Хеш документу | Document hash | string | true | |||
| token | string | true | |||||
| _ds_id | string | true | Ідентифікатор документа в document service | ||||
| _ds_scope | string | true | Тип документа за доступом [public/private] | ||||
| initialProps | ІnitialProperties | Параметри для опису умов продажу | Describes extra properties used to build produced object | ||||
| value | Стартова ціна | Start price | base.ValueWithTax | false | + | ||
| guarantee | Гарантійний внесок | Guarantee | base.Value | false | + | ||
| currentTenantGuaranteeFee | Гарантійний внесок чинного орендаря | Guarantee fee for current tenant | base.Value | false | + | default: guarantee але Організатор може змінити значення | |
| currentTenants | Дані про учасника з переважним правом | Data about participant with priority right | base.OrganizationWithoutContacts | false | + | x-format: list-object | |
| registrationFee | Реєстраційний внесок | Registration fee | base.Value | false | + | ||
| minimalStep | Розмір кроку аукціону | Minimal step | base.Value | false | + | ||
| minNumberOfQualifiedBids | Мінімальна кількість заяв | Minimal number of bids | integer($int64) | false | + | default: 1 | |
| numberOfCurrentTenants | Кількість учасників з переважним правом | Number of participants with priority right | integer($int32) | true | + | default: 1 Поле обовʼязкове для ІП але не буде передаватись в Процедури | |
| bankAccounts | Банківські рахунки організатора | Bank accounts | base.BankAccountsByType | false | + | Посилання на словник https://procedure-sandbox.prozorro.sale/api/dictionaries/accountType Enum: | |
| accessDetails | Порядок ознайомлення з майном, час і місце проведення огляду об’єкта | Auction access details | base.MultiLang | false | + | ||
| valueAddedTaxCharged | На фінальну суму нараховується ПДВ | Value added tax charged | boolean | false | + | default: true | |
| |||||||
| priorityRight | Наявність переважного права у чинного орендаря | The current tenant has a priority right | boolean | false | + | default: true Enum:[true] Поле обовʼязкове для ІП але не буде передаватись в Процедури | |
| saleCondition | Наявність умов продажу | Sale conditions | string | false | + | default: yes Enum:[yes] | |
| relatedEntities | base.RelatedEntity | + | minItems: 1 список пов'язаних сутностей, які необхідні для створення сутностей producedEntities | ||||
| decisions | AnnouncementDecision | false | + | Рішення про затвердження умов продажу | |||
| decisionTitle | Найменування рішення | Decision title | string | false | + | minLength: 1 | |
| decisionNumber | Номер рішення | Decision number | string | false | + | minLength: 1 | |
| decisionDate | Дата рішення | Decision date | string($date-time) | false | + | ||
| decisionOf | Тип рішення | Decision of | string | false | + | default: improvements_announcement Enum:[ improvements_announcement ] | |
| presentationUrl | Презентація обʼєкта | Presentation of the object | string | false | - | URL-посилання на файл | |
| presentationUrlEN | Англомовна презентація об’єкта | English presentation of the object | string | false | - | URL-посилання на файл | |
| producedEntities | base.ProducedEntity | true | default: List [] список створених сутностей | ||||
| extraSpecs | ExtraSpec | true | + | default: List [] поле необхідне для уточнення базових значень спеціфікацій | |||
| periods | Уточнення до періодів | Base periods specs overwrite config | base.PeriodSpec | false | |||
| dutchStep | Крок голландського раунду | Dutch steps | base.DutchStep | falseДля внесення додаткових параметрів організатором | Організатор може передати кількість кроків для extraSpecs[4] та extraSpecs[5] Якщо не передав, то буде застосовано default значення = 99 | ||
| cancellations | base.Cancellation | false | x-format: list-object | ||||
| periods | rectificationPeriod | Період редагування лота | Rectification Period | base.Period | true | Опис всіх періодів об'єкта | |
| timer | string($date-time) | true | x-format: timer час до наступної події | ||||
| archiveId | string | true | x-format: object-id | ||||
| proceduresInfo | multidict | true | autogenerated field with information about all related procedures | ||||
| additionalInformation | Додаткова інформація | Additional information | list-object | true | default: List [] | ||
| _meta | base.MetaDat | ||||||
| _version | integer($int64) | true | |||||
| _protected | boolean | true | default: false | ||||
...
- improvements_announcement - rectificationPeriod: 2days, процедура smallPrivatization-english
- improvements_announcement-fast - rectificationPeriod: 2mins, процедура smallPrivatization-english-fast
- improvements_announcement-manual - rectificationPeriod: 10mins, процедура smallPrivatization-english-manual
- improvements_announcement-ultrafast - rectificationPeriod: 5secs, процедура smallPrivatization-english-fast
Майданчикам
Загальна схема процесу публікації Інформаційного Повідомлення
Схема “Загальний процес продажу об'єктів малої приватизації”
Функціонал ролей в рамках періодів
Timeline
Схема “Timeline Інформаційного Повідомлення”
Повідомлення
Повідомлення щодо публікації інформаційного повідомлення
...